@based/schema 0.0.6 → 0.0.7

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.
Files changed (62) hide show
  1. package/dist/deepPartial.d.ts +0 -0
  2. package/dist/deepPartial.js +3 -0
  3. package/dist/deepPartial.js.map +1 -0
  4. package/dist/set/collections.js +37 -53
  5. package/dist/set/collections.js.map +1 -1
  6. package/dist/set/enum.d.ts +2 -0
  7. package/dist/set/enum.js +15 -0
  8. package/dist/set/enum.js.map +1 -0
  9. package/dist/set/fieldValidator.d.ts +6 -0
  10. package/dist/set/fieldValidator.js +144 -0
  11. package/dist/set/fieldValidator.js.map +1 -0
  12. package/dist/set/handleError.d.ts +1 -0
  13. package/dist/set/handleError.js +9 -0
  14. package/dist/set/handleError.js.map +1 -0
  15. package/dist/set/index.d.ts +1 -1
  16. package/dist/set/index.js +5 -3
  17. package/dist/set/index.js.map +1 -1
  18. package/dist/set/number copy.d.ts +4 -0
  19. package/dist/set/number copy.js +57 -0
  20. package/dist/set/number copy.js.map +1 -0
  21. package/dist/set/number.js +72 -31
  22. package/dist/set/number.js.map +1 -1
  23. package/dist/set/references.js +10 -14
  24. package/dist/set/references.js.map +1 -1
  25. package/dist/set/rest copy.d.ts +5 -0
  26. package/dist/set/rest copy.js +53 -0
  27. package/dist/set/rest copy.js.map +1 -0
  28. package/dist/set/rest.js +18 -14
  29. package/dist/set/rest.js.map +1 -1
  30. package/dist/set/string.js +34 -21
  31. package/dist/set/string.js.map +1 -1
  32. package/dist/set/types.d.ts +1 -1
  33. package/dist/setWalker.d.ts +11 -0
  34. package/dist/setWalker.js +189 -0
  35. package/dist/setWalker.js.map +1 -0
  36. package/dist/transformers.d.ts +3 -0
  37. package/dist/transformers.js +18 -0
  38. package/dist/transformers.js.map +1 -0
  39. package/dist/typeWalker.d.ts +3 -0
  40. package/dist/typeWalker.js +18 -0
  41. package/dist/typeWalker.js.map +1 -0
  42. package/dist/validate.d.ts +4 -0
  43. package/dist/validate.js +34 -0
  44. package/dist/validate.js.map +1 -0
  45. package/dist/validateFields.d.ts +4 -0
  46. package/dist/validateFields.js +34 -0
  47. package/dist/validateFields.js.map +1 -0
  48. package/dist/validateSchema copy.d.ts +4 -0
  49. package/dist/validateSchema copy.js +34 -0
  50. package/dist/validateSchema copy.js.map +1 -0
  51. package/package.json +1 -1
  52. package/src/set/collections.ts +51 -82
  53. package/src/set/index.ts +6 -3
  54. package/src/set/number.ts +93 -35
  55. package/src/set/references.ts +14 -14
  56. package/src/set/rest.ts +21 -14
  57. package/src/set/string.ts +48 -23
  58. package/src/set/types.ts +2 -1
  59. package/test/setWalker.ts +7 -0
  60. package/dist/parse.d.ts +0 -2
  61. package/dist/parse.js +0 -9
  62. package/dist/parse.js.map +0 -1
File without changes
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=deepPartial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepPartial.js","sourceRoot":"","sources":["../src/deepPartial.ts"],"names":[],"mappings":""}
@@ -3,50 +3,49 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.record = exports.array = exports.object = exports.set = void 0;
4
4
  const error_1 = require("./error");
5
5
  const _1 = require(".");
