@based/schema 0.0.10 → 0.0.12

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 (90) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/set/collections.js +39 -17
  5. package/dist/set/collections.js.map +1 -1
  6. package/dist/set/error.d.ts +4 -2
  7. package/dist/set/error.js +9 -3
  8. package/dist/set/error.js.map +1 -1
  9. package/dist/set/index.d.ts +2 -2
  10. package/dist/set/index.js +48 -8
  11. package/dist/set/index.js.map +1 -1
  12. package/dist/set/number.js +37 -23
  13. package/dist/set/number.js.map +1 -1
  14. package/dist/set/parseDefaultAndValue.js +5 -3
  15. package/dist/set/parseDefaultAndValue.js.map +1 -1
  16. package/dist/set/references.js +12 -5
  17. package/dist/set/references.js.map +1 -1
  18. package/dist/set/rest.js +4 -4
  19. package/dist/set/rest.js.map +1 -1
  20. package/dist/set/string.js +38 -34
  21. package/dist/set/string.js.map +1 -1
  22. package/dist/set2/index.js +1 -0
  23. package/dist/set2/index.js.map +1 -0
  24. package/dist/types.d.ts +8 -2
  25. package/dist/types.js.map +1 -1
  26. package/dist/walker.d.ts +50 -0
  27. package/dist/walker.js +83 -0
  28. package/dist/walker.js.map +1 -0
  29. package/package.json +1 -1
  30. package/src/index.ts +2 -0
  31. package/src/set/collections.ts +42 -17
  32. package/src/set/error.ts +13 -3
  33. package/src/set/index.ts +65 -8
  34. package/src/set/number.ts +39 -22
  35. package/src/set/parseDefaultAndValue.ts +13 -3
  36. package/src/set/references.ts +11 -5
  37. package/src/set/rest.ts +4 -4
  38. package/src/set/string.ts +48 -36
  39. package/src/set2/index.ts +0 -0
  40. package/src/types.ts +16 -7
  41. package/src/walker.ts +152 -0
  42. package/test/number.ts +646 -0
  43. package/test/reference.ts +207 -0
  44. package/test/setWalker.ts +101 -21
  45. package/test/string.ts +183 -0
  46. package/test/text.ts +171 -0
  47. package/test/validateSchema.ts +0 -1
  48. package/test/walker.ts +99 -0
  49. package/dist/deepPartial.js +0 -3
  50. package/dist/deepPartial.js.map +0 -1
  51. package/dist/schema.d.ts +0 -1
  52. package/dist/schema.js +0 -3
  53. package/dist/schema.js.map +0 -1
  54. package/dist/set/checkDefaultAndValue.d.ts +0 -3
  55. package/dist/set/checkDefaultAndValue.js +0 -33
  56. package/dist/set/checkDefaultAndValue.js.map +0 -1
  57. package/dist/set/enum.d.ts +0 -2
  58. package/dist/set/enum.js +0 -15
  59. package/dist/set/enum.js.map +0 -1
  60. package/dist/set/fieldValidator.d.ts +0 -6
  61. package/dist/set/fieldValidator.js +0 -144
  62. package/dist/set/fieldValidator.js.map +0 -1
  63. package/dist/set/handleError.d.ts +0 -1
  64. package/dist/set/handleError.js +0 -9
  65. package/dist/set/handleError.js.map +0 -1
  66. package/dist/set/number copy.d.ts +0 -4
  67. package/dist/set/number copy.js +0 -57
  68. package/dist/set/number copy.js.map +0 -1
  69. package/dist/set/rest copy.d.ts +0 -5
  70. package/dist/set/rest copy.js +0 -53
  71. package/dist/set/rest copy.js.map +0 -1
  72. package/dist/setWalker.d.ts +0 -11
  73. package/dist/setWalker.js +0 -189
  74. package/dist/setWalker.js.map +0 -1
  75. package/dist/transformers.d.ts +0 -3
  76. package/dist/transformers.js +0 -18
  77. package/dist/transformers.js.map +0 -1
  78. package/dist/typeWalker.d.ts +0 -3
  79. package/dist/typeWalker.js +0 -18
  80. package/dist/typeWalker.js.map +0 -1
  81. package/dist/validate.d.ts +0 -4
  82. package/dist/validate.js +0 -34
  83. package/dist/validate.js.map +0 -1
  84. package/dist/validateFields.d.ts +0 -4
  85. package/dist/validateFields.js +0 -34
  86. package/dist/validateFields.js.map +0 -1
  87. package/dist/validateSchema copy.d.ts +0 -4
  88. package/dist/validateSchema copy.js +0 -34
  89. package/dist/validateSchema copy.js.map +0 -1
  90. /package/dist/{deepPartial.d.ts → set2/index.d.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './validateSchema';
3
3
  export * from './set';
4
+ export * from './walker';
package/dist/index.js CHANGED
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types"), exports);
18
18
  __exportStar(require("./validateSchema"), exports);
19
19
  __exportStar(require("./set"), exports);
20
+ __exportStar(require("./walker"), exports);
20
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AAEvB,mDAAgC;AAEhC,wCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AAEvB,mDAAgC;AAEhC,wCAAqB;AAErB,2CAAwB"}
@@ -3,9 +3,15 @@ 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
+ // what about making errors return signature
6
7
  const set = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
7
- if (value && typeof value === 'object' && value.$value) {
8
- value = value.$value;
8
+ if (value && typeof value === 'object') {
9
+ if (value.$default) {
10
+ (0, error_1.error)(handlers, error_1.ParseError.defaultNotSupported, path);
11
+ }
12
+ if (value.$value) {
13
+ value = value.$value;
14
+ }
9
15
  }
10
16
  const q = [];
11
17
  const fieldDef = fieldSchema.items;
@@ -50,17 +56,20 @@ const set = async (path, value, fieldSchema, typeSchema, target, handlers, noCol
50
56
  exports.set = set;
51
57
  const object = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
52
58
  if (typeof value !== 'object') {
53
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
59
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
60
+ return;
54
61
  }
55
62
  const isArray = Array.isArray(value);
56
63
  if (isArray) {
57
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
64
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
65
+ return;
58
66
  }
59
67
  const q = [];
60
68
  for (const key in value) {
61
69
  const propDef = fieldSchema.properties[key];
62
70
  if (!propDef) {
63
- (0, error_1.error)([...path, key], error_1.ParseError.fieldDoesNotExist);
71
+ (0, error_1.error)(handlers, error_1.ParseError.fieldDoesNotExist, [...path, key]);
72
+ continue;
64
73
  }
65
74
  q.push((0, _1.fieldWalker)([...path, key], value[key], propDef, typeSchema, target, handlers, noCollect));
66
75
  }
@@ -74,7 +83,7 @@ const object = async (path, value, fieldSchema, typeSchema, target, handlers, no
74
83
  }
75
84
  };
76
85
  exports.object = object;
77
- // unshift // only allow 1 command
86
+ // IF REQUIRED AND PUSH OR UNSHIFT just throw here scince we dont need to parse at all...
78
87
  const array = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
79
88
  let isArray = Array.isArray(value);
80
89
  let parsedValue = value;
@@ -90,11 +99,13 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noC
90
99
  if (value.$insert) {
91
100
  opCount++;
92
101
  if (opCount > 1) {
93
- (0, error_1.error)(path, error_1.ParseError.multipleOperationsNotAllowed);
102
+ (0, error_1.error)(handlers, error_1.ParseError.multipleOperationsNotAllowed, path);
103
+ return;
94
104
  }
95
105
  if (typeof value.$insert !== 'object' ||
96
106
  value.$insert.$idx === undefined) {
97
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
107
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
108
+ return;
98
109
  }
99
110
  else {
100
111
  const insert = Array.isArray(value.$insert.$value)
@@ -110,22 +121,27 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noC
110
121
  if (value.$remove) {
111
122
  opCount++;
112
123
  if (opCount > 1) {
113
- (0, error_1.error)(path, error_1.ParseError.multipleOperationsNotAllowed);
124
+ (0, error_1.error)(handlers, error_1.ParseError.multipleOperationsNotAllowed, path);
125
+ return;
114
126
  }
115
127
  if (value.$remove.$idx === undefined) {
116
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
128
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
129
+ return;
117
130
  }
118
131
  }
119
132
  if (value.$push) {
120
133
  opCount++;
121
134
  if (opCount > 1) {
122
- (0, error_1.error)(path, error_1.ParseError.multipleOperationsNotAllowed);
135
+ (0, error_1.error)(handlers, error_1.ParseError.multipleOperationsNotAllowed, path);
136
+ return;
123
137
  }
124
138
  // TODO: FIX PUSH PARSING
125
139
  const q = [];
126
140
  const push = Array.isArray(value.$push) ? value.$push : [value.$push];
127
141
  for (let i = 0; i < push.length; i++) {
128
- q.push((0, _1.fieldWalker)(path, push[i], fieldSchema.values, typeSchema, target, handlers, true));
142
+ q.push((0, _1.fieldWalker)(
143
+ // exception
144
+ [...path, '$push', i], push[i], fieldSchema.values, typeSchema, target, handlers, true));
129
145
  }
130
146
  await Promise.all(q);
131
147
  parsedValue = { $push: push };
@@ -133,7 +149,8 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noC
133
149
  if (value.$unshift) {
134
150
  opCount++;
135
151
  if (opCount > 1) {
136
- (0, error_1.error)(path, error_1.ParseError.multipleOperationsNotAllowed);
152
+ (0, error_1.error)(handlers, error_1.ParseError.multipleOperationsNotAllowed, path);
153
+ return;
137
154
  }
138
155
  const q = [];
139
156
  const unshift = Array.isArray(value.$unshift)
@@ -141,7 +158,9 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noC
141
158
  : [value.$unshift];
142
159
  // TODO: FIX UNSHIFT PARSING
143
160
  for (let i = 0; i < unshift.length; i++) {
144
- q.push((0, _1.fieldWalker)(path, unshift[i], fieldSchema.values, typeSchema, target, handlers, true));
161
+ q.push((0, _1.fieldWalker)(
162
+ // exception
163
+ [...path, '$unshift', i], unshift[i], fieldSchema.values, typeSchema, target, handlers, true));
145
164
  }
146
165
  await Promise.all(q);
147
166
  parsedValue = { $unshift: unshift };
@@ -149,11 +168,13 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noC
149
168
  if (value.$assign) {
150
169
  opCount++;
151
170
  if (opCount > 1) {
152
- (0, error_1.error)(path, error_1.ParseError.multipleOperationsNotAllowed);
171
+ (0, error_1.error)(handlers, error_1.ParseError.multipleOperationsNotAllowed, path);
172
+ return;
153
173
  }
154
174
  if (typeof value.$assign !== 'object' ||
155
175
  typeof value.$assign.$idx !== 'number') {
156
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
176
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
177
+ return;
157
178
  }
158
179
  await (0, _1.fieldWalker)([...path, value.$assign.$idx], value.$assign.$value, fieldSchema.values, typeSchema, target, handlers, noCollect);
159
180
  return;
@@ -172,7 +193,8 @@ const array = async (path, value, fieldSchema, typeSchema, target, handlers, noC
172
193
  }
173
194
  }
174
195
  if (!isArray) {
175
- (0, error_1.error)(path, error_1.ParseError.incorrectFieldType);
196
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFieldType, path);
197
+ return;
176
198
  }
177
199
  const q = [];
178
200
  const collector = [];
@@ -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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"}
@@ -1,3 +1,4 @@
1
+ import { BasedSetHandlers } from '../types';
1
2
  export declare enum ParseError {
2
3
  'incorrectFieldType' = 0,
3
4
  'incorrectNodeType' = 1,
@@ -9,6 +10,7 @@ export declare enum ParseError {
9
10
  'valueAndDefault' = 7,
10
11
  'defaultNotSupported' = 8,
11
12
  'multipleOperationsNotAllowed' = 9,
12
- 'requiredFieldNotDefined' = 10
13
+ 'requiredFieldNotDefined' = 10,
14
+ 'languageNotSupported' = 11
13
15
  }
14
- export declare const error: (path: (number | string)[], error: ParseError, type?: string) => never;
16
+ export declare const error: (handlers: BasedSetHandlers, error: ParseError, path?: (number | string)[]) => void;
package/dist/set/error.js CHANGED
@@ -14,10 +14,16 @@ var ParseError;
14
14
  ParseError[ParseError["defaultNotSupported"] = 8] = "defaultNotSupported";
15
15
  ParseError[ParseError["multipleOperationsNotAllowed"] = 9] = "multipleOperationsNotAllowed";
16
16
  ParseError[ParseError["requiredFieldNotDefined"] = 10] = "requiredFieldNotDefined";
17
+ ParseError[ParseError["languageNotSupported"] = 11] = "languageNotSupported";
17
18
  })(ParseError = exports.ParseError || (exports.ParseError = {}));
18
- const error = (path, error, type // nice to give as option
19
- ) => {
20
- throw new Error(`Field: "${path.join('.')}" ${ParseError[error]}`);
19
+ const error = (handlers, error, path) => {
20
+ const message = path
21
+ ? `${ParseError[error]} ${path.join('.')}`
22
+ : `${ParseError[error]}`;
23
+ handlers.collectErrors({
24
+ message,
25
+ code: error,
26
+ });
21
27
  };
22
28
  exports.error = error;
23
29
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/set/error.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,uEAAoB,CAAA;IACpB,qEAAmB,CAAA;IACnB,+DAAgB,CAAA;IAChB,iEAAiB,CAAA;IACjB,qEAAmB,CAAA;IACnB,iEAAiB,CAAA;IACjB,mFAA0B,CAAA;IAC1B,iEAAiB,CAAA;IACjB,yEAAqB,CAAA;IACrB,2FAA8B,CAAA;IAC9B,kFAAyB,CAAA;AAC3B,CAAC,EAZW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAYrB;AAEM,MAAM,KAAK,GAAG,CACnB,IAAyB,EACzB,KAAiB,EACjB,IAAa,CAAC,yBAAyB;EACvC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AANY,QAAA,KAAK,SAMjB"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/set/error.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB,uEAAoB,CAAA;IACpB,qEAAmB,CAAA;IACnB,+DAAgB,CAAA;IAChB,iEAAiB,CAAA;IACjB,qEAAmB,CAAA;IACnB,iEAAiB,CAAA;IACjB,mFAA0B,CAAA;IAC1B,iEAAiB,CAAA;IACjB,yEAAqB,CAAA;IACrB,2FAA8B,CAAA;IAC9B,kFAAyB,CAAA;IACzB,4EAAsB,CAAA;AACxB,CAAC,EAbW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAarB;AAEM,MAAM,KAAK,GAAG,CACnB,QAA0B,EAC1B,KAAiB,EACjB,IAA0B,EAC1B,EAAE;IACF,MAAM,OAAO,GAAG,IAAI;QAClB,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC1C,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;IAE1B,QAAQ,CAAC,aAAa,CAAC;QACrB,OAAO;QACP,IAAI,EAAE,KAAK;KACZ,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,KAAK,SAajB"}
@@ -1,5 +1,5 @@
1
- import { BasedSchemaField, BasedSchemaType, BasedSetHandlers, BasedSchema, BasedSetTarget } from '../types';
1
+ import { BasedSchemaField, BasedSchemaType, BasedSetHandlers, BasedSchema, BasedSetTarget, BasedSetOptionalHandlers } from '../types';
2
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
- }, handlers: BasedSetHandlers) => Promise<BasedSetTarget>;
5
+ }, inHandlers: BasedSetOptionalHandlers) => Promise<BasedSetTarget>;
package/dist/set/index.js CHANGED
@@ -21,12 +21,12 @@ const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handler
21
21
  }
