{"record":{"id":"788b33bdfd451695","repo":"oxc-project/oxc","slug":"objectexpected","errorCode":"ObjectExpected","errorMessage":"Expected a RegExp object","messagePattern":"Expected a RegExp object","errorType":"exception","errorClass":"napi::Error","httpStatus":null,"severity":"error","filePath":"crates/oxc_napi/src/js_reg_exp.rs","lineNumber":48,"sourceCode":"        \"RegExp\"\n    }\n\n    fn value_type() -> napi::ValueType {\n        napi::ValueType::Object\n    }\n}\n\nimpl ValidateNapiValue for JsRegExp {}\n\nimpl FromNapiValue for JsRegExp {\n    unsafe fn from_napi_value(env: sys::napi_env, napi_val: sys::napi_value) -> napi::Result<Self> {\n        let object = Object::from_raw(env, napi_val);\n        let env = Env::from(env);\n        let global = env.get_global()?;\n        let constructor = global.get_named_property::<Function<Unknown, ()>>(\"RegExp\")?;\n\n        if !object.instanceof(constructor)? {\n            return Err(Error::new(Status::ObjectExpected, \"Expected a RegExp object\"));\n        }\n\n        Ok(Self {\n            source: object.get_named_property::<String>(\"source\")?,\n            flags: object.get_named_property::<String>(\"flags\")?,\n            last_index: object.get_named_property::<u32>(\"lastIndex\").unwrap_or_default(),\n        })\n    }\n}\n\nimpl ToNapiValue for JsRegExp {\n    unsafe fn to_napi_value(env: sys::napi_env, value: Self) -> napi::Result<sys::napi_value> {\n        let global = Env::from(env).get_global()?;\n        let constructor =\n            global.get_named_property::<Function<FnArgs<(String, String)>, Unknown>>(\"RegExp\")?;\n        let object = constructor.new_instance(FnArgs::from((value.source, value.flags)))?;\n        let mut object = Object::from_raw(env, object.raw());\n        if value.last_index != 0 {","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/oxc-project/oxc/blob/e1e7af627c8843ab64044ed466b128fcc21a035b/crates/oxc_napi/src/js_reg_exp.rs#L30-L66","documentation":"N-API conversion error from JsRegExp::from_napi_value: the incoming JS value was checked with instanceof against the global RegExp constructor and failed, so the value cannot be treated as a RegExp by the binding.","triggerScenarios":"Thrown at crates/oxc_napi/src/js_reg_exp.rs:48 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a RegExp literal (e.g. /abc/) or new RegExp(...) from JS","Check value instanceof RegExp on the JS side before calling the binding","Accept a string|RegExp union in the API and construct a RegExp internally"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e1e7af627c8843ab64044ed466b128fcc21a035b","analyzedAt":"2026-08-20T07:01:07.079Z","contentChangedAt":"2026-08-20T07:01:07.079Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}