@revisium/schema-toolkit 0.15.0 → 0.16.1

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,4 +1,4 @@
1
- export { ChangeCoalescer, ChangeCollector, EMPTY_METADATA, EMPTY_PATH, ItemsSegment, NULL_NODE, NodePathIndex, PatchBuilder, PatchEnricher, PatchGenerator, PropertySegment, SchemaDiff, SchemaSerializer, areNodesContentEqual, areNodesEqual, coalesceChanges, collectChanges, createArrayNode, createBooleanNode, createNumberNode, createObjectNode, createPath, createRefNode, createSchemaTree, createStringNode, jsonPointerToPath, jsonPointerToSegments, jsonPointerToSimplePath } from '../chunk-F4UBBZAL.js';
1
+ export { ChangeCoalescer, ChangeCollector, CompositeRule, EMPTY_METADATA, EMPTY_PATH, EnumValidator, FIELD_NAME_ERROR_MESSAGE, ForeignKeyValidator, ItemsSegment, MaxLengthValidator, MaximumValidator, MinLengthValidator, MinimumValidator, NULL_NODE, NodePathIndex, PatchBuilder, PatchEnricher, PatchGenerator, PatternValidator, PropertySegment, RequiredValidator, SchemaDiff, SchemaPropertyRule, SchemaSerializer, SchemaTruthyRule, ValidationEngine, ValidatorRegistry, ValidatorResolver, areNodesContentEqual, areNodesEqual, coalesceChanges, collectChanges, createArrayNode, createBooleanNode, createDefaultValidatorRegistry, createNumberNode, createObjectNode, createPath, createRefNode, createSchemaTree, createStringNode, createValidationEngine, isValidFieldName, jsonPointerToPath, jsonPointerToSegments, jsonPointerToSimplePath, validateFormulas, validateSchema } from '../chunk-S7GEDTSL.js';
2
2
  import '../chunk-3IKI64T2.js';
3
3
  export { computeValueDiff } from '../chunk-YFWOURZL.js';
4
4
  export { FieldChangeType } from '../chunk-ZBPUTF3Q.js';
@@ -24,313 +24,6 @@ var NoopReactivityAdapter = class {
24
24
  };
25
25
  var noopAdapter = new NoopReactivityAdapter();
26
26
 