6
- const set = async (path, value, fieldSchema, typeSchema, target, handlers) => {
6
+ const set = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
7
7
  const q = [];
8
8
  const fieldDef = fieldSchema.items;
9
9
  if (Array.isArray(value)) {
10
- const handlerNest = {
11
- ...handlers,
12
- collect: ({ value }) => {
13
- parsedArray.push(value);
14
- },
15
- };
16
10
  const parsedArray = [];
17
11
  for (let i = 0; i < value.length; i++) {
18
- q.push((0, _1.fieldWalker)([...path, i], value[i], fieldDef, typeSchema, target, handlerNest));
12
+ q.push((0, _1.fieldWalker)([...path, i], value[i], fieldDef, typeSchema, target, {
13
+ ...handlers,
14
+ collect: ({ value }) => {
15
+ parsedArray.push(value);
16
+ },
17
+ }));
19
18
  }
20
19
  await Promise.all(q);
21
- handlers.collect({
22
- path,
23
- value: { $value: parsedArray },
24
- typeSchema,
25
- fieldSchema,
26
- target,
27
- });
20
+ if (!noCollect) {
21
+ handlers.collect({
22
+ path,
23
+ value: { $value: parsedArray },
24
+ typeSchema,
25
+ fieldSchema,
26
+ target,
27
+ });
28
+ }
28
29
  }
29
30
  else {
30
- const handlerNest = {
31
- ...handlers,
32
- collect: () => { },
33
- };
34
31
  if (value.$add) {
35
32
  for (let i = 0; i < value.$add.length; i++) {
36
- q.push((0, _1.fieldWalker)([...path, '$add', i], value.$add[i], fieldDef, typeSchema, target, handlerNest));
33
+ q.push((0, _1.fieldWalker)([...path, '$add', i], value.$add[i], fieldDef, typeSchema, target, handlers, true));
37
34
  }
38
35
  }
39
36
  if (value.$delete) {
40
37
  for (let i = 0; i < value.$add.length; i++) {
41
- q.push((0, _1.fieldWalker)([...path, '$delete', i], value.$delete[i], fieldDef, typeSchema, target, handlerNest));
38
+ q.push((0, _1.fieldWalker)([...path, '$delete', i], value.$delete[i], fieldDef, typeSchema, target, handlers, true));
42
39
  }
43
40
  }
44
41
  await Promise.all(q);
45
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
42
+ if (!noCollect) {
43
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
44
+ }
46
45
  }
47
46
  };
48
47
  exports.set = set;
49
- const object = async (path, value, fieldSchema, typeSchema, target, handlers) => {
48
+ const object = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
50
49
  if (typeof value !== 'object') {
51
50
  (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
52
51
  }
@@ -60,12 +59,12 @@ const object = async (path, value, fieldSchema, typeSchema, target, handlers) =>
60
59
  if (!propDef) {
61
60
  (0, error_1.error)([...path, key], error_1.ParseError.fieldDoesNotExist);
62
61
  }
63
- q.push((0, _1.fieldWalker)([...path, key], value[key], propDef, typeSchema, target, handlers));
62
+ q.push((0, _1.fieldWalker)([...path, key], value[key], propDef, typeSchema, target, handlers, noCollect));
64
63
  }
65
64
  await Promise.all(q);
66
65
  };
67
66
  exports.object = object;
68
- const array = async (path, value, fieldSchema, typeSchema, target, handlers) => {
67
+ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
69
68
  const isArray = Array.isArray(value);
70
69
  if (typeof value === 'object' && !isArray) {
71
70
  if (value.$insert) {
@@ -74,18 +73,12 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers) =>
74
73
  (0, error_1.error)([...path, '$insert'], error_1.ParseError.incorrectFormat);
75
74
  }
76
75
  else {
77
- const nestedHandler = {
78
- ...handlers,
79
- collect: () => { },
80
- };
76
+ const insert = Array.isArray(value.$insert.$value)
77
+ ? value.$insert.$value
78
+ : [value.$insert.$value];
81
79
  const q = [];
82
- if (Array.isArray(value.$insert.$value)) {
83
- for (let i = 0; i < value.$insert.$value.length; i++) {
84
- q.push((0, _1.fieldWalker)([...path, 'insert', i], value.$insert.$value[i], fieldSchema.values, typeSchema, target, nestedHandler));
85
- }
86
- }
87
- else {
88
- q.push((0, _1.fieldWalker)([...path, '$insert'], value.$insert.$value, fieldSchema.values, typeSchema, target, nestedHandler));
80
+ for (let i = 0; i < insert.length; i++) {
81
+ q.push((0, _1.fieldWalker)([...path, 'insert', i], insert[i], fieldSchema.values, typeSchema, target, handlers, true));
89
82
  }
90
83
  await Promise.all(q);
91
84
  }
@@ -95,17 +88,9 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers) =>
95
88
  }
