@decaf-ts/decorator-validation 1.21.1 → 1.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/decorator-validation.cjs +1 -1
- package/dist/decorator-validation.cjs.map +1 -1
- package/dist/decorator-validation.js +1 -1
- package/dist/decorator-validation.js.map +1 -1
- package/lib/cjs/index.cjs +16 -2
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/model/ModelRegistry.cjs +29 -33
- package/lib/cjs/model/ModelRegistry.cjs.map +1 -1
- package/lib/cjs/model/decorators.cjs +2 -0
- package/lib/cjs/model/decorators.cjs.map +1 -1
- package/lib/cjs/validation/Validators/ListValidator.cjs +3 -9
- package/lib/cjs/validation/Validators/ListValidator.cjs.map +1 -1
- package/lib/cjs/validation/Validators/TypeValidator.cjs +5 -4
- package/lib/cjs/validation/Validators/TypeValidator.cjs.map +1 -1
- package/lib/cjs/validation/Validators/utils.cjs +44 -16
- package/lib/cjs/validation/Validators/utils.cjs.map +1 -1
- package/lib/esm/index.js +15 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/model/ModelRegistry.js +29 -33
- package/lib/esm/model/ModelRegistry.js.map +1 -1
- package/lib/esm/model/decorators.js +2 -0
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/validation/Validators/ListValidator.js +3 -9
- package/lib/esm/validation/Validators/ListValidator.js.map +1 -1
- package/lib/esm/validation/Validators/TypeValidator.js +5 -4
- package/lib/esm/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/esm/validation/Validators/utils.js +43 -16
- package/lib/esm/validation/Validators/utils.js.map +1 -1
- package/lib/types/index.d.cts +15 -1
- package/lib/types/index.d.mts +15 -1
- package/lib/types/validation/Validators/utils.d.cts +3 -1
- package/lib/types/validation/Validators/utils.d.mts +3 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeValidator.js","sourceRoot":"","sources":["TypeValidator.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF,iDAA2C;AAC3C,iDAAwE;AACxE,mDAA4C;AAC5C,sDAAgD;AAChD,6DAAuD;AACvD,yCAAiD;AACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,IAAI,aAAa,GAAG,MAAM,aAAc,SAAQ,wBAAS;IACrD,YAAY,OAAO,GAAG,qCAAsB,CAAC,IAAI;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO;QACpB,IAAI,KAAK,KAAK,SAAS;YACnB,OAAO,CAAC,0CAA0C;QACtD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC/C,IAAI,EAAE,GAAG,WAAW,IAAI,IAAI,CAAC;QAC7B,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"TypeValidator.js","sourceRoot":"","sources":["TypeValidator.js"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ exports.isLessThan = isLessThan;
|
|
|
5
5
|
exports.isGreaterThan = isGreaterThan;
|
|
6
6
|
exports.checkType = checkType;
|
|
7
7
|
exports.checkTypes = checkTypes;
|
|
8
|
+
exports.matchesAcceptedType = matchesAcceptedType;
|
|
8
9
|
exports.evaluateDesignTypes = evaluateDesignTypes;
|
|
9
10
|
exports.valueLength = valueLength;
|
|
10
11
|
const index_js_1 = require("./../../constants/index.cjs");
|
|
@@ -207,13 +208,16 @@ function isGreaterThan(a, b) {
|
|
|
207
208
|
function checkType(value, acceptedType) {
|
|
208
209
|
if (typeof value === acceptedType.toLowerCase())
|
|
209
210
|
return true;
|
|
211
|
+
if (value === null)
|
|
212
|
+
return false;
|
|
210
213
|
if (typeof value === "undefined")
|
|
211
214
|
return false;
|
|
212
215
|
if (typeof value !== "object")
|
|
213
216
|
return false;
|
|
214
|
-
return
|
|
217
|
+
return value instanceof Object &&
|
|
218
|
+
!!value.constructor &&
|
|
215
219
|
value.constructor.name.toLowerCase() ===
|
|
216
|
-
acceptedType.toLowerCase()
|
|
220
|
+
acceptedType.toLowerCase();
|
|
217
221
|
}
|
|
218
222
|
/**
|
|
219
223
|
* @description Checks if a value matches any of the specified type names
|
|
@@ -225,6 +229,42 @@ function checkType(value, acceptedType) {
|
|
|
225
229
|
function checkTypes(value, acceptedTypes) {
|
|
226
230
|
return !acceptedTypes.every((t) => !checkType(value, t));
|
|
227
231
|
}
|
|
232
|
+
function normalizeAcceptedType(acceptedType) {
|
|
233
|
+
if (typeof acceptedType === "function" && !acceptedType.name) {
|
|
234
|
+
return acceptedType();
|
|
235
|
+
}
|
|
236
|
+
return acceptedType;
|
|
237
|
+
}
|
|
238
|
+
function matchesAcceptedType(value, acceptedType) {
|
|
239
|
+
const normalizedType = normalizeAcceptedType(acceptedType);
|
|
240
|
+
if (typeof normalizedType === "string")
|
|
241
|
+
return checkType(value, normalizedType);
|
|
242
|
+
if (typeof normalizedType !== "function")
|
|
243
|
+
return false;
|
|
244
|
+
switch (normalizedType.name) {
|
|
245
|
+
case "String":
|
|
246
|
+
return typeof value === "string";
|
|
247
|
+
case "Number":
|
|
248
|
+
return typeof value === "number";
|
|
249
|
+
case "Boolean":
|
|
250
|
+
return typeof value === "boolean";
|
|
251
|
+
case "BigInt":
|
|
252
|
+
return typeof value === "bigint";
|
|
253
|
+
case "Symbol":
|
|
254
|
+
return typeof value === "symbol";
|
|
255
|
+
case "Function":
|
|
256
|
+
return typeof value === "function";
|
|
257
|
+
case "Array":
|
|
258
|
+
return Array.isArray(value);
|
|
259
|
+
case "Date":
|
|
260
|
+
return value instanceof Date;
|
|
261
|
+
case "Object":
|
|
262
|
+
return typeof value === "object";
|
|
263
|
+
default:
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
return value instanceof normalizedType;
|
|
267
|
+
}
|
|
228
268
|
/**
|
|
229
269
|
* @description Evaluates if a value matches the specified type metadata
|
|
230
270
|
* @summary Compares a value against type metadata to determine if they match
|
|
@@ -233,20 +273,8 @@ function checkTypes(value, acceptedTypes) {
|
|
|
233
273
|
* @return {boolean} Returns true if the value matches the type metadata, false otherwise
|
|
234
274
|
*/
|
|
235
275
|
function evaluateDesignTypes(value, types) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
return checkType(value, types);
|
|
239
|
-
case "object":
|
|
240
|
-
if (Array.isArray(types))
|
|
241
|
-
return checkTypes(value, types);
|
|
242
|
-
return true;
|
|
243
|
-
case "function":
|
|
244
|
-
if (types.name && types.name !== "Object")
|
|
245
|
-
return checkType(value, types.name);
|
|
246
|
-
return true;
|
|
247
|
-
default:
|
|
248
|
-
return true;
|
|
249
|
-
}
|
|
276
|
+
const expectedTypes = Array.isArray(types) ? types : [types];
|
|
277
|
+
return expectedTypes.some((type) => matchesAcceptedType(value, type));
|
|
250
278
|
}
|
|
251
279
|
/**
|
|
252
280
|
* @description Returns the length of a value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":";;AA0GA,oEAIC;AAcD,gCA0BC;AAcD,sCAyBC;AAQD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -19,7 +19,21 @@ export * from "./model/index.js";
|
|
|
19
19
|
* @const VERSION
|
|
20
20
|
* @memberOf module:decorator-validation
|
|
21
21
|
*/
|
|
22
|
-
export const VERSION = "1.
|
|
22
|
+
export const VERSION = "1.22.0";
|
|
23
|
+
/**
|
|
24
|
+
* @description Represents the current commit hash of the module build.
|
|
25
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
26
|
+
* the placeholder with the actual commit hash at publish time.
|
|
27
|
+
* @const COMMIT
|
|
28
|
+
*/
|
|
29
|
+
export const COMMIT = "a18c3a6";
|
|
30
|
+
/**
|
|
31
|
+
* @description Represents the full version string of the module.
|
|
32
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
33
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
34
|
+
* @const FULL_VERSION
|
|
35
|
+
*/
|
|
36
|
+
export const FULL_VERSION = "1.22.0-a18c3a6";
|
|
23
37
|
/**
|
|
24
38
|
* @description Current version of the reflection package
|
|
25
39
|
* @summary Stores the semantic version number of the package
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,+BAAsB;AAEtB,qCAA4B;AAC5B,qCAA4B;AAC5B,iCAAwB;AACxB,iCAAwB;AACxB,sCAA6B;AAC7B,iCAAwB;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,+BAAsB;AAEtB,qCAA4B;AAC5B,qCAA4B;AAC5B,iCAAwB;AACxB,iCAAwB;AACxB,sCAA6B;AAC7B,iCAAwB;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAG/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -192,6 +192,35 @@ export class ModelRegistryManager {
|
|
|
192
192
|
}
|
|
193
193
|
continue;
|
|
194
194
|
}
|
|
195
|
+
const validation = Metadata.validationFor(self.constructor, prop);
|
|
196
|
+
if (validation?.[ValidationKeys.LIST] &&
|
|
197
|
+
(Array.isArray(self[prop]) ||
|
|
198
|
+
self[prop] instanceof Set)) {
|
|
199
|
+
const listDec = validation[ValidationKeys.LIST];
|
|
200
|
+
const clazzName = listDec.clazz
|
|
201
|
+
.map((t) => typeof t === "function" && !t.name ? t() : t)
|
|
202
|
+
.find((t) => !jsTypes.includes(t.name.toLowerCase()));
|
|
203
|
+
if (Array.isArray(self[prop])) {
|
|
204
|
+
self[prop] = self[prop].map((el) => {
|
|
205
|
+
return ["object", "function"].includes(typeof el) && clazzName
|
|
206
|
+
? ModelRegistryManager.getRegistry().build(el, clazzName.name)
|
|
207
|
+
: el;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
if (self[prop] instanceof Set) {
|
|
211
|
+
const s = new Set();
|
|
212
|
+
for (const v of self[prop]) {
|
|
213
|
+
if (["object", "function"].includes(typeof v) && clazzName) {
|
|
214
|
+
s.add(ModelRegistryManager.getRegistry().build(v, clazzName.name));
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
s.add(v);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
self[prop] = s;
|
|
221
|
+
}
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
195
224
|
decorators = Metadata.allowedTypes(self.constructor, prop);
|
|
196
225
|
if (!decorators || !decorators.length)
|
|
197
226
|
throw new Error(`failed to find decorators for property ${prop}`);
|
|
@@ -201,39 +230,6 @@ export class ModelRegistryManager {
|
|
|
201
230
|
if (!reserved.includes(c))
|
|
202
231
|
try {
|
|
203
232
|
switch (c.name) {
|
|
204
|
-
case "Array":
|
|
205
|
-
case "Set": {
|
|
206
|
-
const validation = Metadata.validationFor(self.constructor, prop);
|
|
207
|
-
if (!validation || !validation[ValidationKeys.LIST])
|
|
208
|
-
break;
|
|
209
|
-
const listDec = validation[ValidationKeys.LIST];
|
|
210
|
-
const clazzName = listDec.clazz
|
|
211
|
-
.map((t) => typeof t === "function" && !t.name
|
|
212
|
-
? t()
|
|
213
|
-
: t)
|
|
214
|
-
.find((t) => !jsTypes.includes(t.name));
|
|
215
|
-
if (c.name === "Array")
|
|
216
|
-
self[prop] = self[prop].map((el) => {
|
|
217
|
-
return ["object", "function"].includes(typeof el) &&
|
|
218
|
-
clazzName
|
|
219
|
-
? ModelRegistryManager.getRegistry().build(el, clazzName.name)
|
|
220
|
-
: el;
|
|
221
|
-
});
|
|
222
|
-
if (c.name === "Set") {
|
|
223
|
-
const s = new Set();
|
|
224
|
-
for (const v of self[prop]) {
|
|
225
|
-
if (["object", "function"].includes(typeof v) &&
|
|
226
|
-
clazzName) {
|
|
227
|
-
s.add(ModelRegistryManager.getRegistry().build(v, clazzName.name));
|
|
228
|
-
}
|
|
229
|
-
else {
|
|
230
|
-
s.add(v);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
self[prop] = s;
|
|
234
|
-
}
|
|
235
|
-
break;
|
|
236
|
-
}
|
|
237
233
|
default:
|
|
238
234
|
if (typeof self[prop] !== "undefined" &&
|
|
239
235
|
ModelRegistryManager.getRegistry().get(c.name))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelRegistry.js","sourceRoot":"","sources":["../../../src/model/ModelRegistry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ModelRegistry.js","sourceRoot":"","sources":["../../../src/model/ModelRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ export function modelBaseDecorator(original) {
|
|
|
23
23
|
};
|
|
24
24
|
// copy prototype so instanceof operator still works
|
|
25
25
|
newConstructor.prototype = original.prototype;
|
|
26
|
+
// inherit static methods/properties from the original class
|
|
27
|
+
Object.setPrototypeOf(newConstructor, original);
|
|
26
28
|
// Sets the proper constructor name for type verification
|
|
27
29
|
Object.defineProperty(newConstructor, "name", {
|
|
28
30
|
writable: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,0BAAuB;AAC/D,OAAO,EAAE,SAAS,EAAE,gCAA2B;AAC/C,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAa;IAC9C,gCAAgC;IAChC,MAAM,cAAc,GAAQ,UAAU,GAAG,IAAW;QAClD,MAAM,QAAQ,GAAgC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7B,2EAA2E;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO;YAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElE,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,oDAAoD;IACpD,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAE9C,yDAAyD;IACzD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;KAC3C,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1D,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,kDAAkD;IAClD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,KAAK;IACnB,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5B,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB,EAAE,GAAG,IAAW;IACxD,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE;QACjC,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,GAAG,IAAW;IAC7D,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE;QACvC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,0BAAuB;AAC/D,OAAO,EAAE,SAAS,EAAE,gCAA2B;AAC/C,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAa;IAC9C,gCAAgC;IAChC,MAAM,cAAc,GAAQ,UAAU,GAAG,IAAW;QAClD,MAAM,QAAQ,GAAgC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7B,2EAA2E;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO;YAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElE,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,oDAAoD;IACpD,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAE9C,4DAA4D;IAC5D,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAEhD,yDAAyD;IACzD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;KAC3C,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1D,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,kDAAkD;IAClD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,KAAK;IACnB,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5B,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB,EAAE,GAAG,IAAW;IACxD,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE;QACjC,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,GAAG,IAAW;IAC7D,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE;QACvC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Validator } from "./Validator.js";
|
|
11
11
|
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
|
|
12
12
|
import { validator } from "./decorators.js";
|
|
13
|
+
import { matchesAcceptedType } from "./utils.js";
|
|
13
14
|
/**
|
|
14
15
|
* @description Validator for checking if elements in a list or set match expected types
|
|
15
16
|
* @summary The ListValidator validates that all elements in an array or Set match the expected types.
|
|
@@ -87,15 +88,8 @@ let ListValidator = class ListValidator extends Validator {
|
|
|
87
88
|
let val, isValid = true;
|
|
88
89
|
for (let i = 0; i < (Array.isArray(value) ? value.length : value.size); i++) {
|
|
89
90
|
val = [...value][i];
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
case "function":
|
|
93
|
-
isValid = clazz.includes((val ?? {}).constructor?.name); // null is an object
|
|
94
|
-
break;
|
|
95
|
-
default:
|
|
96
|
-
isValid = clazz.some((c) => typeof val === c?.toLowerCase());
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
91
|
+
isValid = (Array.isArray(options.clazz) ? options.clazz : [options.clazz])
|
|
92
|
+
.some((t) => matchesAcceptedType(val, t));
|
|
99
93
|
}
|
|
100
94
|
return isValid
|
|
101
95
|
? undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/ListValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;
|
|
1
|
+
{"version":3,"file":"ListValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/ListValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AAGzC,OAAO,EAAE,mBAAmB,EAAE,mBAAgB;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CACP,KAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAE3E,MAAM,KAAK,GAAG,CACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/D,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU;gBACrC,OAAQ,CAA4B,EAAE,CAAC,IAAI,CAAC;YAC9C,OAAO,CAAC,EAAE,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,GAAQ,EACV,OAAO,GAAG,IAAI,CAAC;QACjB,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACtD,CAAC,EAAE,EACH,CAAC;YACD,GAAG,GAAI,CAAC,GAAG,KAAK,CAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACvE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,OAAO;YACZ,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAlDY,aAAa;IADzB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;GAClB,aAAa,CAkDzB"}
|
|
@@ -95,15 +95,16 @@ let TypeValidator = class TypeValidator extends Validator {
|
|
|
95
95
|
return; // Don't try and enforce type if undefined
|
|
96
96
|
const { type, message, customTypes } = options;
|
|
97
97
|
let ts = customTypes || type;
|
|
98
|
-
ts =
|
|
98
|
+
ts = Array.isArray(ts) ? ts : [ts];
|
|
99
|
+
const typeNames = ts.map((t) => {
|
|
99
100
|
if (typeof t === "string")
|
|
100
101
|
return t;
|
|
101
102
|
if (typeof t === "function" && !t.name)
|
|
102
|
-
|
|
103
|
-
return t
|
|
103
|
+
return t().name;
|
|
104
|
+
return t?.name || String(t);
|
|
104
105
|
});
|
|
105
106
|
if (!evaluateDesignTypes(value, ts))
|
|
106
|
-
return this.getMessage(message || this.message,
|
|
107
|
+
return this.getMessage(message || this.message, typeNames.join(", "), typeof value);
|
|
107
108
|
}
|
|
108
109
|
};
|
|
109
110
|
TypeValidator = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/TypeValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AACzC,OAAO,EAAE,UAAU,EAAE,2BAAsB;AAM3C,OAAO,EAAE,SAAS,EAAE,mCAA8B;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAgB;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,SAAS,CACd,KAAU,EACV,OAA6B;QAE7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,0CAA0C;QAE3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE/C,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"TypeValidator.js","sourceRoot":"","sources":["../../../../src/validation/Validators/TypeValidator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAoB;AACrE,OAAO,EAAE,SAAS,EAAE,wBAAqB;AACzC,OAAO,EAAE,UAAU,EAAE,2BAAsB;AAM3C,OAAO,EAAE,SAAS,EAAE,mCAA8B;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAgB;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAA+B;IAChE,YAAY,UAAkB,sBAAsB,CAAC,IAAI;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,SAAS,CACd,KAAU,EACV,OAA6B;QAE7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,0CAA0C;QAE3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE/C,IAAI,EAAE,GAAQ,WAAW,IAAI,IAAI,CAAC;QAClC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAI,EAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAQ,CAAe,EAAE,CAAC,IAAI,CAAC;YACvE,OAAO,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAS,CAAC;YACxC,OAAO,IAAI,CAAC,UAAU,CACpB,OAAO,IAAI,IAAI,CAAC,OAAO,EACvB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpB,OAAO,KAAK,CACb,CAAC;IACN,CAAC;CACF,CAAA;AA3CY,aAAa;IADzB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;GAClB,aAAa,CA2CzB;;AAED;;;;;;;GAOG;AACH,UAAU,CAAC,QAAQ,CAAC;IAClB,SAAS,EAAE,aAAiC;IAC5C,aAAa,EAAE,SAAS,CAAC,IAAI;IAC7B,IAAI,EAAE,KAAK;CACW,CAAC,CAAC"}
|
|
@@ -198,13 +198,16 @@ export function isGreaterThan(a, b) {
|
|
|
198
198
|
export function checkType(value, acceptedType) {
|
|
199
199
|
if (typeof value === acceptedType.toLowerCase())
|
|
200
200
|
return true;
|
|
201
|
+
if (value === null)
|
|
202
|
+
return false;
|
|
201
203
|
if (typeof value === "undefined")
|
|
202
204
|
return false;
|
|
203
205
|
if (typeof value !== "object")
|
|
204
206
|
return false;
|
|
205
|
-
return
|
|
207
|
+
return value instanceof Object &&
|
|
208
|
+
!!value.constructor &&
|
|
206
209
|
value.constructor.name.toLowerCase() ===
|
|
207
|
-
acceptedType.toLowerCase()
|
|
210
|
+
acceptedType.toLowerCase();
|
|
208
211
|
}
|
|
209
212
|
/**
|
|
210
213
|
* @description Checks if a value matches any of the specified type names
|
|
@@ -216,6 +219,42 @@ export function checkType(value, acceptedType) {
|
|
|
216
219
|
export function checkTypes(value, acceptedTypes) {
|
|
217
220
|
return !acceptedTypes.every((t) => !checkType(value, t));
|
|
218
221
|
}
|
|
222
|
+
function normalizeAcceptedType(acceptedType) {
|
|
223
|
+
if (typeof acceptedType === "function" && !acceptedType.name) {
|
|
224
|
+
return acceptedType();
|
|
225
|
+
}
|
|
226
|
+
return acceptedType;
|
|
227
|
+
}
|
|
228
|
+
export function matchesAcceptedType(value, acceptedType) {
|
|
229
|
+
const normalizedType = normalizeAcceptedType(acceptedType);
|
|
230
|
+
if (typeof normalizedType === "string")
|
|
231
|
+
return checkType(value, normalizedType);
|
|
232
|
+
if (typeof normalizedType !== "function")
|
|
233
|
+
return false;
|
|
234
|
+
switch (normalizedType.name) {
|
|
235
|
+
case "String":
|
|
236
|
+
return typeof value === "string";
|
|
237
|
+
case "Number":
|
|
238
|
+
return typeof value === "number";
|
|
239
|
+
case "Boolean":
|
|
240
|
+
return typeof value === "boolean";
|
|
241
|
+
case "BigInt":
|
|
242
|
+
return typeof value === "bigint";
|
|
243
|
+
case "Symbol":
|
|
244
|
+
return typeof value === "symbol";
|
|
245
|
+
case "Function":
|
|
246
|
+
return typeof value === "function";
|
|
247
|
+
case "Array":
|
|
248
|
+
return Array.isArray(value);
|
|
249
|
+
case "Date":
|
|
250
|
+
return value instanceof Date;
|
|
251
|
+
case "Object":
|
|
252
|
+
return typeof value === "object";
|
|
253
|
+
default:
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
return value instanceof normalizedType;
|
|
257
|
+
}
|
|
219
258
|
/**
|
|
220
259
|
* @description Evaluates if a value matches the specified type metadata
|
|
221
260
|
* @summary Compares a value against type metadata to determine if they match
|
|
@@ -224,20 +263,8 @@ export function checkTypes(value, acceptedTypes) {
|
|
|
224
263
|
* @return {boolean} Returns true if the value matches the type metadata, false otherwise
|
|
225
264
|
*/
|
|
226
265
|
export function evaluateDesignTypes(value, types) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
return checkType(value, types);
|
|
230
|
-
case "object":
|
|
231
|
-
if (Array.isArray(types))
|
|
232
|
-
return checkTypes(value, types);
|
|
233
|
-
return true;
|
|
234
|
-
case "function":
|
|
235
|
-
if (types.name && types.name !== "Object")
|
|
236
|
-
return checkType(value, types.name);
|
|
237
|
-
return true;
|
|
238
|
-
default:
|
|
239
|
-
return true;
|
|
240
|
-
}
|
|
266
|
+
const expectedTypes = Array.isArray(types) ? types : [types];
|
|
267
|
+
return expectedTypes.some((type) => matchesAcceptedType(value, type));
|
|
241
268
|
}
|
|
242
269
|
/**
|
|
243
270
|
* @description Returns the length of a value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/validation/Validators/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/validation/Validators/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.cts
CHANGED
|
@@ -11,7 +11,21 @@ export * from "./model/index.d.cts";
|
|
|
11
11
|
* @const VERSION
|
|
12
12
|
* @memberOf module:decorator-validation
|
|
13
13
|
*/
|
|
14
|
-
export declare const VERSION = "1.
|
|
14
|
+
export declare const VERSION = "1.22.0";
|
|
15
|
+
/**
|
|
16
|
+
* @description Represents the current commit hash of the module build.
|
|
17
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
18
|
+
* the placeholder with the actual commit hash at publish time.
|
|
19
|
+
* @const COMMIT
|
|
20
|
+
*/
|
|
21
|
+
export declare const COMMIT = "a18c3a6";
|
|
22
|
+
/**
|
|
23
|
+
* @description Represents the full version string of the module.
|
|
24
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
25
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
26
|
+
* @const FULL_VERSION
|
|
27
|
+
*/
|
|
28
|
+
export declare const FULL_VERSION = "1.22.0-a18c3a6";
|
|
15
29
|
/**
|
|
16
30
|
* @description Current version of the reflection package
|
|
17
31
|
* @summary Stores the semantic version number of the package
|
package/lib/types/index.d.mts
CHANGED
|
@@ -11,7 +11,21 @@ export * from "./model/index.d.mts";
|
|
|
11
11
|
* @const VERSION
|
|
12
12
|
* @memberOf module:decorator-validation
|
|
13
13
|
*/
|
|
14
|
-
export declare const VERSION = "1.
|
|
14
|
+
export declare const VERSION = "1.22.0";
|
|
15
|
+
/**
|
|
16
|
+
* @description Represents the current commit hash of the module build.
|
|
17
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
18
|
+
* the placeholder with the actual commit hash at publish time.
|
|
19
|
+
* @const COMMIT
|
|
20
|
+
*/
|
|
21
|
+
export declare const COMMIT = "a18c3a6";
|
|
22
|
+
/**
|
|
23
|
+
* @description Represents the full version string of the module.
|
|
24
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
25
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
26
|
+
* @const FULL_VERSION
|
|
27
|
+
*/
|
|
28
|
+
export declare const FULL_VERSION = "1.22.0-a18c3a6";
|
|
15
29
|
/**
|
|
16
30
|
* @description Current version of the reflection package
|
|
17
31
|
* @summary Stores the semantic version number of the package
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
1
2
|
/**
|
|
2
3
|
* Validates whether two values are eligible for comparison using >= or <= operators.
|
|
3
4
|
*
|
|
@@ -56,6 +57,7 @@ export declare function checkType(value: unknown, acceptedType: string): boolean
|
|
|
56
57
|
* @return {boolean} Returns true if the value matches any of the accepted types, false otherwise
|
|
57
58
|
*/
|
|
58
59
|
export declare function checkTypes(value: unknown, acceptedTypes: string[]): boolean;
|
|
60
|
+
export declare function matchesAcceptedType(value: unknown, acceptedType: unknown): boolean;
|
|
59
61
|
/**
|
|
60
62
|
* @description Evaluates if a value matches the specified type metadata
|
|
61
63
|
* @summary Compares a value against type metadata to determine if they match
|
|
@@ -63,7 +65,7 @@ export declare function checkTypes(value: unknown, acceptedTypes: string[]): boo
|
|
|
63
65
|
* @param {string | string[] | {name: string}} types - Type metadata to check against, can be a string, array of strings, or an object with a name property
|
|
64
66
|
* @return {boolean} Returns true if the value matches the type metadata, false otherwise
|
|
65
67
|
*/
|
|
66
|
-
export declare function evaluateDesignTypes(value: unknown, types: string | string[] | {
|
|
68
|
+
export declare function evaluateDesignTypes(value: unknown, types: string | string[] | Constructor | Constructor[] | {
|
|
67
69
|
name: string;
|
|
68
70
|
}): boolean;
|
|
69
71
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
1
2
|
/**
|
|
2
3
|
* Validates whether two values are eligible for comparison using >= or <= operators.
|
|
3
4
|
*
|
|
@@ -56,6 +57,7 @@ export declare function checkType(value: unknown, acceptedType: string): boolean
|
|
|
56
57
|
* @return {boolean} Returns true if the value matches any of the accepted types, false otherwise
|
|
57
58
|
*/
|
|
58
59
|
export declare function checkTypes(value: unknown, acceptedTypes: string[]): boolean;
|
|
60
|
+
export declare function matchesAcceptedType(value: unknown, acceptedType: unknown): boolean;
|
|
59
61
|
/**
|
|
60
62
|
* @description Evaluates if a value matches the specified type metadata
|
|
61
63
|
* @summary Compares a value against type metadata to determine if they match
|
|
@@ -63,7 +65,7 @@ export declare function checkTypes(value: unknown, acceptedTypes: string[]): boo
|
|
|
63
65
|
* @param {string | string[] | {name: string}} types - Type metadata to check against, can be a string, array of strings, or an object with a name property
|
|
64
66
|
* @return {boolean} Returns true if the value matches the type metadata, false otherwise
|
|
65
67
|
*/
|
|
66
|
-
export declare function evaluateDesignTypes(value: unknown, types: string | string[] | {
|
|
68
|
+
export declare function evaluateDesignTypes(value: unknown, types: string | string[] | Constructor | Constructor[] | {
|
|
67
69
|
name: string;
|
|
68
70
|
}): boolean;
|
|
69
71
|
/**
|