27
- // src/core/validation/ValidatorRegistry.ts
28
- var ValidatorRegistry = class {
29
- validators = /* @__PURE__ */ new Map();
30
- rules = [];
31
- register(type, factory) {
32
- this.validators.set(type, factory);
33
- return this;
34
- }
35
- addRule(rule) {
36
- this.rules.push(rule);
37
- return this;
38
- }
39
- get(type) {
40
- const factory = this.validators.get(type);
41
- return factory ? factory() : void 0;
42
- }
43
- has(type) {
44
- return this.validators.has(type);
45
- }
46
- getRules() {
47
- return this.rules;
48
- }
49
- getValidatorTypes() {
50
- return Array.from(this.validators.keys());
51
- }
52
- };
53
-
54
- // src/core/validation/ValidatorResolver.ts
55
- var ValidatorResolver = class {
56
- constructor(registry) {
57
- this.registry = registry;
58
- }
59
- resolve(context) {
60
- const validators = [];
61
- const rules = this.registry.getRules();
62
- for (const rule of rules) {
63
- if (rule.shouldApply(context)) {
64
- const validator = this.registry.get(rule.validatorType);
65
- if (validator) {
66
- validators.push(validator);
67
- }
68
- }
69
- }
70
- return validators;
71
- }
72
- };
73
-
74
- // src/core/validation/ValidationEngine.ts
75
- var ValidationEngine = class {
76
- constructor(resolver) {
77
- this.resolver = resolver;
78
- }
79
- validate(context) {
80
- const validators = this.resolver.resolve(context);
81
- const diagnostics = [];
82
- for (const validator of validators) {
83
- const diagnostic = validator.validate(context);
84
- if (diagnostic) {
85
- diagnostics.push(diagnostic);
86
- }
87
- }
88
- return diagnostics;
89
- }
90
- };
91
-
92
- // src/core/validation/rules/SchemaBasedRule.ts
93
- var SchemaPropertyRule = class {
94
- constructor(validatorType, propertyName) {
95
- this.validatorType = validatorType;
96
- this.propertyName = propertyName;
97
- }
98
- shouldApply(context) {
99
- const value = context.schema[this.propertyName];
100
- return value !== void 0 && value !== null;
101
- }
102
- };
103
- var SchemaTruthyRule = class {
104
- constructor(validatorType, propertyName) {
105
- this.validatorType = validatorType;
106
- this.propertyName = propertyName;
107
- }
108
- shouldApply(context) {
109
- return context.schema[this.propertyName] === true;
110
- }
111
- };
112
- var CompositeRule = class {
113
- constructor(validatorType, conditions) {
114
- this.validatorType = validatorType;
115
- this.conditions = conditions;
116
- }
117
- shouldApply(context) {
118
- return this.conditions.every((condition) => condition(context));
119
- }
120
- };
121
-
122
- // src/core/validation/validators/RequiredValidator.ts
123
- var RequiredValidator = class {
124
- type = "required";
125
- validate(context) {
126
- const { value, nodeName } = context;
127
- if (value === "" || value === null || value === void 0) {
128
- return {
129
- severity: "error",
130
- type: this.type,
131
- message: "Field is required",
132
- path: nodeName
133
- };
134
- }
135
- return null;
136
- }
137
- };
138
-
139
- // src/core/validation/validators/PatternValidator.ts
140
- var PatternValidator = class {
141
- type = "pattern";
142
- validate(context) {
143
- const { value, schema, nodeName } = context;
144
- const pattern = schema.pattern;
145
- if (!pattern) {
146
- return null;
147
- }
148
- if (typeof value !== "string") {
149
- return null;
150
- }
151
- if (value.length === 0) {
152
- return null;
153
- }
154
- try {
155
- if (!new RegExp(pattern).test(value)) {
156
- return {
157
- severity: "error",
158
- type: this.type,
159
- message: "Value does not match pattern",
160
- path: nodeName,
161
- params: { pattern }
162
- };
163
- }
164
- } catch {
165
- return {
166
- severity: "error",
167
- type: "invalidPattern",
168
- message: "Invalid regex pattern in schema",
169
- path: nodeName,
170
- params: { pattern }
171
- };
172
- }
173
- return null;
174
- }
175
- };
176
-
177
- // src/core/validation/validators/MinLengthValidator.ts
178
- var MinLengthValidator = class {
179
- type = "minLength";
180
- validate(context) {
181
- const { value, schema, nodeName } = context;
182
- const minLength = schema.minLength;
183
- if (minLength === void 0) {
184
- return null;
185
- }
186
- if (typeof value !== "string") {
187
- return null;
188
- }
189
- if (value.length < minLength) {
190
- return {
191
- severity: "error",
192
- type: this.type,
193
- message: `Value must be at least ${minLength} characters`,
194
- path: nodeName,
195
- params: { min: minLength, actual: value.length }
196
- };
197
- }
198
- return null;
199
- }
200
- };
201
-
202
- // src/core/validation/validators/MaxLengthValidator.ts
203
- var MaxLengthValidator = class {
204
- type = "maxLength";
205
- validate(context) {
206
- const { value, schema, nodeName } = context;
207
- const maxLength = schema.maxLength;
208
- if (maxLength === void 0) {
209
- return null;
210
- }
211
- if (typeof value !== "string") {
212
- return null;
213
- }
214
- if (value.length > maxLength) {
215
- return {
216
- severity: "error",
217
- type: this.type,
218
- message: `Value must be at most ${maxLength} characters`,
219
- path: nodeName,
220
- params: { max: maxLength, actual: value.length }
221
- };
222
- }
223
- return null;
224
- }
225
- };
226
-
227
- // src/core/validation/validators/MinimumValidator.ts
228
- var MinimumValidator = class {
229
- type = "minimum";
230
- validate(context) {
231
- const { value, schema, nodeName } = context;
232
- const minimum = schema.minimum;
233
- if (minimum === void 0) {
234
- return null;
235
- }
236
- if (typeof value !== "number") {
237
- return null;
238
- }
239
- if (value < minimum) {
240
- return {
241
- severity: "error",
242
- type: this.type,
243
- message: `Value must be at least ${minimum}`,
244
- path: nodeName,
245
- params: { min: minimum, actual: value }
246
- };
247
- }
248
- return null;
249
- }
250
- };
251
-
252
- // src/core/validation/validators/MaximumValidator.ts
253
- var MaximumValidator = class {
254
- type = "maximum";
255
- validate(context) {
256
- const { value, schema, nodeName } = context;
257
- const maximum = schema.maximum;
258
- if (maximum === void 0) {
259
- return null;
260
- }
261
- if (typeof value !== "number") {
262
- return null;
263
- }
264
- if (value > maximum) {
265
- return {
266
- severity: "error",
267
- type: this.type,
268
- message: `Value must be at most ${maximum}`,
269
- path: nodeName,
270
- params: { max: maximum, actual: value }
271
- };
272
- }
273
- return null;
274
- }
275
- };
276
-
277
- // src/core/validation/validators/EnumValidator.ts
278
- var EnumValidator = class {
279
- type = "enum";
280
- validate(context) {
281
- const { value, schema, nodeName } = context;
282
- const enumValues = schema.enum;
283
- if (!enumValues || enumValues.length === 0) {
284
- return null;
285
- }
286
- if (!enumValues.includes(value)) {
287
- return {
288
- severity: "error",
289
- type: this.type,
290
- message: "Value must be one of the allowed values",
291
- path: nodeName,
292
- params: { allowed: [...enumValues], actual: value }
293
- };
294
- }
295
- return null;
296
- }
297
- };
298
-
299
- // src/core/validation/validators/ForeignKeyValidator.ts
300
- var ForeignKeyValidator = class {
301
- type = "foreignKey";
302
- validate(context) {
303
- const { value, schema, nodeName } = context;
304
- const foreignKey = schema.foreignKey;
305
- if (!foreignKey) {
306
- return null;
307
- }
308
- if (value === "" || value === null || value === void 0) {
309
- return {
310
- severity: "error",
311
- type: this.type,
312
- message: "Foreign key reference is required",
313
- path: nodeName,
314
- params: { table: foreignKey }
315
- };
316
- }
317
- return null;
318
- }
319
- };
320
-
321
- // src/core/validation/createValidationEngine.ts
322
- function createDefaultValidatorRegistry() {
323
- const registry = new ValidatorRegistry();
324
- registry.register("required", () => new RequiredValidator()).register("pattern", () => new PatternValidator()).register("minLength", () => new MinLengthValidator()).register("maxLength", () => new MaxLengthValidator()).register("minimum", () => new MinimumValidator()).register("maximum", () => new MaximumValidator()).register("enum", () => new EnumValidator()).register("foreignKey", () => new ForeignKeyValidator());
325
- registry.addRule(new SchemaTruthyRule("required", "required")).addRule(new SchemaPropertyRule("pattern", "pattern")).addRule(new SchemaPropertyRule("minLength", "minLength")).addRule(new SchemaPropertyRule("maxLength", "maxLength")).addRule(new SchemaPropertyRule("minimum", "minimum")).addRule(new SchemaPropertyRule("maximum", "maximum")).addRule(new SchemaPropertyRule("enum", "enum")).addRule(new SchemaPropertyRule("foreignKey", "foreignKey"));
326
- return registry;
327
- }
328
- function createValidationEngine(registry) {
329
- const validatorRegistry = registry ?? createDefaultValidatorRegistry();
330
- const resolver = new ValidatorResolver(validatorRegistry);
331
- return new ValidationEngine(resolver);
332
- }
333
-
334
- export { CompositeRule, EnumValidator, ForeignKeyValidator, MaxLengthValidator, MaximumValidator, MinLengthValidator, MinimumValidator, PatternValidator, RequiredValidator, SchemaPropertyRule, SchemaTruthyRule, ValidationEngine, ValidatorRegistry, ValidatorResolver, createDefaultValidatorRegistry, createValidationEngine, noopAdapter };
27
+ export { noopAdapter };
335
28
  //# sourceMappingURL=index.js.map
