@verdant-web/common 2.3.2 → 2.3.3
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.
|
@@ -12,3 +12,10 @@ export declare function validateEntityField({ field, value, fieldPath, depth, re
|
|
|
12
12
|
depth?: number;
|
|
13
13
|
requireDefaults?: boolean;
|
|
14
14
|
}): EntityValidationProblem | undefined;
|
|
15
|
+
export declare function constrainEntity(schema: StorageFieldsSchema, entity: any): any;
|
|
16
|
+
export declare function constrainEntityField({ field, value, fieldPath, depth, }: {
|
|
17
|
+
field: StorageFieldSchema;
|
|
18
|
+
value: any;
|
|
19
|
+
fieldPath?: (string | number)[];
|
|
20
|
+
depth?: number;
|
|
21
|
+
}): any;
|
|
@@ -150,4 +150,70 @@ function formatField(fieldPath) {
|
|
|
150
150
|
return 'root';
|
|
151
151
|
return fieldPath.join('.');
|
|
152
152
|
}
|
|
153
|
+
export function constrainEntity(schema, entity) {
|
|
154
|
+
const constrained = {};
|
|
155
|
+
for (const [key, value] of Object.entries(entity)) {
|
|
156
|
+
if (!schema[key])
|
|
157
|
+
continue;
|
|
158
|
+
constrained[key] = constrainEntityField({
|
|
159
|
+
field: schema[key],
|
|
160
|
+
value,
|
|
161
|
+
fieldPath: [key],
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return constrained;
|
|
165
|
+
}
|
|
166
|
+
export function constrainEntityField({ field, value, fieldPath = [], depth, }) {
|
|
167
|
+
const validationProblem = validateEntityField({
|
|
168
|
+
field,
|
|
169
|
+
value,
|
|
170
|
+
fieldPath,
|
|
171
|
+
depth,
|
|
172
|
+
requireDefaults: true,
|
|
173
|
+
});
|
|
174
|
+
if (validationProblem) {
|
|
175
|
+
throw new Error(`Validation error: ${validationProblem.message}`);
|
|
176
|
+
}
|
|
177
|
+
if (field.type === 'object') {
|
|
178
|
+
if (!isObject(value))
|
|
179
|
+
return value;
|
|
180
|
+
const constrained = {};
|
|
181
|
+
for (const [key, subField] of Object.entries(field.properties)) {
|
|
182
|
+
constrained[key] = constrainEntityField({
|
|
183
|
+
field: subField,
|
|
184
|
+
value: value[key],
|
|
185
|
+
fieldPath: [...fieldPath, key],
|
|
186
|
+
depth: depth !== undefined ? depth - 1 : undefined,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
return constrained;
|
|
190
|
+
}
|
|
191
|
+
else if (field.type === 'array') {
|
|
192
|
+
if (!Array.isArray(value))
|
|
193
|
+
return value;
|
|
194
|
+
return value.map((item) => constrainEntityField({
|
|
195
|
+
field: field.items,
|
|
196
|
+
value: item,
|
|
197
|
+
fieldPath: [...fieldPath, '[]'],
|
|
198
|
+
depth: depth !== undefined ? depth - 1 : undefined,
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
else if (field.type === 'map') {
|
|
202
|
+
if (!isObject(value))
|
|
203
|
+
return value;
|
|
204
|
+
const constrained = {};
|
|
205
|
+
for (const [key, item] of Object.entries(value)) {
|
|
206
|
+
constrained[key] = constrainEntityField({
|
|
207
|
+
field: field.values,
|
|
208
|
+
value: item,
|
|
209
|
+
fieldPath: [...fieldPath, key],
|
|
210
|
+
depth: depth !== undefined ? depth - 1 : undefined,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
return constrained;
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
return value;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
153
219
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/schema/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/schema/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/schema/validation.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OID_KEY } from '../oids.js';
|
|
2
2
|
import { isObject } from '../utils.js';
|
|
3
|
-
import { hasDefault, isNullable } from './fields.js';
|
|
3
|
+
import { getFieldDefault, hasDefault, isNullable } from './fields.js';
|
|
4
4
|
import { StorageFieldSchema, StorageFieldsSchema } from './types.js';
|
|
5
5
|
|
|
6
6
|
export function validateEntity(
|
|
@@ -187,3 +187,80 @@ function formatField(fieldPath: (string | number)[]) {
|
|
|
187
187
|
if (fieldPath.length === 0) return 'root';
|
|
188
188
|
return fieldPath.join('.');
|
|
189
189
|
}
|
|
190
|
+
|
|
191
|
+
export function constrainEntity(schema: StorageFieldsSchema, entity: any): any {
|
|
192
|
+
const constrained: any = {};
|
|
193
|
+
for (const [key, value] of Object.entries(entity)) {
|
|
194
|
+
if (!schema[key]) continue;
|
|
195
|
+
constrained[key] = constrainEntityField({
|
|
196
|
+
field: schema[key],
|
|
197
|
+
value,
|
|
198
|
+
fieldPath: [key],
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
return constrained;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export function constrainEntityField({
|
|
205
|
+
field,
|
|
206
|
+
value,
|
|
207
|
+
fieldPath = [],
|
|
208
|
+
depth,
|
|
209
|
+
}: {
|
|
210
|
+
field: StorageFieldSchema;
|
|
211
|
+
value: any;
|
|
212
|
+
fieldPath?: (string | number)[];
|
|
213
|
+
depth?: number;
|
|
214
|
+
}): any {
|
|
215
|
+
const validationProblem = validateEntityField({
|
|
216
|
+
field,
|
|
217
|
+
value,
|
|
218
|
+
fieldPath,
|
|
219
|
+
depth,
|
|
220
|
+
requireDefaults: true,
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
if (validationProblem) {
|
|
224
|
+
throw new Error(`Validation error: ${validationProblem.message}`);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (field.type === 'object') {
|
|
228
|
+
if (!isObject(value)) return value;
|
|
229
|
+
const constrained: any = {};
|
|
230
|
+
for (const [key, subField] of Object.entries(
|
|
231
|
+
field.properties as StorageFieldsSchema,
|
|
232
|
+
)) {
|
|
233
|
+
constrained[key] = constrainEntityField({
|
|
234
|
+
field: subField,
|
|
235
|
+
value: value[key],
|
|
236
|
+
fieldPath: [...fieldPath, key],
|
|
237
|
+
depth: depth !== undefined ? depth - 1 : undefined,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return constrained;
|
|
241
|
+
} else if (field.type === 'array') {
|
|
242
|
+
if (!Array.isArray(value)) return value;
|
|
243
|
+
return value.map((item) =>
|
|
244
|
+
constrainEntityField({
|
|
245
|
+
field: field.items,
|
|
246
|
+
value: item,
|
|
247
|
+
fieldPath: [...fieldPath, '[]'],
|
|
248
|
+
depth: depth !== undefined ? depth - 1 : undefined,
|
|
249
|
+
}),
|
|
250
|
+
);
|
|
251
|
+
} else if (field.type === 'map') {
|
|
252
|
+
if (!isObject(value)) return value;
|
|
253
|
+
const constrained: any = {};
|
|
254
|
+
for (const [key, item] of Object.entries(value)) {
|
|
255
|
+
constrained[key] = constrainEntityField({
|
|
256
|
+
field: field.values,
|
|
257
|
+
value: item,
|
|
258
|
+
fieldPath: [...fieldPath, key],
|
|
259
|
+
depth: depth !== undefined ? depth - 1 : undefined,
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
return constrained;
|
|
263
|
+
} else {
|
|
264
|
+
return value;
|
|
265
|
+
}
|
|
266
|
+
}
|