{"record":{"id":"717c75b949c94430","repo":"amark/gun","slug":"illegal-reactive-prop-value","errorCode":null,"errorMessage":"Illegal reactive (${prop}: ${value})","messagePattern":"Illegal reactive \\((.+?): (.+?)\\)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"lib/wave.js","lineNumber":436,"sourceCode":"\n}).call(MODSELF={}, edide, MODSELF);\n\nedide.reactiveWithFilters = (function (edide, reactiveWithFilters) {\n  return (initialVars = {}, filters = {}) => {\n    var handler, id, key, react, revar, todoMap, unvar, val;\n    id = edide.strRandom();\n    handler = {\n      get: (map, prop) => {\n        var ref;\n        if ((ref = edide.editorModule) != null ? ref.editor_inspector.inspectingNow : void 0) {\n          console.log('IN inspector? Find out is it possible to end up here form inside setter');\n          return edide.var.values.get(`${id}.${prop}`);\n        }\n        return edide.var(`${id}.${prop}`);\n      },\n      set: (map, prop, value) => {\n        if ((filters[prop] != null) && !filters[prop](value)) {\n          throw Error(`Illegal reactive (${prop}: ${value})`);\n        }\n        edide.var(`${id}.${prop}`, value);\n        return true; // Proxy set must return true if set is successful; In the future use Reflect.set, which returns true automatically?\n      }\n    };\n    revar = new Proxy((todoMap = new Map), handler); // NOTE: map is not used yet\n    unvar = new Proxy(todoMap, {\n      get: (map, prop) => {\n        return edide.var.values.get(`${id}.${prop}`);\n      },\n      set: (map, prop, value) => {\n        return edide.var.values.set(`${id}.${prop}`, value);\n      }\n    });\n    for (key in initialVars) {\n      val = initialVars[key];\n      revar[key] = val;\n    }","sourceCodeStart":418,"sourceCodeEnd":454,"githubUrl":"https://github.com/amark/gun/blob/552227599d47ba0493824b7fcf8a00c8cd6404ba/lib/wave.js#L418-L454","documentation":"This is the EDIDE showError helper: a generic wrapper, not a specific fault. The '${err}' is a template of the caller-supplied value. When an object without a .stack is passed, it throws Error(err) solely to synthesize a stack trace, then routes the error to the editor error panel, the production error printer, or console.error depending on environment.","triggerScenarios":"Thrown at lib/wave.js:436 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the underlying err value shown in the message — the real cause is in the caller that invoked showError","Pass real Error objects (with .stack) to showError to skip the synthetic Error creation","Check the editor error panel or prodErrorPrinter output where this wrapper forwards the error"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"552227599d47ba0493824b7fcf8a00c8cd6404ba","analyzedAt":"2026-09-02T18:40:58.370Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T21:17:11.164Z"}