@warlock.js/core 2.0.0 → 2.0.3

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 (181) hide show
  1. package/cjs/builder/config-loader-builder.js +17 -17
  2. package/cjs/http/UploadedFile.d.ts +15 -0
  3. package/cjs/http/UploadedFile.d.ts.map +1 -1
  4. package/cjs/http/UploadedFile.js +15 -0
  5. package/cjs/http/UploadedFile.js.map +1 -1
  6. package/cjs/http/request.d.ts +14 -1
  7. package/cjs/http/request.d.ts.map +1 -1
  8. package/cjs/http/request.js +37 -23
  9. package/cjs/http/request.js.map +1 -1
  10. package/cjs/http/response.d.ts +6 -2
  11. package/cjs/http/response.d.ts.map +1 -1
  12. package/cjs/http/response.js +16 -0
  13. package/cjs/http/response.js.map +1 -1
  14. package/cjs/index.d.ts +1 -0
  15. package/cjs/index.d.ts.map +1 -1
  16. package/cjs/index.js +1 -1
  17. package/cjs/modules/uploads/controllers/upload-files.d.ts +1 -0
  18. package/cjs/modules/uploads/controllers/upload-files.d.ts.map +1 -1
  19. package/cjs/modules/uploads/controllers/upload-files.js +28 -7
  20. package/cjs/modules/uploads/controllers/upload-files.js.map +1 -1
  21. package/cjs/modules/uploads/utils/uploadable.d.ts +1 -1
  22. package/cjs/modules/uploads/utils/uploadable.d.ts.map +1 -1
  23. package/cjs/modules/uploads/utils/uploadable.js +3 -15
  24. package/cjs/modules/uploads/utils/uploadable.js.map +1 -1
  25. package/cjs/postman/index.d.ts +6 -0
  26. package/cjs/postman/index.d.ts.map +1 -0
  27. package/cjs/postman/index.js +30 -0
  28. package/cjs/postman/index.js.map +1 -0
  29. package/cjs/postman/postman-events.d.ts +6 -0
  30. package/cjs/postman/postman-events.d.ts.map +1 -0
  31. package/cjs/postman/postman-events.js +8 -0
  32. package/cjs/postman/postman-events.js.map +1 -0
  33. package/cjs/postman/postman-generator.d.ts +70 -0
  34. package/cjs/postman/postman-generator.d.ts.map +1 -0
  35. package/cjs/postman/postman-generator.js +401 -0
  36. package/cjs/postman/postman-generator.js.map +1 -0
  37. package/cjs/postman/types.d.ts +135 -0
  38. package/cjs/postman/types.d.ts.map +1 -0
  39. package/cjs/repositories/repository-listing.d.ts.map +1 -1
  40. package/cjs/repositories/repository-listing.js +3 -0
  41. package/cjs/repositories/repository-listing.js.map +1 -1
  42. package/cjs/router/route.d.ts +26 -0
  43. package/cjs/router/route.d.ts.map +1 -0
  44. package/cjs/router/router.d.ts.map +1 -1
  45. package/cjs/router/router.js +3 -0
  46. package/cjs/router/router.js.map +1 -1
  47. package/cjs/router/types.d.ts +44 -0
  48. package/cjs/router/types.d.ts.map +1 -1
  49. package/cjs/validator/index.d.ts +1 -0
  50. package/cjs/validator/index.d.ts.map +1 -1
  51. package/cjs/validator/locales.js +6 -2
  52. package/cjs/validator/locales.js.map +1 -1
  53. package/cjs/validator/rules/file.d.ts.map +1 -1
  54. package/cjs/validator/rules/file.js +1 -0
  55. package/cjs/validator/rules/file.js.map +1 -1
  56. package/cjs/validator/rules/in.js +1 -1
  57. package/cjs/validator/rules/in.js.map +1 -1
  58. package/cjs/validator/v/array-validator.d.ts +21 -0
  59. package/cjs/validator/v/array-validator.d.ts.map +1 -0
  60. package/cjs/validator/v/base-validator.d.ts +117 -0
  61. package/cjs/validator/v/base-validator.d.ts.map +1 -0
  62. package/cjs/validator/v/index.d.ts +3 -0
  63. package/cjs/validator/v/index.d.ts.map +1 -0
  64. package/cjs/validator/v/mutators.d.ts +23 -0
  65. package/cjs/validator/v/mutators.d.ts.map +1 -0
  66. package/cjs/validator/v/mutators.js +83 -0
  67. package/cjs/validator/v/mutators.js.map +1 -0
  68. package/cjs/validator/v/number-validator.d.ts +21 -0
  69. package/cjs/validator/v/number-validator.d.ts.map +1 -0
  70. package/cjs/validator/v/object-validator.d.ts +37 -0
  71. package/cjs/validator/v/object-validator.d.ts.map +1 -0
  72. package/cjs/validator/v/rules.d.ts +83 -0
  73. package/cjs/validator/v/rules.d.ts.map +1 -0
  74. package/cjs/validator/v/rules.js +457 -0
  75. package/cjs/validator/v/rules.js.map +1 -0
  76. package/cjs/validator/v/schema.d.ts +159 -0
  77. package/cjs/validator/v/schema.d.ts.map +1 -0
  78. package/cjs/validator/v/schema.js +516 -0
  79. package/cjs/validator/v/schema.js.map +1 -0
  80. package/cjs/validator/v/string-validator.d.ts +41 -0
  81. package/cjs/validator/v/string-validator.d.ts.map +1 -0
  82. package/cjs/validator/v/types.d.ts +63 -0
  83. package/cjs/validator/v/types.d.ts.map +1 -0
  84. package/cjs/validator/v/utils.d.ts +5 -0
  85. package/cjs/validator/v/utils.d.ts.map +1 -0
  86. package/cjs/validator/v/utils.js +22 -0
  87. package/cjs/validator/v/utils.js.map +1 -0
  88. package/cjs/validator/validateAll.d.ts.map +1 -1
  89. package/cjs/validator/validateAll.js +17 -1
  90. package/cjs/validator/validateAll.js.map +1 -1
  91. package/esm/builder/config-loader-builder.js +17 -17
  92. package/esm/http/UploadedFile.d.ts +15 -0
  93. package/esm/http/UploadedFile.d.ts.map +1 -1
  94. package/esm/http/UploadedFile.js +15 -0
  95. package/esm/http/UploadedFile.js.map +1 -1
  96. package/esm/http/request.d.ts +14 -1
  97. package/esm/http/request.d.ts.map +1 -1
  98. package/esm/http/request.js +37 -23
  99. package/esm/http/request.js.map +1 -1
  100. package/esm/http/response.d.ts +6 -2
  101. package/esm/http/response.d.ts.map +1 -1
  102. package/esm/http/response.js +16 -0
  103. package/esm/http/response.js.map +1 -1
  104. package/esm/index.d.ts +1 -0
  105. package/esm/index.d.ts.map +1 -1
  106. package/esm/index.js +1 -1
  107. package/esm/modules/uploads/controllers/upload-files.d.ts +1 -0
  108. package/esm/modules/uploads/controllers/upload-files.d.ts.map +1 -1
  109. package/esm/modules/uploads/controllers/upload-files.js +28 -7
  110. package/esm/modules/uploads/controllers/upload-files.js.map +1 -1
  111. package/esm/modules/uploads/utils/uploadable.d.ts +1 -1
  112. package/esm/modules/uploads/utils/uploadable.d.ts.map +1 -1
  113. package/esm/modules/uploads/utils/uploadable.js +3 -15
  114. package/esm/modules/uploads/utils/uploadable.js.map +1 -1
  115. package/esm/postman/index.d.ts +6 -0
  116. package/esm/postman/index.d.ts.map +1 -0
  117. package/esm/postman/index.js +30 -0
  118. package/esm/postman/index.js.map +1 -0
  119. package/esm/postman/postman-events.d.ts +6 -0
  120. package/esm/postman/postman-events.d.ts.map +1 -0
  121. package/esm/postman/postman-events.js +8 -0
  122. package/esm/postman/postman-events.js.map +1 -0
  123. package/esm/postman/postman-generator.d.ts +70 -0
  124. package/esm/postman/postman-generator.d.ts.map +1 -0
  125. package/esm/postman/postman-generator.js +401 -0
  126. package/esm/postman/postman-generator.js.map +1 -0
  127. package/esm/postman/types.d.ts +135 -0
  128. package/esm/postman/types.d.ts.map +1 -0
  129. package/esm/repositories/repository-listing.d.ts.map +1 -1
  130. package/esm/repositories/repository-listing.js +4 -1
  131. package/esm/repositories/repository-listing.js.map +1 -1
  132. package/esm/router/route.d.ts +26 -0
  133. package/esm/router/route.d.ts.map +1 -0
  134. package/esm/router/router.d.ts.map +1 -1
  135. package/esm/router/router.js +3 -0
  136. package/esm/router/router.js.map +1 -1
  137. package/esm/router/types.d.ts +44 -0
  138. package/esm/router/types.d.ts.map +1 -1
  139. package/esm/validator/index.d.ts +1 -0
  140. package/esm/validator/index.d.ts.map +1 -1
  141. package/esm/validator/locales.js +6 -2
  142. package/esm/validator/locales.js.map +1 -1
  143. package/esm/validator/rules/file.d.ts.map +1 -1
  144. package/esm/validator/rules/file.js +1 -0
  145. package/esm/validator/rules/file.js.map +1 -1
  146. package/esm/validator/rules/in.js +1 -1
  147. package/esm/validator/rules/in.js.map +1 -1
  148. package/esm/validator/v/array-validator.d.ts +21 -0
  149. package/esm/validator/v/array-validator.d.ts.map +1 -0
  150. package/esm/validator/v/base-validator.d.ts +117 -0
  151. package/esm/validator/v/base-validator.d.ts.map +1 -0
  152. package/esm/validator/v/index.d.ts +3 -0
  153. package/esm/validator/v/index.d.ts.map +1 -0
  154. package/esm/validator/v/mutators.d.ts +23 -0
  155. package/esm/validator/v/mutators.d.ts.map +1 -0
  156. package/esm/validator/v/mutators.js +83 -0
  157. package/esm/validator/v/mutators.js.map +1 -0
  158. package/esm/validator/v/number-validator.d.ts +21 -0
  159. package/esm/validator/v/number-validator.d.ts.map +1 -0
  160. package/esm/validator/v/object-validator.d.ts +37 -0
  161. package/esm/validator/v/object-validator.d.ts.map +1 -0
  162. package/esm/validator/v/rules.d.ts +83 -0
  163. package/esm/validator/v/rules.d.ts.map +1 -0
  164. package/esm/validator/v/rules.js +457 -0
  165. package/esm/validator/v/rules.js.map +1 -0
  166. package/esm/validator/v/schema.d.ts +159 -0
  167. package/esm/validator/v/schema.d.ts.map +1 -0
  168. package/esm/validator/v/schema.js +516 -0
  169. package/esm/validator/v/schema.js.map +1 -0
  170. package/esm/validator/v/string-validator.d.ts +41 -0
  171. package/esm/validator/v/string-validator.d.ts.map +1 -0
  172. package/esm/validator/v/types.d.ts +63 -0
  173. package/esm/validator/v/types.d.ts.map +1 -0
  174. package/esm/validator/v/utils.d.ts +5 -0
  175. package/esm/validator/v/utils.d.ts.map +1 -0
  176. package/esm/validator/v/utils.js +22 -0
  177. package/esm/validator/v/utils.js.map +1 -0
  178. package/esm/validator/validateAll.d.ts.map +1 -1
  179. package/esm/validator/validateAll.js +17 -1
  180. package/esm/validator/validateAll.js.map +1 -1
  181. package/package.json +5 -5
