@revisium/schema-toolkit 0.21.2 → 0.21.4

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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRCCBUOGY_cjs = require('./chunk-RCCBUOGY.cjs');
3
+ var chunkT46TZYJL_cjs = require('./chunk-T46TZYJL.cjs');
4
4
  var chunk2PIMJSWJ_cjs = require('./chunk-2PIMJSWJ.cjs');
5
5
  var nanoid = require('nanoid');
6
6
  var formula = require('@revisium/formula');
@@ -69,7 +69,7 @@ var FormulaPath = class {
69
69
  resolveRootPath(rootPath) {
70
70
  const path = rootPath.startsWith("/") ? rootPath.slice(1) : rootPath;
71
71
  if (!path) {
72
- return chunkRCCBUOGY_cjs.EMPTY_PATH;
72
+ return chunkT46TZYJL_cjs.EMPTY_PATH;
73
73
  }
74
74
  try {
75
75
  return this.parseFormulaPath(path);
@@ -79,7 +79,7 @@ var FormulaPath = class {
79
79
  }
80
80
  parseFormulaPath(formulaPath) {
81
81
  const parts = formulaPath.split(".");
82
- let result = chunkRCCBUOGY_cjs.EMPTY_PATH;
82
+ let result = chunkT46TZYJL_cjs.EMPTY_PATH;
83
83
  for (const part of parts) {
84
84
  if (!part) {
85
85
  throw new Error(`Invalid path: empty segment`);
@@ -107,7 +107,7 @@ var ParsedFormula = class {
107
107
  this.astNode = parseResult.ast;
108
108
  const formulaPath = tree.pathOf(formulaNodeId);
109
109
  if (formulaPath.isEmpty() && tree.root().id() !== formulaNodeId) {
110
- throw new chunkRCCBUOGY_cjs.FormulaError("Formula node not found in tree", formulaNodeId);
110
+ throw new chunkT46TZYJL_cjs.FormulaError("Formula node not found in tree", formulaNodeId);
111
111
  }
112
112
  const deps = [];
113
113
  const astPathToNodeId = /* @__PURE__ */ new Map();
@@ -118,20 +118,20 @@ var ParsedFormula = class {
118
118
  depPath
119
119
  );
120
120
  if (!targetNodeId) {
121
- throw new chunkRCCBUOGY_cjs.FormulaError(
121
+ throw new chunkT46TZYJL_cjs.FormulaError(
122
122
  `Cannot resolve formula dependency: ${depPath}`,
123
123
  formulaNodeId,
124
124
  "Path not found in schema"
125
125
  );
126
126
  }
127
127
  if (targetNodeId === formulaNodeId) {
128
- throw new chunkRCCBUOGY_cjs.FormulaError(
128
+ throw new chunkT46TZYJL_cjs.FormulaError(
129
129
  "Formula cannot reference itself",
130
130
  formulaNodeId,
131
131
  "Self-reference detected"
132
132
  );
133
133
  }
134
- deps.push(new chunkRCCBUOGY_cjs.ResolvedDependency(targetNodeId));
134
+ deps.push(new chunkT46TZYJL_cjs.ResolvedDependency(targetNodeId));
135
135
  astPathToNodeId.set(depPath, targetNodeId);
136
136
  }
137
137
  this.deps = deps;
@@ -295,7 +295,7 @@ var FormulaChangeDetector = class {
295
295
  }
296
296
  getSerializedExpression(formula, tree, nodeId) {
297
297
  try {
298
- const xFormula = chunkRCCBUOGY_cjs.FormulaSerializer.toXFormula(tree, nodeId, formula);
298
+ const xFormula = chunkT46TZYJL_cjs.FormulaSerializer.toXFormula(tree, nodeId, formula);
299
299
  return xFormula.expression;
300
300
  } catch {
301
301
  return null;
@@ -308,10 +308,17 @@ var SchemaParser = class {
308
308
  pendingFormulas = [];
309
309
  _parseErrors = [];
310
310
  _refSchemas = {};
311
+ _resolvingRefs = /* @__PURE__ */ new Set();
311
312
  parse(schema, refSchemas) {
312
313
  this.pendingFormulas = [];
313
314
  this._parseErrors = [];
314
315
  this._refSchemas = refSchemas ?? {};
316
+ this._resolvingRefs = /* @__PURE__ */ new Set();
317
+ for (const [refKey, refSchema] of Object.entries(this._refSchemas)) {
318
+ if (refSchema === schema) {
319
+ this._resolvingRefs.add(refKey);
320
+ }
321
+ }
315
322
  return this.parseNode(schema, "root");
316
323
  }
317
324
  parseFormulas(tree) {
@@ -340,9 +347,15 @@ var SchemaParser = class {
340
347
  const refValue = schema.$ref;
341
348
  const resolvedSchema = this._refSchemas[refValue];
342
349
  if (resolvedSchema) {
343
- return this.parseNode(resolvedSchema, name, refValue);
350
+ if (this._resolvingRefs.has(refValue)) {
351
+ return chunkT46TZYJL_cjs.createRefNode(nanoid.nanoid(), name, refValue, this.extractMetadata(schema));
352
+ }
353
+ this._resolvingRefs.add(refValue);
354
+ const node = this.parseNode(resolvedSchema, name, refValue);
355
+ this._resolvingRefs.delete(refValue);
356
+ return node;
344
357
  }
345
- return chunkRCCBUOGY_cjs.createRefNode(nanoid.nanoid(), name, refValue, this.extractMetadata(schema));
358
+ return chunkT46TZYJL_cjs.createRefNode(nanoid.nanoid(), name, refValue, this.extractMetadata(schema));
346
359
  }
347
360
  const schemaWithType = schema;
348
361
  switch (schemaWithType.type) {
@@ -368,14 +381,14 @@ var SchemaParser = class {
368
381
  children.push(this.parseNode(propSchema, propName));
369
382
  }
370
383
  }
371
- return chunkRCCBUOGY_cjs.createObjectNode(nanoid.nanoid(), name, children, {
384
+ return chunkT46TZYJL_cjs.createObjectNode(nanoid.nanoid(), name, children, {
372
385
  metadata: this.extractMetadata(schema),
373
386
  ref: ref2
374
387
  });
375
388
  }
376
389
  parseArray(schema, name, ref2) {
377
390
  const items = this.parseNode(schema.items, "items");
378
- return chunkRCCBUOGY_cjs.createArrayNode(nanoid.nanoid(), name, items, {
391
+ return chunkT46TZYJL_cjs.createArrayNode(nanoid.nanoid(), name, items, {
379
392
  metadata: this.extractMetadata(schema),
380
393
  ref: ref2
381
394
  });
@@ -383,7 +396,7 @@ var SchemaParser = class {
383
396
  parseString(schema, name, ref2) {
384
397
  const nodeId = nanoid.nanoid();
385
398
  this.collectFormula(nodeId, schema["x-formula"]);
386
- return chunkRCCBUOGY_cjs.createStringNode(nodeId, name, {
399
+ return chunkT46TZYJL_cjs.createStringNode(nodeId, name, {
387
400
  defaultValue: schema.default,
388
401
  foreignKey: schema.foreignKey,
389
402
  metadata: this.extractMetadata(schema),
@@ -393,7 +406,7 @@ var SchemaParser = class {
393
406
  parseNumber(schema, name, ref2) {
394
407
  const nodeId = nanoid.nanoid();
395
408
  this.collectFormula(nodeId, schema["x-formula"]);
396
- return chunkRCCBUOGY_cjs.createNumberNode(nodeId, name, {
409
+ return chunkT46TZYJL_cjs.createNumberNode(nodeId, name, {
397
410
  defaultValue: schema.default,
398
411
  metadata: this.extractMetadata(schema),
399
412
  ref: ref2
@@ -402,7 +415,7 @@ var SchemaParser = class {
402
415
  parseBoolean(schema, name, ref2) {
403
416
  const nodeId = nanoid.nanoid();
404
417
  this.collectFormula(nodeId, schema["x-formula"]);
405
- return chunkRCCBUOGY_cjs.createBooleanNode(nodeId, name, {
418
+ return chunkT46TZYJL_cjs.createBooleanNode(nodeId, name, {
406
419
  defaultValue: schema.default,
407
420
  metadata: this.extractMetadata(schema),
408
421
  ref: ref2
@@ -435,13 +448,13 @@ var NodeFactory = class {
435
448
  createNode(name, type) {
436
449
  switch (type) {
437
450
  case "string":
438
- return chunkRCCBUOGY_cjs.createStringNode(nanoid.nanoid(), name, { defaultValue: "" });
451
+ return chunkT46TZYJL_cjs.createStringNode(nanoid.nanoid(), name, { defaultValue: "" });
439
452
  case "number":
440
- return chunkRCCBUOGY_cjs.createNumberNode(nanoid.nanoid(), name, { defaultValue: 0 });
453
+ return chunkT46TZYJL_cjs.createNumberNode(nanoid.nanoid(), name, { defaultValue: 0 });
441
454
  case "boolean":
442
- return chunkRCCBUOGY_cjs.createBooleanNode(nanoid.nanoid(), name, { defaultValue: false });
455
+ return chunkT46TZYJL_cjs.createBooleanNode(nanoid.nanoid(), name, { defaultValue: false });
443
456
  case "object":
444
- return chunkRCCBUOGY_cjs.createObjectNode(nanoid.nanoid(), name, []);
457
+ return chunkT46TZYJL_cjs.createObjectNode(nanoid.nanoid(), name, []);
445
458
  case "array":
446
459
  return this.createArrayNodeInternal(name);
447
460
  default:
@@ -449,11 +462,11 @@ var NodeFactory = class {
449
462
  }
450
463
  }
451
464
  createArrayNodeInternal(name) {
452
- const items = chunkRCCBUOGY_cjs.createStringNode(nanoid.nanoid(), "items", { defaultValue: "" });
453
- return chunkRCCBUOGY_cjs.createArrayNode(nanoid.nanoid(), name, items);
465
+ const items = chunkT46TZYJL_cjs.createStringNode(nanoid.nanoid(), "items", { defaultValue: "" });
466
+ return chunkT46TZYJL_cjs.createArrayNode(nanoid.nanoid(), name, items);
454
467
  }
455
468
  createArrayNodeWithItems(name, items) {
456
- return chunkRCCBUOGY_cjs.createArrayNode(nanoid.nanoid(), name, items);
469
+ return chunkT46TZYJL_cjs.createArrayNode(nanoid.nanoid(), name, items);
457
470
  }
458
471
  };
459
472
 
@@ -552,7 +565,7 @@ var PrimitiveToArrayTransformer = class {
552
565
  const { sourceNode } = ctx;
553
566
  const itemsNode = sourceNode.cloneWithId(nanoid.nanoid());
554
567
  itemsNode.setName("items");
555
- const arrayNode = chunkRCCBUOGY_cjs.createArrayNode(sourceNode.id(), sourceNode.name(), itemsNode);
568
+ const arrayNode = chunkT46TZYJL_cjs.createArrayNode(sourceNode.id(), sourceNode.name(), itemsNode);
556
569
  return { node: arrayNode };
557
570
  }
558
571
  };
@@ -565,7 +578,7 @@ var ObjectToArrayTransformer = class {
565
578
  const { sourceNode } = ctx;
566
579
  const itemsNode = sourceNode.cloneWithId(nanoid.nanoid());
567
580
  itemsNode.setName("items");
568
- const arrayNode = chunkRCCBUOGY_cjs.createArrayNode(sourceNode.id(), sourceNode.name(), itemsNode);
581
+ const arrayNode = chunkT46TZYJL_cjs.createArrayNode(sourceNode.id(), sourceNode.name(), itemsNode);
569
582
  return { node: arrayNode };
570
583
  }
571
584
  };
@@ -615,7 +628,7 @@ var RefTransformer = class {
615
628
  return { node: newNode };
616
629
  }
617
630
  const metadata = this.extractMetadata(targetSpec);
618
- const node = chunkRCCBUOGY_cjs.createRefNode(sourceNode.id(), sourceNode.name(), refUri, metadata);
631
+ const node = chunkT46TZYJL_cjs.createRefNode(sourceNode.id(), sourceNode.name(), refUri, metadata);
619
632
  return { node };
620
633
  }
621
634
  extractMetadata(spec) {
@@ -650,23 +663,23 @@ var DefaultTransformer = class {
650
663
  createNode(id, name, type, spec, metadata) {
651
664
  switch (type) {
652
665
  case "string":
653
- return chunkRCCBUOGY_cjs.createStringNode(id, name, {
666
+ return chunkT46TZYJL_cjs.createStringNode(id, name, {
654
667
  defaultValue: spec.default ?? "",
655
668
  foreignKey: spec.foreignKey,
656
669
  metadata
657
670
  });
658
671
  case "number":
659
- return chunkRCCBUOGY_cjs.createNumberNode(id, name, {
672
+ return chunkT46TZYJL_cjs.createNumberNode(id, name, {
660
673
  defaultValue: spec.default ?? 0,
661
674
  metadata
662
675
  });
663
676
  case "boolean":
664
- return chunkRCCBUOGY_cjs.createBooleanNode(id, name, {
677
+ return chunkT46TZYJL_cjs.createBooleanNode(id, name, {
665
678
  defaultValue: spec.default ?? false,
666
679
  metadata
667
680
  });
668
681
  case "object":
669
- return chunkRCCBUOGY_cjs.createObjectNode(id, name, [], { metadata });
682
+ return chunkT46TZYJL_cjs.createObjectNode(id, name, [], { metadata });
670
683
  case "array":
671
684
  return this.createArrayNode(id, name, metadata);
672
685
  default:
@@ -674,8 +687,8 @@ var DefaultTransformer = class {
674
687
  }
675
688
  }
676
689
  createArrayNode(id, name, metadata) {
677
- const items = chunkRCCBUOGY_cjs.createStringNode(nanoid.nanoid(), "items", { defaultValue: "" });
678
- return chunkRCCBUOGY_cjs.createArrayNode(id, name, items, { metadata });
690
+ const items = chunkT46TZYJL_cjs.createStringNode(nanoid.nanoid(), "items", { defaultValue: "" });
691
+ return chunkT46TZYJL_cjs.createArrayNode(id, name, items, { metadata });
679
692
  }
680
693
  extractMetadata(spec) {
681
694
  const meta = {};
@@ -739,8 +752,8 @@ function createTypeTransformChain(options) {
739
752
  var SchemaModelImpl = class {
740
753
  _baseTree;
741
754
  _currentTree;
742
- _patchBuilder = new chunkRCCBUOGY_cjs.PatchBuilder();
743
- _serializer = new chunkRCCBUOGY_cjs.SchemaSerializer();
755
+ _patchBuilder = new chunkT46TZYJL_cjs.PatchBuilder();
756
+ _serializer = new chunkT46TZYJL_cjs.SchemaSerializer();
744
757
  _nodeFactory = new NodeFactory();
745
758
  _formulaIndex = new FormulaDependencyIndex();
746
759
  _transformChain;
@@ -754,12 +767,12 @@ var SchemaModelImpl = class {
754
767
  });
755
768
  const parser = new SchemaParser();
756
769
  const rootNode = parser.parse(schema, this._refSchemas);
757
- this._currentTree = chunkRCCBUOGY_cjs.createSchemaTree(rootNode);
770
+ this._currentTree = chunkT46TZYJL_cjs.createSchemaTree(rootNode);
758
771
  parser.parseFormulas(this._currentTree);
759
772
  this._formulaParseErrors = parser.parseErrors;
760
773
  this._buildFormulaIndex();
761
774
  this._baseTree = this._currentTree.clone();
762
- chunkRCCBUOGY_cjs.makeAutoObservable(this, {
775
+ chunkT46TZYJL_cjs.makeAutoObservable(this, {
763
776
  _patchBuilder: false,
764
777
  _serializer: false,
765
778
  _nodeFactory: false,
@@ -788,10 +801,10 @@ var SchemaModelImpl = class {
788
801
  insertFieldAt(parentId, index, name, type) {
789
802
  const parent = this._currentTree.nodeById(parentId);
790
803
  if (parent.isNull() || !parent.isObject()) {
791
- return chunkRCCBUOGY_cjs.NULL_NODE;
804
+ return chunkT46TZYJL_cjs.NULL_NODE;
792
805
  }
793
806
  if (index < 0 || index > parent.properties().length) {
794
- return chunkRCCBUOGY_cjs.NULL_NODE;
807
+ return chunkT46TZYJL_cjs.NULL_NODE;
795
808
  }
796
809
  const node = this._nodeFactory.createNode(name, type);
797
810
  this._currentTree.insertChildAt(parentId, index, node);
@@ -1016,7 +1029,7 @@ var SchemaModelImpl = class {
1016
1029
  return "";
1017
1030
  }
1018
1031
  try {
1019
- return chunkRCCBUOGY_cjs.FormulaSerializer.serializeExpression(
1032
+ return chunkT46TZYJL_cjs.FormulaSerializer.serializeExpression(
1020
1033
  this._currentTree,
1021
1034
  nodeId,
1022
1035
  formula,
@@ -1027,10 +1040,10 @@ var SchemaModelImpl = class {
1027
1040
  }
1028
1041
  }
1029
1042
  get validationErrors() {
1030
- return chunkRCCBUOGY_cjs.validateSchema(this._currentTree.root());
1043
+ return chunkT46TZYJL_cjs.validateSchema(this._currentTree.root());
1031
1044
  }
1032
1045
  get formulaErrors() {
1033
- return [...this._formulaParseErrors, ...chunkRCCBUOGY_cjs.validateFormulas(this._currentTree)];
1046
+ return [...this._formulaParseErrors, ...chunkT46TZYJL_cjs.validateFormulas(this._currentTree)];
1034
1047
  }
1035
1048
  get isDirty() {
1036
1049
  return this.patches.length > 0;
@@ -1542,7 +1555,7 @@ var FormulaEngine = class {
1542
1555
  this.setupReactions();
1543
1556
  }
1544
1557
  evaluateAll() {
1545
- chunkRCCBUOGY_cjs.runInAction(() => {
1558
+ chunkT46TZYJL_cjs.runInAction(() => {
1546
1559
  for (const field of this.evaluationOrder) {
1547
1560
  this.evaluator.evaluate(field);
1548
1561
  }
@@ -1555,7 +1568,7 @@ var FormulaEngine = class {
1555
1568
  continue;
1556
1569
  }
1557
1570
  watchedNodes.add(depNode);
1558
- const disposer = chunkRCCBUOGY_cjs.reaction(
1571
+ const disposer = chunkT46TZYJL_cjs.reaction(
1559
1572
  () => depNode.value,
1560
1573
  () => this.handleDependencyChange(depNode)
1561
1574
  );
@@ -1565,7 +1578,7 @@ var FormulaEngine = class {
1565
1578
  }
1566
1579
  setupArrayReactions(node) {
1567
1580
  if (node.isArray()) {
1568
- const disposer = chunkRCCBUOGY_cjs.reaction(
1581
+ const disposer = chunkT46TZYJL_cjs.reaction(
1569
1582
  () => node.length,
1570
1583
  () => this.handleStructureChange()
1571
1584
  );
@@ -1585,7 +1598,7 @@ var FormulaEngine = class {
1585
1598
  this.dependencyMap,
1586
1599
  this.evaluationOrder
1587
1600
  );
1588
- chunkRCCBUOGY_cjs.runInAction(() => {
1601
+ chunkT46TZYJL_cjs.runInAction(() => {
1589
1602
  for (const field of affected) {
1590
1603
  this.evaluator.evaluate(field);
1591
1604
  }
@@ -1685,7 +1698,7 @@ var ArrayValueNode = class extends BaseValueNode {
1685
1698
  _nodeFactory = null;
1686
1699
  constructor(id, name, schema, items) {
1687
1700
  super(id, name, schema);
1688
- this._items = chunkRCCBUOGY_cjs.observable.array();
1701
+ this._items = chunkT46TZYJL_cjs.observable.array();
1689
1702
  this._baseItems = [];
1690
1703
  if (items) {
1691
1704
  for (const item of items) {
@@ -1694,7 +1707,7 @@ var ArrayValueNode = class extends BaseValueNode {
1694
1707
  }
1695
1708
  }
1696
1709
  this._baseItems = [...this._items];
1697
- chunkRCCBUOGY_cjs.makeObservable(this, {
1710
+ chunkT46TZYJL_cjs.makeObservable(this, {
1698
1711
  _items: "observable",
1699
1712
  _baseItems: "observable",
1700
1713
  value: "computed",
@@ -1881,7 +1894,7 @@ var ArrayValueNode = class extends BaseValueNode {
1881
1894
  for (const item of this._items) {
1882
1895
  item.parent = null;
1883
1896
  }
1884
- this._items = chunkRCCBUOGY_cjs.observable.array();
1897
+ this._items = chunkT46TZYJL_cjs.observable.array();
1885
1898
  for (const baseItem of this._baseItems) {
1886
1899
  this._items.push(baseItem);
1887
1900
  }
@@ -1924,7 +1937,7 @@ var BasePrimitiveValueNode = class extends BaseValueNode {
1924
1937
  this._baseValue = initialValue;
1925
1938
  }
1926
1939
  initObservable() {
1927
- chunkRCCBUOGY_cjs.makeObservable(this, {
1940
+ chunkT46TZYJL_cjs.makeObservable(this, {
1928
1941
  _value: "observable",
1929
1942
  _baseValue: "observable",
1930
1943
  _formulaWarning: "observable",
@@ -1974,8 +1987,12 @@ var BasePrimitiveValueNode = class extends BaseValueNode {
1974
1987
  if (this.isReadOnly && !options?.internal) {
1975
1988
  throw new Error(`Cannot set value on read-only field: ${this.name}`);
1976
1989
  }
1990
+ const coercedValue = this.coerceValue(value);
1991
+ if (coercedValue === this._value) {
1992
+ return;
1993
+ }
1977
1994
  const oldValue = this._value;
1978
- this._value = this.coerceValue(value);
1995
+ this._value = coercedValue;
1979
1996
  if (!options?.internal) {
1980
1997
  this.emit({ type: "setValue", node: this, value: this._value, oldValue });
1981
1998
  }
@@ -2279,7 +2296,7 @@ var ObjectValueNode = class extends BaseValueNode {
2279
2296
  _baseChildren;
2280
2297
  constructor(id, name, schema, children) {
2281
2298
  super(id, name, schema);
2282
- this._children = chunkRCCBUOGY_cjs.observable.map();
2299
+ this._children = chunkT46TZYJL_cjs.observable.map();
2283
2300
  this._baseChildren = /* @__PURE__ */ new Map();
2284
2301
  if (children) {
2285
2302
  for (const child of children) {
@@ -2288,7 +2305,7 @@ var ObjectValueNode = class extends BaseValueNode {
2288
2305
  }
2289
2306
  }
2290
2307
  this._baseChildren = new Map(this._children);
2291
- chunkRCCBUOGY_cjs.makeObservable(this, {
2308
+ chunkT46TZYJL_cjs.makeObservable(this, {
2292
2309
  _children: "observable",
2293
2310
  _baseChildren: "observable",
2294
2311
  value: "computed",
@@ -2382,7 +2399,7 @@ var ObjectValueNode = class extends BaseValueNode {
2382
2399
  for (const child of this._children.values()) {
2383
2400
  child.parent = null;
2384
2401
  }
2385
- this._children = chunkRCCBUOGY_cjs.observable.map();
2402
+ this._children = chunkT46TZYJL_cjs.observable.map();
2386
2403
  for (const [key, value] of this._baseChildren) {
2387
2404
  this._children.set(key, value);
2388
2405
  }
@@ -2596,7 +2613,7 @@ var IndexSegment = class {
2596
2613
  };
2597
2614
 
2598
2615
  // src/core/value-path/ValuePath.ts
2599
- var ValuePathImpl = class _ValuePathImpl extends chunkRCCBUOGY_cjs.AbstractBasePath {
2616
+ var ValuePathImpl = class _ValuePathImpl extends chunkT46TZYJL_cjs.AbstractBasePath {
2600
2617
  asString() {
2601
2618
  const parts = [];
2602
2619
  for (const seg of this.segs) {
@@ -2701,7 +2718,7 @@ function parseValuePath(path) {
2701
2718
  var ChangeTracker = class {
2702
2719
  _changes = [];
2703
2720
  constructor() {
2704
- chunkRCCBUOGY_cjs.makeAutoObservable(this);
2721
+ chunkT46TZYJL_cjs.makeAutoObservable(this);
2705
2722
  }
2706
2723
  get changes() {
2707
2724
  return this._changes;
@@ -2867,7 +2884,7 @@ var ValueTree = class {
2867
2884
  this.changeTracker = new ChangeTracker();
2868
2885
  this._nodeChangeListener = (event) => this.handleNodeChange(event);
2869
2886
  this.subscribe(this._root);
2870
- chunkRCCBUOGY_cjs.makeAutoObservable(this, {
2887
+ chunkT46TZYJL_cjs.makeAutoObservable(this, {
2871
2888
  _root: false,
2872
2889
  index: false,
2873
2890
  _nodeChangeListener: false,
@@ -3124,7 +3141,7 @@ var RowModelImpl = class {
3124
3141
  constructor(_rowId, _tree) {
3125
3142
  this._rowId = _rowId;
3126
3143
  this._tree = _tree;
3127
- chunkRCCBUOGY_cjs.makeAutoObservable(this, {
3144
+ chunkT46TZYJL_cjs.makeAutoObservable(this, {
3128
3145
  _rowId: false,
3129
3146
  _tree: false,
3130
3147
  _tableModel: "observable.ref"
@@ -3235,13 +3252,13 @@ var TableModelImpl = class {
3235
3252
  this._schema = createSchemaModel(options.schema, { refSchemas: options.refSchemas });
3236
3253
  this._fkResolver = options.fkResolver;
3237
3254
  this._refSchemas = options.refSchemas;
3238
- this._rows = chunkRCCBUOGY_cjs.observable.array();
3255
+ this._rows = chunkT46TZYJL_cjs.observable.array();
3239
3256
  if (options.rows) {
3240
3257
  for (const row of options.rows) {
3241
3258
  this._rows.push(this.createRow(row.rowId, row.data));
3242
3259
  }
3243
3260
  }
3244
- chunkRCCBUOGY_cjs.makeAutoObservable(this, {
3261
+ chunkT46TZYJL_cjs.makeAutoObservable(this, {
3245
3262
  _schema: false,
3246
3263
  _rows: false,
3247
3264
  _jsonSchema: false,
@@ -3372,13 +3389,13 @@ var ForeignKeyResolverImpl = class {
3372
3389
  constructor(options) {
3373
3390
  this.loader = options?.loader;
3374
3391
  this._prefetchEnabled = options?.prefetch ?? false;
3375
- this._schemaCache = chunkRCCBUOGY_cjs.observable.map();
3376
- this._tableCache = chunkRCCBUOGY_cjs.observable.map();
3392
+ this._schemaCache = chunkT46TZYJL_cjs.observable.map();
3393
+ this._tableCache = chunkT46TZYJL_cjs.observable.map();
3377
3394
  this._loadingTables = /* @__PURE__ */ new Set();
3378
3395
  this._loadingRows = /* @__PURE__ */ new Map();
3379
3396
  this._pendingTableLoads = /* @__PURE__ */ new Map();
3380
3397
  this._pendingRowLoads = /* @__PURE__ */ new Map();
3381
- chunkRCCBUOGY_cjs.makeAutoObservable(this, {
3398
+ chunkT46TZYJL_cjs.makeAutoObservable(this, {
3382
3399
  _schemaCache: false,
3383
3400
  _tableCache: false,
3384
3401
  _loadingTables: false,
@@ -3416,7 +3433,7 @@ var ForeignKeyResolverImpl = class {
3416
3433
  if (this._disposed) {
3417
3434
  return;
3418
3435
  }
3419
- chunkRCCBUOGY_cjs.runInAction(() => {
3436
+ chunkT46TZYJL_cjs.runInAction(() => {
3420
3437
  this._schemaCache.set(tableId, schema);
3421
3438
  });
3422
3439
  }
@@ -3424,12 +3441,12 @@ var ForeignKeyResolverImpl = class {
3424
3441
  if (this._disposed) {
3425
3442
  return;
3426
3443
  }
3427
- const rowMap = chunkRCCBUOGY_cjs.observable.map();
3444
+ const rowMap = chunkT46TZYJL_cjs.observable.map();
3428
3445
  for (const row of rows) {
3429
3446
  rowMap.set(row.rowId, row);
3430
3447
  }
3431
3448
  const cache = { schema, rows: rowMap };
3432
- chunkRCCBUOGY_cjs.runInAction(() => {
3449
+ chunkT46TZYJL_cjs.runInAction(() => {
3433
3450
  this._tableCache.set(tableId, cache);
3434
3451
  this._schemaCache.set(tableId, schema);
3435
3452
  });
@@ -3444,7 +3461,7 @@ var ForeignKeyResolverImpl = class {
3444
3461
  const table = this._tableCache.get(tableId);
3445
3462
  if (table) {
3446
3463
  const rowData = { rowId, data };
3447
- chunkRCCBUOGY_cjs.runInAction(() => {
3464
+ chunkT46TZYJL_cjs.runInAction(() => {
3448
3465
  table.rows.set(rowId, rowData);
3449
3466
  });
3450
3467
  if (this._prefetchEnabled) {
@@ -3458,7 +3475,7 @@ var ForeignKeyResolverImpl = class {
3458
3475
  }
3459
3476
  const schema = this._schemaCache.get(oldTableId);
3460
3477
  const tableCache = this._tableCache.get(oldTableId);
3461
- chunkRCCBUOGY_cjs.runInAction(() => {
3478
+ chunkT46TZYJL_cjs.runInAction(() => {
3462
3479
  if (schema) {
3463
3480
  this._schemaCache.delete(oldTableId);
3464
3481
  this._schemaCache.set(newTableId, schema);
@@ -3560,9 +3577,9 @@ var ForeignKeyResolverImpl = class {
3560
3577
  }
3561
3578
  ensureTableCache(tableId, schema) {
3562
3579
  if (!this._tableCache.has(tableId)) {
3563
- const rowMap = chunkRCCBUOGY_cjs.observable.map();
3580
+ const rowMap = chunkT46TZYJL_cjs.observable.map();
3564
3581
  const cache = { schema, rows: rowMap };
3565
- chunkRCCBUOGY_cjs.runInAction(() => {
3582
+ chunkT46TZYJL_cjs.runInAction(() => {
3566
3583
  this._tableCache.set(tableId, cache);
3567
3584
  });
3568
3585
  }
@@ -3662,7 +3679,7 @@ var DataModelImpl = class {
3662
3679
  _fk;
3663
3680
  _ownsFkResolver;
3664
3681
  constructor(options) {
3665
- this._tables = chunkRCCBUOGY_cjs.observable.map();
3682
+ this._tables = chunkT46TZYJL_cjs.observable.map();
3666
3683
  if (options?.fkResolver) {
3667
3684
  this._fk = options.fkResolver;
3668
3685
  this._ownsFkResolver = false;
@@ -3670,7 +3687,7 @@ var DataModelImpl = class {
3670
3687
  this._fk = createForeignKeyResolver();
3671
3688
  this._ownsFkResolver = true;
3672
3689
  }
3673
- chunkRCCBUOGY_cjs.makeAutoObservable(this, {
3690
+ chunkT46TZYJL_cjs.makeAutoObservable(this, {
3674
3691
  _tables: false,
3675
3692
  _fk: false,
3676
3693
  _ownsFkResolver: false