@decaf-ts/decorator-validation 1.10.5 → 1.11.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/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/model/Builder.d.ts +84 -0
- package/lib/esm/model/Builder.js +395 -129
- package/lib/esm/model/Builder.js.map +1 -1
- package/lib/esm/model/Model.d.ts +21 -19
- package/lib/esm/model/Model.js +112 -105
- package/lib/esm/model/Model.js.map +1 -1
- package/lib/esm/model/constants.d.ts +8 -8
- package/lib/esm/model/constants.js +8 -9
- package/lib/esm/model/constants.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +2 -12
- package/lib/esm/model/decorators.js +5 -39
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/index.d.ts +1 -0
- package/lib/esm/model/index.js +1 -0
- package/lib/esm/model/index.js.map +1 -1
- package/lib/esm/model/types.d.ts +9 -12
- package/lib/esm/model/utils.d.ts +0 -3
- package/lib/esm/model/utils.js +0 -10
- package/lib/esm/model/utils.js.map +1 -1
- package/lib/esm/model/validation.d.ts +4 -37
- package/lib/esm/model/validation.js +30 -106
- package/lib/esm/model/validation.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +128 -0
- package/lib/esm/overrides/Metadata.js +2 -0
- package/lib/esm/overrides/Metadata.js.map +1 -0
- package/lib/esm/overrides/index.d.ts +3 -0
- package/lib/esm/overrides/index.js +4 -0
- package/lib/esm/overrides/index.js.map +1 -0
- package/lib/esm/overrides/overrides.d.ts +1 -0
- package/lib/esm/overrides/overrides.js +79 -0
- package/lib/esm/overrides/overrides.js.map +1 -0
- package/lib/esm/overrides/types.d.ts +9 -0
- package/lib/esm/overrides/types.js +2 -0
- package/lib/esm/overrides/types.js.map +1 -0
- package/lib/esm/types/validation.d.ts +4 -2
- package/lib/esm/utils/constants.d.ts +4 -18
- package/lib/esm/utils/constants.js +4 -17
- package/lib/esm/utils/constants.js.map +1 -1
- package/lib/esm/utils/dates.d.ts +0 -1
- package/lib/esm/utils/dates.js +0 -1
- package/lib/esm/utils/dates.js.map +1 -1
- package/lib/esm/utils/equality.d.ts +56 -0
- package/lib/esm/utils/equality.js +160 -0
- package/lib/esm/utils/equality.js.map +1 -0
- package/lib/esm/utils/index.d.ts +1 -2
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/registry.d.ts +1 -1
- package/lib/esm/utils/serialization.d.ts +2 -2
- package/lib/esm/utils/serialization.js +10 -2
- package/lib/esm/utils/serialization.js.map +1 -1
- package/lib/esm/utils/types.d.ts +0 -102
- package/lib/esm/validation/Validation.d.ts +2 -3
- package/lib/esm/validation/Validation.js +11 -6
- package/lib/esm/validation/Validation.js.map +1 -1
- package/lib/esm/validation/Validators/BaseValidator.js +7 -3
- package/lib/esm/validation/Validators/BaseValidator.js.map +1 -1
- package/lib/esm/validation/Validators/DiffValidator.js +1 -1
- package/lib/esm/validation/Validators/DiffValidator.js.map +1 -1
- package/lib/esm/validation/Validators/EqualsValidator.js +1 -1
- package/lib/esm/validation/Validators/EqualsValidator.js.map +1 -1
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +1 -1
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +1 -1
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
- package/lib/esm/validation/Validators/ListValidator.js +4 -4
- package/lib/esm/validation/Validators/ListValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MaxLengthValidator.js +3 -2
- package/lib/esm/validation/Validators/MaxLengthValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MaxValidator.js +1 -1
- package/lib/esm/validation/Validators/MaxValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MinLengthValidator.js +3 -2
- package/lib/esm/validation/Validators/MinLengthValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MinValidator.js +1 -1
- package/lib/esm/validation/Validators/MinValidator.js.map +1 -1
- package/lib/esm/validation/Validators/OptionValidator.d.ts +29 -0
- package/lib/esm/validation/Validators/OptionValidator.js +61 -0
- package/lib/esm/validation/Validators/OptionValidator.js.map +1 -0
- package/lib/esm/validation/Validators/TypeValidator.js +2 -2
- package/lib/esm/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/esm/validation/Validators/constants.d.ts +2 -1
- package/lib/esm/validation/Validators/constants.js +3 -2
- package/lib/esm/validation/Validators/constants.js.map +1 -1
- package/lib/esm/validation/Validators/decorators.d.ts +1 -1
- package/lib/esm/validation/Validators/decorators.js +2 -2
- package/lib/esm/validation/Validators/decorators.js.map +1 -1
- package/lib/esm/validation/Validators/index.d.ts +1 -0
- package/lib/esm/validation/Validators/index.js +1 -0
- package/lib/esm/validation/Validators/index.js.map +1 -1
- package/lib/esm/validation/Validators/utils.d.ts +33 -0
- package/lib/esm/validation/Validators/utils.js +62 -0
- package/lib/esm/validation/Validators/utils.js.map +1 -1
- package/lib/esm/validation/decorators.d.ts +28 -17
- package/lib/esm/validation/decorators.js +138 -55
- package/lib/esm/validation/decorators.js.map +1 -1
- package/lib/esm/validation/types.d.ts +15 -5
- package/lib/esm/validation/types.js.map +1 -1
- package/lib/index.cjs +2 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/model/Builder.cjs +399 -128
- package/lib/model/Builder.d.ts +84 -0
- package/lib/model/Builder.js.map +1 -1
- package/lib/model/Model.cjs +114 -107
- package/lib/model/Model.d.ts +21 -19
- package/lib/model/Model.js.map +1 -1
- package/lib/model/constants.cjs +8 -9
- package/lib/model/constants.d.ts +8 -8
- package/lib/model/constants.js.map +1 -1
- package/lib/model/decorators.cjs +4 -39
- package/lib/model/decorators.d.ts +2 -12
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/index.cjs +1 -0
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js.map +1 -1
- package/lib/model/types.d.ts +9 -12
- package/lib/model/utils.cjs +0 -12
- package/lib/model/utils.d.ts +0 -3
- package/lib/model/utils.js.map +1 -1
- package/lib/model/validation.cjs +30 -108
- package/lib/model/validation.d.ts +4 -37
- package/lib/model/validation.js.map +1 -1
- package/lib/overrides/Metadata.cjs +3 -0
- package/lib/overrides/Metadata.d.ts +128 -0
- package/lib/overrides/Metadata.js.map +1 -0
- package/lib/overrides/index.cjs +20 -0
- package/lib/overrides/index.d.ts +3 -0
- package/lib/overrides/index.js.map +1 -0
- package/lib/overrides/overrides.cjs +81 -0
- package/lib/overrides/overrides.d.ts +1 -0
- package/lib/overrides/overrides.js.map +1 -0
- package/lib/overrides/types.cjs +3 -0
- package/lib/overrides/types.d.ts +9 -0
- package/lib/overrides/types.js.map +1 -0
- package/lib/types/validation.d.ts +4 -2
- package/lib/utils/constants.cjs +5 -18
- package/lib/utils/constants.d.ts +4 -18
- package/lib/utils/constants.js.map +1 -1
- package/lib/utils/dates.cjs +0 -1
- package/lib/utils/dates.d.ts +0 -1
- package/lib/utils/dates.js.map +1 -1
- package/lib/utils/equality.cjs +163 -0
- package/lib/utils/equality.d.ts +56 -0
- package/lib/utils/equality.js.map +1 -0
- package/lib/utils/index.cjs +1 -2
- package/lib/utils/index.d.ts +1 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/registry.d.ts +1 -1
- package/lib/utils/serialization.cjs +10 -2
- package/lib/utils/serialization.d.ts +2 -2
- package/lib/utils/serialization.js.map +1 -1
- package/lib/utils/types.d.ts +0 -102
- package/lib/validation/Validation.cjs +11 -6
- package/lib/validation/Validation.d.ts +2 -3
- package/lib/validation/Validation.js.map +1 -1
- package/lib/validation/Validators/BaseValidator.cjs +7 -3
- package/lib/validation/Validators/BaseValidator.js.map +1 -1
- package/lib/validation/Validators/DiffValidator.cjs +2 -2
- package/lib/validation/Validators/DiffValidator.js.map +1 -1
- package/lib/validation/Validators/EqualsValidator.cjs +2 -2
- package/lib/validation/Validators/EqualsValidator.js.map +1 -1
- package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +2 -2
- package/lib/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
- package/lib/validation/Validators/LessThanOrEqualValidator.cjs +2 -2
- package/lib/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
- package/lib/validation/Validators/ListValidator.cjs +4 -4
- package/lib/validation/Validators/ListValidator.js.map +1 -1
- package/lib/validation/Validators/MaxLengthValidator.cjs +3 -2
- package/lib/validation/Validators/MaxLengthValidator.js.map +1 -1
- package/lib/validation/Validators/MaxValidator.cjs +1 -1
- package/lib/validation/Validators/MaxValidator.js.map +1 -1
- package/lib/validation/Validators/MinLengthValidator.cjs +3 -2
- package/lib/validation/Validators/MinLengthValidator.js.map +1 -1
- package/lib/validation/Validators/MinValidator.cjs +1 -1
- package/lib/validation/Validators/MinValidator.js.map +1 -1
- package/lib/validation/Validators/OptionValidator.cjs +64 -0
- package/lib/validation/Validators/OptionValidator.d.ts +29 -0
- package/lib/validation/Validators/OptionValidator.js.map +1 -0
- package/lib/validation/Validators/TypeValidator.cjs +2 -2
- package/lib/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/validation/Validators/constants.cjs +5 -4
- package/lib/validation/Validators/constants.d.ts +2 -1
- package/lib/validation/Validators/constants.js.map +1 -1
- package/lib/validation/Validators/decorators.cjs +3 -3
- package/lib/validation/Validators/decorators.d.ts +1 -1
- package/lib/validation/Validators/decorators.js.map +1 -1
- package/lib/validation/Validators/index.cjs +1 -0
- package/lib/validation/Validators/index.d.ts +1 -0
- package/lib/validation/Validators/index.js.map +1 -1
- package/lib/validation/Validators/utils.cjs +66 -0
- package/lib/validation/Validators/utils.d.ts +33 -0
- package/lib/validation/Validators/utils.js.map +1 -1
- package/lib/validation/decorators.cjs +154 -69
- package/lib/validation/decorators.d.ts +28 -17
- package/lib/validation/decorators.js.map +1 -1
- package/lib/validation/types.d.ts +15 -5
- package/lib/validation/types.js.map +1 -1
- package/package.json +2 -3
- package/lib/esm/utils/Decoration.d.ts +0 -135
- package/lib/esm/utils/Decoration.js +0 -227
- package/lib/esm/utils/Decoration.js.map +0 -1
- package/lib/esm/utils/decorators.d.ts +0 -38
- package/lib/esm/utils/decorators.js +0 -64
- package/lib/esm/utils/decorators.js.map +0 -1
- package/lib/utils/Decoration.cjs +0 -231
- package/lib/utils/Decoration.d.ts +0 -135
- package/lib/utils/Decoration.js.map +0 -1
- package/lib/utils/decorators.cjs +0 -68
- package/lib/utils/decorators.d.ts +0 -38
- package/lib/utils/decorators.js.map +0 -1
package/lib/esm/model/Model.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BuilderRegistry } from "../utils/registry";
|
|
2
2
|
import { ModelErrorDefinition } from "./ModelErrorDefinition";
|
|
3
|
-
import { Comparable,
|
|
3
|
+
import { Comparable, Hashable, ModelArg, ModelBuilderFunction, ModelConstructor, Serializable, Validatable } from "./types";
|
|
4
4
|
import { ConditionalAsync } from "../types";
|
|
5
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
5
6
|
/**
|
|
6
7
|
* @description Registry type for storing and retrieving model constructors
|
|
7
8
|
* @summary The ModelRegistry type defines a registry for model constructors that extends
|
|
@@ -300,15 +301,6 @@ export declare abstract class Model<Async extends boolean = false> implements Va
|
|
|
300
301
|
* @see ModelRegistry
|
|
301
302
|
*/
|
|
302
303
|
static build<T extends Model>(obj?: Record<string, any>, clazz?: string): T;
|
|
303
|
-
/**
|
|
304
|
-
* @description Retrieves the model metadata from a model instance
|
|
305
|
-
* @summary Gets the metadata associated with a model instance, typically the model class name
|
|
306
|
-
*
|
|
307
|
-
* @template M
|
|
308
|
-
* @param {M} model - The model instance to get metadata from
|
|
309
|
-
* @return {string} - The model metadata (typically the class name)
|
|
310
|
-
*/
|
|
311
|
-
static getMetadata<M extends Model>(model: M): any;
|
|
312
304
|
/**
|
|
313
305
|
* @description Retrieves all attribute names from a model class or instance
|
|
314
306
|
* @summary Gets all attributes defined in a model, traversing the prototype chain to include inherited attributes
|
|
@@ -358,14 +350,6 @@ export declare abstract class Model<Async extends boolean = false> implements Va
|
|
|
358
350
|
* @return {string} - The hash string representing the model
|
|
359
351
|
*/
|
|
360
352
|
static hash<M extends Model<boolean>>(model: M): any;
|
|
361
|
-
/**
|
|
362
|
-
* @description Creates a metadata key for use with the Reflection API
|
|
363
|
-
* @summary Builds the key to store as Metadata under Reflections
|
|
364
|
-
*
|
|
365
|
-
* @param {string} str - The base key to concatenate with the model reflection prefix
|
|
366
|
-
* @return {string} - The complete metadata key
|
|
367
|
-
*/
|
|
368
|
-
static key(str: string): string;
|
|
369
353
|
/**
|
|
370
354
|
* @description Determines if an object is a model instance or has model metadata
|
|
371
355
|
* @summary Checks whether a given object is either an instance of the Model class or
|
|
@@ -400,5 +384,23 @@ export declare abstract class Model<Async extends boolean = false> implements Va
|
|
|
400
384
|
* the model name if the property has a model type, or undefined if not a model
|
|
401
385
|
*/
|
|
402
386
|
static isPropertyModel<M extends Model>(target: M, attribute: string): boolean | string | undefined;
|
|
403
|
-
static describe<M extends Model>(model:
|
|
387
|
+
static describe<M extends Model>(model: Constructor<M>, key?: keyof M): string | undefined;
|
|
388
|
+
/**
|
|
389
|
+
* @description Returns if a Model property should be validated
|
|
390
|
+
* @summary Returns if a Model property should be validated. Use for models that are relations.
|
|
391
|
+
*
|
|
392
|
+
* @template model - The model type extending from Model
|
|
393
|
+
* @param {M} model - The constructor of the target model class
|
|
394
|
+
* @param {string} property - The property name to retrieve validation for
|
|
395
|
+
* @return {boolean} An object of the designtypes
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* Class Contacts extends Model{}
|
|
399
|
+
* class User extends Model {
|
|
400
|
+
* contacts: Contacts
|
|
401
|
+
* }
|
|
402
|
+
*
|
|
403
|
+
* const shouldValidate = shouldValidateNestedHandler(User,'contacts')
|
|
404
|
+
*/
|
|
405
|
+
private static shouldValidateNestedHandler;
|
|
404
406
|
}
|
package/lib/esm/model/Model.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Serialization } from "./../utils/serialization.js";
|
|
2
|
-
import { isEqual, Reflection } from "@decaf-ts/reflection";
|
|
3
2
|
import { validate } from "./validation.js";
|
|
4
3
|
import { Hashing } from "./../utils/hashing.js";
|
|
5
4
|
import { ModelKeys } from "./../utils/constants.js";
|
|
6
5
|
import { ValidationKeys } from "./../validation/Validators/constants.js";
|
|
7
6
|
import { jsTypes, ReservedModels } from "./constants.js";
|
|
8
|
-
import { getMetadata, getModelKey } from "./utils.js";
|
|
9
7
|
import { ASYNC_META_KEY } from "./../constants/index.js";
|
|
8
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
9
|
+
import { isEqual } from "./../utils/equality.js";
|
|
10
10
|
let modelBuilderFunction;
|
|
11
11
|
let actingModelRegistry;
|
|
12
12
|
/**
|
|
@@ -100,7 +100,7 @@ export class ModelRegistryManager {
|
|
|
100
100
|
build(obj = {}, clazz) {
|
|
101
101
|
if (!clazz && !this.testFunction(obj))
|
|
102
102
|
throw new Error("Provided obj is not a Model object");
|
|
103
|
-
const name = clazz ||
|
|
103
|
+
const name = clazz || Metadata.modelName(obj.constructor);
|
|
104
104
|
if (!(name in this.cache))
|
|
105
105
|
throw new Error(`Provided class ${name} is not a registered Model object`);
|
|
106
106
|
return new this.cache[name](obj);
|
|
@@ -211,7 +211,14 @@ export class Model {
|
|
|
211
211
|
* @throws {Error} If it fails to parse the string, or if it fails to build the model
|
|
212
212
|
*/
|
|
213
213
|
static deserialize(str) {
|
|
214
|
-
|
|
214
|
+
let metadata;
|
|
215
|
+
try {
|
|
216
|
+
metadata = Metadata.get(this.constructor, ModelKeys.SERIALIZATION);
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
218
|
+
}
|
|
219
|
+
catch (e) {
|
|
220
|
+
metadata = undefined;
|
|
221
|
+
}
|
|
215
222
|
if (metadata && metadata.serializer)
|
|
216
223
|
return Serialization.deserialize(str, metadata.serializer, ...(metadata.args || []));
|
|
217
224
|
return Serialization.deserialize(str);
|
|
@@ -279,7 +286,7 @@ export class Model {
|
|
|
279
286
|
static fromModel(self, obj) {
|
|
280
287
|
if (!obj)
|
|
281
288
|
obj = {};
|
|
282
|
-
let decorators
|
|
289
|
+
let decorators;
|
|
283
290
|
const props = Model.getAttributes(self);
|
|
284
291
|
const proto = Object.getPrototypeOf(self);
|
|
285
292
|
let descriptor;
|
|
@@ -307,72 +314,52 @@ export class Model {
|
|
|
307
314
|
}
|
|
308
315
|
continue;
|
|
309
316
|
}
|
|
310
|
-
|
|
311
|
-
decorators = allDecorators.filter((d) => [ModelKeys.TYPE, ValidationKeys.TYPE].indexOf(d.key) !== -1);
|
|
317
|
+
decorators = Metadata.allowedTypes(self.constructor, prop);
|
|
312
318
|
if (!decorators || !decorators.length)
|
|
313
319
|
throw new Error(`failed to find decorators for property ${prop}`);
|
|
314
|
-
|
|
315
|
-
const
|
|
316
|
-
? [dec.props.name]
|
|
317
|
-
: (Array.isArray(dec.props.customTypes)
|
|
318
|
-
? dec.props.customTypes
|
|
319
|
-
: [dec.props.customTypes]).map((t) => (typeof t === "function" ? t() : t));
|
|
320
|
-
const reserved = Object.values(ReservedModels).map((v) => v.toLowerCase());
|
|
320
|
+
const clazz = decorators.map((t) => typeof t === "function" && !t.name ? t() : t);
|
|
321
|
+
const reserved = Object.values(ReservedModels);
|
|
321
322
|
clazz.forEach((c) => {
|
|
322
|
-
if (
|
|
323
|
-
if (c.name)
|
|
324
|
-
c = c.name;
|
|
325
|
-
else
|
|
326
|
-
c = c();
|
|
327
|
-
}
|
|
328
|
-
if (reserved.indexOf(c.toLowerCase()) === -1)
|
|
323
|
+
if (!reserved.includes(c))
|
|
329
324
|
try {
|
|
330
|
-
switch (c) {
|
|
325
|
+
switch (c.name) {
|
|
331
326
|
case "Array":
|
|
332
|
-
case "Set":
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
for (const v of self[prop]) {
|
|
359
|
-
if (["object", "function"].includes(typeof v) &&
|
|
360
|
-
clazzName) {
|
|
361
|
-
s.add(Model.build(v, clazzName));
|
|
362
|
-
}
|
|
363
|
-
else {
|
|
364
|
-
s.add(v);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
self[prop] = s;
|
|
327
|
+
case "Set": {
|
|
328
|
+
const validation = Metadata.validationFor(self.constructor, prop);
|
|
329
|
+
if (!validation || !validation[ValidationKeys.LIST])
|
|
330
|
+
break;
|
|
331
|
+
const listDec = validation[ValidationKeys.LIST];
|
|
332
|
+
const clazzName = listDec.clazz
|
|
333
|
+
.map((t) => typeof t === "function" && !t.name
|
|
334
|
+
? t()
|
|
335
|
+
: t)
|
|
336
|
+
.find((t) => !jsTypes.includes(t.name));
|
|
337
|
+
if (c.name === "Array")
|
|
338
|
+
self[prop] = self[prop].map((el) => {
|
|
339
|
+
return ["object", "function"].includes(typeof el) &&
|
|
340
|
+
clazzName
|
|
341
|
+
? Model.build(el, clazzName.name)
|
|
342
|
+
: el;
|
|
343
|
+
});
|
|
344
|
+
if (c.name === "Set") {
|
|
345
|
+
const s = new Set();
|
|
346
|
+
for (const v of self[prop]) {
|
|
347
|
+
if (["object", "function"].includes(typeof v) &&
|
|
348
|
+
clazzName) {
|
|
349
|
+
s.add(Model.build(v, clazzName.name));
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
s.add(v);
|
|
368
353
|
}
|
|
369
354
|
}
|
|
355
|
+
self[prop] = s;
|
|
370
356
|
}
|
|
371
357
|
break;
|
|
358
|
+
}
|
|
372
359
|
default:
|
|
373
360
|
if (typeof self[prop] !== "undefined" &&
|
|
374
|
-
Model.get(c))
|
|
375
|
-
self[prop] = Model.build(self[prop], c);
|
|
361
|
+
Model.get(c.name))
|
|
362
|
+
self[prop] = Model.build(self[prop], c.name);
|
|
376
363
|
}
|
|
377
364
|
}
|
|
378
365
|
catch (e) {
|
|
@@ -466,17 +453,6 @@ export class Model {
|
|
|
466
453
|
static build(obj = {}, clazz) {
|
|
467
454
|
return Model.getRegistry().build(obj, clazz);
|
|
468
455
|
}
|
|
469
|
-
/**
|
|
470
|
-
* @description Retrieves the model metadata from a model instance
|
|
471
|
-
* @summary Gets the metadata associated with a model instance, typically the model class name
|
|
472
|
-
*
|
|
473
|
-
* @template M
|
|
474
|
-
* @param {M} model - The model instance to get metadata from
|
|
475
|
-
* @return {string} - The model metadata (typically the class name)
|
|
476
|
-
*/
|
|
477
|
-
static getMetadata(model) {
|
|
478
|
-
return getMetadata(model);
|
|
479
|
-
}
|
|
480
456
|
/**
|
|
481
457
|
* @description Retrieves all attribute names from a model class or instance
|
|
482
458
|
* @summary Gets all attributes defined in a model, traversing the prototype chain to include inherited attributes
|
|
@@ -486,18 +462,23 @@ export class Model {
|
|
|
486
462
|
* @return {string[]} - Array of attribute names defined in the model
|
|
487
463
|
*/
|
|
488
464
|
static getAttributes(model) {
|
|
489
|
-
const
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
const
|
|
495
|
-
|
|
496
|
-
|
|
465
|
+
const constructor = model instanceof Model ? model.constructor : model;
|
|
466
|
+
const seen = new Set();
|
|
467
|
+
const collect = (current) => {
|
|
468
|
+
if (!current)
|
|
469
|
+
return [];
|
|
470
|
+
const parent = Object.getPrototypeOf(current);
|
|
471
|
+
const attributes = collect(parent);
|
|
472
|
+
const props = Metadata.properties(current) ?? [];
|
|
473
|
+
for (const prop of props) {
|
|
474
|
+
if (!seen.has(prop)) {
|
|
475
|
+
seen.add(prop);
|
|
476
|
+
attributes.push(prop);
|
|
477
|
+
}
|
|
497
478
|
}
|
|
498
|
-
|
|
499
|
-
}
|
|
500
|
-
return
|
|
479
|
+
return attributes;
|
|
480
|
+
};
|
|
481
|
+
return collect(constructor);
|
|
501
482
|
}
|
|
502
483
|
/**
|
|
503
484
|
* @description Compares two model instances for equality
|
|
@@ -534,7 +515,14 @@ export class Model {
|
|
|
534
515
|
* @return {string} - The serialized string representation of the model
|
|
535
516
|
*/
|
|
536
517
|
static serialize(model) {
|
|
537
|
-
|
|
518
|
+
let metadata;
|
|
519
|
+
try {
|
|
520
|
+
metadata = Metadata.get(model.constructor, ModelKeys.SERIALIZATION);
|
|
521
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
522
|
+
}
|
|
523
|
+
catch (e) {
|
|
524
|
+
metadata = undefined;
|
|
525
|
+
}
|
|
538
526
|
if (metadata && metadata.serializer)
|
|
539
527
|
return Serialization.serialize(this, metadata.serializer, ...(metadata.args || []));
|
|
540
528
|
return Serialization.serialize(model);
|
|
@@ -548,21 +536,11 @@ export class Model {
|
|
|
548
536
|
* @return {string} - The hash string representing the model
|
|
549
537
|
*/
|
|
550
538
|
static hash(model) {
|
|
551
|
-
const metadata =
|
|
539
|
+
const metadata = Metadata.get(model.constructor, ModelKeys.HASHING);
|
|
552
540
|
if (metadata && metadata.algorithm)
|
|
553
541
|
return Hashing.hash(model, metadata.algorithm, ...(metadata.args || []));
|
|
554
542
|
return Hashing.hash(model);
|
|
555
543
|
}
|
|
556
|
-
/**
|
|
557
|
-
* @description Creates a metadata key for use with the Reflection API
|
|
558
|
-
* @summary Builds the key to store as Metadata under Reflections
|
|
559
|
-
*
|
|
560
|
-
* @param {string} str - The base key to concatenate with the model reflection prefix
|
|
561
|
-
* @return {string} - The complete metadata key
|
|
562
|
-
*/
|
|
563
|
-
static key(str) {
|
|
564
|
-
return getModelKey(str);
|
|
565
|
-
}
|
|
566
544
|
/**
|
|
567
545
|
* @description Determines if an object is a model instance or has model metadata
|
|
568
546
|
* @summary Checks whether a given object is either an instance of the Model class or
|
|
@@ -586,7 +564,16 @@ export class Model {
|
|
|
586
564
|
*/
|
|
587
565
|
static isModel(target) {
|
|
588
566
|
try {
|
|
589
|
-
|
|
567
|
+
if (target instanceof Model)
|
|
568
|
+
return true;
|
|
569
|
+
const constr = Metadata.constr(target);
|
|
570
|
+
if (!constr || constr === target)
|
|
571
|
+
return false;
|
|
572
|
+
return !!Metadata.modelName(constr);
|
|
573
|
+
//
|
|
574
|
+
// // return target instanceof Model || !!Metadata.modelName(target as any);
|
|
575
|
+
// const modelName = Metadata.modelName(target as any);
|
|
576
|
+
// return target instanceof Model || !!Model.get(modelName);
|
|
590
577
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
591
578
|
}
|
|
592
579
|
catch (e) {
|
|
@@ -605,22 +592,42 @@ export class Model {
|
|
|
605
592
|
* the model name if the property has a model type, or undefined if not a model
|
|
606
593
|
*/
|
|
607
594
|
static isPropertyModel(target, attribute) {
|
|
608
|
-
|
|
595
|
+
const isModel = Model.isModel(target[attribute]);
|
|
596
|
+
if (isModel)
|
|
609
597
|
return true;
|
|
610
|
-
const metadata =
|
|
598
|
+
const metadata = Metadata.type(target.constructor, attribute);
|
|
611
599
|
if (!metadata)
|
|
612
600
|
return undefined;
|
|
613
601
|
return Model.get(metadata.name) ? metadata.name : undefined;
|
|
614
602
|
}
|
|
615
603
|
static describe(model, key) {
|
|
616
|
-
|
|
617
|
-
if (key) {
|
|
618
|
-
model = model instanceof Model ? model : new model();
|
|
619
|
-
return (Reflect.getMetadataKeys(model.constructor, key.toString())
|
|
620
|
-
.find((k) => k === descKey)
|
|
621
|
-
?.toString() || model.toString());
|
|
622
|
-
}
|
|
623
|
-
return (Reflect.getMetadata(Model.key(ModelKeys.DESCRIPTION), model instanceof Model ? model.constructor : model) || model.toString());
|
|
604
|
+
return Metadata.description(model, key);
|
|
624
605
|
}
|
|
606
|
+
/**
|
|
607
|
+
* @description Returns if a Model property should be validated
|
|
608
|
+
* @summary Returns if a Model property should be validated. Use for models that are relations.
|
|
609
|
+
*
|
|
610
|
+
* @template model - The model type extending from Model
|
|
611
|
+
* @param {M} model - The constructor of the target model class
|
|
612
|
+
* @param {string} property - The property name to retrieve validation for
|
|
613
|
+
* @return {boolean} An object of the designtypes
|
|
614
|
+
*
|
|
615
|
+
* @example
|
|
616
|
+
* Class Contacts extends Model{}
|
|
617
|
+
* class User extends Model {
|
|
618
|
+
* contacts: Contacts
|
|
619
|
+
* }
|
|
620
|
+
*
|
|
621
|
+
* const shouldValidate = shouldValidateNestedHandler(User,'contacts')
|
|
622
|
+
*/
|
|
623
|
+
static { this.shouldValidateNestedHandler = function (model, property) {
|
|
624
|
+
const instance = model[property];
|
|
625
|
+
if (!instance)
|
|
626
|
+
return false;
|
|
627
|
+
const isValidModel = typeof instance === "object" && typeof instance.hasErrors === "function";
|
|
628
|
+
if (!isValidModel)
|
|
629
|
+
console.log(`The instance should be validatable but it is not`);
|
|
630
|
+
return isValidModel;
|
|
631
|
+
}; }
|
|
625
632
|
}
|
|
626
633
|
//# sourceMappingURL=Model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../../src/model/Model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../../src/model/Model.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,20 +32,20 @@ export declare enum Primitives {
|
|
|
32
32
|
* @readonly
|
|
33
33
|
* @memberOf module:decorator-validation
|
|
34
34
|
*/
|
|
35
|
-
export declare
|
|
35
|
+
export declare const ReservedModels: {
|
|
36
36
|
/** reserved name for string */
|
|
37
|
-
STRING
|
|
37
|
+
STRING: StringConstructor;
|
|
38
38
|
/** reserved name for object */
|
|
39
|
-
OBJECT
|
|
39
|
+
OBJECT: ObjectConstructor;
|
|
40
40
|
/** reserved name for number */
|
|
41
|
-
NUMBER
|
|
41
|
+
NUMBER: NumberConstructor;
|
|
42
42
|
/** reserved name for boolean */
|
|
43
|
-
BOOLEAN
|
|
43
|
+
BOOLEAN: BooleanConstructor;
|
|
44
44
|
/** reserved name for bigint */
|
|
45
|
-
BIGINT
|
|
45
|
+
BIGINT: BigIntConstructor;
|
|
46
46
|
/** reserved name for Date */
|
|
47
|
-
DATE
|
|
48
|
-
}
|
|
47
|
+
DATE: DateConstructor;
|
|
48
|
+
};
|
|
49
49
|
/**
|
|
50
50
|
* @description Basic supported JavaScript types used by the validation system.
|
|
51
51
|
* @summary References the basic supported JS types as strings that can be used for type checking and metadata.
|
|
@@ -33,21 +33,20 @@ export var Primitives;
|
|
|
33
33
|
* @readonly
|
|
34
34
|
* @memberOf module:decorator-validation
|
|
35
35
|
*/
|
|
36
|
-
export
|
|
37
|
-
(function (ReservedModels) {
|
|
36
|
+
export const ReservedModels = {
|
|
38
37
|
/** reserved name for string */
|
|
39
|
-
|
|
38
|
+
STRING: String,
|
|
40
39
|
/** reserved name for object */
|
|
41
|
-
|
|
40
|
+
OBJECT: Object,
|
|
42
41
|
/** reserved name for number */
|
|
43
|
-
|
|
42
|
+
NUMBER: Number,
|
|
44
43
|
/** reserved name for boolean */
|
|
45
|
-
|
|
44
|
+
BOOLEAN: Boolean,
|
|
46
45
|
/** reserved name for bigint */
|
|
47
|
-
|
|
46
|
+
BIGINT: BigInt,
|
|
48
47
|
/** reserved name for Date */
|
|
49
|
-
|
|
50
|
-
}
|
|
48
|
+
DATE: Date,
|
|
49
|
+
};
|
|
51
50
|
/**
|
|
52
51
|
* @description Basic supported JavaScript types used by the validation system.
|
|
53
52
|
* @summary References the basic supported JS types as strings that can be used for type checking and metadata.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB,sCAAsC;IACtC,+BAAiB,CAAA;IACjB,sCAAsC;IACtC,+BAAiB,CAAA;IACjB,uCAAuC;IACvC,iCAAmB,CAAA;IACnB,sCAAsC;IACtC,+BAAiB,CAAA;AACnB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB,sCAAsC;IACtC,+BAAiB,CAAA;IACjB,sCAAsC;IACtC,+BAAiB,CAAA;IACjB,uCAAuC;IACvC,iCAAmB,CAAA;IACnB,sCAAsC;IACtC,+BAAiB,CAAA;AACnB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,+BAA+B;IAC/B,MAAM,EAAE,MAAM;IACd,+BAA+B;IAC/B,MAAM,EAAE,MAAM;IACd,+BAA+B;IAC/B,MAAM,EAAE,MAAM;IACd,gCAAgC;IAChC,OAAO,EAAE,OAAO;IAChB,+BAA+B;IAC/B,MAAM,EAAE,MAAM;IACd,6BAA6B;IAC7B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,WAAW;IACX,MAAM;IACN,QAAQ;CACT,CAAC"}
|
|
@@ -26,7 +26,7 @@ export declare function model(): (target: any, propertyKey?: any, descriptor?: T
|
|
|
26
26
|
*
|
|
27
27
|
* @category Class Decorators
|
|
28
28
|
*/
|
|
29
|
-
export declare function hashedBy(algorithm: string, ...args: any[]): (
|
|
29
|
+
export declare function hashedBy(algorithm: string, ...args: any[]): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
30
30
|
/**
|
|
31
31
|
* @summary Defines the serialization algorithm to use on the model
|
|
32
32
|
*
|
|
@@ -36,14 +36,4 @@ export declare function hashedBy(algorithm: string, ...args: any[]): (target: ob
|
|
|
36
36
|
*
|
|
37
37
|
* @category Class Decorators
|
|
38
38
|
*/
|
|
39
|
-
export declare function serializedBy(serializer: string, ...args: any[]): (
|
|
40
|
-
/**
|
|
41
|
-
* @summary Applies descriptive metadata to a class, property or method
|
|
42
|
-
*
|
|
43
|
-
* @param {string} description the description to apply
|
|
44
|
-
*
|
|
45
|
-
* @function description
|
|
46
|
-
*
|
|
47
|
-
* @category Decorators
|
|
48
|
-
*/
|
|
49
|
-
export declare function description(description: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
39
|
+
export declare function serializedBy(serializer: string, ...args: any[]): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { bindModelPrototype, construct } from "./construction.js";
|
|
2
2
|
import { ModelKeys } from "./../utils/constants.js";
|
|
3
3
|
import { Model } from "./Model.js";
|
|
4
|
-
import { metadata } from "@decaf-ts/
|
|
5
|
-
import { Decoration, DecorationKeys, Metadata } from "@decaf-ts/decoration";
|
|
4
|
+
import { Decoration, metadata } from "@decaf-ts/decoration";
|
|
6
5
|
export function modelBaseDecorator(original) {
|
|
7
6
|
// the new constructor behaviour
|
|
8
7
|
const newConstructor = function (...args) {
|
|
@@ -12,15 +11,10 @@ export function modelBaseDecorator(original) {
|
|
|
12
11
|
const builder = Model.getBuilder();
|
|
13
12
|
if (builder)
|
|
14
13
|
builder(instance, args.length ? args[0] : undefined);
|
|
15
|
-
metadata(Model.key(ModelKeys.MODEL), original.name)(instance.constructor);
|
|
16
14
|
return instance;
|
|
17
15
|
};
|
|
18
16
|
// copy prototype so instanceof operator still works
|
|
19
17
|
newConstructor.prototype = original.prototype;
|
|
20
|
-
metadata(Model.key(ModelKeys.MODEL), original.name)(original);
|
|
21
|
-
Reflect.getMetadataKeys(original).forEach((key) => {
|
|
22
|
-
Reflect.defineMetadata(key, Reflect.getMetadata(key, original), newConstructor);
|
|
23
|
-
});
|
|
24
18
|
// Sets the proper constructor name for type verification
|
|
25
19
|
Object.defineProperty(newConstructor, "name", {
|
|
26
20
|
writable: false,
|
|
@@ -28,23 +22,7 @@ export function modelBaseDecorator(original) {
|
|
|
28
22
|
configurable: false,
|
|
29
23
|
value: original.prototype.constructor.name,
|
|
30
24
|
});
|
|
31
|
-
|
|
32
|
-
// anchors the original constructor for future reference
|
|
33
|
-
Object.defineProperty(newConstructor, ModelKeys.ANCHOR, {
|
|
34
|
-
writable: false,
|
|
35
|
-
enumerable: false,
|
|
36
|
-
configurable: false,
|
|
37
|
-
value: original,
|
|
38
|
-
});
|
|
39
|
-
Metadata.set(newConstructor, DecorationKeys.CONSTRUCTOR, original);
|
|
40
|
-
//
|
|
41
|
-
// // anchors the new constructor for future reference
|
|
42
|
-
// Object.defineProperty(original, ModelKeys.ANCHOR, {
|
|
43
|
-
// writable: false,
|
|
44
|
-
// enumerable: true,
|
|
45
|
-
// configurable: false,
|
|
46
|
-
// value: newConstructor,
|
|
47
|
-
// });
|
|
25
|
+
metadata(ModelKeys.CONSTRUCTOR, original)(newConstructor);
|
|
48
26
|
Model.register(newConstructor, original.name);
|
|
49
27
|
// return new constructor (will override original)
|
|
50
28
|
return newConstructor;
|
|
@@ -62,7 +40,7 @@ export function modelBaseDecorator(original) {
|
|
|
62
40
|
* @category Class Decorators
|
|
63
41
|
*/
|
|
64
42
|
export function model() {
|
|
65
|
-
const key =
|
|
43
|
+
const key = ModelKeys.MODEL;
|
|
66
44
|
return Decoration.for(key).define(modelBaseDecorator).apply();
|
|
67
45
|
}
|
|
68
46
|
/**
|
|
@@ -80,7 +58,7 @@ export function model() {
|
|
|
80
58
|
* @category Class Decorators
|
|
81
59
|
*/
|
|
82
60
|
export function hashedBy(algorithm, ...args) {
|
|
83
|
-
return metadata(
|
|
61
|
+
return metadata(ModelKeys.HASHING, {
|
|
84
62
|
algorithm: algorithm,
|
|
85
63
|
args: args,
|
|
86
64
|
});
|
|
@@ -95,21 +73,9 @@ export function hashedBy(algorithm, ...args) {
|
|
|
95
73
|
* @category Class Decorators
|
|
96
74
|
*/
|
|
97
75
|
export function serializedBy(serializer, ...args) {
|
|
98
|
-
return metadata(
|
|
76
|
+
return metadata(ModelKeys.SERIALIZATION, {
|
|
99
77
|
serializer: serializer,
|
|
100
78
|
args: args,
|
|
101
79
|
});
|
|
102
80
|
}
|
|
103
|
-
/**
|
|
104
|
-
* @summary Applies descriptive metadata to a class, property or method
|
|
105
|
-
*
|
|
106
|
-
* @param {string} description the description to apply
|
|
107
|
-
*
|
|
108
|
-
* @function description
|
|
109
|
-
*
|
|
110
|
-
* @category Decorators
|
|
111
|
-
*/
|
|
112
|
-
export function description(description) {
|
|
113
|
-
return metadata(Model.key(ModelKeys.DESCRIPTION), description);
|
|
114
|
-
}
|
|
115
81
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -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,
|
|
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,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"}
|
package/lib/esm/model/index.d.ts
CHANGED