@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.
- package/dist/FormulaValidator-Bl6lav9r.d.ts +10 -0
- package/dist/FormulaValidator-DTT8T1OM.d.cts +10 -0
- package/dist/{chunk-A4E524UU.cjs → chunk-IWRV6QAD.cjs} +455 -13
- package/dist/chunk-IWRV6QAD.cjs.map +1 -0
- package/dist/{chunk-5WZ4YPH5.cjs → chunk-KQWWRWGB.cjs} +154 -36
- package/dist/chunk-KQWWRWGB.cjs.map +1 -0
- package/dist/{chunk-OP35BPMU.js → chunk-KTCH6INZ.js} +135 -17
- package/dist/chunk-KTCH6INZ.js.map +1 -0
- package/dist/{chunk-F4UBBZAL.js → chunk-S7GEDTSL.js} +436 -14
- package/dist/chunk-S7GEDTSL.js.map +1 -0
- package/dist/core/index.cjs +109 -352
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +3 -2
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.js +2 -309
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +48 -32
- package/dist/index.d.cts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +2 -2
- package/dist/model/index.cjs +32 -32
- package/dist/model/index.d.cts +23 -8
- package/dist/model/index.d.ts +23 -8
- package/dist/model/index.js +2 -2
- package/dist/{types-CwJ2OWO_.d.cts → types-BWeurwlH.d.cts} +16 -1
- package/dist/{types-XDWz0V1v.d.ts → types-DmsYGLDX.d.ts} +16 -1
- package/package.json +2 -1
- package/dist/chunk-5WZ4YPH5.cjs.map +0 -1
- package/dist/chunk-A4E524UU.cjs.map +0 -1
- package/dist/chunk-F4UBBZAL.js.map +0 -1
- package/dist/chunk-OP35BPMU.js.map +0 -1
package/dist/core/index.js
CHANGED
|
@@ -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-
|
|
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
|
-
|
|
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
|
package/dist/core/index.js.map
CHANGED
|
@@ -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
|
|
6
|
-
require('./chunk-
|
|
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
|
|
66
|
+
get: function () { return chunkKQWWRWGB_cjs.ArrayValueNode; }
|
|
67
67
|
});
|
|
68
68
|
Object.defineProperty(exports, "BasePrimitiveValueNode", {
|
|
69
69
|
enumerable: true,
|
|
70
|
-
get: function () { return
|
|
70
|
+
get: function () { return chunkKQWWRWGB_cjs.BasePrimitiveValueNode; }
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "BaseValueNode", {
|
|
73
73
|
enumerable: true,
|
|
74
|
-
get: function () { return
|
|
74
|
+
get: function () { return chunkKQWWRWGB_cjs.BaseValueNode; }
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(exports, "BooleanValueNode", {
|
|
77
77
|
enumerable: true,
|
|
78
|
-
get: function () { return
|
|
78
|
+
get: function () { return chunkKQWWRWGB_cjs.BooleanValueNode; }
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "DataModelImpl", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () { return
|
|
82
|
+
get: function () { return chunkKQWWRWGB_cjs.DataModelImpl; }
|
|
83
83
|
});
|
|
84
84
|
Object.defineProperty(exports, "ForeignKeyNotFoundError", {
|
|
85
85
|
enumerable: true,
|
|
86
|
-
get: function () { return
|
|
86
|
+
get: function () { return chunkKQWWRWGB_cjs.ForeignKeyNotFoundError; }
|
|
87
87
|
});
|
|
88
88
|
Object.defineProperty(exports, "ForeignKeyResolverImpl", {
|
|
89
89
|
enumerable: true,
|
|
90
|
-
get: function () { return
|
|
90
|
+
get: function () { return chunkKQWWRWGB_cjs.ForeignKeyResolverImpl; }
|
|
91
91
|
});
|
|
92
92
|
Object.defineProperty(exports, "ForeignKeyResolverNotConfiguredError", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkKQWWRWGB_cjs.ForeignKeyResolverNotConfiguredError; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, "ForeignKeyValueNodeImpl", {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkKQWWRWGB_cjs.ForeignKeyValueNodeImpl; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, "NodeFactory", {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkKQWWRWGB_cjs.NodeFactory; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "NodeFactoryRegistry", {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkKQWWRWGB_cjs.NodeFactoryRegistry; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, "NumberValueNode", {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkKQWWRWGB_cjs.NumberValueNode; }
|
|
111
111
|
});
|
|
112
112
|
Object.defineProperty(exports, "ObjectValueNode", {
|
|
113
113
|
enumerable: true,
|
|
114
|
-
get: function () { return
|
|
114
|
+
get: function () { return chunkKQWWRWGB_cjs.ObjectValueNode; }
|
|
115
115
|
});
|
|
116
116
|
Object.defineProperty(exports, "RowModelImpl", {
|
|
117
117
|
enumerable: true,
|
|
118
|
-
get: function () { return
|
|
118
|
+
get: function () { return chunkKQWWRWGB_cjs.RowModelImpl; }
|
|
119
119
|
});
|
|
120
120
|
Object.defineProperty(exports, "SchemaParser", {
|
|
121
121
|
enumerable: true,
|
|
122
|
-
get: function () { return
|
|
122
|
+
get: function () { return chunkKQWWRWGB_cjs.SchemaParser; }
|
|
123
123
|
});
|
|
124
124
|
Object.defineProperty(exports, "StringValueNode", {
|
|
125
125
|
enumerable: true,
|
|
126
|
-
get: function () { return
|
|
126
|
+
get: function () { return chunkKQWWRWGB_cjs.StringValueNode; }
|
|
127
127
|
});
|
|
128
128
|
Object.defineProperty(exports, "TableModelImpl", {
|
|
129
129
|
enumerable: true,
|
|
130
|
-
get: function () { return
|
|
130
|
+
get: function () { return chunkKQWWRWGB_cjs.TableModelImpl; }
|
|
131
131
|
});
|
|
132
132
|
Object.defineProperty(exports, "ValueNodeFactory", {
|
|
133
133
|
enumerable: true,
|
|
134
|
-
get: function () { return
|
|
134
|
+
get: function () { return chunkKQWWRWGB_cjs.NodeFactory2; }
|
|
135
135
|
});
|
|
136
136
|
Object.defineProperty(exports, "ValueType", {
|
|
137
137
|
enumerable: true,
|
|
138
|
-
get: function () { return
|
|
138
|
+
get: function () { return chunkKQWWRWGB_cjs.ValueType; }
|
|
139
139
|
});
|
|
140
140
|
Object.defineProperty(exports, "createDataModel", {
|
|
141
141
|
enumerable: true,
|
|
142
|
-
get: function () { return
|
|
142
|
+
get: function () { return chunkKQWWRWGB_cjs.createDataModel; }
|
|
143
143
|
});
|
|
144
144
|
Object.defineProperty(exports, "createDefaultRegistry", {
|
|
145
145
|
enumerable: true,
|
|
146
|
-
get: function () { return
|
|
146
|
+
get: function () { return chunkKQWWRWGB_cjs.createDefaultRegistry; }
|
|
147
147
|
});
|
|
148
148
|
Object.defineProperty(exports, "createForeignKeyResolver", {
|
|
149
149
|
enumerable: true,
|
|
150
|
-
get: function () { return
|
|
150
|
+
get: function () { return chunkKQWWRWGB_cjs.createForeignKeyResolver; }
|
|
151
151
|
});
|
|
152
152
|
Object.defineProperty(exports, "createNodeFactory", {
|
|
153
153
|
enumerable: true,
|
|
154
|
-
get: function () { return
|
|
154
|
+
get: function () { return chunkKQWWRWGB_cjs.createNodeFactory; }
|
|
155
155
|
});
|
|
156
156
|
Object.defineProperty(exports, "createSchemaModel", {
|
|
157
157
|
enumerable: true,
|
|
158
|
-
get: function () { return
|
|
158
|
+
get: function () { return chunkKQWWRWGB_cjs.createSchemaModel; }
|
|
159
159
|
});
|
|
160
160
|
Object.defineProperty(exports, "createTableModel", {
|
|
161
161
|
enumerable: true,
|
|
162
|
-
get: function () { return
|
|
162
|
+
get: function () { return chunkKQWWRWGB_cjs.createTableModel; }
|
|
163
163
|
});
|
|
164
164
|
Object.defineProperty(exports, "extractFormulaDefinition", {
|
|
165
165
|
enumerable: true,
|
|
166
|
-
get: function () { return
|
|
166
|
+
get: function () { return chunkKQWWRWGB_cjs.extractFormulaDefinition; }
|
|
167
167
|
});
|
|
168
168
|
Object.defineProperty(exports, "generateDefaultValue", {
|
|
169
169
|
enumerable: true,
|
|
170
|
-
get: function () { return
|
|
170
|
+
get: function () { return chunkKQWWRWGB_cjs.generateDefaultValue; }
|
|
171
171
|
});
|
|
172
172
|
Object.defineProperty(exports, "generateNodeId", {
|
|
173
173
|
enumerable: true,
|
|
174
|
-
get: function () { return
|
|
174
|
+
get: function () { return chunkKQWWRWGB_cjs.generateNodeId; }
|
|
175
175
|
});
|
|
176
176
|
Object.defineProperty(exports, "isForeignKeyValueNode", {
|
|
177
177
|
enumerable: true,
|
|
178
|
-
get: function () { return
|
|
178
|
+
get: function () { return chunkKQWWRWGB_cjs.isForeignKeyValueNode; }
|
|
179
179
|
});
|
|
180
180
|
Object.defineProperty(exports, "resetNodeIdCounter", {
|
|
181
181
|
enumerable: true,
|
|
182
|
-
get: function () { return
|
|
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,
|
|
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,
|
|
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-
|
|
4
|
-
|
|
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';
|