@matter/general 0.13.0-alpha.0-20250425-94b33ff98 → 0.13.0-alpha.0-20250427-b7d4121bb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"VariableService.d.ts","sourceRoot":"","sources":["../../../src/environment/VariableService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,eAAe;;gBAKZ,WAAW,EAAE,WAAW;IAIpC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,IAAI,wBAEP;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK;IAqBpD,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;IAEvE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAElE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IA4BjE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IA2BxC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IAKxD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM;IAkBpB,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOvC,SAAS,CAAC,IAAI,EAAE,MAAM;IAMtB,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG;IAmBxC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAIxD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;CAgB9B;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,OAAO;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,GAAG,CAAC;KACrB;IAED,UAAiB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;KAAG;IACrD,KAAY,IAAI,GAAG,KAAK,EAAE,CAAC;IAC3B,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,KAAY,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;IAC3C,UAAiB,KAAK;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,YAAY,IAAI,IAAI,CAAC;QACrB,KAAK,IAAI,IAAI,CAAC;KACjB;CACJ"}
1
+ {"version":3,"file":"VariableService.d.ts","sourceRoot":"","sources":["../../../src/environment/VariableService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,eAAe;;gBAKZ,WAAW,EAAE,WAAW;IAIpC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,IAAI,wBAEP;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK;IAqBpD,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;IAEvE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAElE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IA4BjE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IA8BxC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IAKxD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM;IAkBpB,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOvC,SAAS,CAAC,IAAI,EAAE,MAAM;IAMtB,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG;IAmBxC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAIxD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;CAgB9B;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,OAAO;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,GAAG,CAAC;KACrB;IAED,UAAiB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;KAAG;IACrD,KAAY,IAAI,GAAG,KAAK,EAAE,CAAC;IAC3B,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,KAAY,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;IAC3C,UAAiB,KAAK;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,YAAY,IAAI,IAAI,CAAC;QACrB,KAAK,IAAI,IAAI,CAAC;KACjB;CACJ"}
@@ -99,6 +99,9 @@ class VariableService {
99
99
  set(name, value) {
100
100
  const segments = name.toLowerCase().split(".");
101
101
  const key = segments.pop();
102
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
103
+ throw new import_MatterError.ImplementationError(`Invalid variable path name: ${key}`);
104
+ }
102
105
  let parent = this.#vars;
103
106
  for (const segment of segments) {
104
107
  let nextParent = parent[segment];
@@ -212,15 +215,19 @@ function addVariable(into, path, value) {
212
215
  if (!path.length) {
213
216
  return;
214
217
  }
215
- let current = into[path[0]];
218
+ const firstPathEntry = path[0];
219
+ if (firstPathEntry === "__proto__" || firstPathEntry === "constructor" || firstPathEntry === "prototype") {
220
+ throw new import_MatterError.ImplementationError(`Invalid variable path name: ${firstPathEntry}`);
221
+ }
222
+ let current = into[firstPathEntry];
216
223
  if (path.length === 1) {
217
224
  if (current === void 0) {
218
- into[path[0]] = value;
225
+ into[firstPathEntry] = value;
219
226
  }
220
227
  return;
221
228
  }
222
229
  if (typeof current !== "object") {
223
- current = into[path[0]] = {};
230
+ current = into[firstPathEntry] = {};
224
231
  }
225
232
  addVariable(current, path.slice(1), value);
226
233
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/VariableService.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AACpC,wBAA2B;AAC3B,kBAAyB;AAEzB,2BAA8B;AAV9B;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,gBAAgB;AAAA,EACzB,QAAQ,CAAC;AAAA,EACT,mBAAmB,MAAmB;AAAA,EACtC,UAAU,oBAAI,IAA2B;AAAA,EAEzC,YAAY,aAA0B;AAClC,gBAAY,IAAI,iBAAiB,IAAI;AAAA,EACzC;AAAA,EAEA,QAAQ,mCAAc,MAAM,EAAE,aAA0B;AACpD,WAAO,IAAI,KAAK,WAAW;AAAA,EAC/B;AAAA,EAEA,KAAK,6BAAW,KAAK,IAAI;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,cAAiD;AACjD,UAAM,YAAY,oBAAI,IAAY;AAClC,QAAI;AACA,WAAK,iBAAiB,KAAK,SAAS;AACpC,mBAAa;AAAA,IACjB,UAAE;AACE,WAAK,iBAAiB,IAAI;AAAA,IAC9B;AAEA,UAAM,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,MACA,OAAO,MAAM;AACT,aAAK,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACJ;AACA,SAAK,QAAQ,IAAI,KAAK;AAEtB,WAAO;AAAA,EACX;AAAA,EAQA,IAAI,MAAc,UAAkC;AAChD,eAAW,aAAa,KAAK,kBAAkB;AAC3C,gBAAU,IAAI,IAAI;AAAA,IACtB;AAEA,YAAQ,OAAO,UAAU;AAAA,MACrB,KAAK;AACD,eAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAEhC,KAAK;AACD,eAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAEhC,KAAK;AACD,eAAO,KAAK,QAAQ,IAAI,KAAK;AAAA,IACrC;AAEA,QAAI,QAA+B,KAAK;AACxC,eAAW,WAAW,KAAK,WAAW,IAAI,GAAG;AACzC,UAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AACrE,eAAO;AAAA,MACX;AACA,cAAQ,MAAM,OAAO;AAAA,IACzB;AACA,WAAO,SAAS;AAAA,EACpB;AAAA,EAEA,IAAI,MAAc;AACd,WAAO,KAAK,IAAI,IAAI,MAAM;AAAA,EAC9B;AAAA,EAEA,IAAI,MAAc,OAA8B;AAC5C,UAAM,WAAW,KAAK,YAAY,EAAE,MAAM,GAAG;AAC7C,UAAM,MAAM,SAAS,IAAI;AACzB,QAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,aAAa;AACrE,YAAM,IAAI,uCAAoB,+BAA+B,GAAG,EAAE;AAAA,IACtE;AACA,QAAI,SAA8B,KAAK;AACvC,eAAW,WAAW,UAAU;AAC5B,UAAI,aAAa,OAAO,OAAO;AAC/B,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,qBAAa,OAAO,OAAO,IAAI,CAAC;AAAA,MACpC,WAAW,OAAO,eAAe,YAAY,MAAM,QAAQ,UAAU,GAAG;AACpE,cAAM,IAAI,uCAAoB,aAAa,IAAI,oBAAoB,OAAO,eAAe;AAAA,MAC7F;AACA,eAAS;AAAA,IACb;AAEA,QAAI,OAAO,GAAG,MAAM,OAAO;AACvB;AAAA,IACJ;AAEA,WAAO,GAAG,IAAI;AAEd,eAAW,SAAS,KAAK,SAAS;AAC9B,UAAI,MAAM,UAAU,IAAI,IAAI,GAAG;AAC3B,cAAM,aAAa;AAAA,MACvB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ,MAAc,OAA8B;AACtD,SAAK,IAAI,MAAM,KAAK;AACpB,UAAM,KAAK,qBAAqB,MAAM,KAAK;AAAA,EAC/C;AAAA,EAEA;AAAA,EAEA,OAAO,MAAc;AACjB,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,QAAI,UAAU,QAAW;AACrB,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,UAAU,MAAM;AAChB,aAAO;AAAA,IACX;AACA,WAAO,MAAM,SAAS;AAAA,EAC1B;AAAA,EAEA,QAAQ,MAAc;AAClB,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,YAAQ,OAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MAEX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,MAEX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEA,OAAO,MAAc;AACjB,QAAI,QAAQ,KAAK,IAAI,IAAI;AACzB,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,cAAQ,OAAO,WAAW,KAAK;AAC/B,UAAI,OAAO,MAAM,KAAK,GAAG;AACrB;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,QAAQ,MAAc,UAAmB;AACrC,UAAM,SAAS,KAAK,OAAO,IAAI,KAAK;AACpC,QAAI,OAAO,WAAW,UAAU;AAC5B,aAAO,KAAK,MAAM,MAAM;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,UAAU,MAAc;AACpB,UAAM,QAAQ,KAAK,QAAQ,IAAI,KAAK;AACpC,SAAK,IAAI,MAAM,QAAQ,CAAC;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,eAAe,MAA2B;AACtC,UAAM,OAAO,MAAc;AAE3B,UAAM,MAAM,CAACA,UAA8B;AACvC,iBAAW,QAAQA,OAAM;AACrB,cAAM,MAAMA,MAAK,IAAI;AACrB,gBAAI,sBAAS,GAAG,GAAG;AACf,eAAK,KAAK,IAAI;AACd,cAAI,GAAG;AACP,eAAK,IAAI;AAAA,QACb,OAAO;AACH,eAAK,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG;AAAA,QAC3C;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,IAAI;AAAA,EACZ;AAAA,EAEA,gBAAgB,MAA0C;AACtD,SAAK,eAAe,eAAe,IAAI,CAAC;AAAA,EAC5C;AAAA,EAEA,aAAa,MAAgB;AACzB,SAAK,eAAe,eAAe,IAAI,CAAC;AAAA,EAC5C;AAAA,EAEA,WAAW,MAAc;AACrB,WAAO,KACF,YAAY,EACZ,MAAM,GAAG,EACT,IAAI,aAAW;AACZ,gBAAU,QAAQ,KAAK;AACvB,UAAI,YAAY,IAAI;AAChB,cAAM,IAAI,uCAAoB,iBAAiB,IAAI,0BAA0B;AAAA,MACjF;AACA,aAAO;AAAA,IACX,CAAC;AAAA,EACT;AACJ;AAoBA,SAAS,YAAY,MAA2B,MAAgB,OAAY;AACxE,MAAI,CAAC,KAAK,QAAQ;AACd;AAAA,EACJ;AACA,QAAM,iBAAiB,KAAK,CAAC;AAC7B,MAAI,mBAAmB,eAAe,mBAAmB,iBAAiB,mBAAmB,aAAa;AACtG,UAAM,IAAI,uCAAoB,+BAA+B,cAAc,EAAE;AAAA,EACjF;AACA,MAAI,UAAU,KAAK,cAAc;AACjC,MAAI,KAAK,WAAW,GAAG;AACnB,QAAI,YAAY,QAAW;AACvB,WAAK,cAAc,IAAI;AAAA,IAC3B;AACA;AAAA,EACJ;AAEA,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,KAAK,cAAc,IAAI,CAAC;AAAA,EACtC;AACA,cAAY,SAAS,KAAK,MAAM,CAAC,GAAG,KAAK;AAC7C;AAEA,SAAS,eAAe,QAA4C;AAChE,QAAM,YAAY,CAAC;AAEnB,aAAW,OAAO,QAAQ;AACtB,QAAI,IAAI,WAAW,SAAS,GAAG;AAC3B,UAAI,OAAO,GAAG,MAAM,UAAa,OAAO,GAAG,MAAM,IAAI;AACjD;AAAA,MACJ;AACA,kBAAY,WAAW,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC;AAAA,IAC7E;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,eAAe,QAAkB;AACtC,QAAM,YAAY,CAAC;AAEnB,WAAS,OAAO,QAAQ;AACpB,QAAI,CAAC,IAAI,WAAW,IAAI,GAAG;AACvB;AAAA,IACJ;AACA,UAAM,IAAI,MAAM,CAAC;AAEjB,UAAM,eAAe,IAAI,QAAQ,GAAG;AACpC,QAAI,KAAK;AAET,QAAI,iBAAiB,IAAI;AACrB,YAAM;AACN,cAAQ;AAAA,IACZ,OAAO;AACH,YAAM,IAAI,MAAM,GAAG,YAAY;AAC/B,cAAQ,IAAI,MAAM,eAAe,CAAC;AAClC,UAAK,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,KAAO,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,GAAI;AAClG,gBAAQ,MAAM,MAAM,GAAG,EAAE,EAAE,WAAW,OAAO,GAAG,EAAE,WAAW,OAAO,GAAG;AAAA,MAC3E;AAAA,IACJ;AAEA,gBAAY,WAAW,IAAI,YAAY,EAAE,MAAM,GAAG,GAAG,KAAK;AAAA,EAC9D;AAEA,SAAO;AACX;",
5
5
  "names": ["vars"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VariableService.d.ts","sourceRoot":"","sources":["../../../src/environment/VariableService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,eAAe;;gBAKZ,WAAW,EAAE,WAAW;IAIpC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,IAAI,wBAEP;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK;IAqBpD,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;IAEvE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAElE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IA4BjE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IA2BxC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IAKxD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM;IAkBpB,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOvC,SAAS,CAAC,IAAI,EAAE,MAAM;IAMtB,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG;IAmBxC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAIxD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;CAgB9B;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,OAAO;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,GAAG,CAAC;KACrB;IAED,UAAiB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;KAAG;IACrD,KAAY,IAAI,GAAG,KAAK,EAAE,CAAC;IAC3B,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,KAAY,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;IAC3C,UAAiB,KAAK;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,YAAY,IAAI,IAAI,CAAC;QACrB,KAAK,IAAI,IAAI,CAAC;KACjB;CACJ"}
1
+ {"version":3,"file":"VariableService.d.ts","sourceRoot":"","sources":["../../../src/environment/VariableService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,eAAe;;gBAKZ,WAAW,EAAE,WAAW;IAIpC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,IAAI,wBAEP;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK;IAqBpD,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;IAEvE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAElE,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IA4BjE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IA8BxC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK;IAKxD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM;IAkBpB,MAAM,CAAC,IAAI,EAAE,MAAM;IAcnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOvC,SAAS,CAAC,IAAI,EAAE,MAAM;IAMtB,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG;IAmBxC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAIxD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;CAgB9B;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,OAAO;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,GAAG,CAAC;KACrB;IAED,UAAiB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;KAAG;IACrD,KAAY,IAAI,GAAG,KAAK,EAAE,CAAC;IAC3B,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,KAAY,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;IAC3C,UAAiB,KAAK;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,YAAY,IAAI,IAAI,CAAC;QACrB,KAAK,IAAI,IAAI,CAAC;KACjB;CACJ"}
@@ -76,6 +76,9 @@ class VariableService {
76
76
  set(name, value) {
77
77
  const segments = name.toLowerCase().split(".");
78
78
  const key = segments.pop();
79
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
80
+ throw new ImplementationError(`Invalid variable path name: ${key}`);
81
+ }
79
82
  let parent = this.#vars;
80
83
  for (const segment of segments) {
81
84
  let nextParent = parent[segment];
@@ -189,15 +192,19 @@ function addVariable(into, path, value) {
189
192
  if (!path.length) {
190
193
  return;
191
194
  }
192
- let current = into[path[0]];
195
+ const firstPathEntry = path[0];
196
+ if (firstPathEntry === "__proto__" || firstPathEntry === "constructor" || firstPathEntry === "prototype") {
197
+ throw new ImplementationError(`Invalid variable path name: ${firstPathEntry}`);
198
+ }
199
+ let current = into[firstPathEntry];
193
200
  if (path.length === 1) {
194
201
  if (current === void 0) {
195
- into[path[0]] = value;
202
+ into[firstPathEntry] = value;
196
203
  }
197
204
  return;
198
205
  }
199
206
  if (typeof current !== "object") {
200
- current = into[path[0]] = {};
207
+ current = into[firstPathEntry] = {};
201
208
  }
202
209
  addVariable(current, path.slice(1), value);
203
210
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/VariableService.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["vars"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.13.0-alpha.0-20250425-94b33ff98",
3
+ "version": "0.13.0-alpha.0-20250427-b7d4121bb",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^1.8.2"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.13.0-alpha.0-20250425-94b33ff98"
39
+ "@matter/testing": "0.13.0-alpha.0-20250427-b7d4121bb"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -102,6 +102,9 @@ export class VariableService {
102
102
  set(name: string, value: VariableService.Value) {
103
103
  const segments = name.toLowerCase().split(".");
104
104
  const key = segments.pop() as string;
105
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
106
+ throw new ImplementationError(`Invalid variable path name: ${key}`);
107
+ }
105
108
  let parent: VariableService.Map = this.#vars;
106
109
  for (const segment of segments) {
107
110
  let nextParent = parent[segment];
@@ -255,17 +258,20 @@ function addVariable(into: Record<string, any>, path: string[], value: any) {
255
258
  if (!path.length) {
256
259
  return;
257
260
  }
258
-
259
- let current = into[path[0]];
261
+ const firstPathEntry = path[0];
262
+ if (firstPathEntry === "__proto__" || firstPathEntry === "constructor" || firstPathEntry === "prototype") {
263
+ throw new ImplementationError(`Invalid variable path name: ${firstPathEntry}`);
264
+ }
265
+ let current = into[firstPathEntry];
260
266
  if (path.length === 1) {
261
267
  if (current === undefined) {
262
- into[path[0]] = value;
268
+ into[firstPathEntry] = value;
263
269
  }
264
270
  return;
265
271
  }
266
272
 
267
273
  if (typeof current !== "object") {
268
- current = into[path[0]] = {};
274
+ current = into[firstPathEntry] = {};
269
275
  }
270
276
  addVariable(current, path.slice(1), value);
271
277
  }