@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.
- package/dist/{chunk-REVQG2NY.js → chunk-3MXYXTNF.js} +20 -3
- package/dist/{chunk-AWFMSOHM.js → chunk-MXEQ5CBK.js} +4 -22
- package/dist/{chunk-RCCBUOGY.cjs → chunk-T46TZYJL.cjs} +4 -22
- package/dist/{chunk-HJFM6E5M.cjs → chunk-URMXJ6FH.cjs} +87 -70
- package/dist/core/index.cjs +60 -60
- package/dist/core/index.js +1 -1
- package/dist/index.cjs +106 -106
- package/dist/index.js +2 -2
- package/dist/model/index.cjs +50 -50
- package/dist/model/index.d.cts +1 -0
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.js +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
451
|
+
return chunkT46TZYJL_cjs.createStringNode(nanoid.nanoid(), name, { defaultValue: "" });
|
|
439
452
|
case "number":
|
|
440
|
-
return
|
|
453
|
+
return chunkT46TZYJL_cjs.createNumberNode(nanoid.nanoid(), name, { defaultValue: 0 });
|
|
441
454
|
case "boolean":
|
|
442
|
-
return
|
|
455
|
+
return chunkT46TZYJL_cjs.createBooleanNode(nanoid.nanoid(), name, { defaultValue: false });
|
|
443
456
|
case "object":
|
|
444
|
-
return
|
|
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 =
|
|
453
|
-
return
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
672
|
+
return chunkT46TZYJL_cjs.createNumberNode(id, name, {
|
|
660
673
|
defaultValue: spec.default ?? 0,
|
|
661
674
|
metadata
|
|
662
675
|
});
|
|
663
676
|
case "boolean":
|
|
664
|
-
return
|
|
677
|
+
return chunkT46TZYJL_cjs.createBooleanNode(id, name, {
|
|
665
678
|
defaultValue: spec.default ?? false,
|
|
666
679
|
metadata
|
|
667
680
|
});
|
|
668
681
|
case "object":
|
|
669
|
-
return
|
|
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 =
|
|
678
|
-
return
|
|
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
|
|
743
|
-
_serializer = new
|
|
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 =
|
|
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
|
-
|
|
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
|
|
804
|
+
return chunkT46TZYJL_cjs.NULL_NODE;
|
|
792
805
|
}
|
|
793
806
|
if (index < 0 || index > parent.properties().length) {
|
|
794
|
-
return
|
|
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
|
|
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
|
|
1043
|
+
return chunkT46TZYJL_cjs.validateSchema(this._currentTree.root());
|
|
1031
1044
|
}
|
|
1032
1045
|
get formulaErrors() {
|
|
1033
|
-
return [...this._formulaParseErrors, ...
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
3376
|
-
this._tableCache =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
3580
|
+
const rowMap = chunkT46TZYJL_cjs.observable.map();
|
|
3564
3581
|
const cache = { schema, rows: rowMap };
|
|
3565
|
-
|
|
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 =
|
|
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
|
-
|
|
3690
|
+
chunkT46TZYJL_cjs.makeAutoObservable(this, {
|
|
3674
3691
|
_tables: false,
|
|
3675
3692
|
_fk: false,
|
|
3676
3693
|
_ownsFkResolver: false
|