@@ -0,0 +1,516 @@
1
+ import {trans}from'@mongez/localization';import {clone}from'@mongez/reinforcements';import {isPlainObject}from'@mongez/supportive-is';import {stripUnknownMutator,objectTrimMutator,flipArrayMutator,uniqueArrayMutator,sortArrayMutator,stringMutator,lowercaseMutator,uppercaseMutator,dateMutator,numberMutator}from'./mutators.js';import {requiredRule,requiredWithRule,requiredIfAbsentRule,requiredIfEmptyRule,requiredIfFieldRule,objectRule,unknownKeyRule,arrayRule,minLengthRule,maxLengthRule,lengthRule,uniqueArrayRule,stringRule,emailRule,urlRule,matchesRule,patternRule,enumRule,equalRule,uniqueRule,existsRule,dateRule,intRule,floatRule,booleanRule,scalarRule,fileRile,imageRule,minFileSizeRule,maxFileSizeRule,minWidthRule,maxWidthRule,minHeightRule,numberRule,minRule,maxRule,positiveRule}from'./rules.js';import {setKeyPath}from'./utils.js';class BaseValidator {
2
+ rules = [];
3
+ mutators = [];
4
+ defaultValue;
5
+ addRule(rule, errorMessage) {
6
+ const newRule = {
7
+ ...clone(rule),
8
+ context: {
9
+ errorMessage,
10
+ options: {},
11
+ },
12
+ };
13
+ if (errorMessage) {
14
+ newRule.errorMessage = errorMessage;
15
+ }
16
+ if (rule.sortOrder === undefined) {
17
+ newRule.sortOrder = this.rules.length + 1;
18
+ }
19
+ this.rules.push(newRule);
20
+ return newRule;
21
+ }
22
+ addMutator(mutator, options = {}) {
23
+ this.mutators.push({
24
+ mutate: mutator,
25
+ context: {
26
+ options,
27
+ ctx: {},
28
+ },
29
+ });
30
+ return this;
31
+ }
32
+ default(value) {
33
+ this.defaultValue = value;
34
+ return this;
35
+ }
36
+ present(errorMessage) {
37
+ this.addRule(requiredRule, errorMessage);
38
+ return this;
39
+ }
40
+ required(errorMessage) {
41
+ this.addRule(requiredRule, errorMessage);
42
+ return this;
43
+ }
44
+ requiredWith(input, errorMessage) {
45
+ const rule = this.addRule(requiredWithRule, errorMessage);
46
+ rule.context.options.input = input;
47
+ return this;
48
+ }
49
+ requiredIfAbsent(input, errorMessage) {
50
+ const rule = this.addRule(requiredIfAbsentRule, errorMessage);
51
+ rule.context.options.input = input;
52
+ return this;
53
+ }
54
+ requiredIfEmpty(input, errorMessage) {
55
+ const rule = this.addRule(requiredIfEmptyRule, errorMessage);
56
+ rule.context.options.input = input;
57
+ return this;
58
+ }
59
+ requiredIfField(input, value, errorMessage) {
60
+ const rule = this.addRule(requiredIfFieldRule, errorMessage);
61
+ rule.context.options.field = input;
62
+ rule.context.options.value = value;
63
+ return this;
64
+ }
65
+ async mutate(data, context) {
66
+ let mutatedData = data;
67
+ for (const mutator of this.mutators) {
68
+ mutator.context.ctx = context;
69
+ mutatedData = await mutator.mutate(mutatedData, mutator.context);
70
+ }
71
+ return mutatedData;
72
+ }
73
+ async validate(data, context) {
74
+ const mutatedData = await this.mutate(data ?? this.defaultValue, context);
75
+ const errors = [];
76
+ let isValid = true;
77
+ const isFirstErrorOnly = context.configurations?.firstErrorOnly ?? true;
78
+ for (const rule of this.rules) {
79
+ if ((rule.requiresValue ?? true) && data === undefined)
80
+ continue;
81
+ const result = await rule.validate(mutatedData, context);
82
+ if (result.isValid === false) {
83
+ isValid = false;
84
+ errors.push({
85
+ type: rule.name,
86
+ error: result.error,
87
+ input: result.path ?? context.path,
88
+ });
89
+ if (isFirstErrorOnly) {
90
+ break;
91
+ }
92
+ }
93
+ }
94
+ return {
95
+ isValid,
96
+ errors,
97
+ data: mutatedData,
98
+ };
99
+ }
100
+ }
101
+ class AnyValidator extends BaseValidator {
102
+ }
103
+ class ObjectValidator extends BaseValidator {
104
+ schema;
105
+ /**
106
+ * Whether to allow unknown properties
107
+ *
108
+ * @default false
109
+ */
110
+ shouldAllowUnknown = false;
111
+ /**
112
+ * Allowed keys that could be in the data but not necessarily validated
113
+ */
114
+ allowedKeys = [];
115
+ constructor(schema, errorMessage) {
116
+ super();
117
+ this.schema = schema;
118
+ this.addRule(objectRule, errorMessage);
119
+ }
120
+ stripUnknown() {
121
+ this.addMutator(stripUnknownMutator, {
122
+ get allowedKeys() {
123
+ return this.allowedKeys;
124
+ },
125
+ });
126
+ return this;
127
+ }
128
+ /**
129
+ * Add list of allowed keys that could be in the data but not necessarily validated
130
+ */
131
+ allow(...keys) {
132
+ this.allowedKeys.push(...keys);
133
+ return this;
134
+ }
135
+ /**
136
+ * Trim values of the object properties
137
+ */
138
+ trim(recursive = true) {
139
+ this.addMutator(objectTrimMutator, { recursive });
140
+ return this;
141
+ }
142
+ allowUnknown(allow = true) {
143
+ this.shouldAllowUnknown = allow;
144
+ return this;
145
+ }
146
+ mutate(data, context) {
147
+ if (!isPlainObject(data))
148
+ return data;
149
+ return super.mutate({ ...data }, context);
150
+ }
151
+ async validate(data, context) {
152
+ context.schema = this.schema;
153
+ const mutatedData = await this.mutate(data, context);
154
+ // now we need to check if the object has unknown properties
155
+ if (this.shouldAllowUnknown === false) {
156
+ const rule = this.addRule(unknownKeyRule);
157
+ rule.context.options.allowedKeys = this.allowedKeys;
158
+ rule.context.options.schema = this.schema;
159
+ }
160
+ const result = await super.validate(mutatedData, context);
161
+ if (result.isValid === false)
162
+ return result;
163
+ // now we need to validate the object properties
164
+ const errors = [];
165
+ const validationPromises = Object.keys(this.schema).map(async (key) => {
166
+ const value = mutatedData[key];
167
+ const validator = this.schema[key];
168
+ const childContext = {
169
+ ...context,
170
+ parent: mutatedData,
171
+ value,
172
+ key,
173
+ path: setKeyPath(context.path, key),
174
+ };
175
+ const childResult = await validator.validate(value, childContext);
176
+ mutatedData[key] = childResult.data;
177
+ if (childResult.isValid === false) {
178
+ errors.push(...childResult.errors);
179
+ }
180
+ });
181
+ await Promise.all(validationPromises);
182
+ return {
183
+ isValid: errors.length === 0,
184
+ errors,
185
+ data: mutatedData,
186
+ };
187
+ }
188
+ }
189
+ class ArrayValidator extends AnyValidator {
190
+ validator;
191
+ constructor(validator, errorMessage) {
192
+ super();
193
+ this.validator = validator;
194
+ this.addRule(arrayRule, errorMessage);
195
+ }
196
+ // Start of mutators
197
+ // Mutators methods should start with `m` prefix
198
+ /**
199
+ * Reverse array order
200
+ */
201
+ flip() {
202
+ return this.addMutator(flipArrayMutator);
203
+ }
204
+ /**
205
+ * Reverse array order
206
+ */
207
+ reverse() {
208
+ return this.addMutator(flipArrayMutator);
209
+ }
210
+ /**
211
+ * Make it has only unique values
212
+ */
213
+ onlyUnique() {
214
+ return this.addMutator(uniqueArrayMutator);
215
+ }
216
+ /**
217
+ * Sort array
218
+ *
219
+ * If key is passed, it will sort by the key value
220
+ * @supports dot notation
221
+ */
222
+ sort(direction = "asc", key) {
223
+ this.addMutator(sortArrayMutator, { direction, key });
224
+ return this;
225
+ }
226
+ // End of mutators
227
+ // Start of rules
228
+ minLength(length, errorMessage) {
229
+ const rule = this.addRule(minLengthRule, errorMessage);
230
+ rule.context.options.minLength = length;
231
+ return this;
232
+ }
233
+ maxLength(length, errorMessage) {
234
+ const rule = this.addRule(maxLengthRule, errorMessage);
235
+ rule.context.options.maxLength = length;
236
+ return this;
237
+ }
238
+ length(length, errorMessage) {
239
+ const rule = this.addRule(lengthRule, errorMessage);
240
+ rule.context.options.length = length;
241
+ return this;
242
+ }
243
+ /**
244
+ * Array must have unique values
245
+ */
246
+ unique() {
247
+ this.addRule(uniqueArrayRule);
248
+ return this;
249
+ }
250
+ mutate(data, context) {
251
+ if (!Array.isArray(data))
252
+ return data;
253
+ return super.mutate([...data], context);
254
+ }
255
+ async validate(data, context) {
256
+ const mutatedData = await this.mutate(data, context);
257
+ const result = await super.validate(data, context);
258
+ if (result.isValid === false)
259
+ return result;
260
+ const errors = [];
261
+ for (let index = 0; index < mutatedData.length; index++) {
262
+ const value = mutatedData[index];
263
+ const childContext = {
264
+ ...context,
265
+ parent: mutatedData,
266
+ value,
267
+ key: index.toString(),
268
+ path: setKeyPath(context.path, index.toString()),
269
+ };
270
+ const childResult = await this.validator.validate(value, childContext);
271
+ mutatedData[index] = childResult.data;
272
+ if (childResult.isValid === false) {
273
+ errors.push(...childResult.errors);
274
+ }
275
+ if (context.configurations?.firstErrorOnly && errors.length) {
276
+ break;
277
+ }
278
+ }
279
+ return {
280
+ isValid: errors.length === 0,
281
+ errors,
282
+ data: mutatedData,
283
+ };
284
+ }
285
+ }
286
+ class StringValidator extends BaseValidator {
287
+ constructor(errorMessage) {
288
+ super();
289
+ this.addRule(stringRule, errorMessage);
290
+ this.addMutator(stringMutator);
291
+ }
292
+ lowercase() {
293
+ this.addMutator(lowercaseMutator);
294
+ return this;
295
+ }
296
+ uppercase() {
297
+ this.addMutator(uppercaseMutator);
298
+ return this;
299
+ }
300
+ email(errorMessage) {
301
+ this.addRule(emailRule, errorMessage);
302
+ return this;
303
+ }
304
+ url(errorMessage) {
305
+ this.addRule(urlRule, errorMessage);
306
+ return this;
307
+ }
308
+ matches(field, errorMessage) {
309
+ const rule = this.addRule(matchesRule, errorMessage);
310
+ rule.context.options.field = field;
311
+ return this;
312
+ }
313
+ pattern(pattern, errorMessage) {
314
+ const rule = this.addRule(patternRule, errorMessage);
315
+ rule.context.options.pattern = pattern;
316
+ return this;
317
+ }
318
+ minLength(length, errorMessage) {
319
+ const rule = this.addRule(minLengthRule, errorMessage);
320
+ rule.context.options.minLength = length;
321
+ return this;
322
+ }
323
+ maxLength(length, errorMessage) {
324
+ const rule = this.addRule(maxLengthRule, errorMessage);
325
+ rule.context.options.maxLength = length;
326
+ return this;
327
+ }
328
+ length(length, errorMessage) {
329
+ const rule = this.addRule(lengthRule, errorMessage);
330
+ rule.context.options.length = length;
331
+ return this;
332
+ }
333
+ enum(values, errorMessage) {
334
+ const rule = this.addRule(enumRule, errorMessage);
335
+ rule.context.options.values = values;
336
+ return this;
337
+ }
338
+ in(values, errorMessage) {
339
+ return this.enum(values, errorMessage);
340
+ }
341
+ equal(value, errorMessage) {
342
+ const rule = this.addRule(equalRule, errorMessage);
343
+ rule.context.options.value = value;
344
+ return this;
345
+ }
346
+ unique(model, { errorMessage, ...options } = {}) {
347
+ const rule = this.addRule(uniqueRule, errorMessage);
348
+ rule.context.options = {
349
+ ...options,
350
+ Model: model,
351
+ };
352
+ return this;
353
+ }
354
+ exists(model, { errorMessage, ...options } = {}) {
355
+ const rule = this.addRule(existsRule, errorMessage);
356
+ rule.context.options = {
357
+ ...options,
358
+ Model: model,
359
+ };
360
+ return this;
361
+ }
362
+ }
363
+ class DateValidator extends BaseValidator {
364
+ constructor(errorMessage) {
365
+ super();
366
+ this.addRule(dateRule, errorMessage);
367
+ this.addMutator(dateMutator);
368
+ }
369
+ }
370
+ class NumberValidator extends BaseValidator {
371
+ constructor(errorMessage) {
372
+ super();
373
+ this.addRule(numberRule, errorMessage);
374
+ this.addMutator(numberMutator);
375
+ }
376
+ min(min, errorMessage) {
377
+ const rule = this.addRule(minRule, errorMessage);
378
+ rule.context.options.min = min;
379
+ return this;
380
+ }
381
+ max(max, errorMessage) {
382
+ const rule = this.addRule(maxRule, errorMessage);
383
+ rule.context.options.max = max;
384
+ return this;
385
+ }
386
+ equal(value, errorMessage) {
387
+ const rule = this.addRule(equalRule, errorMessage);
388
+ rule.context.options.value = value;
389
+ return this;
390
+ }
391
+ positive(errorMessage) {
392
+ this.addRule(positiveRule, errorMessage);
393
+ return this;
394
+ }
395
+ unique(model, { errorMessage, ...options } = {}) {
396
+ const rule = this.addRule(uniqueRule, errorMessage);
397
+ rule.context.options = {
398
+ ...options,
399
+ Model: model,
400
+ };
401
+ return this;
402
+ }
403
+ exists(model, { errorMessage, ...options } = {}) {
404
+ const rule = this.addRule(existsRule, errorMessage);
405
+ rule.context.options = {
406
+ ...options,
407
+ Model: model,
408
+ };
409
+ return;
410
+ }
411
+ }
412
+ class IntValidator extends NumberValidator {
413
+ constructor(errorMessage) {
414
+ super();
415
+ this.addRule(intRule, errorMessage);
416
+ }
417
+ }
418
+ class FloatValidator extends NumberValidator {
419
+ constructor(errorMessage) {
420
+ super();
421
+ this.addRule(floatRule, errorMessage);
422
+ }
423
+ }
424
+ class BooleanValidator extends BaseValidator {
425
+ constructor(errorMessage) {
426
+ super();
427
+ this.addRule(booleanRule, errorMessage);
428
+ }
429
+ }
430
+ class ScalarValidator extends BaseValidator {
431
+ constructor(errorMessage) {
432
+ super();
433
+ this.addRule(scalarRule, errorMessage);
434
+ }
435
+ unique(model, { errorMessage, ...options } = {}) {
436
+ const rule = this.addRule(uniqueRule, errorMessage);
437
+ rule.context.options = {
438
+ ...options,
439
+ Model: model,
440
+ };
441
+ return this;
442
+ }
443
+ exists(model, { errorMessage, ...options } = {}) {
444
+ const rule = this.addRule(existsRule, errorMessage);
445
+ rule.context.options = {
446
+ ...options,
447
+ Model: model,
448
+ };
449
+ return;
450
+ }
451
+ }
452
+ class FileValidator extends BaseValidator {
453
+ constructor(errorMessage) {
454
+ super();
455
+ this.addRule(fileRile, errorMessage);
456
+ }
457
+ image(errorMessage) {
458
+ this.addRule(imageRule, errorMessage);
459
+ return this;
460
+ }
461
+ minFileSize(size, errorMessage) {
462
+ const rule = this.addRule(minFileSizeRule, errorMessage);
463
+ rule.context.options.minFileSize = size;
464
+ return this;
465
+ }
466
+ maxFileSize(size, errorMessage) {
467
+ const rule = this.addRule(maxFileSizeRule, errorMessage);
468
+ rule.context.options.maxFileSize = size;
469
+ return this;
470
+ }
471
+ minWidth(width, errorMessage) {
472
+ const rule = this.addRule(minWidthRule, errorMessage);
473
+ rule.context.options.minWidth = width;
474
+ return this;
475
+ }
476
+ maxWidth(width, errorMessage) {
477
+ const rule = this.addRule(maxWidthRule, errorMessage);
478
+ rule.context.options.maxWidth = width;
479
+ return this;
480
+ }
481
+ minHeight(height, errorMessage) {
482
+ const rule = this.addRule(minHeightRule, errorMessage);
483
+ rule.context.options.minHeight = height;
484
+ return this;
485
+ }
486
+ maxHeight(height, errorMessage) {
487
+ const rule = this.addRule(minHeightRule, errorMessage);
488
+ rule.context.options.maxHeight = height;
489
+ return this;
490
+ }
491
+ }
492
+ const validate = async (schema, data) => {
493
+ const context = {
494
+ allValues: data,
495
+ parent: null,
496
+ value: data,
497
+ key: "",
498
+ path: "",
499
+ translator(rule, attributes) {
500
+ return trans(`validation.${rule}`, attributes);
501
+ },
502
+ };
503
+ return await schema.validate(data, context);
504
+ };
505
+ const v = {
506
+ object: (schema, errorMessage) => new ObjectValidator(schema, errorMessage),
507
+ array: (validator, errorMessage) => new ArrayValidator(validator, errorMessage),
508
+ string: (errorMessage) => new StringValidator(errorMessage),
509
+ number: (errorMessage) => new NumberValidator(errorMessage),
510
+ int: (errorMessage) => new IntValidator(errorMessage),
511
+ float: (errorMessage) => new FloatValidator(errorMessage),
512
+ boolean: (errorMessage) => new BooleanValidator(errorMessage),
513
+ scalar: (errorMessage) => new ScalarValidator(errorMessage),
514
+ file: (errorMessage) => new FileValidator(errorMessage),
515
+ validate,
516
+ };export{AnyValidator,ArrayValidator,BaseValidator,BooleanValidator,DateValidator,FileValidator,FloatValidator,IntValidator,ObjectValidator,ScalarValidator,StringValidator,v,validate};//# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sources":["../../../src/validator/v/schema.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { StringRule } from "./../rules";
2
+ import { BaseValidator } from "./base-validator";
3
+ export declare class StringValidator extends BaseValidator {
4
+ /**
5
+ * Validator name
6
+ */
7
+ name: string;
8
+ /**
9
+ * Base rule
10
+ */
11
+ protected baseRule: StringRule;
12
+ /**
13
+ * Check if value is in the given values
14
+ */
15
+ in(values: string[], errorMessage?: string): this;
16
+ /**
17
+ * Check if value is an email
18
+ */
19
+ email(errorMessage?: string): this;
20
+ /**
21
+ * Check if value is a url
22
+ */
23
+ url(errorMessage?: string): this;
24
+ /**
25
+ * Check if value matches the given pattern
26
+ */
27
+ pattern(pattern: RegExp, errorMessage?: string): this;
28
+ /**
29
+ * Check if value matches the given min length
30
+ */
31
+ minLength(length: number, errorMessage?: string): this;
32
+ /**
33
+ * Check if value matches the given max length
34
+ */
35
+ maxLength(length: number, errorMessage?: string): this;
36
+ /**
37
+ * Check if value matches the given length
38
+ */
39
+ length(length: number, errorMessage?: string): this;
40
+ }
41
+ //# sourceMappingURL=string-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-validator.d.ts","sourceRoot":"","sources":["../../../src/validator/v/string-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,UAAU,EAEX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,eAAgB,SAAQ,aAAa;IAChD;;OAEG;IACI,IAAI,SAAY;IAEvB;;OAEG;IACH,SAAS,CAAC,QAAQ,aAAoB;IAEtC;;OAEG;IACI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAOjD;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM;IAOlC;;OAEG;IACI,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM;IAOhC;;OAEG;IACI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAOrD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAOtD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAOtD;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAMpD"}
@@ -0,0 +1,63 @@
1
+ import { type BaseValidator } from "./schema";
2
+ export type Schema = Record<string, BaseValidator>;
3
+ export type SchemaContext = {
4
+ allValues: any;
5
+ parent: any;
6
+ value: any;
7
+ key: string;
8
+ path: string;
9
+ schema?: Schema;
10
+ translator: (rule: string, options?: any) => string;
11
+ configurations?: {
12
+ firstErrorOnly: boolean;
13
+ };
14
+ };
15
+ export type MutatorContext = {
16
+ options: any;
17
+ ctx: SchemaContext;
18
+ };
19
+ export type Mutator = (data: any, context: MutatorContext) => Promise<any>;
20
+ export type ContextualizedMutator = {
21
+ mutate: Mutator;
22
+ context: {
23
+ options: any;
24
+ ctx: SchemaContext;
25
+ };
26
+ };
27
+ export type RuleResult = {
28
+ isValid: false;
29
+ error: string;
30
+ input: string;
31
+ path: string;
32
+ } | {
33
+ isValid: true;
34
+ };
35
+ export type ContextualSchemaRule = SchemaRule & {
36
+ /**
37
+ * The context object is used to pass additional information to the rule
38
+ * This will be always overridden when the rule is injected into a validator
39
+ */
40
+ context: {
41
+ errorMessage?: string;
42
+ options: Record<string, any>;
43
+ };
44
+ };
45
+ export type SchemaRule = {
46
+ name: string;
47
+ description?: string;
48
+ requiresValue?: boolean;
49
+ validate: (this: ContextualSchemaRule, value: any, context: SchemaContext) => Promise<RuleResult>;
50
+ defaultErrorMessage?: string;
51
+ errorMessage?: string;
52
+ sortOrder?: number;
53
+ };
54
+ export type ValidationResult = {
55
+ isValid: boolean;
56
+ data: any;
57
+ errors: {
58
+ type: string;
59
+ error: string;
60
+ input: string;
61
+ }[];
62
+ };
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/validator/v/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IACpD,cAAc,CAAC,EAAE;QACf,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,GAAG,CAAC;IACb,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,GAAG,CAAC;QAEb,GAAG,EAAE,aAAa,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C;;;OAGG;IACH,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,CACR,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;CACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ContextualSchemaRule, RuleResult, SchemaContext } from "./types";
2
+ export declare const VALID_RULE: RuleResult;
3
+ export declare const invalidRule: (rule: ContextualSchemaRule, context: SchemaContext) => RuleResult;
4
+ export declare const setKeyPath: (path: string, key: string) => string;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/validator/v/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/E,eAAO,MAAM,UAAU,EAAE,UAExB,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,oBAAoB,WACjB,aAAa,KACrB,UAiBF,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,MAAM,OAAO,MAAM,WAInD,CAAC"}