22
22
  const typeDef = fieldSchema.type ?? ('enum' in fieldSchema ? 'enum' : '');
23
23
  if (!typeDef) {
24
- (0, error_1.error)(path, error_1.ParseError.fieldDoesNotExist);
24
+ (0, error_1.error)(handlers, error_1.ParseError.fieldDoesNotExist, path);
25
25
  }
26
26
  if ('customValidator' in fieldSchema) {
27
27
  const customValidator = fieldSchema.customValidator;
28
28
  if (!(await customValidator(value, path, target))) {
29
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
29
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
30
30
  }
31
31
  }
32
32
  const parse = parsers_1.default[typeDef];
@@ -34,29 +34,57 @@ const fieldWalker = async (path, value, fieldSchema, typeSchema, target, handler
34
34
  return;
35
35
  };
36
36
  exports.fieldWalker = fieldWalker;
37
- const setWalker = async (schema, value, handlers) => {
37
+ const setWalker = async (schema, value, inHandlers) => {
38
+ let errors;
39
+ const collect = [];
40
+ const x = { ...inHandlers };
41
+ if (!('collectErrors' in x)) {
42
+ errors = [];
43
+ x.collectErrors = (info) => {
44
+ errors.push(info);
45
+ };
46
+ }
47
+ let prevCollect;
48
+ if (!('collect' in x)) {
49
+ x.collect = (info) => {
50
+ collect.push(info);
51
+ };
52
+ }
53
+ else {
54
+ prevCollect = x.collect;
55
+ x.collect = (info) => {
56
+ collect.push(info);
57
+ };
58
+ }
59
+ const handlers = x;
38
60
  let type;
39
61
  if (value.$id) {
40
62
  type = schema.prefixToTypeMapping[value.$id.slice(0, 2)];
41
63
  if (!type) {
42
- (0, error_1.error)([value.$id], error_1.ParseError.incorrectNodeType);
64
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectNodeType, [value.$id]);
43
65
  }
44
66
  }
45
67
  if (value.type) {
46
68
  if (type && value.type !== type) {
47
- (0, error_1.error)([value.$id, value.type], error_1.ParseError.incorrectNodeType);
69
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectNodeType, [value.$id, value.type]);
48
70
  }
49
71
  type = value.type;
50
72
  }