96
89
  if (value.$push) {
97
90
  const q = [];
98
- const nestedHandler = {
99
- ...handlers,
100
- collect: () => { },
101
- };
102
- if (Array.isArray(value.$push)) {
103
- for (let i = 0; i < value.$push.length; i++) {
104
- q.push((0, _1.fieldWalker)([...path, i], value.$push[i], fieldSchema.values, typeSchema, target, nestedHandler));
105
- }
106
- }
107
- else {
108
- q.push((0, _1.fieldWalker)([...path, '$push'], value.$push, fieldSchema.values, typeSchema, target, nestedHandler));
91
+ const push = Array.isArray(value.$push) ? value.$push : [value.$push];
92
+ for (let i = 0; i < push.length; i++) {
93
+ q.push((0, _1.fieldWalker)([...path, i], push[i], fieldSchema.values, typeSchema, target, handlers, true));
109
94
  }
110
95
  await Promise.all(q);
111
96
  }
@@ -115,13 +100,12 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers) =>
115
100
  (0, error_1.error)([...path, '$assign'], error_1.ParseError.incorrectFormat);
116
101
  }
117
102
  else {
118
- await (0, _1.fieldWalker)([...path, '$assign', '$value'], value.$assign.$value, fieldSchema.values, typeSchema, target, {
119
- ...handlers,
120
- collect: () => { },
121
- });
103
+ await (0, _1.fieldWalker)([...path, '$assign', '$value'], value.$assign.$value, fieldSchema.values, typeSchema, target, handlers, true);
122
104
  }
123
105
  }
124
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
106
+ if (!noCollect) {
107
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
108
+ }
125
109
  return;
126
110
  }
127
111
  if (!isArray) {
@@ -129,7 +113,7 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers) =>
129
113
  }
130
114
  const q = [];
131
115
  for (let i = 0; i < value.length; i++) {
132
- q.push((0, _1.fieldWalker)([...path, i], value[i], fieldSchema.values, typeSchema, target, handlers));
116
+ q.push((0, _1.fieldWalker)([...path, i], value[i], fieldSchema.values, typeSchema, target, handlers, noCollect));
133
117
  }
134
118
  await Promise.all(q);
