@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,457 @@
1
+ import {get}from'@mongez/reinforcements';import {isEmpty,isPlainObject,isEmail}from'@mongez/supportive-is';import {Aggregate}from'@warlock.js/cascade';import {UploadedFile}from'../../http/UploadedFile.js';import {invalidRule,VALID_RULE,setKeyPath}from'./utils.js';const requiredRule = {
2
+ name: "required",
3
+ defaultErrorMessage: "The :input is required",
4
+ requiresValue: false,
5
+ sortOrder: -2,
6
+ async validate(value, context) {
7
+ if (isEmpty(value)) {
8
+ return invalidRule(this, context);
9
+ }
10
+ return VALID_RULE;
11
+ },
12
+ };
13
+ const requiredWithRule = {
14
+ name: "requiredWith",
15
+ description: "The field is required if another field is present",
16
+ sortOrder: -2,
17
+ requiresValue: false,
18
+ errorMessage: "The :input is required",
19
+ async validate(value, context) {
20
+ const otherField = this.context.options.field;
21
+ const fieldValue = get(context.allValues, otherField);
22
+ if ([undefined, null].includes(fieldValue)) {
23
+ return VALID_RULE;
24
+ }
25
+ if (isEmpty(value)) {
26
+ return invalidRule(this, context);
27
+ }
28
+ return VALID_RULE;
29
+ },
30
+ };
31
+ const requiredIfAbsentRule = {
32
+ name: "requiredIfAbsent",
33
+ description: "The field is required if another field is absent",
34
+ sortOrder: -2,
35
+ requiresValue: false,
36
+ errorMessage: "The :input is required",
37
+ async validate(value, context) {
38
+ const otherField = this.context.options.field;
39
+ const fieldValue = get(context.allValues, otherField);
40
+ const isPresent = ![undefined, null].includes(fieldValue);
41
+ if (!isPresent && isEmpty(value)) {
42
+ return invalidRule(this, context);
43
+ }
44
+ return VALID_RULE;
45
+ },
46
+ };
47
+ const requiredIfEmptyRule = {
48
+ name: "requiredIfEmpty",
49
+ description: "The field is required if another field is empty",
50
+ sortOrder: -2,
51
+ requiresValue: false,
52
+ errorMessage: "The :input is required",
53
+ async validate(value, context) {
54
+ const otherField = this.context.options.field;
55
+ const fieldValue = get(context.allValues, otherField);
56
+ if (isEmpty(fieldValue) && isEmpty(value)) {
57
+ return invalidRule(this, context);
58
+ }
59
+ return VALID_RULE;
60
+ },
61
+ };
62
+ const requiredIfFieldRule = {
63
+ name: "requiredIfField",
64
+ description: "The field is required if another field has a specific value",
65
+ sortOrder: -2,
66
+ requiresValue: false,
67
+ errorMessage: "The :input is required",
68
+ async validate(value, context) {
69
+ const otherField = this.context.options.field;
70
+ const otherFieldValue = this.context.options.value;
71
+ if (otherField === undefined) {
72
+ throw new Error("The field option is required for requiredIfField rule");
73
+ }
74
+ const fieldValue = get(context.allValues, otherField);
75
+ if (fieldValue === otherFieldValue && isEmpty(value)) {
76
+ return invalidRule(this, context);
77
+ }
78
+ return VALID_RULE;
79
+ },
80
+ };
81
+ const objectRule = {
82
+ name: "object",
83
+ defaultErrorMessage: "The :input must be an object",
84
+ async validate(value, context) {
85
+ if (isPlainObject(value)) {
86
+ return VALID_RULE;
87
+ }
88
+ return invalidRule(this, context);
89
+ },
90
+ };
91
+ const arrayRule = {
92
+ name: "array",
93
+ defaultErrorMessage: "The :input must be an array",
94
+ async validate(value, context) {
95
+ if (Array.isArray(value)) {
96
+ return VALID_RULE;
97
+ }
98
+ return invalidRule(this, context);
99
+ },
100
+ };
101
+ const stringRule = {
102
+ name: "string",
103
+ errorMessage: "The :input must be a string",
104
+ async validate(value, context) {
105
+ if (typeof value === "string") {
106
+ return VALID_RULE;
107
+ }
108
+ return invalidRule(this, context);
109
+ },
110
+ };
111
+ const numberRule = {
112
+ name: "number",
113
+ errorMessage: "The :input must be a number",
114
+ async validate(value, context) {
115
+ if (typeof value === "number") {
116
+ return VALID_RULE;
117
+ }
118
+ return invalidRule(this, context);
119
+ },
120
+ };
121
+ const booleanRule = {
122
+ name: "boolean",
123
+ errorMessage: "The :input must be a boolean",
124
+ async validate(value, context) {
125
+ if (typeof value === "boolean") {
126
+ return VALID_RULE;
127
+ }
128
+ return invalidRule(this, context);
129
+ },
130
+ };
131
+ const intRule = {
132
+ name: "int",
133
+ errorMessage: "The :input must be an integer",
134
+ async validate(value, context) {
135
+ if (Number.isInteger(value)) {
136
+ return VALID_RULE;
137
+ }
138
+ return invalidRule(this, context);
139
+ },
140
+ };
141
+ const floatRule = {
142
+ name: "float",
143
+ errorMessage: "The :input must be a float",
144
+ async validate(value, context) {
145
+ if (Number.isFinite(value) && !Number.isInteger(value)) {
146
+ return VALID_RULE;
147
+ }
148
+ return invalidRule(this, context);
149
+ },
150
+ };
151
+ const inRule = {
152
+ name: "in",
153
+ errorMessage: "The :input must be one of the following values: :options",
154
+ async validate(value, context) {
155
+ if (this.context.options.values.includes(value)) {
156
+ return VALID_RULE;
157
+ }
158
+ return invalidRule(this, context);
159
+ },
160
+ };
161
+ const enumRule = inRule;
162
+ const minLengthRule = {
163
+ name: "minLength",
164
+ errorMessage: `The :input must be at least :minLength characters long`,
165
+ async validate(value, context) {
166
+ if (value?.length >= this.context.options.minLength) {
167
+ return VALID_RULE;
168
+ }
169
+ return invalidRule(this, context);
170
+ },
171
+ };
172
+ const maxLengthRule = {
173
+ name: "maxLength",
174
+ errorMessage: `The :input must not exceed :maxLength characters`,
175
+ async validate(value, context) {
176
+ if (value?.length <= this.context.options.maxLength) {
177
+ return VALID_RULE;
178
+ }
179
+ return invalidRule(this, context);
180
+ },
181
+ };
182
+ const lengthRule = {
183
+ name: "length",
184
+ errorMessage: `The :input must be exactly :length characters long`,
185
+ async validate(value, context) {
186
+ if (value?.length === this.context.options.length) {
187
+ return VALID_RULE;
188
+ }
189
+ return invalidRule(this, context);
190
+ },
191
+ };
192
+ const minRule = {
193
+ name: "min",
194
+ errorMessage: `The :input must be at least :min`,
195
+ async validate(value, context) {
196
+ if (value >= this.context.options.min) {
197
+ return VALID_RULE;
198
+ }
199
+ return invalidRule(this, context);
200
+ },
201
+ };
202
+ const maxRule = {
203
+ name: "max",
204
+ errorMessage: `The :input must equal to or less than :max`,
205
+ async validate(value, context) {
206
+ if (value <= this.context.options.max) {
207
+ return VALID_RULE;
208
+ }
209
+ return invalidRule(this, context);
210
+ },
211
+ };
212
+ const equalRule = {
213
+ name: "equal",
214
+ errorMessage: `The :input must be equal to :value`,
215
+ async validate(input, context) {
216
+ if (input === this.context.options.value) {
217
+ return VALID_RULE;
218
+ }
219
+ return invalidRule(this, context);
220
+ },
221
+ };
222
+ const emailRule = {
223
+ name: "email",
224
+ errorMessage: "The :input must be a valid email address",
225
+ async validate(value, context) {
226
+ if (isEmail(value)) {
227
+ return VALID_RULE;
228
+ }
229
+ return invalidRule(this, context);
230
+ },
231
+ };
232
+ const scalarRule = {
233
+ name: "scalar",
234
+ errorMessage: "The :input must be a scalar value",
235
+ async validate(value, context) {
236
+ // a valid value considered to beb either a string, number, or boolean
237
+ if (["string", "number", "boolean"].includes(typeof value)) {
238
+ return VALID_RULE;
239
+ }
240
+ return invalidRule(this, context);
241
+ },
242
+ };
243
+ const unknownKeyRule = {
244
+ name: "unknownKey",
245
+ sortOrder: -1,
246
+ errorMessage: "The :input contains unknown properties",
247
+ async validate(value, context) {
248
+ const schema = this.context.options.schema;
249
+ const allowedKeys = this.context.options.allowedKeys || [];
250
+ for (const key in value) {
251
+ if (!schema[key] && !allowedKeys.includes(key)) {
252
+ this.context.options.key = setKeyPath(context.path, key);
253
+ const newContext = {
254
+ ...context,
255
+ key,
256
+ path: setKeyPath(context.path, key),
257
+ };
258
+ return invalidRule(this, newContext);
259
+ }
260
+ }
261
+ return VALID_RULE;
262
+ },
263
+ };
264
+ const matchesRule = {
265
+ name: "matches",
266
+ errorMessage: "The :input must match the :field",
267
+ async validate(value, context) {
268
+ const otherField = this.context.options.field;
269
+ if (value === get(context.allValues, otherField)) {
270
+ return VALID_RULE;
271
+ }
272
+ return invalidRule(this, context);
273
+ },
274
+ };
275
+ const dateRule = {
276
+ name: "date",
277
+ errorMessage: "The :input must be a valid date",
278
+ async validate(value, context) {
279
+ if (new Date(value).toString() !== "Invalid Date") {
280
+ return VALID_RULE;
281
+ }
282
+ return invalidRule(this, context);
283
+ },
284
+ };
285
+ const urlRule = {
286
+ name: "url",
287
+ errorMessage: "The :input must be a valid URL",
288
+ async validate(value, context) {
289
+ try {
290
+ new URL(value);
291
+ return VALID_RULE;
292
+ }
293
+ catch (error) {
294
+ return invalidRule(this, context);
295
+ }
296
+ },
297
+ };
298
+ const patternRule = {
299
+ name: "pattern",
300
+ errorMessage: "The :input does not match the pattern",
301
+ async validate(value, context) {
302
+ if (this.context.options.pattern.test(value)) {
303
+ return VALID_RULE;
304
+ }
305
+ return invalidRule(this, context);
306
+ },
307
+ };
308
+ const positiveRule = {
309
+ name: "positive",
310
+ errorMessage: "The :input must be a positive number",
311
+ async validate(value, context) {
312
+ if (value > 0) {
313
+ return VALID_RULE;
314
+ }
315
+ return invalidRule(this, context);
316
+ },
317
+ };
318
+ // unique for array
319
+ const uniqueArrayRule = {
320
+ name: "uniqueArray",
321
+ description: "The array must contain unique values",
322
+ errorMessage: "The :input must contain unique values",
323
+ async validate(value, context) {
324
+ const uniqueValues = new Set(value);
325
+ if (uniqueValues.size === value.length) {
326
+ return VALID_RULE;
327
+ }
328
+ return invalidRule(this, context);
329
+ },
330
+ };
331
+ /**
332
+ * Unique rule works with database
333
+ */
334
+ const uniqueRule = {
335
+ name: "unique",
336
+ errorMessage: "The :input must be unique",
337
+ async validate(value, context) {
338
+ const { Model, except, column = context.key, exceptColumnName, exceptValue, query, } = this.context.options;
339
+ const dbQuery = typeof Model !== "string" ? Model.aggregate() : new Aggregate(Model);
340
+ dbQuery.where(column, value);
341
+ if (except) {
342
+ const exceptValue = get(context.allValues, except);
343
+ if (exceptValue !== undefined) {
344
+ dbQuery.where(except, "!=", exceptValue);
345
+ }
346
+ }
347
+ if (exceptValue !== undefined) {
348
+ dbQuery.where(exceptColumnName ?? context.key, "!=", exceptValue);
349
+ }
350
+ if (query) {
351
+ await query({
352
+ query: dbQuery,
353
+ value,
354
+ allValues: context.allValues,
355
+ });
356
+ }
357
+ const document = await dbQuery.first();
358
+ if (!document) {
359
+ return VALID_RULE;
360
+ }
361
+ return invalidRule(this, context);
362
+ },
363
+ };
364
+ const existsRule = {
365
+ name: "exists",
366
+ errorMessage: "The :input must exist",
367
+ async validate(value, context) {
368
+ const { Model, query, column = context.key } = this.context.options;
369
+ const dbQuery = typeof Model !== "string" ? Model.aggregate() : new Aggregate(Model);
370
+ dbQuery.where(column, value);
371
+ if (query) {
372
+ await query({
373
+ query: dbQuery,
374
+ value,
375
+ allValues: context.allValues,
376
+ });
377
+ }
378
+ const document = await dbQuery.first();
379
+ if (document) {
380
+ return VALID_RULE;
381
+ }
382
+ return invalidRule(this, context);
383
+ },
384
+ };
385
+ const fileRile = {
386
+ name: "file",
387
+ errorMessage: "The :input must be a file",
388
+ async validate(value, context) {
389
+ if (value instanceof UploadedFile) {
390
+ return VALID_RULE;
391
+ }
392
+ return invalidRule(this, context);
393
+ },
394
+ };
395
+ const maxFileSizeRule = {
396
+ name: "maxFileSize",
397
+ errorMessage: "The :input must not exceed :maxFileSize",
398
+ async validate(value, context) {
399
+ if (value.size <= this.context.options.maxFileSize) {
400
+ return VALID_RULE;
401
+ }
402
+ return invalidRule(this, context);
403
+ },
404
+ };
405
+ const minFileSizeRule = {
406
+ name: "minFileSize",
407
+ errorMessage: "The :input must be at least :minFileSize",
408
+ async validate(value, context) {
409
+ if (value.size >= this.context.options.minFileSize) {
410
+ return VALID_RULE;
411
+ }
412
+ return invalidRule(this, context);
413
+ },
414
+ };
415
+ const imageRule = {
416
+ name: "image",
417
+ errorMessage: "The :input must be an image",
418
+ async validate(value, context) {
419
+ if (value instanceof UploadedFile && value.isImage) {
420
+ return VALID_RULE;
421
+ }
422
+ return invalidRule(this, context);
423
+ },
424
+ };
425
+ const minWidthRule = {
426
+ name: "minWidth",
427
+ errorMessage: "The :input must be at least :minWidth pixels wide",
428
+ async validate(value, context) {
429
+ const dimensions = await value.dimensions();
430
+ if (dimensions.width >= this.context.options.minWidth) {
431
+ return VALID_RULE;
432
+ }
433
+ return invalidRule(this, context);
434
+ },
435
+ };
436
+ const maxWidthRule = {
437
+ name: "maxWidth",
438
+ errorMessage: "The :input must be at most :maxWidth pixels wide",
439
+ async validate(value, context) {
440
+ const dimensions = await value.dimensions();
441
+ if (dimensions.width <= this.context.options.maxWidth) {
442
+ return VALID_RULE;
443
+ }
444
+ return invalidRule(this, context);
445
+ },
446
+ };
447
+ const minHeightRule = {
448
+ name: "minHeight",
449
+ errorMessage: "The :input must be at least :minHeight pixels tall",
450
+ async validate(value, context) {
451
+ const dimensions = await value.dimensions();
452
+ if (dimensions.height >= this.context.options.minHeight) {
453
+ return VALID_RULE;
454
+ }
455
+ return invalidRule(this, context);
456
+ },
457
+ };export{arrayRule,booleanRule,dateRule,emailRule,enumRule,equalRule,existsRule,fileRile,floatRule,imageRule,inRule,intRule,lengthRule,matchesRule,maxFileSizeRule,maxLengthRule,maxRule,maxWidthRule,minFileSizeRule,minHeightRule,minLengthRule,minRule,minWidthRule,numberRule,objectRule,patternRule,positiveRule,requiredIfAbsentRule,requiredIfEmptyRule,requiredIfFieldRule,requiredRule,requiredWithRule,scalarRule,stringRule,uniqueArrayRule,uniqueRule,unknownKeyRule,urlRule};//# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sources":["../../../src/validator/v/rules.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import { type BaseModel } from "@warlock.js/cascade";
2
+ import { type ExistsRuleOptions, type UniqueRuleOptions } from "./rules";
3
+ import type { ContextualSchemaRule, ContextualizedMutator, Mutator, Schema, SchemaContext, SchemaRule, ValidationResult } from "./types";
4
+ export declare class BaseValidator {
5
+ rules: ContextualSchemaRule[];
6
+ mutators: ContextualizedMutator[];
7
+ protected defaultValue: any;
8
+ addRule(rule: SchemaRule, errorMessage?: string): ContextualSchemaRule;
9
+ addMutator(mutator: Mutator, options?: any): this;
10
+ default(value: any): this;
11
+ present(errorMessage?: string): this;
12
+ required(errorMessage?: string): this;
13
+ requiredWith(input: string, errorMessage?: string): this;
14
+ requiredIfAbsent(input: string, errorMessage?: string): this;
15
+ requiredIfEmpty(input: string, errorMessage?: string): this;
16
+ requiredIfField(input: string, value: any, errorMessage?: string): this;
17
+ mutate(data: any, context: SchemaContext): Promise<any>;
18
+ validate(data: any, context: SchemaContext): Promise<ValidationResult>;
19
+ }
20
+ export declare class AnyValidator extends BaseValidator {
21
+ }
22
+ export declare class ObjectValidator extends BaseValidator {
23
+ schema: Schema;
24
+ /**
25
+ * Whether to allow unknown properties
26
+ *
27
+ * @default false
28
+ */
29
+ protected shouldAllowUnknown: boolean;
30
+ /**
31
+ * Allowed keys that could be in the data but not necessarily validated
32
+ */
33
+ protected allowedKeys: string[];
34
+ constructor(schema: Schema, errorMessage?: string);
35
+ stripUnknown(): this;
36
+ /**
37
+ * Add list of allowed keys that could be in the data but not necessarily validated
38
+ */
39
+ allow(...keys: string[]): this;
40
+ /**
41
+ * Trim values of the object properties
42
+ */
43
+ trim(recursive?: boolean): this;
44
+ allowUnknown(allow?: boolean): this;
45
+ mutate(data: any, context: SchemaContext): any;
46
+ validate(data: any, context: SchemaContext): Promise<ValidationResult>;
47
+ }
48
+ export declare class ArrayValidator extends AnyValidator {
49
+ validator: BaseValidator;
50
+ constructor(validator: BaseValidator, errorMessage?: string);
51
+ /**
52
+ * Reverse array order
53
+ */
54
+ flip(): this;
55
+ /**
56
+ * Reverse array order
57
+ */
58
+ reverse(): this;
59
+ /**
60
+ * Make it has only unique values
61
+ */
62
+ onlyUnique(): this;
63
+ /**
64
+ * Sort array
65
+ *
66
+ * If key is passed, it will sort by the key value
67
+ * @supports dot notation
68
+ */
69
+ sort(direction?: "asc" | "desc", key?: string): this;
70
+ minLength(length: number, errorMessage?: string): this;
71
+ maxLength(length: number, errorMessage?: string): this;
72
+ length(length: number, errorMessage?: string): this;
73
+ /**
74
+ * Array must have unique values
75
+ */
76
+ unique(): this;
77
+ mutate(data: any, context: SchemaContext): any;
78
+ validate(data: any, context: SchemaContext): Promise<ValidationResult>;
79
+ }
80
+ export declare class StringValidator extends BaseValidator {
81
+ constructor(errorMessage?: string);
82
+ lowercase(): this;
83
+ uppercase(): this;
84
+ email(errorMessage?: string): this;
85
+ url(errorMessage?: string): this;
86
+ matches(field: RegExp, errorMessage?: string): this;
87
+ pattern(pattern: string, errorMessage?: string): this;
88
+ minLength(length: number, errorMessage?: string): this;
89
+ maxLength(length: number, errorMessage?: string): this;
90
+ length(length: number, errorMessage?: string): this;
91
+ enum(values: any[], errorMessage?: string): this;
92
+ in(values: any[], errorMessage?: string): this;
93
+ equal(value: any, errorMessage?: string): this;
94
+ unique(model: typeof BaseModel | string, { errorMessage, ...options }?: UniqueRuleOptions & {
95
+ errorMessage?: string;
96
+ }): this;
97
+ exists(model: typeof BaseModel | string, { errorMessage, ...options }?: ExistsRuleOptions & {
98
+ errorMessage?: string;
99
+ }): this;
100
+ }
101
+ export declare class DateValidator extends BaseValidator {
102
+ constructor(errorMessage?: string);
103
+ }
104
+ declare class NumberValidator extends BaseValidator {
105
+ constructor(errorMessage?: string);
106
+ min(min: number, errorMessage?: string): this;
107
+ max(max: number, errorMessage?: string): this;
108
+ equal(value: number, errorMessage?: string): this;
109
+ positive(errorMessage?: string): this;
110
+ unique(model: typeof BaseModel | string, { errorMessage, ...options }?: UniqueRuleOptions & {
111
+ errorMessage?: string;
112
+ }): this;
113
+ exists(model: typeof BaseModel | string, { errorMessage, ...options }?: ExistsRuleOptions & {
114
+ errorMessage?: string;
115
+ }): void;
116
+ }
117
+ export declare class IntValidator extends NumberValidator {
118
+ constructor(errorMessage?: string);
119
+ }
120
+ export declare class FloatValidator extends NumberValidator {
121
+ constructor(errorMessage?: string);
122
+ }
123
+ export declare class BooleanValidator extends BaseValidator {
124
+ constructor(errorMessage?: string);
125
+ }
126
+ export declare class ScalarValidator extends BaseValidator {
127
+ constructor(errorMessage?: string);
128
+ unique(model: typeof BaseModel | string, { errorMessage, ...options }?: UniqueRuleOptions & {
129
+ errorMessage?: string;
130
+ }): this;
131
+ exists(model: typeof BaseModel | string, { errorMessage, ...options }?: ExistsRuleOptions & {
132
+ errorMessage?: string;
133
+ }): void;
134
+ }
135
+ export declare class FileValidator extends BaseValidator {
136
+ constructor(errorMessage?: string);
137
+ image(errorMessage?: string): this;
138
+ minFileSize(size: number, errorMessage?: string): this;
139
+ maxFileSize(size: number, errorMessage?: string): this;
140
+ minWidth(width: number, errorMessage?: string): this;
141
+ maxWidth(width: number, errorMessage?: string): this;
142
+ minHeight(height: number, errorMessage?: string): this;
143
+ maxHeight(height: number, errorMessage?: string): this;
144
+ }
145
+ export declare const validate: (schema: BaseValidator, data: any) => Promise<ValidationResult>;
146
+ export declare const v: {
147
+ object: (schema: Schema, errorMessage?: string) => ObjectValidator;
148
+ array: (validator: BaseValidator, errorMessage?: string) => ArrayValidator;
149
+ string: (errorMessage?: string) => StringValidator;
150
+ number: (errorMessage?: string) => NumberValidator;
151
+ int: (errorMessage?: string) => IntValidator;
152
+ float: (errorMessage?: string) => FloatValidator;
153
+ boolean: (errorMessage?: string) => BooleanValidator;
154
+ scalar: (errorMessage?: string) => ScalarValidator;
155
+ file: (errorMessage?: string) => FileValidator;
156
+ validate: (schema: BaseValidator, data: any) => Promise<ValidationResult>;
157
+ };
158
+ export {};
159
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/validator/v/schema.ts"],"names":[],"mappings":"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"}