336
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/reactivity/noop-adapter.ts","../../src/core/validation/ValidatorRegistry.ts","../../src/core/validation/ValidatorResolver.ts","../../src/core/validation/ValidationEngine.ts","../../src/core/validation/rules/SchemaBasedRule.ts","../../src/core/validation/validators/RequiredValidator.ts","../../src/core/validation/validators/PatternValidator.ts","../../src/core/validation/validators/MinLengthValidator.ts","../../src/core/validation/validators/MaxLengthValidator.ts","../../src/core/validation/validators/MinimumValidator.ts","../../src/core/validation/validators/MaximumValidator.ts","../../src/core/validation/validators/EnumValidator.ts","../../src/core/validation/validators/ForeignKeyValidator.ts","../../src/core/validation/createValidationEngine.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { AnnotationsMap } from '../types/index.js';\nimport type { ReactivityAdapter } from './types.js';\n\nclass NoopReactivityAdapter implements ReactivityAdapter {\n makeObservable<T extends object>(\n _target: T,\n _annotations: AnnotationsMap<T>,\n ): void {\n // noop\n }\n\n observableArray<T>(): T[] {\n return [];\n }\n\n observableMap<K, V>(): Map<K, V> {\n return new Map();\n }\n\n reaction<T>(\n _expression: () => T,\n _effect: (value: T) => void,\n ): () => void {\n return () => {};\n }\n\n runInAction<T>(fn: () => T): T {\n return fn();\n }\n}\n\nexport const noopAdapter: ReactivityAdapter = new NoopReactivityAdapter();\n","import type { Validator, ValidatorFactoryFn, ValidatorRule } from './types.js';\n\nexport class ValidatorRegistry {\n private readonly validators = new Map<string, ValidatorFactoryFn>();\n private readonly rules: ValidatorRule[] = [];\n\n register(type: string, factory: ValidatorFactoryFn): this {\n this.validators.set(type, factory);\n return this;\n }\n\n addRule(rule: ValidatorRule): this {\n this.rules.push(rule);\n return this;\n }\n\n get(type: string): Validator | undefined {\n const factory = this.validators.get(type);\n return factory ? factory() : undefined;\n }\n\n has(type: string): boolean {\n return this.validators.has(type);\n }\n\n getRules(): readonly ValidatorRule[] {\n return this.rules;\n }\n\n getValidatorTypes(): string[] {\n return Array.from(this.validators.keys());\n }\n}\n","import type { Validator, ValidationContext } from './types.js';\nimport type { ValidatorRegistry } from './ValidatorRegistry.js';\n\nexport class ValidatorResolver {\n constructor(private readonly registry: ValidatorRegistry) {}\n\n resolve(context: ValidationContext): Validator[] {\n const validators: Validator[] = [];\n const rules = this.registry.getRules();\n\n for (const rule of rules) {\n if (rule.shouldApply(context)) {\n const validator = this.registry.get(rule.validatorType);\n if (validator) {\n validators.push(validator);\n }\n }\n }\n\n return validators;\n }\n}\n","import type { Diagnostic, ValidationContext } from './types.js';\nimport type { ValidatorResolver } from './ValidatorResolver.js';\n\nexport class ValidationEngine {\n constructor(private readonly resolver: ValidatorResolver) {}\n\n validate(context: ValidationContext): readonly Diagnostic[] {\n const validators = this.resolver.resolve(context);\n const diagnostics: Diagnostic[] = [];\n\n for (const validator of validators) {\n const diagnostic = validator.validate(context);\n if (diagnostic) {\n diagnostics.push(diagnostic);\n }\n }\n\n return diagnostics;\n }\n}\n","import type { ValidatorRule, ValidationContext, SchemaLike } from '../types.js';\n\nexport class SchemaPropertyRule implements ValidatorRule {\n constructor(\n readonly validatorType: string,\n private readonly propertyName: keyof SchemaLike,\n ) {}\n\n shouldApply(context: ValidationContext): boolean {\n const value = context.schema[this.propertyName];\n return value !== undefined && value !== null;\n }\n}\n\nexport class SchemaTruthyRule implements ValidatorRule {\n constructor(\n readonly validatorType: string,\n private readonly propertyName: keyof SchemaLike,\n ) {}\n\n shouldApply(context: ValidationContext): boolean {\n return context.schema[this.propertyName] === true;\n }\n}\n\nexport class CompositeRule implements ValidatorRule {\n constructor(\n readonly validatorType: string,\n private readonly conditions: Array<(context: ValidationContext) => boolean>,\n ) {}\n\n shouldApply(context: ValidationContext): boolean {\n return this.conditions.every((condition) => condition(context));\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class RequiredValidator implements Validator {\n readonly type = 'required';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, nodeName } = context;\n\n if (value === '' || value === null || value === undefined) {\n return {\n severity: 'error',\n type: this.type,\n message: 'Field is required',\n path: nodeName,\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class PatternValidator implements Validator {\n readonly type = 'pattern';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const pattern = schema.pattern;\n\n if (!pattern) {\n return null;\n }\n\n if (typeof value !== 'string') {\n return null;\n }\n\n if (value.length === 0) {\n return null;\n }\n\n try {\n if (!new RegExp(pattern).test(value)) {\n return {\n severity: 'error',\n type: this.type,\n message: 'Value does not match pattern',\n path: nodeName,\n params: { pattern },\n };\n }\n } catch {\n return {\n severity: 'error',\n type: 'invalidPattern',\n message: 'Invalid regex pattern in schema',\n path: nodeName,\n params: { pattern },\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class MinLengthValidator implements Validator {\n readonly type = 'minLength';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const minLength = schema.minLength;\n\n if (minLength === undefined) {\n return null;\n }\n\n if (typeof value !== 'string') {\n return null;\n }\n\n if (value.length < minLength) {\n return {\n severity: 'error',\n type: this.type,\n message: `Value must be at least ${minLength} characters`,\n path: nodeName,\n params: { min: minLength, actual: value.length },\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class MaxLengthValidator implements Validator {\n readonly type = 'maxLength';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const maxLength = schema.maxLength;\n\n if (maxLength === undefined) {\n return null;\n }\n\n if (typeof value !== 'string') {\n return null;\n }\n\n if (value.length > maxLength) {\n return {\n severity: 'error',\n type: this.type,\n message: `Value must be at most ${maxLength} characters`,\n path: nodeName,\n params: { max: maxLength, actual: value.length },\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class MinimumValidator implements Validator {\n readonly type = 'minimum';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const minimum = schema.minimum;\n\n if (minimum === undefined) {\n return null;\n }\n\n if (typeof value !== 'number') {\n return null;\n }\n\n if (value < minimum) {\n return {\n severity: 'error',\n type: this.type,\n message: `Value must be at least ${minimum}`,\n path: nodeName,\n params: { min: minimum, actual: value },\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class MaximumValidator implements Validator {\n readonly type = 'maximum';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const maximum = schema.maximum;\n\n if (maximum === undefined) {\n return null;\n }\n\n if (typeof value !== 'number') {\n return null;\n }\n\n if (value > maximum) {\n return {\n severity: 'error',\n type: this.type,\n message: `Value must be at most ${maximum}`,\n path: nodeName,\n params: { max: maximum, actual: value },\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class EnumValidator implements Validator {\n readonly type = 'enum';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const enumValues = schema.enum;\n\n if (!enumValues || enumValues.length === 0) {\n return null;\n }\n\n if (!(enumValues as readonly unknown[]).includes(value)) {\n return {\n severity: 'error',\n type: this.type,\n message: 'Value must be one of the allowed values',\n path: nodeName,\n params: { allowed: [...enumValues], actual: value },\n };\n }\n\n return null;\n }\n}\n","import type { Diagnostic, Validator, ValidationContext } from '../types.js';\n\nexport class ForeignKeyValidator implements Validator {\n readonly type = 'foreignKey';\n\n validate(context: ValidationContext): Diagnostic | null {\n const { value, schema, nodeName } = context;\n const foreignKey = schema.foreignKey;\n\n if (!foreignKey) {\n return null;\n }\n\n if (value === '' || value === null || value === undefined) {\n return {\n severity: 'error',\n type: this.type,\n message: 'Foreign key reference is required',\n path: nodeName,\n params: { table: foreignKey },\n };\n }\n\n return null;\n }\n}\n","import { ValidatorRegistry } from './ValidatorRegistry.js';\nimport { ValidatorResolver } from './ValidatorResolver.js';\nimport { ValidationEngine } from './ValidationEngine.js';\nimport { SchemaPropertyRule, SchemaTruthyRule } from './rules/index.js';\nimport {\n RequiredValidator,\n PatternValidator,\n MinLengthValidator,\n MaxLengthValidator,\n MinimumValidator,\n MaximumValidator,\n EnumValidator,\n ForeignKeyValidator,\n} from './validators/index.js';\n\nexport function createDefaultValidatorRegistry(): ValidatorRegistry {\n const registry = new ValidatorRegistry();\n\n registry\n .register('required', () => new RequiredValidator())\n .register('pattern', () => new PatternValidator())\n .register('minLength', () => new MinLengthValidator())\n .register('maxLength', () => new MaxLengthValidator())\n .register('minimum', () => new MinimumValidator())\n .register('maximum', () => new MaximumValidator())\n .register('enum', () => new EnumValidator())\n .register('foreignKey', () => new ForeignKeyValidator());\n\n registry\n .addRule(new SchemaTruthyRule('required', 'required'))\n .addRule(new SchemaPropertyRule('pattern', 'pattern'))\n .addRule(new SchemaPropertyRule('minLength', 'minLength'))\n .addRule(new SchemaPropertyRule('maxLength', 'maxLength'))\n .addRule(new SchemaPropertyRule('minimum', 'minimum'))\n .addRule(new SchemaPropertyRule('maximum', 'maximum'))\n .addRule(new SchemaPropertyRule('enum', 'enum'))\n .addRule(new SchemaPropertyRule('foreignKey', 'foreignKey'));\n\n return registry;\n}\n\nexport function createValidationEngine(\n registry?: ValidatorRegistry,\n): ValidationEngine {\n const validatorRegistry = registry ?? createDefaultValidatorRegistry();\n const resolver = new ValidatorResolver(validatorRegistry);\n return new ValidationEngine(resolver);\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/reactivity/noop-adapter.ts"],"names":[],"mappings":";;;;;;;AAGA,IAAM,wBAAN,MAAyD;AAAA,EACvD,cAAA,CACE,SACA,YAAA,EACM;AAAA,EAER;AAAA,EAEA,eAAA,GAA0B;AACxB,IAAA,OAAO,EAAC;AAAA,EACV;AAAA,EAEA,aAAA,GAAiC;AAC/B,IAAA,2BAAW,GAAA,EAAI;AAAA,EACjB;AAAA,EAEA,QAAA,CACE,aACA,OAAA,EACY;AACZ,IAAA,OAAO,MAAM;AAAA,IAAC,CAAA;AAAA,EAChB;AAAA,EAEA,YAAe,EAAA,EAAgB;AAC7B,IAAA,OAAO,EAAA,EAAG;AAAA,EACZ;AACF,CAAA;AAEO,IAAM,WAAA,GAAiC,IAAI,qBAAA","file":"index.js","sourcesContent":["import type { AnnotationsMap } from '../types/index.js';\nimport type { ReactivityAdapter } from './types.js';\n\nclass NoopReactivityAdapter implements ReactivityAdapter {\n makeObservable<T extends object>(\n _target: T,\n _annotations: AnnotationsMap<T>,\n ): void {\n // noop\n }\n\n observableArray<T>(): T[] {\n return [];\n }\n\n observableMap<K, V>(): Map<K, V> {\n return new Map();\n }\n\n reaction<T>(\n _expression: () => T,\n _effect: (value: T) => void,\n ): () => void {\n return () => {};\n }\n\n runInAction<T>(fn: () => T): T {\n return fn();\n }\n}\n\nexport const noopAdapter: ReactivityAdapter = new NoopReactivityAdapter();\n"]}
package/dist/index.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkEJYILFAK_cjs = require('./chunk-EJYILFAK.cjs');
4
4
  var chunkIPL2CGVA_cjs = require('./chunk-IPL2CGVA.cjs');
5
- var chunk5WZ4YPH5_cjs = require('./chunk-5WZ4YPH5.cjs');
6
- require('./chunk-A4E524UU.cjs');
5
+ var chunkKQWWRWGB_cjs = require('./chunk-KQWWRWGB.cjs');
6
+ var chunkIWRV6QAD_cjs = require('./chunk-IWRV6QAD.cjs');
7
7
  require('./chunk-TBFTADML.cjs');
8
8
  var chunkXS47N22X_cjs = require('./chunk-XS47N22X.cjs');
9
9
  var chunkX2VRR7V7_cjs = require('./chunk-X2VRR7V7.cjs');
@@ -63,123 +63,139 @@ Object.defineProperty(exports, "CustomSchemeKeywords", {
63
63
  });
64
64
  Object.defineProperty(exports, "ArrayValueNode", {
65
65
  enumerable: true,
66
- get: function () { return chunk5WZ4YPH5_cjs.ArrayValueNode; }
66
+ get: function () { return chunkKQWWRWGB_cjs.ArrayValueNode; }
67
67
  });
68
68
  Object.defineProperty(exports, "BasePrimitiveValueNode", {
69
69
  enumerable: true,
70
- get: function () { return chunk5WZ4YPH5_cjs.BasePrimitiveValueNode; }
70
+ get: function () { return chunkKQWWRWGB_cjs.BasePrimitiveValueNode; }
71
71
  });
72
72
  Object.defineProperty(exports, "BaseValueNode", {
73
73
  enumerable: true,
74
- get: function () { return chunk5WZ4YPH5_cjs.BaseValueNode; }
74
+ get: function () { return chunkKQWWRWGB_cjs.BaseValueNode; }
75
75
  });
76
76
  Object.defineProperty(exports, "BooleanValueNode", {
77
77
  enumerable: true,
78
- get: function () { return chunk5WZ4YPH5_cjs.BooleanValueNode; }
78
+ get: function () { return chunkKQWWRWGB_cjs.BooleanValueNode; }
79
79
  });
80
80
  Object.defineProperty(exports, "DataModelImpl", {
81
81
  enumerable: true,
82
- get: function () { return chunk5WZ4YPH5_cjs.DataModelImpl; }
82
+ get: function () { return chunkKQWWRWGB_cjs.DataModelImpl; }
83
83
  });
84
84
  Object.defineProperty(exports, "ForeignKeyNotFoundError", {
85
85
  enumerable: true,
86
- get: function () { return chunk5WZ4YPH5_cjs.ForeignKeyNotFoundError; }
86
+ get: function () { return chunkKQWWRWGB_cjs.ForeignKeyNotFoundError; }
87
87
  });
88
88
  Object.defineProperty(exports, "ForeignKeyResolverImpl", {
89
89
  enumerable: true,
90
- get: function () { return chunk5WZ4YPH5_cjs.ForeignKeyResolverImpl; }
90
+ get: function () { return chunkKQWWRWGB_cjs.ForeignKeyResolverImpl; }
91
91
  });
92
92
  Object.defineProperty(exports, "ForeignKeyResolverNotConfiguredError", {
93
93
  enumerable: true,
94
- get: function () { return chunk5WZ4YPH5_cjs.ForeignKeyResolverNotConfiguredError; }
94
+ get: function () { return chunkKQWWRWGB_cjs.ForeignKeyResolverNotConfiguredError; }
95
95
  });
96
96
  Object.defineProperty(exports, "ForeignKeyValueNodeImpl", {
97
97
  enumerable: true,
98
- get: function () { return chunk5WZ4YPH5_cjs.ForeignKeyValueNodeImpl; }
98
+ get: function () { return chunkKQWWRWGB_cjs.ForeignKeyValueNodeImpl; }
99
99
  });
100
100
  Object.defineProperty(exports, "NodeFactory", {
101
101
  enumerable: true,
102
- get: function () { return chunk5WZ4YPH5_cjs.NodeFactory; }
102
+ get: function () { return chunkKQWWRWGB_cjs.NodeFactory; }
103
103
  });
104
104
  Object.defineProperty(exports, "NodeFactoryRegistry", {
105
105
  enumerable: true,
106
- get: function () { return chunk5WZ4YPH5_cjs.NodeFactoryRegistry; }
106
+ get: function () { return chunkKQWWRWGB_cjs.NodeFactoryRegistry; }
107
107
  });
108
108
  Object.defineProperty(exports, "NumberValueNode", {
109
109
  enumerable: true,
110
- get: function () { return chunk5WZ4YPH5_cjs.NumberValueNode; }
110
+ get: function () { return chunkKQWWRWGB_cjs.NumberValueNode; }
111
111
  });
112
112
  Object.defineProperty(exports, "ObjectValueNode", {
113
113
  enumerable: true,
114
- get: function () { return chunk5WZ4YPH5_cjs.ObjectValueNode; }
114
+ get: function () { return chunkKQWWRWGB_cjs.ObjectValueNode; }
115
115
  });
116
116
  Object.defineProperty(exports, "RowModelImpl", {
117
117
  enumerable: true,
118
- get: function () { return chunk5WZ4YPH5_cjs.RowModelImpl; }
118
+ get: function () { return chunkKQWWRWGB_cjs.RowModelImpl; }
119
119
  });
120
120
  Object.defineProperty(exports, "SchemaParser", {
121
121
  enumerable: true,
122
- get: function () { return chunk5WZ4YPH5_cjs.SchemaParser; }
122
+ get: function () { return chunkKQWWRWGB_cjs.SchemaParser; }
123
123
  });
124
124
  Object.defineProperty(exports, "StringValueNode", {
125
125
  enumerable: true,
126
- get: function () { return chunk5WZ4YPH5_cjs.StringValueNode; }
126
+ get: function () { return chunkKQWWRWGB_cjs.StringValueNode; }
127
127
  });
128
128
  Object.defineProperty(exports, "TableModelImpl", {
129
129
  enumerable: true,
130
- get: function () { return chunk5WZ4YPH5_cjs.TableModelImpl; }
130
+ get: function () { return chunkKQWWRWGB_cjs.TableModelImpl; }
131
131
  });
132
132
  Object.defineProperty(exports, "ValueNodeFactory", {
133
133
  enumerable: true,
134
- get: function () { return chunk5WZ4YPH5_cjs.NodeFactory2; }
134
+ get: function () { return chunkKQWWRWGB_cjs.NodeFactory2; }
135
135
  });
136
136
  Object.defineProperty(exports, "ValueType", {
137
137
  enumerable: true,
138
- get: function () { return chunk5WZ4YPH5_cjs.ValueType; }
138
+ get: function () { return chunkKQWWRWGB_cjs.ValueType; }
139
139
  });
140
140
  Object.defineProperty(exports, "createDataModel", {
141
141
  enumerable: true,
142
- get: function () { return chunk5WZ4YPH5_cjs.createDataModel; }
142
+ get: function () { return chunkKQWWRWGB_cjs.createDataModel; }
143
143
  });
144
144
  Object.defineProperty(exports, "createDefaultRegistry", {
145
145
  enumerable: true,
146
- get: function () { return chunk5WZ4YPH5_cjs.createDefaultRegistry; }
146
+ get: function () { return chunkKQWWRWGB_cjs.createDefaultRegistry; }
147
147
  });
148
148
  Object.defineProperty(exports, "createForeignKeyResolver", {
149
149
  enumerable: true,
150
- get: function () { return chunk5WZ4YPH5_cjs.createForeignKeyResolver; }
150
+ get: function () { return chunkKQWWRWGB_cjs.createForeignKeyResolver; }
151
151
  });
152
152
  Object.defineProperty(exports, "createNodeFactory", {
153
153
  enumerable: true,
154
- get: function () { return chunk5WZ4YPH5_cjs.createNodeFactory; }
154
+ get: function () { return chunkKQWWRWGB_cjs.createNodeFactory; }
155
155
  });
156
156
  Object.defineProperty(exports, "createSchemaModel", {
157
157
  enumerable: true,
158
- get: function () { return chunk5WZ4YPH5_cjs.createSchemaModel; }
158
+ get: function () { return chunkKQWWRWGB_cjs.createSchemaModel; }
159
159
  });
160
160
  Object.defineProperty(exports, "createTableModel", {
161
161
  enumerable: true,
162
- get: function () { return chunk5WZ4YPH5_cjs.createTableModel; }
162
+ get: function () { return chunkKQWWRWGB_cjs.createTableModel; }
163
163
  });
164
164
  Object.defineProperty(exports, "extractFormulaDefinition", {
165
165
  enumerable: true,
166
- get: function () { return chunk5WZ4YPH5_cjs.extractFormulaDefinition; }
166
+ get: function () { return chunkKQWWRWGB_cjs.extractFormulaDefinition; }
167
167
  });
168
168
  Object.defineProperty(exports, "generateDefaultValue", {
169
169
  enumerable: true,
170
- get: function () { return chunk5WZ4YPH5_cjs.generateDefaultValue; }
170
+ get: function () { return chunkKQWWRWGB_cjs.generateDefaultValue; }
171
171
  });
172
172
  Object.defineProperty(exports, "generateNodeId", {
173
173
  enumerable: true,
174
- get: function () { return chunk5WZ4YPH5_cjs.generateNodeId; }
174
+ get: function () { return chunkKQWWRWGB_cjs.generateNodeId; }
175
175
  });
176
176
  Object.defineProperty(exports, "isForeignKeyValueNode", {
177
177
  enumerable: true,
178
- get: function () { return chunk5WZ4YPH5_cjs.isForeignKeyValueNode; }
178
+ get: function () { return chunkKQWWRWGB_cjs.isForeignKeyValueNode; }
179
179
  });
180
180
  Object.defineProperty(exports, "resetNodeIdCounter", {
181
181
  enumerable: true,
182
- get: function () { return chunk5WZ4YPH5_cjs.resetNodeIdCounter; }
182
+ get: function () { return chunkKQWWRWGB_cjs.resetNodeIdCounter; }
183
+ });
184
+ Object.defineProperty(exports, "FIELD_NAME_ERROR_MESSAGE", {
185
+ enumerable: true,
186
+ get: function () { return chunkIWRV6QAD_cjs.FIELD_NAME_ERROR_MESSAGE; }
187
+ });
188
+ Object.defineProperty(exports, "isValidFieldName", {
189
+ enumerable: true,
190
+ get: function () { return chunkIWRV6QAD_cjs.isValidFieldName; }
191
+ });
192
+ Object.defineProperty(exports, "validateFormulas", {
193
+ enumerable: true,
194
+ get: function () { return chunkIWRV6QAD_cjs.validateFormulas; }
195
+ });
196
+ Object.defineProperty(exports, "validateSchema", {
197
+ enumerable: true,
198
+ get: function () { return chunkIWRV6QAD_cjs.validateSchema; }
183
199
  });
184
200
  Object.defineProperty(exports, "SchemaTable", {
185
201
  enumerable: true,
package/dist/index.d.cts CHANGED
@@ -8,14 +8,15 @@ export { ajvFileSchema, ajvRowCreatedAtSchema, ajvRowCreatedIdSchema, ajvRowHash
8
8
  export { getAddPatch, getArraySchema, getBooleanSchema, getMovePatch, getNumberSchema, getObjectSchema, getRefSchema, getRemovePatch, getReplacePatch, getStringSchema } from './mocks/index.cjs';
9
9
  export { CustomSchemeKeywords } from './consts/index.cjs';
10
10
  export { A as AddedPropertyEvent, C as ChangeNameEvent, f as JsonArrayStore, m as JsonArrayValueStore, b as JsonBooleanStore, k as JsonBooleanValueStore, a as JsonNumberStore, j as JsonNumberValueStore, c as JsonObjectStore, l as JsonObjectValueStore, h as JsonSchemaStore, g as JsonSchemaStorePrimitives, J as JsonStringStore, i as JsonStringValueStore, p as JsonValueStore, o as JsonValueStoreParent, n as JsonValueStorePrimitives, d as MigrateItemsEvent, M as MigratePropertyEvent, R as RemovedPropertyEvent, e as ReplaceItemsEvent } from './json-string.store-DKlkc1u_.cjs';
11
- export { ArrayNodeOptions, ArrayValueNode, ArrayValueNodeInterface, BasePrimitiveValueNode, BaseValueNode, BooleanValueNode, DataModel, DataModelImpl, DataModelOptions, DirtyTrackable, FieldType, ForeignKeyLoader, ForeignKeyLoaderResult, ForeignKeyNotFoundError, ForeignKeyResolver, ForeignKeyResolverImpl, ForeignKeyResolverNotConfiguredError, ForeignKeyResolverOptions, ForeignKeyRowLoaderResult, ForeignKeyValueNode, ForeignKeyValueNodeImpl, FormulaDefinition, FormulaWarning, GenerateDefaultValueOptions, NodeFactory, NodeFactoryFn, NodeFactoryOptions, NodeFactoryRegistry, NumberValueNode, ObjectNodeOptions, ObjectValueNode, ObjectValueNodeInterface, PrimitiveNodeOptions, PrimitiveValueNode, ReactivityOptions, RefSchemas, RowData, RowModel, RowModelImpl, SchemaModel, SchemaParser, StringValueNode, TableModel, TableModelImpl, TableModelLike, TableModelOptions, ValueNode, ValueNodeFactory, ValueNodeOptions, ValueTreeLike, ValueType, createDataModel, createDefaultRegistry, createForeignKeyResolver, createNodeFactory, createSchemaModel, createTableModel, equal, extractFormulaDefinition, fromArrayToObject, fromArrayTransformation, fromBooleanToNumber, fromBooleanToString, fromNumberToBoolean, fromNumberToString, fromObjectToArray, fromObjectToPrimitive, fromPrimitiveToObject, fromStringToBoolean, fromStringToNumber, generateDefaultValue, generateNodeId, getTransformation, isForeignKeyValueNode, resetNodeIdCounter, toArrayTransformation } from './model/index.cjs';
11
+ export { ArrayNodeOptions, ArrayValueNode, ArrayValueNodeInterface, BasePrimitiveValueNode, BaseValueNode, BooleanValueNode, DataModel, DataModelImpl, DataModelOptions, DirtyTrackable, FieldType, ForeignKeyLoader, ForeignKeyLoaderResult, ForeignKeyNotFoundError, ForeignKeyResolver, ForeignKeyResolverImpl, ForeignKeyResolverNotConfiguredError, ForeignKeyResolverOptions, ForeignKeyRowLoaderResult, ForeignKeyValueNode, ForeignKeyValueNodeImpl, FormulaDefinition, FormulaWarning, GenerateDefaultValueOptions, NodeFactory, NodeFactoryFn, NodeFactoryOptions, NodeFactoryRegistry, NumberValueNode, ObjectNodeOptions, ObjectValueNode, ObjectValueNodeInterface, PrimitiveNodeOptions, PrimitiveValueNode, ReactivityOptions, RefSchemas, ReplaceResult, RowData, RowModel, RowModelImpl, SchemaModel, SchemaParser, StringValueNode, TableModel, TableModelImpl, TableModelLike, TableModelOptions, ValueNode, ValueNodeFactory, ValueNodeOptions, ValueTreeLike, ValueType, createDataModel, createDefaultRegistry, createForeignKeyResolver, createNodeFactory, createSchemaModel, createTableModel, equal, extractFormulaDefinition, fromArrayToObject, fromArrayTransformation, fromBooleanToNumber, fromBooleanToString, fromNumberToBoolean, fromNumberToString, fromObjectToArray, fromObjectToPrimitive, fromPrimitiveToObject, fromStringToBoolean, fromStringToNumber, generateDefaultValue, generateNodeId, getTransformation, isForeignKeyValueNode, resetNodeIdCounter, toArrayTransformation } from './model/index.cjs';
12
12
  export { GetForeignKeysFromValueType, RefsType, ReplaceForeignKeyValueOptions, SchemaTable, VALIDATE_JSON_FIELD_NAME_ERROR_MESSAGE, addSharedFieldsFromState, applyAddPatch, applyMovePatch, applyRemovePatch, applyReplacePatch, convertJsonPathToSchemaPath, convertSchemaPathToJsonPath, createJsonArrayValueStore, createJsonObjectSchemaStore, createJsonObjectValueStore, createJsonSchemaStore, createJsonValueStore, createPrimitiveStoreBySchema, createPrimitiveValueStore, deepEqual, getDBJsonPathByJsonSchemaStore, getForeignKeyPatchesFromSchema, getForeignKeysFromSchema, getForeignKeysFromValue, getInvalidFieldNamesInSchema, getJsonSchemaStoreByPath, getJsonValueStoreByPath, getParentForPath, getPathByStore, getValueByPath, hasPath, parsePath, pluginRefs, replaceForeignKeyValue, resolveRefs, saveSharedFields, setValueByPath, traverseStore, traverseValue, validateJsonFieldName } from './lib/index.cjs';
13
13
  export { c as computeValueDiff } from './computeValueDiff-CNT84rwK.cjs';
14
- export { EvaluateFormulasOptions, EvaluateFormulasResult, ExtractedFormula, FormulaError, FormulaNode, FormulaValidationError, SchemaValidationResult, collectFormulaNodes, evaluateFormulas, extractSchemaFormulas, validateFormulaAgainstSchema, validateSchemaFormulas } from './formula/index.cjs';
14
+ export { EvaluateFormulasOptions, EvaluateFormulasResult, ExtractedFormula, FormulaError, FormulaNode, SchemaValidationResult, collectFormulaNodes, evaluateFormulas, extractSchemaFormulas, validateFormulaAgainstSchema, validateSchemaFormulas } from './formula/index.cjs';
15
15
  export { arrayMetaSchema, baseStringFields, booleanMetaSchema, foreignKeyExcludesFormula, historyPatchesSchema, jsonPatchSchema, metaSchema, noForeignKeyStringMetaSchema, notForeignKeyMetaSchema, numberMetaSchema, objectMetaSchema, refMetaSchema, sharedFields, stringMetaSchema, tableMigrationsSchema, xFormulaRequiresReadOnly, xFormulaSchema } from './validation-schemas/index.cjs';
16
+ export { F as FormulaValidationError, S as SchemaValidationError, a as SchemaValidationErrorType } from './types-BWeurwlH.cjs';
17
+ export { F as FIELD_NAME_ERROR_MESSAGE, i as isValidFieldName, a as validateFormulas, v as validateSchema } from './FormulaValidator-DTT8T1OM.cjs';
16
18
  export { S as SystemSchemaIds } from './system-schema-ids-B-2xMN-1.cjs';
17
19
  export { formulaSpec } from '@revisium/formula/spec';
18
20
  import 'node:events';
19
- import './types-CwJ2OWO_.cjs';
20
- import '@revisium/formula';
21
21
  import 'ajv/dist/2020';
22
+ import '@revisium/formula';
package/dist/index.d.ts CHANGED
@@ -8,14 +8,15 @@ export { ajvFileSchema, ajvRowCreatedAtSchema, ajvRowCreatedIdSchema, ajvRowHash
8
8
  export { getAddPatch, getArraySchema, getBooleanSchema, getMovePatch, getNumberSchema, getObjectSchema, getRefSchema, getRemovePatch, getReplacePatch, getStringSchema } from './mocks/index.js';
9
9
  export { CustomSchemeKeywords } from './consts/index.js';
10
10
  export { A as AddedPropertyEvent, C as ChangeNameEvent, f as JsonArrayStore, m as JsonArrayValueStore, b as JsonBooleanStore, k as JsonBooleanValueStore, a as JsonNumberStore, j as JsonNumberValueStore, c as JsonObjectStore, l as JsonObjectValueStore, h as JsonSchemaStore, g as JsonSchemaStorePrimitives, J as JsonStringStore, i as JsonStringValueStore, p as JsonValueStore, o as JsonValueStoreParent, n as JsonValueStorePrimitives, d as MigrateItemsEvent, M as MigratePropertyEvent, R as RemovedPropertyEvent, e as ReplaceItemsEvent } from './json-string.store-DMrHPJ3v.js';
11
- export { ArrayNodeOptions, ArrayValueNode, ArrayValueNodeInterface, BasePrimitiveValueNode, BaseValueNode, BooleanValueNode, DataModel, DataModelImpl, DataModelOptions, DirtyTrackable, FieldType, ForeignKeyLoader, ForeignKeyLoaderResult, ForeignKeyNotFoundError, ForeignKeyResolver, ForeignKeyResolverImpl, ForeignKeyResolverNotConfiguredError, ForeignKeyResolverOptions, ForeignKeyRowLoaderResult, ForeignKeyValueNode, ForeignKeyValueNodeImpl, FormulaDefinition, FormulaWarning, GenerateDefaultValueOptions, NodeFactory, NodeFactoryFn, NodeFactoryOptions, NodeFactoryRegistry, NumberValueNode, ObjectNodeOptions, ObjectValueNode, ObjectValueNodeInterface, PrimitiveNodeOptions, PrimitiveValueNode, ReactivityOptions, RefSchemas, RowData, RowModel, RowModelImpl, SchemaModel, SchemaParser, StringValueNode, TableModel, TableModelImpl, TableModelLike, TableModelOptions, ValueNode, ValueNodeFactory, ValueNodeOptions, ValueTreeLike, ValueType, createDataModel, createDefaultRegistry, createForeignKeyResolver, createNodeFactory, createSchemaModel, createTableModel, equal, extractFormulaDefinition, fromArrayToObject, fromArrayTransformation, fromBooleanToNumber, fromBooleanToString, fromNumberToBoolean, fromNumberToString, fromObjectToArray, fromObjectToPrimitive, fromPrimitiveToObject, fromStringToBoolean, fromStringToNumber, generateDefaultValue, generateNodeId, getTransformation, isForeignKeyValueNode, resetNodeIdCounter, toArrayTransformation } from './model/index.js';
11
+ export { ArrayNodeOptions, ArrayValueNode, ArrayValueNodeInterface, BasePrimitiveValueNode, BaseValueNode, BooleanValueNode, DataModel, DataModelImpl, DataModelOptions, DirtyTrackable, FieldType, ForeignKeyLoader, ForeignKeyLoaderResult, ForeignKeyNotFoundError, ForeignKeyResolver, ForeignKeyResolverImpl, ForeignKeyResolverNotConfiguredError, ForeignKeyResolverOptions, ForeignKeyRowLoaderResult, ForeignKeyValueNode, ForeignKeyValueNodeImpl, FormulaDefinition, FormulaWarning, GenerateDefaultValueOptions, NodeFactory, NodeFactoryFn, NodeFactoryOptions, NodeFactoryRegistry, NumberValueNode, ObjectNodeOptions, ObjectValueNode, ObjectValueNodeInterface, PrimitiveNodeOptions, PrimitiveValueNode, ReactivityOptions, RefSchemas, ReplaceResult, RowData, RowModel, RowModelImpl, SchemaModel, SchemaParser, StringValueNode, TableModel, TableModelImpl, TableModelLike, TableModelOptions, ValueNode, ValueNodeFactory, ValueNodeOptions, ValueTreeLike, ValueType, createDataModel, createDefaultRegistry, createForeignKeyResolver, createNodeFactory, createSchemaModel, createTableModel, equal, extractFormulaDefinition, fromArrayToObject, fromArrayTransformation, fromBooleanToNumber, fromBooleanToString, fromNumberToBoolean, fromNumberToString, fromObjectToArray, fromObjectToPrimitive, fromPrimitiveToObject, fromStringToBoolean, fromStringToNumber, generateDefaultValue, generateNodeId, getTransformation, isForeignKeyValueNode, resetNodeIdCounter, toArrayTransformation } from './model/index.js';
12
12
  export { GetForeignKeysFromValueType, RefsType, ReplaceForeignKeyValueOptions, SchemaTable, VALIDATE_JSON_FIELD_NAME_ERROR_MESSAGE, addSharedFieldsFromState, applyAddPatch, applyMovePatch, applyRemovePatch, applyReplacePatch, convertJsonPathToSchemaPath, convertSchemaPathToJsonPath, createJsonArrayValueStore, createJsonObjectSchemaStore, createJsonObjectValueStore, createJsonSchemaStore, createJsonValueStore, createPrimitiveStoreBySchema, createPrimitiveValueStore, deepEqual, getDBJsonPathByJsonSchemaStore, getForeignKeyPatchesFromSchema, getForeignKeysFromSchema, getForeignKeysFromValue, getInvalidFieldNamesInSchema, getJsonSchemaStoreByPath, getJsonValueStoreByPath, getParentForPath, getPathByStore, getValueByPath, hasPath, parsePath, pluginRefs, replaceForeignKeyValue, resolveRefs, saveSharedFields, setValueByPath, traverseStore, traverseValue, validateJsonFieldName } from './lib/index.js';
13
13
  export { c as computeValueDiff } from './computeValueDiff-CDwbNw8F.js';
14
- export { EvaluateFormulasOptions, EvaluateFormulasResult, ExtractedFormula, FormulaError, FormulaNode, FormulaValidationError, SchemaValidationResult, collectFormulaNodes, evaluateFormulas, extractSchemaFormulas, validateFormulaAgainstSchema, validateSchemaFormulas } from './formula/index.js';
14
+ export { EvaluateFormulasOptions, EvaluateFormulasResult, ExtractedFormula, FormulaError, FormulaNode, SchemaValidationResult, collectFormulaNodes, evaluateFormulas, extractSchemaFormulas, validateFormulaAgainstSchema, validateSchemaFormulas } from './formula/index.js';
15
15
  export { arrayMetaSchema, baseStringFields, booleanMetaSchema, foreignKeyExcludesFormula, historyPatchesSchema, jsonPatchSchema, metaSchema, noForeignKeyStringMetaSchema, notForeignKeyMetaSchema, numberMetaSchema, objectMetaSchema, refMetaSchema, sharedFields, stringMetaSchema, tableMigrationsSchema, xFormulaRequiresReadOnly, xFormulaSchema } from './validation-schemas/index.js';
16
+ export { F as FormulaValidationError, S as SchemaValidationError, a as SchemaValidationErrorType } from './types-DmsYGLDX.js';
17
+ export { F as FIELD_NAME_ERROR_MESSAGE, i as isValidFieldName, a as validateFormulas, v as validateSchema } from './FormulaValidator-Bl6lav9r.js';
16
18
  export { S as SystemSchemaIds } from './system-schema-ids-B-2xMN-1.js';
17
19
  export { formulaSpec } from '@revisium/formula/spec';
18
20
  import 'node:events';
19
- import './types-XDWz0V1v.js';
20
- import '@revisium/formula';
21
21
  import 'ajv/dist/2020';
22
+ import '@revisium/formula';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { getAddPatch, getArraySchema, getBooleanSchema, getMovePatch, getNumberSchema, getObjectSchema, getRefSchema, getRemovePatch, getReplacePatch, getStringSchema } from './chunk-AORPUIKD.js';
2
2
  export { CustomSchemeKeywords } from './chunk-5VDDLW7U.js';
3
- export { ArrayValueNode, BasePrimitiveValueNode, BaseValueNode, BooleanValueNode, DataModelImpl, ForeignKeyNotFoundError, ForeignKeyResolverImpl, ForeignKeyResolverNotConfiguredError, ForeignKeyValueNodeImpl, NodeFactory, NodeFactoryRegistry, NumberValueNode, ObjectValueNode, RowModelImpl, SchemaParser, StringValueNode, TableModelImpl, NodeFactory2 as ValueNodeFactory, ValueType, createDataModel, createDefaultRegistry, createForeignKeyResolver, createNodeFactory, createSchemaModel, createTableModel, extractFormulaDefinition, generateDefaultValue, generateNodeId, isForeignKeyValueNode, resetNodeIdCounter } from './chunk-OP35BPMU.js';
4
- import './chunk-F4UBBZAL.js';
3
+ export { ArrayValueNode, BasePrimitiveValueNode, BaseValueNode, BooleanValueNode, DataModelImpl, ForeignKeyNotFoundError, ForeignKeyResolverImpl, ForeignKeyResolverNotConfiguredError, ForeignKeyValueNodeImpl, NodeFactory, NodeFactoryRegistry, NumberValueNode, ObjectValueNode, RowModelImpl, SchemaParser, StringValueNode, TableModelImpl, NodeFactory2 as ValueNodeFactory, ValueType, createDataModel, createDefaultRegistry, createForeignKeyResolver, createNodeFactory, createSchemaModel, createTableModel, extractFormulaDefinition, generateDefaultValue, generateNodeId, isForeignKeyValueNode, resetNodeIdCounter } from './chunk-KTCH6INZ.js';
4
+ export { FIELD_NAME_ERROR_MESSAGE, isValidFieldName, validateFormulas, validateSchema } from './chunk-S7GEDTSL.js';
5
5
  import './chunk-3IKI64T2.js';
6
6
  export { SchemaTable, VALIDATE_JSON_FIELD_NAME_ERROR_MESSAGE, applyAddPatch, applyMovePatch, applyRemovePatch, applyReplacePatch, convertJsonPathToSchemaPath, convertSchemaPathToJsonPath, createJsonObjectSchemaStore, createJsonSchemaStore, createPrimitiveStoreBySchema, deepEqual, getDBJsonPathByJsonSchemaStore, getForeignKeyPatchesFromSchema, getForeignKeysFromSchema, getForeignKeysFromValue, getInvalidFieldNamesInSchema, getJsonSchemaStoreByPath, getJsonValueStoreByPath, getParentForPath, getPathByStore, getValueByPath, hasPath, parsePath, pluginRefs, replaceForeignKeyValue, resolveRefs, saveSharedFields, setValueByPath, traverseStore, traverseValue, validateJsonFieldName } from './chunk-2NRQPOQY.js';
7
7
  export { collectFormulaNodes, evaluateFormulas, extractSchemaFormulas, formulaSpec, validateFormulaAgainstSchema, validateSchemaFormulas } from './chunk-R3MS2N4A.js';