135
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/set/collections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/set/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const enum {
2
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ () => {
4
+ if ('enum' in fieldSchema) {
5
+ const enumValues = fieldSchema.enum;
6
+ for (let i = 0; i < enumValues.length; i++) {
7
+ if (deepEqual(enumValues[i], value)) {
8
+ collect(path, i, typeSchema, fieldSchema, target);
9
+ return;
10
+ }
11
+ }
12
+ throw createError(path, target.type, 'enum', value);
13
+ }
14
+ };
15
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/set/enum.ts"],"names":[],"mappings":";;AAAoB,GAAG,EAAE;IAErB,IAAI,MAAM,IAAI,WAAW,EAAE;QACvB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAA;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACnC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;gBACjD,OAAM;aACP;SACF;QACD,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;KACpD;AACP,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { BasedSchemaField, BasedSchemaType, BasedSetTarget } from '../types';
2
+ declare const fieldValidator: {
3
+ [key: string]: (path: (string | number)[], value: any, fieldSchema: BasedSchemaField, typeSchema: BasedSchemaType, target: BasedSetTarget, collect: (path: (string | number)[], value: any, // parsed value
4
+ typeSchema: BasedSchemaType, fieldSchema: BasedSchemaField, target: BasedSetTarget) => void) => void;
5
+ };
6
+ export default fieldValidator;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@saulx/utils");
4
+ const handleError_1 = require("./handleError");
5
+ const _1 = require(".");
6
+ const fieldValidator = {
7
+ enum: (path, value, fieldSchema, typeSchema, target, collect) => {
8
+ // @ts-ignore
9
+ const enumValues = fieldSchema.enum;
10
+ for (let i = 0; i < enumValues.length; i++) {
11
+ if ((0, utils_1.deepEqual)(enumValues[i], value)) {
12
+ collect(path, i, typeSchema, fieldSchema, target);
13
+ return;
14
+ }
15
+ }
16
+ throw (0, handleError_1.createError)(path, target.type, 'enum', value);
17
+ },
18
+ array: (path, value, fieldSchema, typeSchema, target, collect) => {
19
+ // TODO: ADD OPERATORS
20
+ const isArray = Array.isArray(value);
21
+ if (!isArray) {
22
+ throw (0, handleError_1.createError)(path, target.type, 'array', value);
23
+ }
24
+ for (let i = 0; i < value.length; i++) {
25
+ (0, _1.fieldWalker)([...path, i], value[i],
26
+ // @ts-ignore
27
+ fieldSchema.values, typeSchema, target, collect);
28
+ }
29
+ },
30
+ object: (path, value, fieldSchema, typeSchema, target, collect) => {
31
+ if (typeof value !== 'object') {
32
+ throw (0, handleError_1.createError)(path, target.type, 'object', value);
33
+ }
34
+ const isArray = Array.isArray(value);
35
+ if (isArray) {
36
+ throw (0, handleError_1.createError)(path, target.type, 'object', value);
37
+ }
38
+ for (const key in value) {
39
+ // @ts-ignore
40
+ const propDef = fieldSchema.properties[key];
41
+ if (!propDef) {
42
+ throw (0, handleError_1.createError)([...path, key], target.type, 'object', value[key], key);
43
+ }
44
+ (0, _1.fieldWalker)([...path, key], value[key], propDef, typeSchema, target, collect);
45
+ }
46
+ },
47
+ set: (path, value, fieldSchema, typeSchema, target, collect) => {
48
+ if (Array.isArray(value)) {
49
+ const parsedArray = [];
50
+ // @ts-ignore
51
+ const fieldDef = fieldSchema.items;
52
+ for (let i = 0; i < value.length; i++) {
53
+ (0, _1.fieldWalker)([...path, i], value[i], fieldDef, typeSchema, target, (path, value) => {
54
+ parsedArray.push(value);
55
+ });
56
+ }
57
+ collect(path, parsedArray, typeSchema, fieldSchema, target);
58
+ }
59
+ else {
60
+ // TODO PARSE IF VALID
61
+ // $add / $remove
62
+ collect(path, value, typeSchema, fieldSchema, target);
63
+ }
64
+ },
65
+ json: (path, value, fieldSchema, typeSchema, target, collect) => {
66
+ try {
67
+ const parsedValue = JSON.stringify(value);
68
+ collect(path, parsedValue, typeSchema, fieldSchema, target);
69
+ }
70
+ catch (err) {
71
+ throw (0, handleError_1.createError)(path, target.type, 'json', value);
72
+ }
73
+ },
74
+ number: (path, value, fieldSchema, typeSchema, target, collect) => {
75
+ if (typeof value !== 'number') {
76
+ throw (0, handleError_1.createError)(path, target.type, 'number', value);
77
+ }
78
+ collect(path, value, typeSchema, fieldSchema, target);
79
+ },
80
+ integer: (path, value, fieldSchema, typeSchema, target, collect) => {
81
+ if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
82
+ throw (0, handleError_1.createError)(path, target.type, 'integer', value);
83
+ }
84
+ collect(path, value, typeSchema, fieldSchema, target);
85
+ },
86
+ string: (path, value, fieldSchema, typeSchema, target, collect) => {
87
+ if (typeof value !== 'string') {
88
+ throw (0, handleError_1.createError)(path, target.type, 'string', value);
89
+ }
90
+ // @ts-ignore
91
+ if (fieldSchema.minLength && value.length < fieldSchema.minLength) {
92
+ throw (0, handleError_1.createError)(path, target.type, 'string', value);
93
+ }
94
+ // @ts-ignore
95
+ if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {
96
+ throw (0, handleError_1.createError)(path, target.type, 'string', value);
97
+ }
98
+ collect(path, value, typeSchema, fieldSchema, target);
99
+ },
100
+ text: (path, value, fieldSchema, typeSchema, target, collect) => {
101
+ const valueType = typeof value;
102
+ if (target.$language && valueType === 'string') {
103
+ // @ts-ignore
104
+ if (fieldSchema.minLength && value.length < fieldSchema.minLength) {
105
+ throw (0, handleError_1.createError)(path, target.type, 'text', value);
106
+ }
107
+ // @ts-ignore
108
+ if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {
109
+ throw (0, handleError_1.createError)(path, target.type, 'text', value);
110
+ }
111
+ collect(path, { [target.$language]: value }, typeSchema, fieldSchema, target);
112
+ return;
113
+ }
114
+ if (valueType !== 'object') {
115
+ throw (0, handleError_1.createError)(path, target.type, 'text', value);
116
+ }
117
+ for (const key in value) {
118
+ // @ts-ignore
119
+ if (fieldSchema.minLength && value[key].length < fieldSchema.minLength) {
120
+ throw (0, handleError_1.createError)([...path, key], target.type, 'text', value);
121
+ }
122
+ // @ts-ignore
123
+ if (fieldSchema.maxLength && value[key].length > fieldSchema.maxLength) {
124
+ throw (0, handleError_1.createError)([...path, key], target.type, 'text', value);
125
+ }
126
+ if (typeof value[key] === 'object' && value[key].$delete === true) {
127
+ collect([...path, key], null, typeSchema, fieldSchema, target);
128
+ continue;
129
+ }
130
+ if (typeof value[key] !== 'string') {
131
+ throw (0, handleError_1.createError)([...path, key], target.type, 'text', value);
132
+ }
133
+ collect([...path, key], value[key], typeSchema, fieldSchema, target);
134
+ }
135
+ },
136
+ references: (path, value, fieldSchema, typeSchema, target, collect) => {
137
+ collect(path, value, typeSchema, fieldSchema, target);
138
+ },
139
+ reference: (path, value, fieldSchema, typeSchema, target, collect) => {
140
+ collect(path, value, typeSchema, fieldSchema, target);
141
+ },
142
+ };
143
+ exports.default = fieldValidator;
144
+ //# sourceMappingURL=fieldValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldValidator.js","sourceRoot":"","sources":["../../src/set/fieldValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const createError: (path: (number | string)[], fromType: string, fieldType: string, value: any, fieldDoesNotExist?: string, msg?: string) => Error;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createError = void 0;
4
+ const createError = (path, fromType, fieldType, value, fieldDoesNotExist, msg) => {
5
+ const err = new Error();
6
+ return new Error(`Type: "${fromType}" Field: "${path.join('.')}" is not a valid value for ${fieldType}`);
7
+ };
8
+ exports.createError = createError;
9
+ //# sourceMappingURL=handleError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleError.js","sourceRoot":"","sources":["../../src/set/handleError.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CACzB,IAAyB,EACzB,QAAgB,EAChB,SAAiB,EACjB,KAAU,EACV,iBAA0B,EAC1B,GAAY,EACL,EAAE;IACT,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;IACvB,OAAO,IAAI,KAAK,CACd,UAAU,QAAQ,aAAa,IAAI,CAAC,IAAI,CACtC,GAAG,CACJ,8BAA8B,SAAS,EAAE,CAC3C,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB"}
@@ -1,5 +1,5 @@
1
1
  import { BasedSchemaField, BasedSchemaType, BasedSetHandlers, BasedSchema, BasedSetTarget } from '../types';
