@based/schema 0.0.2 → 0.0.4

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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"}
@@ -129,7 +129,7 @@ const parsers = {
129
129
  await Promise.all(q);
130
130
  handlers.collect({
131
131
  path,
132
- value: parsedArray,
132
+ value: { $value: parsedArray },
133
133
  typeSchema,
134
134
  fieldSchema,
135
135
  target,
@@ -170,6 +170,33 @@ const parsers = {
170
170
  throw (0, handleError_1.createError)(path, target.type, 'json', value);
171
171
  }
172
172
  },
173
+ timestamp: async (path, value, fieldSchema, typeSchema, target, handlers) => {
174
+ if (typeof value === 'string') {
175
+ if (value === 'now') {
176
+ value = Date.now();
177
+ }
178
+ else {
179
+ const d = new Date(value);
180
+ value = d.valueOf();
181
+ if (isNaN(value)) {
182
+ throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
183
+ }
184
+ }
185
+ }
186
+ // smaller then / larger then steps
187
+ if (typeof value !== 'number') {
188
+ throw (0, handleError_1.createError)(path, target.type, 'timestamp', value);
189
+ }
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);
197
+ }
198
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
199
+ },
173
200
  number: async (path, value, fieldSchema, typeSchema, target, handlers) => {
174
201
  // value .default
175
202
  // $increment / $decrement
@@ -181,6 +208,7 @@ const parsers = {
181
208
  integer: async (path, value, fieldSchema, typeSchema, target, handlers) => {
182
209
  // value .default
183
210
  // $increment / $decrement
211
+ // smaller then / larger then steps
184
212
  if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
185
213
  throw (0, handleError_1.createError)(path, target.type, 'integer', value);
186
214
  }
@@ -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' | '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';
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;
@@ -111,6 +112,7 @@ export type BasedSchemaFieldReferences = {
111
112
  allowedTypes?: AllowedTypes;
112
113
  } & BasedSchemaFieldShared;
113
114
  export type BasedSchemaField = BasedSchemaFieldEnumerable | BasedSchemaFieldPrimitive | BasedSchemaFieldReference | BasedSchemaFieldReferences | BasedSchemaFieldHyperLogLog | {
115
+ type?: BasedSchemaFieldType;
114
116
  isRequired?: boolean;
115
117
  $ref: string;
116
118
  };
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAqCO,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":";;;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/schema",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/set/index.ts CHANGED
@@ -10,7 +10,6 @@ import parsers from './parsers'
10
10
 
11
11
  // Collect is a pretty good place for checking if a user is allowed to set something
12
12
  // also make collect async
13
-
14
13
  // add extra function for loading required
15
14
 
16
15
  export const fieldWalker = async (
@@ -33,12 +32,7 @@ export const fieldWalker = async (
33
32
  return
34
33
  }
35
34
 
36
- const typeDef =
37
- 'type' in fieldSchema
38
- ? fieldSchema.type
39
- : 'enum' in fieldSchema
40
- ? 'enum'
41
- : ''
35
+ const typeDef = fieldSchema.type ?? ('enum' in fieldSchema ? 'enum' : '')
42
36
 
43
37
  if (!typeDef) {
44
38
  throw createError(path, target.type, typeDef, path[path.length - 1])
@@ -229,7 +229,7 @@ const parsers: {
229
229
  await Promise.all(q)
230
230
  handlers.collect({
231
231
  path,
232
- value: parsedArray,
232
+ value: { $value: parsedArray },
233
233
  typeSchema,
234
234
  fieldSchema,
235
235
  target,
@@ -289,6 +289,37 @@ const parsers: {
289
289
  }
290
290
  },
291
291
 
292
+ timestamp: async (path, value, fieldSchema, typeSchema, target, handlers) => {
293
+ if (typeof value === 'string') {
294
+ if (value === 'now') {
295
+ value = Date.now()
296
+ } else {
297
+ const d = new Date(value)
298
+ value = d.valueOf()
299
+ if (isNaN(value)) {
300
+ throw createError(path, target.type, 'timestamp', value)
301
+ }
302
+ }
303
+ }
304
+
305
+ // smaller then / larger then steps
306
+
307
+ if (typeof value !== 'number') {
308
+ throw createError(path, target.type, 'timestamp', value)
309
+ }
310
+ handlers.collect({ path, value, typeSchema, fieldSchema, target })
311
+ },
312
+
313
+ boolean: async (path, value, fieldSchema, typeSchema, target, handlers) => {
314
+ // value .default
315
+ // $increment / $decrement
316
+
317
+ if (typeof value !== 'boolean') {
318
+ throw createError(path, target.type, 'boolean', value)
319
+ }
320
+ handlers.collect({ path, value, typeSchema, fieldSchema, target })
321
+ },
322
+
292
323
  number: async (path, value, fieldSchema, typeSchema, target, handlers) => {
293
324
  // value .default
294
325
  // $increment / $decrement
@@ -303,6 +334,8 @@ const parsers: {
303
334
  // value .default
304
335
  // $increment / $decrement
305
336
 
337
+ // smaller then / larger then steps
338
+
306
339
  if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
307
340
  throw createError(path, target.type, 'integer', value)
308
341
  }
package/src/types.ts CHANGED
@@ -26,6 +26,7 @@ export type BasedSchemaFieldType =
26
26
  | 'record'
27
27
  | 'set'
28
28
  | 'string'
29
+ | 'boolean'
29
30
  | 'number'
30
31
  | 'float'
31
32
  | 'json'
@@ -56,6 +57,7 @@ export type BasedSchemaContentMediaType =
56
57
  | string
57
58
 
58
59
  export type BasedSchemaFieldShared = {
60
+ type?: BasedSchemaFieldType
59
61
  $id?: string
60
62
  $schema?: string
61
63
  isRequired?: boolean
@@ -208,6 +210,7 @@ export type BasedSchemaField =
208
210
  | BasedSchemaFieldReferences
209
211
  | BasedSchemaFieldHyperLogLog
210
212
  | {
213
+ type?: BasedSchemaFieldType
211
214
  isRequired?: boolean // our own
212
215
  $ref: string // to mimic json schema will just load it in place (so only for setting)
213
216
  }
package/test/setWalker.ts CHANGED
@@ -20,6 +20,10 @@ const schema: BasedSchema = {
20
20
  },
21
21
  },
22
22
  },
23
+ setje: {
24
+ type: 'set',
25
+ items: { type: 'number' },
26
+ },
23
27
  specialArray: {
24
28
  type: 'array',
25
29
  values: {
@@ -35,6 +39,12 @@ const schema: BasedSchema = {
35
39
  powerLevel: {
36
40
  type: 'integer',
37
41
  },
42
+ bla: {
43
+ type: 'boolean',
44
+ },
45
+ time: {
46
+ type: 'timestamp',
47
+ },
38
48
  form: {
39
49
  title: 'A registration form',
40
50
  description: 'A simple form example.',
@@ -126,10 +136,14 @@ const schema: BasedSchema = {
126
136
 
127
137
  test.serial('collect correctly', async (t) => {
128
138
  const results: { path: (string | number)[]; value: any }[] = []
139
+ const now = Date.now()
129
140
  await setWalker(
130
141
  schema,
131
142
  {
132
143
  $id: 'bl1',
144
+ bla: false,
145
+ time: now, // do more later
146
+ setje: [1, 2, 3],
133
147
  form: {
134
148
  lastName: 'de beer',
135
149
  bla: ['bl123', 'bl234'],
@@ -160,6 +174,14 @@ test.serial('collect correctly', async (t) => {
160
174
  },
161
175
  {
162
176
  collect: ({ path, value, typeSchema, fieldSchema, target }) => {
177
+ console.dir(
178
+ {
179
+ path,
180
+ value,
181
+ },
182
+ { depth: 10 }
183
+ )
184
+
163
185
  results.push({
164
186
  path,
165
187
  value,
@@ -172,6 +194,8 @@ test.serial('collect correctly', async (t) => {
172
194
  )
173
195
 
174
196
  const result = [
197
+ { path: ['bla'], value: false },
198
+ { path: ['time'], value: now },
175
199
  { path: ['form', 'lastName'], value: 'de beer' },
176
200
  { path: ['form', 'json'], value: '{"bla":1,"x":2,"y":3}' },
177
201
  { path: ['form', 'snurp'], value: 'blx12' },
@@ -190,7 +214,8 @@ test.serial('collect correctly', async (t) => {
190
214
  { path: ['snurp', 0, 'x', 2], value: 3 },
191
215
  { path: ['form', 'bla'], value: ['bl123', 'bl234'] },
192
216
  { path: ['form', 'blab'], value: { $add: ['bl456'] } },
193
- { path: ['form', 'blub'], value: ['x'] },
217
+ { path: ['setje'], value: { $value: [1, 2, 3] } },
218
+ { path: ['form', 'blub'], value: { $value: ['x'] } },
194
219
  ]
195
220
 
196
221
  t.deepEqual(results, result)