@based/schema 0.0.4 → 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.
@@ -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,7 +4,7 @@ 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;
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.4",
3
+ "version": "0.0.5",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -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'
@@ -112,7 +113,6 @@ export type BasedSchemaFieldNumber = NumberDefaults & {
112
113
 
113
114
  export type BasedSchemaFieldHyperLogLog = {
114
115
  type: 'hyperloglog'
115
- // allow any (objects become hashes)
116
116
  }
117
117
 
118
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'] } },