2
- export declare const fieldWalker: (path: (string | number)[], value: any, fieldSchema: BasedSchemaField, typeSchema: BasedSchemaType, target: BasedSetTarget, handlers: BasedSetHandlers) => Promise<void>;
2
+ export declare const fieldWalker: (path: (string | number)[], value: any, fieldSchema: BasedSchemaField, typeSchema: BasedSchemaType, target: BasedSetTarget, handlers: BasedSetHandlers, noCollect?: boolean) => Promise<void>;
3
3
  export declare const setWalker: (schema: BasedSchema, value: {
4
4
  [key: string]: any;
5
5
  }, handlers: BasedSetHandlers) => Promise<BasedSetTarget>;
package/dist/set/index.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.setWalker = exports.fieldWalker = void 0;
7
7
  const error_1 = require("./error");
8
8
  const parsers_1 = __importDefault(require("./parsers"));
9
- const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handlers) => {
9
+ const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
10
10
  if ('$ref' in fieldSchema) {
11
11
  // TODO: when we have this it has to get it from the schema and redo the parsing with the correct fieldSchema
12
12
  return;
@@ -14,7 +14,9 @@ const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handler
14
14
  const valueType = typeof value;
15
15
  const valueIsObject = value && valueType === 'object';
16
16
  if (valueIsObject && value.$delete === true) {
17
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
17
+ if (!noCollect) {
18
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
19
+ }
18
20
  return;
19
21
  }
20
22
  const typeDef = fieldSchema.type ?? ('enum' in fieldSchema ? 'enum' : '');
@@ -28,7 +30,7 @@ const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handler
28
30
  }
29
31
  }
