@decaf-ts/decorator-validation 1.11.2 → 1.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-validation.js","sources":["../src/utils/constants.ts","../src/utils/serialization.ts","../src/model/ModelErrorDefinition.ts","../src/validation/Validators/constants.ts","../src/utils/strings.ts","../src/constants/errors.ts","../src/constants/validation.ts","../src/utils/dates.ts","../src/utils/equality.ts","../src/utils/hashing.ts","../src/utils/PathProxy.ts","../src/validation/Validators/utils.ts","../src/validation/Validators/BaseValidator.ts","../src/validation/Validators/Validator.ts","../src/validation/Validators/ValidatorRegistry.ts","../src/validation/Validation.ts","../src/model/utils.ts","../src/model/validation.ts","../src/model/constants.ts","../src/model/Model.ts","../src/overrides/overrides.ts","../src/validation/Validators/AsyncValidator.ts","../src/validation/Validators/decorators.ts","../src/validation/Validators/DateValidator.ts","../src/validation/Validators/DiffValidator.ts","../src/validation/Validators/PatternValidator.ts","../src/validation/Validators/EmailValidator.ts","../src/validation/Validators/EqualsValidator.ts","../src/validation/Validators/GreaterThanValidator.ts","../src/validation/Validators/GreaterThanOrEqualValidator.ts","../src/validation/Validators/LessThanValidator.ts","../src/validation/Validators/LessThanOrEqualValidator.ts","../src/validation/Validators/ListValidator.ts","../src/validation/Validators/MaxLengthValidator.ts","../src/validation/Validators/MaxValidator.ts","../src/validation/Validators/MinLengthValidator.ts","../src/validation/Validators/MinValidator.ts","../src/validation/Validators/OptionValidator.ts","../src/validation/Validators/PasswordValidator.ts","../src/validation/Validators/RequiredValidator.ts","../src/validation/Validators/StepValidator.ts","../src/validation/Validators/TypeValidator.ts","../src/validation/Validators/URLValidator.ts","../src/validation/decorators.ts","../src/model/construction.ts","../src/model/decorators.ts","../src/model/Builder.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ModelKeys","DefaultSerializationMethod","JSONSerializer","constructor","preSerialize","model","toSerialize","Object","assign","metadata","Metadata","modelName","error","undefined","ANCHOR","name","deserialize","str","deserialization","JSON","parse","className","Error","Model","build","serialize","stringify","this","Serialization","current","cache","json","get","key","register","func","setDefault","obj","method","args","ModelErrorDefinition","errors","prop","prototype","hasOwnProperty","call","defineProperty","enumerable","configurable","value","writable","toString","self","keys","filter","k","reduce","accum","propError","propAccum","ComparisonValidationKeys","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidationKeys","REFLECT","DATE","EMAIL","FORMAT","LIST","MAX","MAX_LENGTH","MIN","MIN_LENGTH","PASSWORD","PATTERN","REQUIRED","STEP","TYPE","UNIQUE","URL","VALIDATOR","ENUM","MONTH_NAMES","DAYS_OF_WEEK_NAMES","DEFAULT_ERROR_MESSAGES","DEFAULT","MODEL_NOT_FOUND","DEFAULT_PATTERNS","CHAR8_ONE_OF_EACH","stringFormat","string","replace","match","number","sf","COMPARISON_ERROR_MESSAGES","INVALID_PATH","CONTEXT_NOT_OBJECT_COMPARISON","PROPERTY_INVALID","PROPERTY_NOT_EXIST","UNSUPPORTED_TYPES_COMPARISON","NULL_OR_UNDEFINED_COMPARISON","INVALID_DATE_COMPARISON","TYPE_MISMATCH_COMPARISON","NAN_COMPARISON","VALIDATION_PARENT_KEY","Symbol","ASYNC_META_KEY","dateFromFormat","date","format","formatRegexp","RegExp","exec","groups","Date","safeParseInt","n","result","parseInt","isNaN","year","day","amPm","ampm","hour","minutes","seconds","ms","milis","monthName","monthname","monthNameSmall","monthnamesmall","month","indexOf","m","find","toLowerCase","startsWith","bindDateToString","Proxy","toISOString","apply","target","thisArg","formatDate","isValidDate","Number","twoDigitPad","num","patternStr","getDate","getMonth","getFullYear","getHours","minute","getMinutes","second","getSeconds","miliseconds","getMilliseconds","h","hh","HH","mm","ss","aaa","EEEE","getDay","EEE","substr","dd","M","MM","MMMM","MMM","yyyy","yy","parseDate","v","e","isEqual","a","b","propsToIgnore","getTime","message","Array","isArray","length","i","Map","size","has","Set","item","ArrayBuffer","isView","byteLength","byteOffset","buffer","uint8A","Uint8Array","uint8B","aKeys","includes","bKeys","aSymbols","getOwnPropertySymbols","s","bSymbols","sym","getPrototypeOf","hashCode","String","hash","charCodeAt","hashObj","hashReducer","el","elHash","hashFunction","values","Math","abs","DefaultHashingMethod","Hashing","default","fallbackGetParent","fallbackGetValue","PathProxyEngine","create","rootTarget","opts","getValue","getParent","ignoreUndefined","ignoreNull","proxy","path","parts","parsePath","part","parent","trim","getTypeName","Infinity","isSupported","isFinite","isValidForGteOrLteComparison","TypeError","isLessThan","aType","bType","isGreaterThan","checkType","acceptedType","checkTypes","acceptedTypes","every","t","evaluateDesignTypes","types","valueLength","BaseValidator","async","hasErrors","checkTypeAndHasErrors","bind","getMessage","unbound","options","join","isValidator","val","Validator","super","ValidatorRegistry","validators","customKeyCache","getCustomKeys","getKeys","validatorKey","classOrInstance","instance","validator","forEach","validationKey","save","toUpperCase","Validation","actingValidatorRegistry","setRegistry","validatorRegistry","migrationHandler","getRegistry","registerDecorator","decorator","meta","for","DECORATORS","set","decoratorFromKey","toConditionalPromise","Promise","resolve","setTemporaryContext","cleanupTemporaryContext","getNestedValidationErrors","nestedModel","parentModel","isAsync","errs","validateChildValue","childValue","allowedTypes","err","atLeastOneMatched","allowedType","Constr","validateDecorator","decoratorProps","context","validatorOptions","validateDecorators","decorators","decoratorKey","validationErrors","class","clazz","customTypes","map","flat","isModel","all","then","r","allEmpty","promises","resolvedValues","res","validate","decoratedProperties","validatableProperties","nestedErrors","propKey","propValue","validationFor","designTypes","designType","getPropDesignTypes","some","propErrors","isConstr","isPropertyModel","hasPropValue","isModelInstance","d","entries","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","Primitives","ReservedModels","STRING","OBJECT","NUMBER","BOOLEAN","Boolean","BIGINT","BigInt","jsTypes","modelBuilderFunction","actingModelRegistry","ModelRegistryManager","testFunction","bulkModelRegister","models","arg","exceptions","equals","SERIALIZATION","serializer","fromObject","getAttributes","fromModel","props","proto","descriptor","getOwnPropertyDescriptor","propM","reserved","c","validation","clazzName","add","setBuilder","builder","getBuilder","modelRegistry","seen","collect","attributes","properties","push","obj1","obj2","HASHING","algorithm","constr","attribute","type","describe","description","shouldValidateNestedHandler","property","propValidation","metavalidation","iterator","designTypeMeta","propTypes","designTypeDec","AsyncValidator","original","DateValidator","__decorate","DiffValidator","accessor","comparisonPropertyValue","getValueFromPath","label","regexpParser","PatternValidator","getPattern","pattern","test","lastIndex","EmailValidator","EqualsValidator","GreaterThanValidator","GreaterThanOrEqualValidator","LessThanValidator","LessThanOrEqualValidator","ListValidator","isValid","MaxLengthValidator","maxlength","MaxValidator","max","MinLengthValidator","minlength","MinValidator","min","OptionValidator","enum","PasswordValidator","RequiredValidator","StepValidator","step","TypeValidator","ts","URLValidator","validationMetadata","propMetadata","innerValidationDecorator","dec","required","Decoration","define","email","url","propertyKey","WeakMap","newValue","password","list","collection","eq","propertyToCompare","diff","lt","lte","gt","gte","option","construct","_constr","argz","findLastProtoBeforeObject","bindModelPrototype","bindPrototype","objToOverride","setPrototypeOf","prot","modelBaseDecorator","newConstructor","CONSTRUCTOR","MODEL","hashedBy","serializedBy","AttributeBuilder","attr","declaredType","decorate","undecorate","index","splice","messageOrMeta","asMeta","resolveMessage","valueOrMeta","rawPattern","regex","patternFromString","formatOrMeta","clazzOrMeta","typeOfCollection","isMetadataPayload","fallback","resolveComparison","propertyOrMeta","resolvedOptions","different","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","desc","Reflect","defineMetadata","DecorationKeys","DESIGN_TYPE","ListAttributeBuilder","ofPrimitives","ofModel","nestedBuilder","ModelBuilder","originalBuild","cachedConstructor","argArray","ObjectAccumulator","setName","_name","_description","existing","attributeBuilder","bigint","built","listOf","listType","Parent","_parent","DynamicBuiltClass","from","derivedName","now","validations","validationMeta","handler","decoratorFactory","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"decorator-validation.js","sources":["../src/utils/constants.ts","../src/utils/serialization.ts","../src/model/ModelErrorDefinition.ts","../src/validation/Validators/constants.ts","../src/utils/strings.ts","../src/constants/errors.ts","../src/constants/validation.ts","../src/utils/dates.ts","../src/utils/equality.ts","../src/utils/hashing.ts","../src/utils/PathProxy.ts","../src/validation/Validators/utils.ts","../src/validation/Validators/BaseValidator.ts","../src/validation/Validators/Validator.ts","../src/validation/Validators/ValidatorRegistry.ts","../src/validation/Validation.ts","../src/model/utils.ts","../src/model/validation.ts","../src/model/constants.ts","../src/model/Model.ts","../src/overrides/overrides.ts","../src/validation/Validators/AsyncValidator.ts","../src/validation/Validators/decorators.ts","../src/validation/Validators/DateValidator.ts","../src/validation/Validators/DiffValidator.ts","../src/validation/Validators/PatternValidator.ts","../src/validation/Validators/EmailValidator.ts","../src/validation/Validators/EqualsValidator.ts","../src/validation/Validators/GreaterThanValidator.ts","../src/validation/Validators/GreaterThanOrEqualValidator.ts","../src/validation/Validators/LessThanValidator.ts","../src/validation/Validators/LessThanOrEqualValidator.ts","../src/validation/Validators/ListValidator.ts","../src/validation/Validators/MaxLengthValidator.ts","../src/validation/Validators/MaxValidator.ts","../src/validation/Validators/MinLengthValidator.ts","../src/validation/Validators/MinValidator.ts","../src/validation/Validators/OptionValidator.ts","../src/validation/Validators/PasswordValidator.ts","../src/validation/Validators/RequiredValidator.ts","../src/validation/Validators/StepValidator.ts","../src/validation/Validators/TypeValidator.ts","../src/validation/Validators/URLValidator.ts","../src/validation/decorators.ts","../src/model/construction.ts","../src/model/decorators.ts","../src/model/Builder.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ModelKeys","DefaultSerializationMethod","JSONSerializer","constructor","preSerialize","model","toSerialize","Object","assign","metadata","Metadata","modelName","error","undefined","ANCHOR","name","deserialize","str","deserialization","JSON","parse","className","Error","Model","build","serialize","stringify","this","Serialization","current","cache","json","get","key","register","func","setDefault","obj","method","args","ModelErrorDefinition","errors","prop","prototype","hasOwnProperty","call","defineProperty","enumerable","configurable","value","writable","toString","self","keys","filter","k","reduce","accum","propError","propAccum","ComparisonValidationKeys","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidationKeys","REFLECT","DATE","EMAIL","FORMAT","LIST","MAX","MAX_LENGTH","MIN","MIN_LENGTH","PASSWORD","PATTERN","REQUIRED","STEP","TYPE","UNIQUE","URL","VALIDATOR","ENUM","MONTH_NAMES","DAYS_OF_WEEK_NAMES","DEFAULT_ERROR_MESSAGES","DEFAULT","MODEL_NOT_FOUND","DEFAULT_PATTERNS","CHAR8_ONE_OF_EACH","stringFormat","string","replace","match","number","sf","COMPARISON_ERROR_MESSAGES","INVALID_PATH","CONTEXT_NOT_OBJECT_COMPARISON","PROPERTY_INVALID","PROPERTY_NOT_EXIST","UNSUPPORTED_TYPES_COMPARISON","NULL_OR_UNDEFINED_COMPARISON","INVALID_DATE_COMPARISON","TYPE_MISMATCH_COMPARISON","NAN_COMPARISON","VALIDATION_PARENT_KEY","Symbol","ASYNC_META_KEY","dateFromFormat","date","format","formatRegexp","RegExp","exec","groups","Date","safeParseInt","n","result","parseInt","isNaN","year","day","amPm","ampm","hour","minutes","seconds","ms","milis","monthName","monthname","monthNameSmall","monthnamesmall","month","indexOf","m","find","toLowerCase","startsWith","bindDateToString","Proxy","toISOString","apply","target","thisArg","formatDate","isValidDate","Number","twoDigitPad","num","patternStr","getDate","getMonth","getFullYear","getHours","minute","getMinutes","second","getSeconds","miliseconds","getMilliseconds","h","hh","HH","mm","ss","aaa","EEEE","getDay","EEE","substr","dd","M","MM","MMMM","MMM","yyyy","yy","parseDate","v","e","isEqual","a","b","propsToIgnore","getTime","message","Array","isArray","length","i","Map","size","has","Set","item","ArrayBuffer","isView","byteLength","byteOffset","buffer","uint8A","Uint8Array","uint8B","aKeys","includes","bKeys","aSymbols","getOwnPropertySymbols","s","bSymbols","sym","getPrototypeOf","hashCode","String","hash","charCodeAt","hashObj","hashReducer","el","elHash","hashFunction","values","Math","abs","DefaultHashingMethod","Hashing","default","fallbackGetParent","fallbackGetValue","PathProxyEngine","create","rootTarget","opts","getValue","getParent","ignoreUndefined","ignoreNull","proxy","path","parts","parsePath","part","parent","trim","getTypeName","Infinity","isSupported","isFinite","isValidForGteOrLteComparison","TypeError","isLessThan","aType","bType","isGreaterThan","checkType","acceptedType","checkTypes","acceptedTypes","every","t","evaluateDesignTypes","types","valueLength","BaseValidator","async","hasErrors","checkTypeAndHasErrors","bind","getMessage","unbound","options","join","isValidator","val","Validator","super","ValidatorRegistry","validators","customKeyCache","getCustomKeys","getKeys","validatorKey","classOrInstance","instance","validator","forEach","validationKey","save","toUpperCase","Validation","actingValidatorRegistry","setRegistry","validatorRegistry","migrationHandler","getRegistry","registerDecorator","decorator","meta","for","DECORATORS","set","decoratorFromKey","toConditionalPromise","Promise","resolve","setTemporaryContext","cleanupTemporaryContext","getNestedValidationErrors","nestedModel","parentModel","isAsync","errs","validateChildValue","childValue","allowedTypes","err","atLeastOneMatched","allowedType","Constr","validateDecorator","decoratorProps","context","validatorOptions","validateDecorators","decorators","decoratorKey","validationErrors","class","clazz","customTypes","map","flat","isModel","all","then","r","allEmpty","promises","resolvedValues","res","validate","decoratedProperties","validatableProperties","nestedErrors","propKey","propValue","validationFor","designTypes","designType","getPropDesignTypes","some","propErrors","isConstr","isPropertyModel","hasPropValue","isModelInstance","d","entries","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","Primitives","ReservedModels","STRING","OBJECT","NUMBER","BOOLEAN","Boolean","BIGINT","BigInt","jsTypes","modelBuilderFunction","actingModelRegistry","ModelRegistryManager","testFunction","bulkModelRegister","models","arg","exceptions","equals","compare","other","props","properties","diff","acc","nestedDiff","listDiff","SERIALIZATION","serializer","fromObject","getAttributes","fromModel","proto","descriptor","getOwnPropertyDescriptor","propM","reserved","c","validation","clazzName","add","setBuilder","builder","getBuilder","modelRegistry","seen","collect","attributes","push","obj1","obj2","HASHING","algorithm","constr","attribute","type","describe","description","shouldValidateNestedHandler","property","propValidation","metavalidation","iterator","designTypeMeta","propTypes","designTypeDec","AsyncValidator","original","DateValidator","__decorate","DiffValidator","accessor","comparisonPropertyValue","getValueFromPath","label","regexpParser","PatternValidator","getPattern","pattern","test","lastIndex","EmailValidator","EqualsValidator","GreaterThanValidator","GreaterThanOrEqualValidator","LessThanValidator","LessThanOrEqualValidator","ListValidator","isValid","MaxLengthValidator","maxlength","MaxValidator","max","MinLengthValidator","minlength","MinValidator","min","OptionValidator","enum","PasswordValidator","RequiredValidator","StepValidator","step","TypeValidator","ts","URLValidator","validationMetadata","propMetadata","innerValidationDecorator","dec","required","Decoration","define","email","url","propertyKey","WeakMap","newValue","password","list","collection","eq","propertyToCompare","lt","lte","gt","gte","option","construct","_constr","argz","findLastProtoBeforeObject","bindModelPrototype","bindPrototype","objToOverride","setPrototypeOf","prot","modelBaseDecorator","newConstructor","CONSTRUCTOR","MODEL","hashedBy","serializedBy","AttributeBuilder","attr","declaredType","decorate","undecorate","index","splice","messageOrMeta","asMeta","resolveMessage","valueOrMeta","rawPattern","regex","patternFromString","formatOrMeta","clazzOrMeta","typeOfCollection","isMetadataPayload","fallback","resolveComparison","propertyOrMeta","resolvedOptions","different","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","desc","Reflect","defineMetadata","DecorationKeys","DESIGN_TYPE","ListAttributeBuilder","ofPrimitives","ofModel","nestedBuilder","ModelBuilder","originalBuild","cachedConstructor","argArray","ObjectAccumulator","setName","_name","_description","existing","attributeBuilder","bigint","built","listOf","listType","Parent","_parent","DynamicBuiltClass","from","derivedName","now","validations","validationMeta","handler","decoratorFactory","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -10,7 +10,7 @@ export * from "./model";
10
10
  * @const VERSION
11
11
  * @memberOf module:decorator-validation
12
12
  */
13
- export declare const VERSION = "1.11.1";
13
+ export declare const VERSION = "1.11.2";
14
14
  /**
15
15
  * @description Current version of the reflection package
16
16
  * @summary Stores the semantic version number of the package
package/lib/esm/index.js CHANGED
@@ -18,7 +18,7 @@ export * from "./model/index.js";
18
18
  * @const VERSION
19
19
  * @memberOf module:decorator-validation
20
20
  */
21
- export const VERSION = "1.11.1";
21
+ export const VERSION = "1.11.2";
22
22
  /**
23
23
  * @description Current version of the reflection package
24
24
  * @summary Stores the semantic version number of the package
@@ -1,6 +1,6 @@
1
1
  import { BuilderRegistry } from "../utils/registry";
2
2
  import { ModelErrorDefinition } from "./ModelErrorDefinition";
3
- import { Comparable, Hashable, ModelArg, ModelBuilderFunction, ModelConstructor, Serializable, Validatable } from "./types";
3
+ import { Comparable, Comparison, Hashable, ModelArg, ModelBuilderFunction, ModelConstructor, Serializable, Validatable } from "./types";
4
4
  import { ConditionalAsync } from "../types";
5
5
  import { Constructor } from "@decaf-ts/decoration";
6
6
  /**
@@ -130,7 +130,7 @@ export declare function bulkModelRegister<M extends Model>(...models: (Construct
130
130
  * optionalPropertyName?: PropertyType;
131
131
  * }
132
132
  */
133
- export declare abstract class Model<Async extends boolean = false> implements Validatable<Async>, Serializable, Hashable, Comparable<Model<Async>> {
133
+ export declare abstract class Model<Async extends boolean = false> implements Validatable<Async>, Serializable, Hashable, Comparable {
134
134
  protected constructor(arg?: ModelArg<Model> | undefined);
135
135
  isAsync(): boolean;
136
136
  /**
@@ -150,6 +150,7 @@ export declare abstract class Model<Async extends boolean = false> implements Va
150
150
  * @return {boolean} - True if objects are equal, false otherwise
151
151
  */
152
152
  equals(obj: any, ...exceptions: string[]): boolean;
153
+ compare<M extends Model>(this: M, other: M, ...exceptions: (keyof M)[]): Comparison<M> | undefined;
153
154
  /**
154
155
  * @description Converts the model to a serialized string representation
155
156
  * @summary Returns the serialized model according to the currently defined {@link Serializer}
@@ -387,7 +388,7 @@ export declare abstract class Model<Async extends boolean = false> implements Va
387
388
  static describe<M extends Model>(model: Constructor<M>, key?: keyof M): string | undefined;
388
389
  /**
389
390
  * @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
+ * @summary Returns if a Model-property should be validated. Use for models that are relations.
391
392
  *
392
393
  * @template model - The model type extending from Model
393
394
  * @param {M} model - The constructor of the target model class
@@ -174,6 +174,55 @@ export class Model {
174
174
  equals(obj, ...exceptions) {
175
175
  return isEqual(this, obj, ...exceptions);
176
176
  }
177
+ compare(other, ...exceptions) {
178
+ const props = Metadata.properties(this.constructor);
179
+ if (!props || !props.length)
180
+ return undefined;
181
+ const diff = props.reduce((acc, el) => {
182
+ const k = el;
183
+ if (exceptions.includes(k))
184
+ return acc;
185
+ if (isEqual(this[k], other[k]))
186
+ return acc;
187
+ if (typeof this[k] === "undefined" && typeof other[k] !== "undefined") {
188
+ acc[k] = { other: other[k], current: undefined };
189
+ return acc;
190
+ }
191
+ if (typeof this[k] !== "undefined" && typeof other[k] === "undefined") {
192
+ acc[k] = { other: undefined, current: this[k] };
193
+ return acc;
194
+ }
195
+ if (Model.isPropertyModel(this, k)) {
196
+ const nestedDiff = this[k].compare(other[k]);
197
+ if (nestedDiff) {
198
+ acc[k] = nestedDiff;
199
+ }
200
+ return acc;
201
+ }
202
+ if (Array.isArray(this[k]) && Array.isArray(other[k])) {
203
+ if (this[k].length !== other[k].length) {
204
+ acc[k] = { current: this[k], other: other[k] };
205
+ return acc;
206
+ }
207
+ const listDiff = this[k].map((item, i) => {
208
+ if (isEqual(item, other[k][i]))
209
+ return null;
210
+ if (item instanceof Model &&
211
+ other[k][i] instanceof Model) {
212
+ return item.compare(other[k][i]);
213
+ }
214
+ return { current: item, other: other[k][i] };
215
+ });
216
+ if (listDiff.some((d) => d !== null)) {
217
+ acc[k] = listDiff;
218
+ }
219
+ return acc;
220
+ }
221
+ acc[k] = { other: other[k], current: this[k] };
222
+ return acc;
223
+ }, {});
224
+ return Object.keys(diff).length > 0 ? diff : undefined;
225
+ }
177
226
  /**
178
227
  * @description Converts the model to a serialized string representation
179
228
  * @summary Returns the serialized model according to the currently defined {@link Serializer}
@@ -605,7 +654,7 @@ export class Model {
605
654
  }
606
655
  /**
607
656
  * @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.
657
+ * @summary Returns if a Model-property should be validated. Use for models that are relations.
609
658
  *
610
659
  * @template model - The model type extending from Model
611
660
  * @param {M} model - The constructor of the target model class
@@ -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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"}
@@ -118,7 +118,7 @@ export interface Hashable {
118
118
  * @memberOf module:decorator-validation
119
119
  * @category Model
120
120
  */
121
- export interface Comparable<T> {
121
+ export interface Comparable {
122
122
  /**
123
123
  * @description Determines if this object is equal to another object
124
124
  * @summary Compares this object with another for equality
@@ -127,7 +127,8 @@ export interface Comparable<T> {
127
127
  * @return {boolean} - True if the objects are equal, false otherwise
128
128
  * @method
129
129
  */
130
- equals(other: T, ...args: any[]): boolean;
130
+ equals<T extends Model>(this: T, other: T, ...args: any[]): boolean;
131
+ compare<T extends Model>(this: T, other: T, ...args: any[]): Comparison<T> | undefined;
131
132
  }
132
133
  export type SetterKeyFor<OBJ, K extends keyof OBJ> = `set${Capitalize<string & K>}`;
133
134
  export type SetterFor<OBJ, K extends keyof OBJ, R> = (value: OBJ[K]) => R;
@@ -138,3 +139,7 @@ export type Builder<OUT, ARGS extends any[] = any[], IN = OUT> = {
138
139
  } & {
139
140
  build: (...args: ARGS) => OUT | Promise<OUT>;
140
141
  };
142
+ export type Comparison<M, K extends keyof M = keyof M> = Record<K, {
143
+ other: M[K] | undefined;
144
+ current: M[K] | undefined;
145
+ }>;
package/lib/index.cjs CHANGED
@@ -35,7 +35,7 @@ __exportStar(require("./model/index.cjs"), exports);
35
35
  * @const VERSION
36
36
  * @memberOf module:decorator-validation
37
37
  */
38
- exports.VERSION = "1.11.1";
38
+ exports.VERSION = "1.11.2";
39
39
  /**
40
40
  * @description Current version of the reflection package
41
41
  * @summary Stores the semantic version number of the package
package/lib/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export * from "./model";
10
10
  * @const VERSION
11
11
  * @memberOf module:decorator-validation
12
12
  */
13
- export declare const VERSION = "1.11.1";
13
+ export declare const VERSION = "1.11.2";
14
14
  /**
15
15
  * @description Current version of the reflection package
16
16
  * @summary Stores the semantic version number of the package
@@ -179,6 +179,55 @@ class Model {
179
179
  equals(obj, ...exceptions) {
180
180
  return (0, equality_1.isEqual)(this, obj, ...exceptions);
181
181
  }
182
+ compare(other, ...exceptions) {
183
+ const props = decoration_1.Metadata.properties(this.constructor);
184
+ if (!props || !props.length)
185
+ return undefined;
186
+ const diff = props.reduce((acc, el) => {
187
+ const k = el;
188
+ if (exceptions.includes(k))
189
+ return acc;
190
+ if ((0, equality_1.isEqual)(this[k], other[k]))
191
+ return acc;
192
+ if (typeof this[k] === "undefined" && typeof other[k] !== "undefined") {
193
+ acc[k] = { other: other[k], current: undefined };
194
+ return acc;
195
+ }
196
+ if (typeof this[k] !== "undefined" && typeof other[k] === "undefined") {
197
+ acc[k] = { other: undefined, current: this[k] };
198
+ return acc;
199
+ }
200
+ if (Model.isPropertyModel(this, k)) {
201
+ const nestedDiff = this[k].compare(other[k]);
202
+ if (nestedDiff) {
203
+ acc[k] = nestedDiff;
204
+ }
205
+ return acc;
206
+ }
207
+ if (Array.isArray(this[k]) && Array.isArray(other[k])) {
208
+ if (this[k].length !== other[k].length) {
209
+ acc[k] = { current: this[k], other: other[k] };
210
+ return acc;
211
+ }
212
+ const listDiff = this[k].map((item, i) => {
213
+ if ((0, equality_1.isEqual)(item, other[k][i]))
214
+ return null;
215
+ if (item instanceof Model &&
216
+ other[k][i] instanceof Model) {
217
+ return item.compare(other[k][i]);
218
+ }
219
+ return { current: item, other: other[k][i] };
220
+ });
221
+ if (listDiff.some((d) => d !== null)) {
222
+ acc[k] = listDiff;
223
+ }
224
+ return acc;
225
+ }
226
+ acc[k] = { other: other[k], current: this[k] };
227
+ return acc;
228
+ }, {});
229
+ return Object.keys(diff).length > 0 ? diff : undefined;
230
+ }
182
231
  /**
183
232
  * @description Converts the model to a serialized string representation
184
233
  * @summary Returns the serialized model according to the currently defined {@link Serializer}
@@ -610,7 +659,7 @@ class Model {
610
659
  }
611
660
  /**
612
661
  * @description Returns if a Model property should be validated
613
- * @summary Returns if a Model property should be validated. Use for models that are relations.
662
+ * @summary Returns if a Model-property should be validated. Use for models that are relations.
614
663
  *
615
664
  * @template model - The model type extending from Model
616
665
  * @param {M} model - The constructor of the target model class