@based/schema 0.0.3 → 0.0.5

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/set/index.js CHANGED
@@ -20,11 +20,7 @@ const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handler
20
20
  handlers.collect({ path, value, typeSchema, fieldSchema, target });
21
21
  return;
22
22
  }
23
- const typeDef = 'type' in fieldSchema
24
- ? fieldSchema.type
25
- : 'enum' in fieldSchema
26
- ? 'enum'
27
- : '';
23
+ const typeDef = fieldSchema.type ?? ('enum' in fieldSchema ? 'enum' : '');
28
24
  if (!typeDef) {
29
25
  throw (0, handleError_1.createError)(path, target.type, typeDef, path[path.length - 1]);
30
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":"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"}
@@ -170,6 +170,14 @@ const parsers = {
170
170
  throw (0, handleError_1.createError)(path, target.type, 'json', value);
171
171
  }
172
172
  },
173
+ boolean: async (path, value, fieldSchema, typeSchema, target, handlers) => {
174
+ // value .default
175
+ // $increment / $decrement
176
+ if (typeof value !== 'boolean') {
177
+ throw (0, handleError_1.createError)(path, target.type, 'boolean', value);
178
+ }
179
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
180
+ },
173
181
  timestamp: async (path, value, fieldSchema, typeSchema, target, handlers) => {
174
182
  if (typeof value === 'string') {
175
183
  if (value === 'now') {
@@ -187,13 +195,21 @@ const parsers = {
187
195
  if (typeof value !== 'number') {
188
196
  throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
189
197
  }
190
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
191
- },
192
- boolean: async (path, value, fieldSchema, typeSchema, target, handlers) => {
193
- // value .default
194
- // $increment / $decrement
195
- if (typeof value !== 'boolean') {
196
- throw (0, handleError_1.createError)(path, target.type, 'boolean', value);
198
+ if (fieldSchema.maximum) {
199
+ if (fieldSchema.exclusiveMaximum && value > value) {
200
+ throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
201
+ }
202
+ else if (value >= value) {
203
+ throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
204
+ }
205
+ }
206
+ if (fieldSchema.minimum) {
207
+ if (fieldSchema.exclusiveMinimum && value < value) {
208
+ throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
209
+ }
210
+ else if (value <= value) {
211
+ throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
212
+ }
197
213
  }
198
214
  handlers.collect({ path, value, typeSchema, fieldSchema, target });
199
215
  },
@@ -203,6 +219,22 @@ const parsers = {
203
219
  if (typeof value !== 'number') {
204
220
  throw (0, handleError_1.createError)(path, target.type, 'number', value);
205
221
  }
222
+ if (fieldSchema.maximum) {
223
+ if (fieldSchema.exclusiveMaximum && value > value) {
224
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
225
+ }
226
+ else if (value >= value) {
227
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
228
+ }
229
+ }
230
+ if (fieldSchema.minimum) {
231
+ if (fieldSchema.exclusiveMinimum && value < value) {
232
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
233
+ }
234
+ else if (value <= value) {
235
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
236
+ }
237
+ }
206
238
  handlers.collect({ path, value, typeSchema, fieldSchema, target });
207
239
  },
208
240
  integer: async (path, value, fieldSchema, typeSchema, target, handlers) => {
@@ -212,6 +244,22 @@ const parsers = {
212
244
  if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
213
245
  throw (0, handleError_1.createError)(path, target.type, 'integer', value);
214
246
  }
247
+ if (fieldSchema.maximum) {
248
+ if (fieldSchema.exclusiveMaximum && value > value) {
249
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
250
+ }
251
+ else if (value >= value) {
252
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
253
+ }
254
+ }
255
+ if (fieldSchema.minimum) {
256
+ if (fieldSchema.exclusiveMinimum && value < value) {
257
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
258
+ }
259
+ else if (value <= value) {
260
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
261
+ }
262
+ }
215
263
  handlers.collect({ path, value, typeSchema, fieldSchema, target });
216
264
  },
217
265
  string: async (path, value, fieldSchema, typeSchema, target, handlers) => {
@@ -296,6 +344,7 @@ const parsers = {
296
344
  await Promise.all(value.map((v, i) => {
297
345
  return reference([...path, i], v, fieldSchema, typeSchema, target, handler);
298
346
  }));
347
+ value = { $value: value };
299
348
  }
300
349
  else if (typeof value === 'object') {
301
350
  if (value.$add) {
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/set/parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/set/parsers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,13 +4,14 @@ export type AllowedTypes = (string | {
4
4
  type?: string;
5
5
  $filter: any | any[];
6
6
  })[];
7
- export type BasedSchemaFieldType = 'array' | 'object' | 'record' | 'set' | 'string' | 'boolean' | 'number' | 'float' | 'json' | 'integer' | 'timestamp' | 'reference' | 'references' | 'text';
7
+ export type BasedSchemaFieldType = 'array' | 'object' | 'record' | 'set' | 'string' | 'boolean' | 'number' | 'float' | 'json' | 'integer' | 'timestamp' | 'reference' | 'references' | 'text' | 'hyperloglog';
8
8
  export declare const isCollection: (type: string) => boolean;
9
9
  export type BasedSchemaPattern = string;
10
10
  export type BasedSchemaLanguage = Language;
11
11
  export type BasedSchemaTypePrefix = string;
12
12
  export type BasedSchemaContentMediaType = 'text/html' | 'text/plain' | 'text/markdown' | 'image/png' | 'image/jpeg' | 'video/mp4' | string;
13
13
  export type BasedSchemaFieldShared = {
14
+ type?: BasedSchemaFieldType;
14
15
  $id?: string;
15
16
  $schema?: string;
16
17
  isRequired?: boolean;
@@ -36,11 +37,9 @@ export type BasedSchemaFieldString = {
36
37
  format?: 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'uuid' | 'uri';
37
38
  } & BasedSchemaFieldShared;
38
39
  export type BasedSchemaFieldEnum = {
39
- type?: BasedSchemaFieldType;
40
40
  enum: any[];
41
41
  } & BasedSchemaFieldShared;
42
42
  export type BasedSchemaFieldConst = {
43
- type?: BasedSchemaFieldType;
44
43
  const: any;
45
44
  } & BasedSchemaFieldShared;
46
45
  type NumberDefaults = {
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAsCO,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IACpD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAA;AACnE,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuCO,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IACpD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAA;AACnE,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/schema",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/set/index.ts CHANGED
@@ -32,12 +32,7 @@ export const fieldWalker = async (
32
32
  return
33
33
  }
34
34
 
35
- const typeDef =
36
- 'type' in fieldSchema
37
- ? fieldSchema.type
38
- : 'enum' in fieldSchema
39
- ? 'enum'
40
- : ''
35
+ const typeDef = fieldSchema.type ?? ('enum' in fieldSchema ? 'enum' : '')
41
36
 
42
37
  if (!typeDef) {
43
38
  throw createError(path, target.type, typeDef, path[path.length - 1])
@@ -1,5 +1,8 @@
1
1
  import {
2
2
  BasedSchemaField,
3
+ BasedSchemaFieldInteger,
4
+ BasedSchemaFieldNumber,
5
+ BasedSchemaFieldTimeStamp,
3
6
  BasedSchemaType,
4
7
  BasedSetHandlers,
5
8
  BasedSetTarget,
@@ -289,7 +292,24 @@ const parsers: {
289
292
  }
290
293
  },
291
294
 
292
- timestamp: async (path, value, fieldSchema, typeSchema, target, handlers) => {
295
+ boolean: async (path, value, fieldSchema, typeSchema, target, handlers) => {
296
+ // value .default
297
+ // $increment / $decrement
298
+
299
+ if (typeof value !== 'boolean') {
300
+ throw createError(path, target.type, 'boolean', value)
301
+ }
302
+ handlers.collect({ path, value, typeSchema, fieldSchema, target })
303
+ },
304
+
305
+ timestamp: async (
306
+ path,
307
+ value,
308
+ fieldSchema: BasedSchemaFieldTimeStamp,
309
+ typeSchema,
310
+ target,
311
+ handlers
312
+ ) => {
293
313
  if (typeof value === 'string') {
294
314
  if (value === 'now') {
295
315
  value = Date.now()
@@ -303,34 +323,71 @@ const parsers: {
303
323
  }
304
324
 
305
325
  // smaller then / larger then steps
306
-
307
326
  if (typeof value !== 'number') {
308
327
  throw createError(path, target.type, 'timestamp', value)
309
328
  }
310
- handlers.collect({ path, value, typeSchema, fieldSchema, target })
311
- },
312
329
 
313
- boolean: async (path, value, fieldSchema, typeSchema, target, handlers) => {
314
- // value .default
315
- // $increment / $decrement
330
+ if (fieldSchema.maximum) {
331
+ if (fieldSchema.exclusiveMaximum && value > value) {
332
+ throw createError(path, target.type, 'timestamp', value)
333
+ } else if (value >= value) {
334
+ throw createError(path, target.type, 'timestamp', value)
335
+ }
336
+ }
316
337
 
317
- if (typeof value !== 'boolean') {
318
- throw createError(path, target.type, 'boolean', value)
338
+ if (fieldSchema.minimum) {
339
+ if (fieldSchema.exclusiveMinimum && value < value) {
340
+ throw createError(path, target.type, 'timestamp', value)
341
+ } else if (value <= value) {
342
+ throw createError(path, target.type, 'timestamp', value)
343
+ }
319
344
  }
345
+
320
346
  handlers.collect({ path, value, typeSchema, fieldSchema, target })
321
347
  },
322
348
 
323
- number: async (path, value, fieldSchema, typeSchema, target, handlers) => {
349
+ number: async (
350
+ path,
351
+ value,
352
+ fieldSchema: BasedSchemaFieldNumber,
353
+ typeSchema,
354
+ target,
355
+ handlers
356
+ ) => {
324
357
  // value .default
325
358
  // $increment / $decrement
326
359
 
327
360
  if (typeof value !== 'number') {
328
361
  throw createError(path, target.type, 'number', value)
329
362
  }
363
+
364
+ if (fieldSchema.maximum) {
365
+ if (fieldSchema.exclusiveMaximum && value > value) {
366
+ throw createError(path, target.type, 'number', value)
367
+ } else if (value >= value) {
368
+ throw createError(path, target.type, 'number', value)
369
+ }
370
+ }
371
+
372
+ if (fieldSchema.minimum) {
373
+ if (fieldSchema.exclusiveMinimum && value < value) {
374
+ throw createError(path, target.type, 'number', value)
375
+ } else if (value <= value) {
376
+ throw createError(path, target.type, 'number', value)
377
+ }
378
+ }
379
+
330
380
  handlers.collect({ path, value, typeSchema, fieldSchema, target })
331
381
  },
332
382
 
333
- integer: async (path, value, fieldSchema, typeSchema, target, handlers) => {
383
+ integer: async (
384
+ path,
385
+ value,
386
+ fieldSchema: BasedSchemaFieldInteger,
387
+ typeSchema,
388
+ target,
389
+ handlers
390
+ ) => {
334
391
  // value .default
335
392
  // $increment / $decrement
336
393
 
@@ -339,6 +396,23 @@ const parsers: {
339
396
  if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
340
397
  throw createError(path, target.type, 'integer', value)
341
398
  }
399
+
400
+ if (fieldSchema.maximum) {
401
+ if (fieldSchema.exclusiveMaximum && value > value) {
402
+ throw createError(path, target.type, 'number', value)
403
+ } else if (value >= value) {
404
+ throw createError(path, target.type, 'number', value)
405
+ }
406
+ }
407
+
408
+ if (fieldSchema.minimum) {
409
+ if (fieldSchema.exclusiveMinimum && value < value) {
410
+ throw createError(path, target.type, 'number', value)
411
+ } else if (value <= value) {
412
+ throw createError(path, target.type, 'number', value)
413
+ }
414
+ }
415
+
342
416
  handlers.collect({ path, value, typeSchema, fieldSchema, target })
343
417
  },
344
418
 
@@ -453,6 +527,7 @@ const parsers: {
453
527
  )
454
528
  })
455
529
  )
530
+ value = { $value: value }
456
531
  } else if (typeof value === 'object') {
457
532
  if (value.$add) {
458
533
  const handler = {
package/src/types.ts CHANGED
@@ -35,6 +35,7 @@ export type BasedSchemaFieldType =
35
35
  | 'reference'
36
36
  | 'references'
37
37
  | 'text'
38
+ | 'hyperloglog'
38
39
 
39
40
  export const isCollection = (type: string): boolean => {
40
41
  return type === 'array' || type === 'object' || type === 'record'
@@ -57,6 +58,7 @@ export type BasedSchemaContentMediaType =
57
58
  | string
58
59
 
59
60
  export type BasedSchemaFieldShared = {
61
+ type?: BasedSchemaFieldType
60
62
  $id?: string
61
63
  $schema?: string
62
64
  isRequired?: boolean
@@ -89,13 +91,11 @@ export type BasedSchemaFieldString = {
89
91
  } & BasedSchemaFieldShared
90
92
 
91
93
  export type BasedSchemaFieldEnum = {
92
- type?: BasedSchemaFieldType
93
94
  enum: any[] // this changes behaviour pretty extreme
94
95
  // important to type as well because we want to enum based on the type e.g. for references
95
96
  } & BasedSchemaFieldShared
96
97
 
97
98
  export type BasedSchemaFieldConst = {
98
- type?: BasedSchemaFieldType
99
99
  const: any
100
100
  } & BasedSchemaFieldShared
101
101
 
@@ -113,7 +113,6 @@ export type BasedSchemaFieldNumber = NumberDefaults & {
113
113
 
114
114
  export type BasedSchemaFieldHyperLogLog = {
115
115
  type: 'hyperloglog'
116
- // allow any (objects become hashes)
117
116
  }
118
117
 
119
118
  export type BasedSchemaFieldInteger = NumberDefaults & {
package/test/setWalker.ts CHANGED
@@ -212,7 +212,7 @@ test.serial('collect correctly', async (t) => {
212
212
  { path: ['snurp', 0, 'x', 0], value: 1 },
213
213
  { path: ['snurp', 0, 'x', 1], value: 2 },
214
214
  { path: ['snurp', 0, 'x', 2], value: 3 },
215
- { path: ['form', 'bla'], value: ['bl123', 'bl234'] },
215
+ { path: ['form', 'bla'], value: { $value: ['bl123', 'bl234'] } },
216
216
  { path: ['form', 'blab'], value: { $add: ['bl456'] } },
217
217
  { path: ['setje'], value: { $value: [1, 2, 3] } },
218
218
  { path: ['form', 'blub'], value: { $value: ['x'] } },