30
32
  const parse = parsers_1.default[typeDef];
31
- await parse(path, value, fieldSchema, typeSchema, target, handlers);
33
+ await parse(path, value, fieldSchema, typeSchema, target, handlers, noCollect);
32
34
  return;
33
35
  };
34
36
  exports.fieldWalker = fieldWalker;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":";;;;;;AAOA,mCAA2C;AAC3C,wDAA+B;AAExB,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAyB,EACzB,KAAU,EACV,WAA6B,EAC7B,UAA2B,EAC3B,MAAsB,EACtB,QAA0B,EACX,EAAE;IACjB,IAAI,MAAM,IAAI,WAAW,EAAE;QACzB,6GAA6G;QAC7G,OAAM;KACP;IACD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAA;IAE9B,MAAM,aAAa,GAAG,KAAK,IAAI,SAAS,KAAK,QAAQ,CAAA;IACrD,IAAI,aAAa,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;QAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;QAClE,OAAM;KACP;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAEzE,IAAI,CAAC,OAAO,EAAE;QACZ,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,iBAAiB,CAAC,CAAA;KAC1C;IAED,IAAI,iBAAiB,IAAI,WAAW,EAAE;QACpC,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;YACjD,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;SACxC;KACF;IAED,MAAM,KAAK,GAAG,iBAAO,CAAC,OAAO,CAAC,CAAA;IAE9B,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEnE,OAAM;AACR,CAAC,CAAA;AAtCY,QAAA,WAAW,eAsCvB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,MAAmB,EACnB,KAA6B,EAC7B,QAA0B,EACD,EAAE;IAC3B,IAAI,IAAY,CAAA;IAEhB,IAAI,KAAK,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,EAAE;YACT,IAAA,aAAK,EAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,kBAAU,CAAC,iBAAiB,CAAC,CAAA;SACjD;KACF;IAED,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;YAC/B,IAAA,aAAK,EAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,kBAAU,CAAC,iBAAiB,CAAC,CAAA;SAC7D;QACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;KAClB;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAErC,IAAI,CAAC,UAAU,EAAE;QACf,IAAA,aAAK,EAAC,CAAC,IAAI,CAAC,EAAE,kBAAU,CAAC,iBAAiB,CAAC,CAAA;KAC5C;IAED,MAAM,MAAM,GAAmB;QAC7B,IAAI;QACJ,MAAM;KACP,CAAA;IAED,IAAI,KAAK,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;KACvB;SAAM,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;KAC7B;IAED,MAAM,CAAC,GAAoB,EAAE,CAAA;IAE7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1C,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAA,aAAK,EAAC,CAAC,GAAG,CAAC,EAAE,kBAAU,CAAC,iBAAiB,CAAC,CAAA;aAC3C;iBAAM;gBACL,CAAC,CAAC,IAAI,CACJ,IAAA,mBAAW,EACT,CAAC,GAAG,CAAC,EACL,KAAK,CAAC,GAAG,CAAC,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,CACT,CACF,CAAA;aACF;SACF;KACF;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAEpB,kCAAkC;IAClC,+DAA+D;IAC/D,iDAAiD;IACjD,MAAM;IAEN,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AApEY,QAAA,SAAS,aAoErB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Parser } from './types';