51
73
  const schemaType = schema.types[type];
52
74
  if (!schemaType) {
53
- (0, error_1.error)([type], error_1.ParseError.incorrectNodeType);
75
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectNodeType, [type]);
54
76
  }
55
77
  const target = {
56
78
  type,
57
79
  schema,
58
80
  required: [],
59
81
  };
82
+ if (value.$language) {
83
+ if (!schema.languages.includes(value.$language)) {
84
+ (0, error_1.error)(handlers, error_1.ParseError.languageNotSupported, ['$language']);
85
+ }
86
+ target.$language = value.$language;
87
+ }
60
88
  if (value.$id) {
61
89
  target.$id = value.$id;
62
90
  }
@@ -68,7 +96,7 @@ const setWalker = async (schema, value, handlers) => {
68
96
  if (key[0] !== '$' && key !== 'type') {
69
97
  const fieldSchema = schemaType.fields[key];
70
98
  if (!fieldSchema) {
71
- (0, error_1.error)([key], error_1.ParseError.fieldDoesNotExist);
99
+ (0, error_1.error)(handlers, error_1.ParseError.fieldDoesNotExist, [key]);
72
100
  }
73
101
  else {
74
102
  q.push((0, exports.fieldWalker)([key], value[key], fieldSchema, schemaType, target, handlers));
@@ -90,10 +118,22 @@ const setWalker = async (schema, value, handlers) => {
90
118
  for (let i = 0; i < requireDefined.length; i++) {
91
119
  if (!requireDefined[i]) {
92
120
  const r = target.required[i];
93
- (0, error_1.error)(r, error_1.ParseError.requiredFieldNotDefined);
121
+ (0, error_1.error)(handlers, error_1.ParseError.requiredFieldNotDefined, r);
94
122
  }
95
123
  }
96
124
  }
125
+ if (errors?.length) {
126
+ const err = new Error('Errors in in set' +
127
+ errors.reduce((str, info) => {
128
+ return str + `\n - ${info.message}`;
129
+ }, ''));
130
+ throw err;
131
+ }
132
+ if (prevCollect) {
133
+ for (const x of collect) {
134
+ prevCollect(x);
135
+ }
136
+ }
97
137
  return target;
98
138
  };
99
139
  exports.setWalker = setWalker;
@@ -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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"}
@@ -2,62 +2,75 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.integer = exports.number = exports.timestamp = void 0;
4
4
  const error_1 = require("./error");
5
- const validate = (path, value, fieldSchema) => {
5
+ const validate = (handlers, path, value, fieldSchema) => {
6
6
  if (typeof value !== 'number') {
7
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
7
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
8
+ return false;
8
9
  }
9
10
  if (fieldSchema.type === 'integer' && value - Math.floor(value) !== 0) {
10
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
11
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
12
+ return false;
11
13
  }
12
14
  if (fieldSchema.multipleOf &&
13
15
  value / fieldSchema.multipleOf -
14
16
  Math.floor(value / fieldSchema.multipleOf) !==
15
17
  0) {
16
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
18
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
19
+ return false;
17
20
  }
18
21
  if (fieldSchema.maximum) {
19
- if (fieldSchema.exclusiveMaximum && value > value) {
20
- (0, error_1.error)(path, error_1.ParseError.exceedsMaximum);
22
+ if (fieldSchema.exclusiveMaximum) {
23
+ if (value >= fieldSchema.maximum) {
24
+ (0, error_1.error)(handlers, error_1.ParseError.exceedsMaximum, path);
25
+ return false;
26
+ }
21
27
  }
22
- else if (value >= value) {
23
- (0, error_1.error)(path, error_1.ParseError.exceedsMaximum);
28
+ else if (value > fieldSchema.maximum) {
29
+ (0, error_1.error)(handlers, error_1.ParseError.exceedsMaximum, path);
30
+ return false;
24
31
  }
25
32
  }
26
33
  if (fieldSchema.minimum) {
27
- if (fieldSchema.exclusiveMinimum && value < value) {
28
- (0, error_1.error)(path, error_1.ParseError.subceedsMinimum);
34
+ if (fieldSchema.exclusiveMinimum) {
35
+ if (value <= fieldSchema.minimum) {
36
+ (0, error_1.error)(handlers, error_1.ParseError.subceedsMinimum, path);
37
+ return false;
38
+ }
29
39
  }
30
- else if (value <= value) {
31
- (0, error_1.error)(path, error_1.ParseError.subceedsMinimum);
40
+ else if (value < fieldSchema.minimum) {
41
+ (0, error_1.error)(handlers, error_1.ParseError.subceedsMinimum, path);
42
+ return false;
32
43
  }
33
44
  }
34
45
  return value;
35
46
  };
36
- const shared = (path, value, fieldSchema) => {
47
+ const shared = (handlers, path, value, fieldSchema) => {
37
48
  if (typeof value === 'object') {
38
49
  if (value.$increment) {
39
- validate([...path, '$increment'], value.$increment, fieldSchema);
50
+ validate(handlers, [...path, '$increment'], value.$increment, fieldSchema);
40
51
  }
41
52
  if (value.$decrement) {
42
- validate([...path, '$decrement'], value.$decrement, fieldSchema);
53
+ validate(handlers, [...path, '$decrement'], value.$decrement, fieldSchema);
43
54
  }
44
55
  if (value.$value !== undefined) {
45
- validate(path, value.$value, fieldSchema);
56
+ validate(handlers, path, value.$value, fieldSchema);
46
57
  }
47
58
  if (value.$default !== undefined) {
48
59
  if (value.$value !== undefined) {
49
- (0, error_1.error)(path, error_1.ParseError.valueAndDefault);
60
+ (0, error_1.error)(handlers, error_1.ParseError.valueAndDefault, path);
61
+ return;
50
62
  }
51
- validate(path, value.$default, fieldSchema);
63
+ validate(handlers, path, value.$default, fieldSchema);
52
64
  }
53
65
  }
54
66
  else {
55
- validate(path, value, fieldSchema);
67
+ validate(handlers, path, value, fieldSchema);
56
68
  }
57
69
  return value;
58
70
  };
59
71
  const timestamp = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
60
72
  if (typeof value === 'string') {
73
+ // TODO: now + 10 and stuff
61
74
  if (value === 'now') {
62
75
  value = Date.now();
63
76
  }
@@ -65,11 +78,12 @@ const timestamp = async (path, value, fieldSchema, typeSchema, target, handlers,
65
78
  const d = new Date(value);
66
79
  value = d.valueOf();
67
80
  if (isNaN(value)) {
68
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
81
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
82
+ return;
69
83
  }
70
84
  }
71
85
  }
72
- const parsedValue = shared(path, value, fieldSchema);
86
+ const parsedValue = shared(handlers, path, value, fieldSchema);
73
87
  if (!noCollect) {
74
88
  handlers.collect({
75
89
  path,
@@ -82,7 +96,7 @@ const timestamp = async (path, value, fieldSchema, typeSchema, target, handlers,
82
96
  };
83
97
  exports.timestamp = timestamp;
84
98
  const number = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
85
- const parsedValue = shared(path, value, fieldSchema);
99
+ const parsedValue = shared(handlers, path, value, fieldSchema);
86
100
  if (!noCollect) {
87
101
  handlers.collect({
88
102
  path,
@@ -95,7 +109,7 @@ const number = async (path, value, fieldSchema, typeSchema, target, handlers, no
95
109
  };
96
110
  exports.number = number;
97
111
  const integer = async (path, value, fieldSchema, typeSchema, target, handlers, noCollect) => {
98
- const parsedValue = shared(path, value, fieldSchema);
112
+ const parsedValue = shared(handlers, path, value, fieldSchema);
99
113
  if (!noCollect) {
100
114
  handlers.collect({
101
115
  path,
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/set/number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/set/number.ts"],"names":[],"mappings":"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"}
@@ -13,18 +13,20 @@ const parseValueAndDefault = async (path, value, fieldSchema, typeSchema, target
13
13
  const parse = parsers_1.default[typeDef];
14
14
  if (value.$value !== undefined) {
15
15
  // TODO: for errors handle path a bit smarter...
16
- parse(path, value.$value, fieldSchema, typeSchema, target, handlers, true);
16
+ await parse(path, value.$value, fieldSchema, typeSchema, target, handlers, true);
17
17
  handled = true;
18
18
  }
19
19
  if (value.$default !== undefined) {
20
20
  if (value.$value !== undefined) {
21
- (0, error_1.error)(path, error_1.ParseError.valueAndDefault);
21
+ (0, error_1.error)(handlers, error_1.ParseError.valueAndDefault, path);
22
22
  }
23
- parse(path, value.$default, fieldSchema, typeSchema, target, handlers, true);
23
+ console.info('->', path, 'go');
24
+ await parse(path, value.$default, fieldSchema, typeSchema, target, handlers, true);
24
25
  handled = true;
25
26
  }
26
27
  }
27
28
  if (handled && !noCollect) {
29
+ console.log('collect?');
28
30
  handlers.collect({ path, value, typeSchema, fieldSchema, target });
29
31
  }
30
32
  return handled;
@@ -1 +1 @@
1
- {"version":3,"file":"parseDefaultAndValue.js","sourceRoot":"","sources":["../../src/set/parseDefaultAndValue.ts"],"names":[],"mappings":";;;;;;AAEA,mCAA2C;AAC3C,wDAA+B;AAExB,MAAM,oBAAoB,GAAoC,KAAK,EACxE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,EACS,EAAE;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACzE,MAAM,KAAK,GAAG,iBAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,gDAAgD;YAChD,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC1E,OAAO,GAAG,IAAI,CAAA;SACf;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;YAChC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC9B,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;aACxC;YACD,KAAK,CACH,IAAI,EACJ,KAAK,CAAC,QAAQ,EACd,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,IAAI,CACL,CAAA;YACD,OAAO,GAAG,IAAI,CAAA;SACf;KACF;IACD,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;KACnE;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAtCY,QAAA,oBAAoB,wBAsChC"}
1
+ {"version":3,"file":"parseDefaultAndValue.js","sourceRoot":"","sources":["../../src/set/parseDefaultAndValue.ts"],"names":[],"mappings":";;;;;;AAEA,mCAA2C;AAC3C,wDAA+B;AAExB,MAAM,oBAAoB,GAAoC,KAAK,EACxE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,EACS,EAAE;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACzE,MAAM,KAAK,GAAG,iBAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,gDAAgD;YAChD,MAAM,KAAK,CACT,IAAI,EACJ,KAAK,CAAC,MAAM,EACZ,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,IAAI,CACL,CAAA;YACD,OAAO,GAAG,IAAI,CAAA;SACf;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;YAChC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC9B,IAAA,aAAK,EAAC,QAAQ,EAAE,kBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;aAClD;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAC9B,MAAM,KAAK,CACT,IAAI,EACJ,KAAK,CAAC,QAAQ,EACd,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,IAAI,CACL,CAAA;YACD,OAAO,GAAG,IAAI,CAAA;SACf;KACF;IACD,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;KACnE;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAhDY,QAAA,oBAAoB,wBAgDhC"}
@@ -8,13 +8,14 @@ const reference = async (path, value, fieldSchema, typeSchema, target, handlers,
8
8
  // value .default
9
9
  // $value
10
10
  if (typeof value !== 'string') {
11
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
11
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
12
12
  }
13
13
  if ('allowedTypes' in fieldSchema) {
14
14
  const prefix = value.slice(0, 2);
15
15
  const targetType = target.schema.prefixToTypeMapping[prefix];
16
16
  if (!targetType) {
17
- (0, error_1.error)(path, error_1.ParseError.referenceIsIncorrectType);
17
+ (0, error_1.error)(handlers, error_1.ParseError.referenceIsIncorrectType, path);
18
+ return;
18
19
  }
19
20
  let typeMatches = false;
20
21
  for (const t of fieldSchema.allowedTypes) {
@@ -29,19 +30,22 @@ const reference = async (path, value, fieldSchema, typeSchema, target, handlers,
29
30
  typeMatches = true;
30
31
  if (t.$filter) {
31
32
  if (!(await handlers.referenceFilterCondition(value, t.$filter))) {
32
- (0, error_1.error)(path, error_1.ParseError.referenceIsIncorrectType);
33
+ (0, error_1.error)(handlers, error_1.ParseError.referenceIsIncorrectType, path);
34
+ return;
33
35
  }
34
36
  }
35
37
  }
36
38
  else if (!t.type && t.$filter) {
37
39
  if (!(await handlers.referenceFilterCondition(value, t.$filter))) {
38
- (0, error_1.error)(path, error_1.ParseError.referenceIsIncorrectType);
40
+ (0, error_1.error)(handlers, error_1.ParseError.referenceIsIncorrectType, path);
41
+ return;
39
42
  }
40
43
  }
41
44
  }
42
45
  }
43
46
  if (typeMatches === false) {
44
- (0, error_1.error)(path, error_1.ParseError.referenceIsIncorrectType);
47
+ (0, error_1.error)(handlers, error_1.ParseError.referenceIsIncorrectType, path);
48
+ return;
45
49
  }
46
50
  }
47
51
  if (!noCollect) {
@@ -69,6 +73,9 @@ const references = async (path, value, fieldSchema, typeSchema, target, handlers
69
73
  }));
70
74
  }
71
75
  }
76
+ else {
77
+ (0, error_1.error)(handlers, error_1.ParseError.incorrectFormat, path);
78
+ }
72
79
  if (!noCollect) {
73
80
  handlers.collect({ path, value, typeSchema, fieldSchema, target });
74
81
  }