2
+ export declare const timestamp: Parser<'timestamp'>;
3
+ export declare const number: Parser<'number'>;
4
+ export declare const integer: Parser<'integer'>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.integer = exports.number = exports.timestamp = void 0;
4
+ const error_1 = require("./error");
5
+ const timestamp = async (path, value, fieldSchema, typeSchema, target, handlers) => {
6
+ if (typeof value === 'string') {
7
+ if (value === 'now') {
8
+ value = Date.now();
9
+ }
10
+ else {
11
+ const d = new Date(value);
12
+ value = d.valueOf();
13
+ if (isNaN(value)) {
14
+ throw (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
15
+ }
16
+ }
17
+ }
18
+ // // smaller then / larger then steps
19
+ // if (typeof value !== 'number') {
20
+ // throw createError(path, target.type, 'timestamp', value)
21
+ // }
22
+ // if (fieldSchema.maximum) {
23
+ // if (fieldSchema.exclusiveMaximum && value > value) {
24
+ // throw createError(path, target.type, 'timestamp', value)
25
+ // } else if (value >= value) {
26
+ // throw createError(path, target.type, 'timestamp', value)
27
+ // }
28
+ // }
29
+ // if (fieldSchema.minimum) {
30
+ // if (fieldSchema.exclusiveMinimum && value < value) {
31
+ // throw createError(path, target.type, 'timestamp', value)
32
+ // } else if (value <= value) {
33
+ // throw createError(path, target.type, 'timestamp', value)
34
+ // }
35
+ // }
36
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
37
+ };
38
+ exports.timestamp = timestamp;
39
+ const number = async (path, value, fieldSchema, typeSchema, target, handlers) => {
40
+ // value .default
41
+ // $increment / $decrement
42
+ if (typeof value !== 'number') {
43
+ (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
44
+ }
45
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
46
+ };
47
+ exports.number = number;
48
+ const integer = async (path, value, fieldSchema, typeSchema, target, handlers) => {
49
+ // value .default
50
+ // $increment / $decrement
51
+ if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
52
+ (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
53
+ }
54
+ handlers.collect({ path, value, typeSchema, fieldSchema, target });
55
+ };
56
+ exports.integer = integer;
57
+ //# sourceMappingURL=number%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number copy.js","sourceRoot":"","sources":["../../src/set/number copy.ts"],"names":[],"mappings":";;;AACA,mCAA2C;AAEpC,MAAM,SAAS,GAAwB,KAAK,EACjD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnB;aAAM;YACL,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;YACnB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;gBAChB,MAAM,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;aAC9C;SACF;KACF;IACD,sCAAsC;IACtC,mCAAmC;IACnC,6DAA6D;IAC7D,IAAI;IAEJ,6BAA6B;IAC7B,yDAAyD;IACzD,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAC/D,MAAM;IACN,IAAI;IAEJ,6BAA6B;IAC7B,yDAAyD;IACzD,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAC/D,MAAM;IACN,IAAI;IACJ,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAxCY,QAAA,SAAS,aAwCrB;AAEM,MAAM,MAAM,GAAqB,KAAK,EAC3C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,iBAAiB;IACjB,0BAA0B;IAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;KACxC;IAED,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAhBY,QAAA,MAAM,UAgBlB;AAEM,MAAM,OAAO,GAAsB,KAAK,EAC7C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,iBAAiB;IACjB,0BAA0B;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAChE,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;KACxC;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAdY,QAAA,OAAO,WAcnB"}