@decaf-ts/decorator-validation 1.11.13 → 1.11.14
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 +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/utils/DateBuilder.d.ts +57 -0
- package/lib/esm/utils/DateBuilder.js +121 -0
- package/lib/esm/utils/DateBuilder.js.map +1 -0
- package/lib/esm/utils/index.d.ts +1 -0
- package/lib/esm/utils/index.js +1 -0
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/utils/DateBuilder.cjs +141 -0
- package/lib/utils/DateBuilder.d.ts +57 -0
- package/lib/utils/DateBuilder.js.map +1 -0
- package/lib/utils/index.cjs +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator-validation.cjs","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/validation/Validators/utils.ts","../src/validation/Validators/BaseValidator.ts","../src/validation/Validators/Validator.ts","../src/validation/Validators/ValidatorRegistry.ts","../src/validation/Validation.ts","../src/utils/PathProxy.ts","../src/model/utils.ts","../src/model/constants.ts","../src/validation/Validators/decorators.ts","../src/utils/equality.ts","../src/validation/Validators/DateValidator.ts","../src/validation/Validators/DiffValidator.ts","../src/validation/Validators/PatternValidator.ts","../src/utils/dates.ts","../src/validation/decorators.ts","../src/model/ModelRegistry.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/model/validation.ts","../src/utils/hashing.ts","../src/model/Model.ts","../src/overrides/overrides.ts","../src/utils/serializers.ts","../src/model/construction.ts","../src/model/decorators.ts","../src/model/Builder.ts","../src/index.ts","../src/validation/Validators/AsyncValidator.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,null,null],"names":["ModelKeys","exports","DefaultSerializationMethod","Serialization","this","current","constructor","get","key","cache","Error","register","func","setDefault","serialize","obj","method","args","deserialize","ModelErrorDefinition","errors","prop","Object","prototype","hasOwnProperty","call","defineProperty","enumerable","configurable","value","writable","toString","self","keys","filter","k","reduce","accum","propError","propAccum","undefined","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","asd","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","getTypeName","Date","Number","isNaN","Infinity","Array","isArray","isSupported","isFinite","isValidForGteOrLteComparison","a","b","TypeError","isLessThan","includes","aType","bType","getTime","isGreaterThan","checkType","acceptedType","toLowerCase","name","checkTypes","acceptedTypes","every","t","evaluateDesignTypes","types","valueLength","Set","Map","size","length","BaseValidator","async","message","hasErrors","checkTypeAndHasErrors","bind","getMessage","unbound","options","proxy","join","isValidator","val","Validator","super","ValidatorRegistry","validators","customKeyCache","getCustomKeys","assign","getKeys","validatorKey","classOrInstance","instance","default","validator","forEach","v","validationKey","save","toUpperCase","Validation","actingValidatorRegistry","setRegistry","validatorRegistry","migrationHandler","getRegistry","registerDecorator","decorator","meta","Metadata","for","DECORATORS","set","decoratorFromKey","e","fallbackGetParent","target","fallbackGetValue","PathProxyEngine","create","rootTarget","opts","getValue","getParent","ignoreUndefined","ignoreNull","Proxy","path","parts","parsePath","i","part","parent","trim","toConditionalPromise","Promise","resolve","Primitives","ReservedModels","STRING","String","OBJECT","NUMBER","BOOLEAN","Boolean","BIGINT","BigInt","jsTypes","apply","original","metadata","isEqual","propsToIgnore","RegExp","has","item","ArrayBuffer","isView","byteLength","byteOffset","buffer","uint8A","Uint8Array","uint8B","aKeys","bKeys","aSymbols","getOwnPropertySymbols","s","bSymbols","sym","getPrototypeOf","DateValidator","getDate","__decorate","DiffValidator","accessor","comparisonPropertyValue","getValueFromPath","label","regexpParser","dateFromFormat","date","format","formatRegexp","exec","groups","safeParseInt","n","result","parseInt","year","day","amPm","ampm","hour","minutes","seconds","ms","milis","monthName","monthname","monthNameSmall","monthnamesmall","month","indexOf","m","find","startsWith","bindDateToString","toISOString","thisArg","formatDate","isValidDate","twoDigitPad","num","patternStr","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","validationMetadata","propMetadata","innerValidationDecorator","dec","required","description","Decoration","define","min","max","step","minlength","maxlength","pattern","email","url","type","customTypes","propertyKey","values","WeakMap","newValue","descriptor","getOwnPropertyDescriptor","password","list","clazz","collection","eq","propertyToCompare","diff","lt","lte","gt","gte","option","modelBuilderFunction","actingModelRegistry","PatternValidator","getPattern","test","lastIndex","EmailValidator","EqualsValidator","GreaterThanValidator","GreaterThanOrEqualValidator","LessThanValidator","LessThanOrEqualValidator","ListValidator","map","c","isValid","some","MaxLengthValidator","MaxValidator","MinLengthValidator","MinValidator","OptionValidator","enum","PasswordValidator","RequiredValidator","StepValidator","TypeValidator","ts","URLValidator","ModelRegistryManager","testFunction","isModel","build","modelName","setBuilder","builder","getBuilder","fromModel","decorators","props","getAttributes","proto","propM","isPropertyModel","allowedTypes","reserved","validation","validationFor","clazzName","el","add","modelRegistry","setTemporaryContext","cleanupTemporaryContext","getNestedValidationErrors","nestedModel","parentModel","isAsync","errs","validateChildValue","childValue","err","atLeastOneMatched","allowedType","Constr","getChildNestedPropsToIgnore","parentProp","propToIgnore","validateDecorator","model","decoratorProps","context","validatorOptions","validateDecorators","decoratorKey","validationErrors","class","flat","nestedPropsToIgnore","all","then","r","allEmpty","promises","resolvedValues","res","validate","decoratedProperties","validatableProperties","nestedErrors","propKey","propValue","designTypes","getPropDesignTypes","propErrors","d","designTypeNames","entries","error","merged","allSettled","results","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","hashCode","hash","charCodeAt","hashObj","hashReducer","elHash","hashFunction","Math","abs","DefaultHashingMethod","Hashing","Model","arg","exceptions","equals","compare","other","properties","acc","nestedDiff","listDiff","JSON","stringify","str","SERIALIZATION","serializer","fromObject","obj1","obj2","HASHING","algorithm","attribute","describe","decoration","property","propValidation","constr","metavalidation","designType","iterator","designTypeMeta","propTypes","designTypeDec","seen","collect","attributes","push","JSONSerializer","preSerialize","toSerialize","ANCHOR","deserialization","parse","className","construct","_constr","argz","bindModelPrototype","bindPrototype","objToOverride","setPrototypeOf","prot","modelBaseDecorator","newConstructor","CONSTRUCTOR","MODEL","json","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","models"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decorator-validation.cjs","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/validation/Validators/utils.ts","../src/validation/Validators/BaseValidator.ts","../src/validation/Validators/Validator.ts","../src/validation/Validators/ValidatorRegistry.ts","../src/validation/Validation.ts","../src/utils/PathProxy.ts","../src/model/utils.ts","../src/model/constants.ts","../src/validation/Validators/decorators.ts","../src/utils/equality.ts","../src/validation/Validators/DateValidator.ts","../src/validation/Validators/DiffValidator.ts","../src/validation/Validators/PatternValidator.ts","../src/utils/dates.ts","../src/validation/decorators.ts","../src/model/ModelRegistry.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/model/validation.ts","../src/utils/hashing.ts","../src/model/Model.ts","../src/utils/DateBuilder.ts","../src/overrides/overrides.ts","../src/utils/serializers.ts","../src/model/construction.ts","../src/model/decorators.ts","../src/model/Builder.ts","../src/index.ts","../src/validation/Validators/AsyncValidator.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,null,null,null],"names":["ModelKeys","exports","DefaultSerializationMethod","Serialization","this","current","constructor","get","key","cache","Error","register","func","setDefault","serialize","obj","method","args","deserialize","ModelErrorDefinition","errors","prop","Object","prototype","hasOwnProperty","call","defineProperty","enumerable","configurable","value","writable","toString","self","keys","filter","k","reduce","accum","propError","propAccum","undefined","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","asd","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","getTypeName","Date","Number","isNaN","Infinity","Array","isArray","isSupported","isFinite","isValidForGteOrLteComparison","a","b","TypeError","isLessThan","includes","aType","bType","getTime","isGreaterThan","checkType","acceptedType","toLowerCase","name","checkTypes","acceptedTypes","every","t","evaluateDesignTypes","types","valueLength","Set","Map","size","length","BaseValidator","async","message","hasErrors","checkTypeAndHasErrors","bind","getMessage","unbound","options","proxy","join","isValidator","val","Validator","super","ValidatorRegistry","validators","customKeyCache","getCustomKeys","assign","getKeys","validatorKey","classOrInstance","instance","default","validator","forEach","v","validationKey","save","toUpperCase","Validation","actingValidatorRegistry","setRegistry","validatorRegistry","migrationHandler","getRegistry","registerDecorator","decorator","meta","Metadata","for","DECORATORS","set","decoratorFromKey","e","fallbackGetParent","target","fallbackGetValue","PathProxyEngine","create","rootTarget","opts","getValue","getParent","ignoreUndefined","ignoreNull","Proxy","path","parts","parsePath","i","part","parent","trim","toConditionalPromise","Promise","resolve","Primitives","ReservedModels","STRING","String","OBJECT","NUMBER","BOOLEAN","Boolean","BIGINT","BigInt","jsTypes","apply","original","metadata","isEqual","propsToIgnore","RegExp","has","item","ArrayBuffer","isView","byteLength","byteOffset","buffer","uint8A","Uint8Array","uint8B","aKeys","bKeys","aSymbols","getOwnPropertySymbols","s","bSymbols","sym","getPrototypeOf","DateValidator","getDate","__decorate","DiffValidator","accessor","comparisonPropertyValue","getValueFromPath","label","regexpParser","dateFromFormat","date","format","formatRegexp","exec","groups","safeParseInt","n","result","parseInt","year","day","amPm","ampm","hour","minutes","seconds","ms","milis","monthName","monthname","monthNameSmall","monthnamesmall","month","indexOf","m","find","startsWith","bindDateToString","toISOString","thisArg","formatDate","isValidDate","twoDigitPad","num","patternStr","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","validationMetadata","propMetadata","innerValidationDecorator","dec","required","description","Decoration","define","min","max","step","minlength","maxlength","pattern","email","url","type","customTypes","propertyKey","values","WeakMap","newValue","descriptor","getOwnPropertyDescriptor","password","list","clazz","collection","eq","propertyToCompare","diff","lt","lte","gt","gte","option","modelBuilderFunction","actingModelRegistry","PatternValidator","getPattern","test","lastIndex","EmailValidator","EqualsValidator","GreaterThanValidator","GreaterThanOrEqualValidator","LessThanValidator","LessThanOrEqualValidator","ListValidator","map","c","isValid","some","MaxLengthValidator","MaxValidator","MinLengthValidator","MinValidator","OptionValidator","enum","PasswordValidator","RequiredValidator","StepValidator","TypeValidator","ts","URLValidator","ModelRegistryManager","testFunction","isModel","build","modelName","setBuilder","builder","getBuilder","fromModel","decorators","props","getAttributes","proto","propM","isPropertyModel","allowedTypes","reserved","validation","validationFor","clazzName","el","add","modelRegistry","setTemporaryContext","cleanupTemporaryContext","getNestedValidationErrors","nestedModel","parentModel","isAsync","errs","validateChildValue","childValue","err","atLeastOneMatched","allowedType","Constr","getChildNestedPropsToIgnore","parentProp","propToIgnore","validateDecorator","model","decoratorProps","context","validatorOptions","validateDecorators","decoratorKey","validationErrors","class","flat","nestedPropsToIgnore","all","then","r","allEmpty","promises","resolvedValues","res","validate","decoratedProperties","validatableProperties","nestedErrors","propKey","propValue","designTypes","getPropDesignTypes","propErrors","d","designTypeNames","entries","error","merged","allSettled","results","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","hashCode","hash","charCodeAt","hashObj","hashReducer","elHash","hashFunction","Math","abs","DefaultHashingMethod","Hashing","Model","arg","exceptions","equals","compare","other","properties","acc","nestedDiff","listDiff","JSON","stringify","str","SERIALIZATION","serializer","fromObject","obj1","obj2","HASHING","algorithm","attribute","describe","resolveTarget","DateBuilder","offsetDate","direction","computed","years","setFullYear","months","setMonth","days","setDate","hours","setHours","setMinutes","setSeconds","decoration","property","propValidation","constr","metavalidation","designType","iterator","designTypeMeta","propTypes","designTypeDec","seen","collect","attributes","push","Years","Months","Days","Hours","Minutes","Seconds","reference","from","offsets","past","after","until","before","Dates","Now","JSONSerializer","preSerialize","toSerialize","ANCHOR","deserialization","parse","className","construct","_constr","argz","bindModelPrototype","bindPrototype","objToOverride","setPrototypeOf","prot","modelBaseDecorator","newConstructor","CONSTRUCTOR","MODEL","json","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","derivedName","now","validations","validationMeta","handler","decoratorFactory","VERSION","PACKAGE_NAME","registerLibrary","count","models"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as e,apply as t,metadata as r,propMetadata as s,Decoration as n,description as i,DecorationKeys as a,prop as o}from"@decaf-ts/decoration";import{__decorate as c,__metadata as u}from"tslib";import{ObjectAccumulator as l}from"typed-object-accumulator";var d;(e=>{e.DESCRIPTION="description",e.TYPE="design:type",e.MODEL="model",e.ANCHOR="__model",e.CONSTRUCTION="constructed-by",e.ATTRIBUTE="__attributes",e.HASHING="hashing",e.SERIALIZATION="serialization",e.DECORATORS="decorators",e.CONSTRUCTOR="__original"})(d||(d={}));const f="json";class g{static{this.current=f}constructor(){}static get(e){if(e in this.cache)return this.cache[e];throw Error("No serialization method registered under "+e)}static register(e,t,r=!1){if(e in this.cache)throw Error(`Serialization method ${e} already registered`);this.cache[e]=new t,r&&(this.current=e)}static serialize(e,t,...r){return t?this.get(t).serialize(e,...r):this.get(this.current).serialize(e,...r)}static deserialize(e,t,...r){return t?this.get(t).deserialize(e,...r):this.get(this.current).deserialize(e,...r)}static setDefault(e){this.current=this.get(e)}}class h{constructor(e){for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&e[t]&&Object.defineProperty(this,t,{enumerable:!0,configurable:!1,value:e[t],writable:!1})}toString(){const e=this;return Object.keys(e).filter(t=>Object.prototype.hasOwnProperty.call(e,t)&&"function"!=typeof e[t]).reduce((t,r)=>{let s=Object.keys(e[r]).reduce((t,s)=>(t?t+="\n"+e[r][s]:t=e[r][s],t),void 0);return s&&(s=`${r} - ${s}`,t?t+="\n"+s:t=s),t},"")}}const p={EQUALS:"equals",DIFF:"different",LESS_THAN:"lessThan",LESS_THAN_OR_EQUAL:"lessThanOrEqual",GREATER_THAN:"greaterThan",GREATER_THAN_OR_EQUAL:"greaterThanOrEqual"},y={REFLECT:"validation",DATE:"date",EMAIL:"email",FORMAT:"format",LIST:"list",MAX:"max",MAX_LENGTH:"maxlength",MIN:"min",MIN_LENGTH:"minlength",PASSWORD:"password",PATTERN:"pattern",REQUIRED:"required",STEP:"step",TYPE:"type",UNIQUE:"unique",URL:"url",VALIDATOR:"validator",ENUM:"enum",...p},m=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b={REQUIRED:"This field is required",MIN:"The minimum value is {0}",MAX:"The maximum value is {0}",MIN_LENGTH:"The minimum length is {0}",MAX_LENGTH:"The maximum length is {0}",PATTERN:"The value does not match the pattern",EMAIL:"The value is not a valid email",URL:"The value is not a valid URL",TYPE:"Invalid type. Expected {0}, received {1}",STEP:"Invalid value. Not a step of {0}",DATE:"Invalid value. not a valid Date",DEFAULT:"There is an Error",PASSWORD:"Must be at least 8 characters and contain one of number, lower and upper case letters, and special character (@$!%*?&_-.,)",LIST:"Invalid list of {0}",MODEL_NOT_FOUND:"No model registered under {0}",EQUALS:"This field must be equal to field {0}",DIFF:"This field must be different from field {0}",LESS_THAN:"This field must be less than field {0}",LESS_THAN_OR_EQUAL:"This field must be less than or equal to field {0}",GREATER_THAN:"This field must be greater than field {0}",GREATER_THAN_OR_EQUAL:"This field must be greater than or equal to field {0}",UNIQUE:"Duplicate found, this field must be unique.",ENUM:"Value is not allowed. Must be one of {0}"},T={EMAIL:/[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?/,URL:/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,PASSWORD:{CHAR8_ONE_OF_EACH:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&_\-.,])[A-Za-z\d@$!%*?&_\-.,]{8,}$/g},asd:"^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\xa1-\uffff][a-z0-9\xa1-\uffff_-]{0,62})?[a-z0-9\xa1-\uffff]\\.)+(?:[a-z\xa1-\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$"};function A(e,...t){return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const N=A,O={INVALID_PATH:"Invalid path argument. Expected non-empty string but received: '{0}'",CONTEXT_NOT_OBJECT_COMPARISON:"Unable to access parent at level {0} for path '{1}': current context is not an object",PROPERTY_INVALID:"Failed to resolve path {0}: property '{1}' is invalid or does not exist.",PROPERTY_NOT_EXIST:"Failed to resolve path: property '{0}' does not exist.",UNSUPPORTED_TYPES_COMPARISON:"Unsupported types for comparison: '{0}' and '{1}'",NULL_OR_UNDEFINED_COMPARISON:"Comparison failed due to null or undefined value",INVALID_DATE_COMPARISON:"Invalid Date objects are not comparable",TYPE_MISMATCH_COMPARISON:"Cannot compare values of different types: {0} and {1}.",NAN_COMPARISON:"Comparison not supported for NaN values"},S=Symbol("_parent"),M=Symbol("isAsync"),R=e=>null===e?"null":e instanceof Date?"Date":Number.isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":Array.isArray(e)?"array":typeof e,v=e=>void 0===e||e instanceof Date||"bigint"==typeof e||"number"==typeof e&&Number.isFinite(e);function P(e,t){if(v(e)&&v(t))return!0;throw new TypeError(N(O.UNSUPPORTED_TYPES_COMPARISON,R(e),R(t)))}function _(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(O.NULL_OR_UNDEFINED_COMPARISON);const r=typeof e,s=typeof t;if(r!==s){if("bigint"===r&&"number"===s)return t>Number(e);if("number"===r&&"bigint"===s)return Number(t)>e;throw new TypeError(N(O.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(O.NAN_COMPARISON);return t>e}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(O.INVALID_DATE_COMPARISON);return e.getTime()<t.getTime()}throw new TypeError(N(O.UNSUPPORTED_TYPES_COMPARISON,R(e),R(t)))}function L(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(O.NULL_OR_UNDEFINED_COMPARISON);const r=typeof e,s=typeof t;if(r!==s){if("bigint"===r&&"number"===s)return Number(e)>t;if("number"===r&&"bigint"===s)return e>Number(t);throw Error(N(O.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(O.NAN_COMPARISON);return e>t}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(O.INVALID_DATE_COMPARISON);return e.getTime()>t.getTime()}throw new TypeError(N(O.UNSUPPORTED_TYPES_COMPARISON,R(e),R(t)))}function w(e,t){return typeof e===t.toLowerCase()||void 0!==e&&"object"==typeof e&&e.constructor&&e.constructor.name.toLowerCase()===t.toLowerCase()}function I(e,t){return!t.every(t=>!w(e,t))}function D(e,t){switch(typeof t){case"string":return w(e,t);case"object":return!Array.isArray(t)||I(e,t);case"function":return!t.name||"Object"===t.name||w(e,t.name);default:return!0}}function j(e){return e instanceof Set||e instanceof Map?e.size:e.length}class U{constructor(e,t=b.DEFAULT,...r){this.async=e,this.message=t,r.length&&(this.acceptedTypes=r),this.acceptedTypes&&(this.hasErrors=this.checkTypeAndHasErrors(this.hasErrors.bind(this)))}getMessage(e,...t){return N(e,...t)}checkTypeAndHasErrors(e){return function(t,r,s,...n){return void 0!==t&&this.acceptedTypes?I(t,this.acceptedTypes)?e(t,r,s,...n):this.getMessage(b.TYPE,this.acceptedTypes.join(", "),"number"!=typeof t?typeof t:isNaN(t)?"NaN":typeof t):e(t,r,s,...n)}.bind(this)}static isValidator(e){return e.constructor&&!!e.hasErrors}}class H extends U{constructor(e=b.DEFAULT,...t){super(!1,e,...t)}}class C{constructor(...e){this.cache={},this.customKeyCache={},this.register(...e)}getCustomKeys(){return Object.assign({},this.customKeyCache)}getKeys(){return Object.keys(this.cache)}get(e){if(!(e in this.cache))return;const t=this.cache[e];if(H.isValidator(t))return t;const r=new(t.default||t);return this.cache[e]=r,r}register(...e){e.forEach(e=>{if(H.isValidator(e)){if(e.validationKey in this.cache)return;this.cache[e.validationKey]=e}else{const{validationKey:t,validator:r,save:s}=e;if(t in this.cache)return;if(this.cache[t]=r,!s)return;const n={};n[t.toUpperCase()]=t,this.customKeyCache=Object.assign({},this.customKeyCache,n)}})}}class z{static{this.actingValidatorRegistry=void 0}constructor(){}static setRegistry(e,t){t&&z.actingValidatorRegistry&&z.actingValidatorRegistry.getKeys().forEach(r=>{const s=e.get(r);s&&e.register(t(s))}),z.actingValidatorRegistry=e}static getRegistry(){return z.actingValidatorRegistry||(z.actingValidatorRegistry=new C),z.actingValidatorRegistry}static get(e){return z.getRegistry().get(e)}static register(...e){return z.getRegistry().register(...e)}static key(e){return y.REFLECT+e}static keys(){return this.getRegistry().getKeys()}static registerDecorator(t,r){const s=e.innerGet(Symbol.for(d.DECORATORS),e.key(y.REFLECT,t));s?.[t]||e.set(d.DECORATORS,e.key(y.REFLECT,t),r)}static decoratorFromKey(t){try{return e.innerGet(Symbol.for(d.DECORATORS),e.key(y.REFLECT,t))}catch(e){throw Error(`No decorator registered under ${t}: ${e}`)}}}const x=e=>e[S],F=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw Error(N(O.PROPERTY_NOT_EXIST,t));return e[t]};class ${static create(e,t){const{getValue:r,getParent:s,ignoreUndefined:n,ignoreNull:i}={getParent:x,getValue:F,ignoreNull:!1,ignoreUndefined:!1,...t},a=new Proxy({},{get:(t,a)=>"getValueFromPath"===a?t=>{const a=$.parsePath(t);let o=e;for(let e=0;e<a.length;e++){const c=a[e];if(".."===c){const r=s(o);if(!r||"object"!=typeof r)throw Error(N(O.CONTEXT_NOT_OBJECT_COMPARISON,e+1,t));o=r;continue}if(o=r(o,c),!n&&void 0===o)throw Error(N(O.PROPERTY_INVALID,t,c));if(!i&&null===o)throw Error(N(O.PROPERTY_INVALID,t,c))}return o}:t[a]});return a}static parsePath(e){if("string"!=typeof e||!e.trim())throw Error(N(O.INVALID_PATH,e));return e.match(/(\.\.|[^/.]+)/g)||[]}}function G(e,t){return t?Promise.resolve(e):e}var Y;(e=>{e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e.BIGINT="bigint"})(Y||(Y={}));const Q={STRING:String,OBJECT:Object,NUMBER:Number,BOOLEAN:Boolean,BIGINT:BigInt,DATE:Date},k=["string","array","number","boolean","symbol","function","object","undefined","null","bigint"];class V extends U{constructor(e=b.DEFAULT,...t){super(!0,e,...t)}}function q(...e){return t(t=>(e.forEach(e=>{z.register({validator:t,validationKey:e,save:!0})}),t),r(y.VALIDATOR,e))}let B=class extends H{constructor(e=b.DATE){super(e,Number.name,Date.name,String.name)}hasErrors(e,t={}){if(void 0!==e&&("string"==typeof e&&(e=new Date(e)),Number.isNaN(e.getDate()))){const{message:e=""}=t;return this.getMessage(e||this.message)}}};function X(e,t,...r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return e===t;if(typeof e!=typeof t)return!1;if(Number.isNaN(e)&&Number.isNaN(t))return!0;if("object"!=typeof e)return e===t;if(e instanceof Date&&t instanceof Date)return!(!isNaN(e.getTime())||!isNaN(t.getTime()))||e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.toString()===t.toString();if(e instanceof Error&&t instanceof Error)return e.name===t.name&&e.message===t.message;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!X(e[s],t[s],...r))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[s,n]of e)if(!t.has(s)||!X(n,t.get(s),...r))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(e.byteLength!==t.byteLength)return!1;if(e.byteOffset!==t.byteOffset)return!1;if(e.buffer.byteLength!==t.buffer.byteLength)return!1;const r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<r.length;e++)if(r[e]!==s[e])return!1;return!0}const s=Object.keys(e).filter(e=>!r.includes(e)),n=Object.keys(t).filter(e=>!r.includes(e));if(s.length!==n.length)return!1;for(const i of s){if(!n.includes(i))return!1;if(!X(e[i],t[i],...r))return!1}const i=Object.getOwnPropertySymbols(e).filter(e=>!r.includes(e.toString())),a=Object.getOwnPropertySymbols(t).filter(e=>!r.includes(e.toString()));if(i.length!==a.length)return!1;for(const s of i){if(!a.includes(s))return!1;if(!X(e[s],t[s],...r))return!1}return Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}B=c([q(y.DATE),u("design:paramtypes",[String])],B);let K=class extends H{constructor(e=b.DIFF){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.DIFF])}catch(e){return this.getMessage(e.message||this.message)}return X(e,s)?this.getMessage(t.message||this.message,t.label||t[y.DIFF]):void 0}};K=c([q(y.DIFF),u("design:paramtypes",[String])],K);const W=RegExp("^/(.+)/([gimus]*)$");let Z=class extends H{constructor(e=b.PATTERN){super(e,"string")}getPattern(e){if(!W.test(e))return RegExp(e);const t=e.match(W);return RegExp(t[1],t[2])}hasErrors(e,t){if(!e)return;let{pattern:r}=t;if(!r)throw Error("Missing Pattern");return r="string"==typeof r?this.getPattern(r):r,r.lastIndex=0,r.test(e)?void 0:this.getMessage(t.message||this.message)}};Z=c([q(y.PATTERN),u("design:paramtypes",[String])],Z);let J=class extends Z{constructor(e=b.EMAIL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t?.pattern||T.EMAIL})}};J=c([q(y.EMAIL),u("design:paramtypes",[String])],J);let ee=class extends H{constructor(e=b.EQUALS){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.EQUALS])}catch(e){return this.getMessage(e.message||this.message)}return X(e,s)?void 0:this.getMessage(t.message||this.message,t.label||t[y.EQUALS])}};ee=c([q(y.EQUALS),u("design:paramtypes",[String])],ee);let te=class extends H{constructor(e=b.GREATER_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.GREATER_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!L(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.GREATER_THAN])}}};te=c([q(y.GREATER_THAN),u("design:paramtypes",[String])],te);let re=class extends H{constructor(e=b.GREATER_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.GREATER_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(P(e,s)&&X(e,s)||L(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.GREATER_THAN_OR_EQUAL])}}};re=c([q(y.GREATER_THAN_OR_EQUAL),u("design:paramtypes",[String])],re);let se=class extends H{constructor(e=b.LESS_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.LESS_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!_(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.LESS_THAN])}}};se=c([q(y.LESS_THAN),u("design:paramtypes",[String])],se);let ne=class extends H{constructor(e=b.LESS_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.LESS_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(P(e,s)&&X(e,s)||_(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.LESS_THAN_OR_EQUAL])}}};ne=c([q(y.LESS_THAN_OR_EQUAL),u("design:paramtypes",[String])],ne);let ie=class extends H{constructor(e=b.LIST){super(e,Array.name,Set.name)}hasErrors(e,t){if(!e||(Array.isArray(e)?!e.length:!e.size))return;const r=(Array.isArray(t.clazz)?t.clazz:[t.clazz]).map(e=>"string"==typeof e?e:e?.name||"function"!=typeof e?e?.name:e().name);let s,n=!0;for(let t=0;t<(Array.isArray(e)?e.length:e.size);t++)switch(s=[...e][t],typeof s){case"object":case"function":n=r.includes((s??{}).constructor?.name);break;default:n=r.some(e=>typeof s===e?.toLowerCase())}return n?void 0:this.getMessage(t.message||this.message,r)}};ie=c([q(y.LIST),u("design:paramtypes",[String])],ie);let ae=class extends H{constructor(e=b.MAX_LENGTH){super(e,String.name,Array.name,Set.name,Map.name)}hasErrors(e,t){if(void 0!==e)return j(e)>t.maxlength?this.getMessage(t.message||this.message,t.maxlength):void 0}};ae=c([q(y.MAX_LENGTH),u("design:paramtypes",[String])],ae);let oe=class extends H{constructor(e=b.MAX){super(e,Number.name,Date.name,String.name)}hasErrors(e,t){if(void 0===e)return;let{max:r}=t;if(e instanceof Date&&!(r instanceof Date)&&(r=new Date(r),Number.isNaN(r.getDate())))throw Error("Invalid Max param defined");return e>r?this.getMessage(t.message||this.message,r):void 0}};oe=c([q(y.MAX),u("design:paramtypes",[String])],oe);let ce=class extends H{constructor(e=b.MIN_LENGTH){super(e,String.name,Array.name,Set.name,Map.name)}hasErrors(e,t){if(void 0!==e)return j(e)<t.minlength?this.getMessage(t.message||this.message,t.minlength):void 0}};ce=c([q(y.MIN_LENGTH),u("design:paramtypes",[String])],ce);let ue=class extends H{constructor(e=b.MIN){super(e,Number.name,Date.name,String.name)}hasErrors(e,t){if(void 0===e)return;let{min:r}=t;if(e instanceof Date&&!(r instanceof Date)&&(r=new Date(r),Number.isNaN(r.getDate())))throw Error("Invalid Min param defined");return r>e?this.getMessage(t.message||this.message,r):void 0}};ue=c([q(y.MIN),u("design:paramtypes",[String])],ue);let le=class extends H{constructor(e=b.ENUM){super(e)}hasErrors(e,t){if(void 0!==e){if(Array.isArray(t.enum))return t.enum.includes(e)?void 0:this.getMessage(t.message||this.message,t.enum);if("object"==typeof t.enum){const r=Object.keys(t.enum);for(const s of r)if(t.enum[s]===e)return;return this.getMessage(t.message||this.message,Object.values(t.enum))}}}};le=c([q(y.ENUM),u("design:paramtypes",[String])],le);let de=class extends Z{constructor(e=b.PASSWORD){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,[y.PATTERN]:t?.pattern||T.PASSWORD.CHAR8_ONE_OF_EACH})}};de=c([q(y.PASSWORD),u("design:paramtypes",[Object])],de);let fe=class extends H{constructor(e=b.REQUIRED){super(e)}hasErrors(e,t={}){switch(typeof e){case"boolean":case"number":return void 0===e?this.getMessage(t.message||this.message):void 0;default:return e?void 0:this.getMessage(t.message||this.message)}}};fe=c([q(y.REQUIRED),u("design:paramtypes",[String])],fe);let ge=class extends H{constructor(e=b.STEP){super(e,"number","string")}hasErrors(e,t){if(void 0!==e)return Number(e)%Number(t.step)!==0?this.getMessage(t.message||this.message,t.step):void 0}};ge=c([q(y.STEP),u("design:paramtypes",[String])],ge);let he=class extends H{constructor(e=b.TYPE){super(e)}hasErrors(e,t){if(void 0===e)return;const{type:r,message:s,customTypes:n}=t;let i=n||r;return i=(Array.isArray(i)?i:[i]).map(e=>"string"==typeof e?e:("function"!=typeof e||e.name||(e=e()),e.name||e)),D(e,i)?void 0:this.getMessage(s||this.message,"string"==typeof i?i:Array.isArray(i)?i.join(", "):i,typeof e)}};he=c([q(y.TYPE),u("design:paramtypes",[String])],he),z.register({validator:he,validationKey:d.TYPE,save:!1});let pe,ye,me=class extends Z{constructor(e=b.URL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t.pattern||T.URL})}};function Ee(e,t){let r=t;r.match(/hh/)?r=r.replace("hh","(?<hour>\\d{2})"):r.match(/h/)?r=r.replace("h","(?<hour>\\d{1,2})"):r.match(/HH/)?r=r.replace("HH","(?<hour>\\d{2})"):r.match(/H/)&&(r=r.replace("H","(?<hour>\\d{1,2})")),r.match(/mm/)?r=r.replace("mm","(?<minutes>\\d{2})"):r.match(/m/)&&(r=r.replace("m","(?<minutes>\\d{1,2})")),r.match(/ss/)?r=r.replace("ss","(?<seconds>\\d{2})"):r.match(/s/)&&(r=r.replace("s","(?<seconds>\\d{1,2})")),r.match(/dd/)?r=r.replace("dd","(?<day>\\d{2})"):r.match(/d/)&&(r=r.replace("d","(?<day>\\d{1,2})")),r.match(/EEEE/)?r=r.replace("EEEE","(?<dayofweek>\\w+)"):r.match(/EEEE/)&&(r=r.replace("EEE","(?<dayofweek>\\w+)")),r.match(/yyyy/)?r=r.replace("yyyy","(?<year>\\d{4})"):r.match(/yy/)&&(r=r.replace("yy","(?<year>\\d{2})")),r.match(/MMMM/)?r=r.replace("MMMM","(?<monthname>\\w+)"):r.match(/MMM/)&&(r=r.replace("MMM","(?<monthnamesmall>\\w+)")),r.match(/MM/)?r=r.replace("MM","(?<month>\\d{2})"):r.match(/M/)&&(r=r.replace("M","(?<month>\\d{1,2})")),r=r.replace("S","(?<milis>\\d{1,3})").replace("aaa","(?<ampm>\\w{2})");const s=RegExp(r,"g").exec(e);if(!s||!s.groups)return new Date(e);const n=e=>{if(!e)return 0;const t=parseInt(e);return isNaN(t)?0:t},i=n(s.groups.year),a=n(s.groups.day),o=s.groups.ampm;let c=n(s.groups.hour);o&&(c="PM"===o?c+12:c);const u=n(s.groups.minutes),l=n(s.groups.seconds),d=n(s.groups.milis),f=s.groups.monthname,g=s.groups.monthnamesmall;let h=s.groups.month;if(f)h=m.indexOf(f);else if(g){const t=m.find(e=>e.toLowerCase().startsWith(g.toLowerCase()));if(!t)return new Date(e);h=m.indexOf(t)}else h=n(""+h);return new Date(i,h-1,a,c,u,l,d)}function be(e,t){if(e)return Object.defineProperty(e,"toISOString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>Ne(r,t)})}),Object.defineProperty(e,"toString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>Ne(r,t)})}),e}function Te(e){return e&&"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e)}function Ae(e){return 10>e?"0"+e:e.toString()}function Ne(e,t="yyyy/MM/dd"){const r=e.getDate(),s=e.getMonth(),n=e.getFullYear(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),c=e.getMilliseconds(),u=i%12,l=Ae(u),d=Ae(i),f=Ae(a),g=Ae(o),h=12>i?"AM":"PM",p=E[e.getDay()],y=p.substr(0,3),b=Ae(r),T=s+1,A=Ae(T),N=m[s],O=N.substr(0,3),S=n+"",M=S.substr(2,2);return(t=t.replace("hh",l).replace("h",u.toString()).replace("HH",d).replace("H",i.toString()).replace("mm",f).replace("m",a.toString()).replace("ss",g).replace("s",o.toString()).replace("S",c.toString()).replace("dd",b).replace("d",r.toString()).replace("EEEE",p).replace("EEE",y).replace("yyyy",S).replace("yy",M).replace("aaa",h)).indexOf("MMM")>-1?t.replace("MMMM",N).replace("MMM",O):t.replace("MM",A).replace("M",T.toString())}function Oe(e,t){let r;if(t){if(t instanceof Date)try{r=Ee(Ne(t,e),e)}catch(r){throw Error(N("Could not convert date {0} to format: {1}",t.toString(),e))}else if("string"==typeof t)r=Ee(t,e);else if("number"==typeof t)r=Ee(Ne(new Date(t),e),e);else{if(!Te(t))throw Error("Invalid value provided "+t);try{r=Ee(Ne(new Date(t),e),e)}catch(r){throw Error(N("Could not convert date {0} to format: {1}",t,e))}}return be(r,e)}}function Se(e,r,n){return t(s(r,n))}function Me(e,t,r){return z.registerDecorator(t,e),(e,s)=>Se(0,`${y.REFLECT}.${s}.${t}`,r)(e,s)}function Re(){return e=>{Object.prototype.hasOwnProperty.call(e,M)||(e[M]=!0)}}function ve(e=b.REQUIRED){const t=y.REQUIRED,r={message:e,description:"defines the attribute as required",async:!1};return n.for(t).define({decorator:Me,args:[ve,t,r]}).apply()}function Pe(e,t=b.MIN){const r=y.MIN,s={[y.MIN]:e,message:t,description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return n.for(r).define({decorator:Me,args:[Pe,r,s]}).apply()}function _e(e,t=b.MAX){const r=y.MAX,s={[y.MAX]:e,message:t,description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return n.for(r).define({decorator:Me,args:[_e,r,s]}).apply()}function Le(e,t=b.STEP){const r=y.STEP,s={[y.STEP]:e,message:t,description:"defines the step of the attribute as "+e,async:!1};return n.for(r).define({decorator:Me,args:[Le,r,s]}).apply()}function we(e,t=b.MIN_LENGTH){const r=y.MIN_LENGTH,s={[y.MIN_LENGTH]:e,message:t,description:`defines the min length of the attribute as ${e} (applies to strings or lists)`,async:!1};return n.for(r).define({decorator:Me,args:[we,r,s]}).apply()}function Ie(e,t=b.MAX_LENGTH){const r=y.MAX_LENGTH,s={[y.MAX_LENGTH]:e,message:t,description:`defines the max length of the attribute as ${e} (applies to strings or lists)`,async:!1};return n.for(r).define({decorator:Me,args:[Ie,r,s]}).apply()}function De(e,t=b.PATTERN){const r=y.PATTERN,s={[y.PATTERN]:"string"==typeof e?e:e.toString(),message:t,description:`assigns the ${"string"===e?e:e.toString()} pattern to the attribute`,async:!1};return n.for(r).define({decorator:Me,args:[De,r,s]}).apply()}function je(e=b.EMAIL){const t=y.EMAIL,r={[y.PATTERN]:T.EMAIL.toString(),message:e,description:"marks the attribute as an email",async:!1};return n.for(t).define({decorator:Me,args:[je,t,r]}).apply()}function Ue(e=b.URL){const t=y.URL,r={[y.PATTERN]:T.URL.toString(),message:e,description:"marks the attribute as an url",async:!1};return n.for(t).define({decorator:Me,args:[Ue,t,r]}).apply()}function He(e,t=b.TYPE){const r=y.TYPE,s={customTypes:e,message:t,description:"defines the accepted types for the attribute",async:!1};return n.for(r).define({decorator:Me,args:[He,r,s]}).apply()}function Ce(e="dd/MM/yyyy",t=b.DATE){const r=y.DATE;return n.for(r).define({decorator:function(e,t){const s={[y.FORMAT]:e,message:t,description:"defines the attribute as a date with the format "+e,async:!1};return function(t,n){const i=new WeakMap;return Object.defineProperty(t,n,{configurable:!0,set(t){const r=Object.getOwnPropertyDescriptor(this,n);r&&!r.configurable||Object.defineProperty(this,n,{enumerable:!0,configurable:!1,get:()=>i.get(this),set:t=>{let r;try{r=Oe(e,t),i.set(this,r)}catch(e){}}}),this[n]=t},get(){return i.get(this)}}),Me(Ce,r,s)(t,n)}},args:[e,t]}).apply()}function ze(e=T.PASSWORD.CHAR8_ONE_OF_EACH,t=b.PASSWORD){const r=y.PASSWORD,s={[y.PATTERN]:e.toString(),message:t,description:"attribute as a password",async:!1};return n.for(r).define({decorator:Me,args:[ze,r,s]}).apply()}function xe(e,t="Array",r=b.LIST){const s=y.LIST,i={clazz:Array.isArray(e)?e:[e],type:t,message:r,async:!1,description:`defines the attribute as a ${t} of ${e.name}`};return n.for(s).define({decorator:Me,args:[xe,s,i]}).apply()}function Fe(e,t=b.LIST){return xe(e,"Set",t)}function $e(e,t){return Me($e,y.EQUALS,{label:t?.label||e,message:t?.message||b.EQUALS,[y.EQUALS]:e,description:"defines attribute as equal to "+e,async:!1})}function Ge(e,t){return Me(Ge,y.DIFF,{label:t?.label||e,message:t?.message||b.DIFF,[y.DIFF]:e,description:"defines attribute as different to "+e,async:!1})}function Ye(e,t){return Me(Ye,y.LESS_THAN,{label:t?.label||e,message:t?.message||b.LESS_THAN,[y.LESS_THAN]:e,description:"defines attribute as less than to "+e,async:!1})}function Qe(e,t){return Me(Qe,y.LESS_THAN_OR_EQUAL,{label:t?.label||e,message:t?.message||b.LESS_THAN_OR_EQUAL,[y.LESS_THAN_OR_EQUAL]:e,description:"defines attribute as less or equal to "+e,async:!1})}function ke(e,t){return Me(ke,y.GREATER_THAN,{label:t?.label||e,message:t?.message||b.GREATER_THAN,[y.GREATER_THAN]:e,description:"defines attribute as greater than "+e,async:!1})}function Ve(e,t){return Me(Ve,y.GREATER_THAN_OR_EQUAL,{label:t?.label||e,message:t?.message||b.GREATER_THAN_OR_EQUAL,[y.GREATER_THAN_OR_EQUAL]:e,description:"defines attribute as greater or equal to "+e,async:!1})}function qe(e,t=b.ENUM){const r=y.ENUM,s={[y.ENUM]:e,message:t,description:"defines a list or an object of accepted values for the attribute",async:!1};return n.for(r).define({decorator:Me,args:[qe,r,s]}).apply()}me=c([q(y.URL),u("design:paramtypes",[String])],me);class Be{constructor(t=e.isModel){this.cache={},this.testFunction=t}register(e,t){if("function"!=typeof e)throw Error("Model registering failed. Missing Class name or constructor");t=t||e.name,this.cache[t]=e}get(e){try{return this.cache[e]}catch(e){return}}build(t={},r){if(!r&&!this.testFunction(t))throw Error("Provided obj is not a Model object");const s=r||e.modelName(t.constructor);if(!(s in this.cache))throw Error(`Provided class ${s} is not a registered Model object`);return new this.cache[s](t)}static setBuilder(e){pe=e}static getBuilder(){return pe||Be.fromModel}static fromModel(t,r){let s;r||(r={});const n=e.getAttributes(t),i=Object.getPrototypeOf(t);let a;for(const o of n){try{t[o]=r[o]??t[o]??void 0}catch(e){if(a=Object.getOwnPropertyDescriptor(i,o),!a||a.writable)throw Error(`Unable to write property ${o} to model: ${e}`)}if("object"!=typeof t[o])continue;const n=e.isPropertyModel(t,o);if(n){try{t[o]=Be.getRegistry().build(t[o],"string"==typeof n?n:void 0)}catch(e){}continue}if(s=e.allowedTypes(t.constructor,o),!s||!s.length)throw Error("failed to find decorators for property "+o);const c=s.map(e=>"function"!=typeof e||e.name?e:e()),u=Object.values(Q);c.forEach(r=>{if(!u.includes(r))try{switch(r.name){case"Array":case"Set":{const s=e.validationFor(t.constructor,o);if(!s||!s[y.LIST])break;const n=s[y.LIST].clazz.map(e=>"function"!=typeof e||e.name?e:e()).find(e=>!k.includes(e.name));if("Array"===r.name&&(t[o]=t[o].map(e=>["object","function"].includes(typeof e)&&n?Be.getRegistry().build(e,n.name):e)),"Set"===r.name){const e=new Set;for(const r of t[o])["object","function"].includes(typeof r)&&n?e.add(Be.getRegistry().build(r,n.name)):e.add(r);t[o]=e}break}default:void 0!==t[o]&&Be.getRegistry().get(r.name)&&(t[o]=Be.getRegistry().build(t[o],r.name))}}catch(e){}})}return t}static getRegistry(){return ye||(ye=new Be),ye}static setRegistry(e){ye=e}}function Xe(...e){e.forEach(e=>{const t=e.constructor?e.constructor:e;Be.getRegistry().register(t,e.name)})}function Ke(e,t,r){Object.hasOwnProperty.call(e,t)||(e[t]=r)}function We(e,t){Object.hasOwnProperty.call(e,t)&&delete e[t]}function Ze(e,t,r,...s){t&&Ke(e,S,t),Ke(e,M,!!r);const n=e.hasErrors(...s);return We(e,S),We(e,M),n}function Je(e,t,r,s,n,...i){let a,o=!1;for(const c of s){const s=Be.getRegistry().get(c);if(s||(a=new h({[e]:{[y.TYPE]:"Unable to verify type consistency, missing model registry for "+c}})),t instanceof s){o=!0,a=Ze(t,r,n,...i);break}}return o?a:a||new h({[e]:{[y.TYPE]:"Value must be an instance of one of the expected types: "+s.join(", ")}})}function et(e,...t){return t?.map(t=>("string"==typeof t&&t?.startsWith(e+".")&&(t=t.replace(e+".","")),t))}function tt(e,t,r,s){const n=z.get(r.key);if(!n)throw Error("Missing validator for "+r.key);if(!s&&r.async)return;const i=r.key===d.TYPE?[r]:r||{},a=$.create(e,{ignoreUndefined:!0,ignoreNull:!0}),o=r.key===d.TYPE?i[0]:i;return G(n.hasErrors(t,o,a),s)}function rt(t,r,s,n,i,...a){const o={};for(const c in n){const u={...n[c],key:c};if(!i&&u.async)continue;let l=tt(t,s,u,i);if(c===y.LIST&&(!l||i)){const n=s instanceof Set?[...s]:s;if(n&&n.length>0){let s=u.class||u.clazz||u.customTypes;s=(Array.isArray(s)?s:[s]).map(e=>(e="function"!=typeof e||e.name?e:e()).name?e.name:e);const o=[s].flat().map(e=>(e+"").toLowerCase()),c=n.map(n=>{if(e.isModel(n)){const e=et(r,...a);return Je(r,n,t,s.flat(),!!i,...e)}return o.includes(typeof n)?void 0:"Value has no validatable type"});if(i)l=Promise.all(c).then(e=>e.every(e=>!e)?void 0:e);else{const e=c.every(e=>!e);l=c.length>0&&!e?c:void 0}}}const f=c===d.TYPE?y.TYPE:c;l&&(o[f]=l)}if(!i)return Object.keys(o).length>0?o:void 0;const c=Object.keys(o),u=Object.values(o);return Promise.all(u).then(e=>{const t={};for(let r=0;r<e.length;r++){const s=e[r];void 0!==s&&(t[c[r]]=s)}return Object.keys(t).length>0?t:void 0})}function st(t,r,...s){const n=e.validatableProperties(t.constructor,...s),i={},a={};for(const o of n){const n=o+"",c=t[o],u=e.validationFor(t.constructor,o)||{},{designTypes:l}=e.getPropDesignTypes(t.constructor,o);if(!l)continue;if(l.some(e=>[Array.name,Set.name].includes(e.name))){if(!u||!Object.keys(u).includes(y.LIST)){i[n]={[y.TYPE]:`Array or Set property '${n}' requires a @list decorator`};continue}if(c&&!(Array.isArray(c)||c instanceof Set)){i[n]={[y.TYPE]:`Property '${o+""}' must be either an Array or a Set`};continue}}const f=rt(t,n,c,u,r,...s)||{};if(e.isPropertyModel(t,n)&&null!=c){const e=l.map(e=>Be.getRegistry().get(e.name||e)).find(e=>!!e),i=l.map(e=>"function"==typeof e?e.name?e.name.toLowerCase():e()?.name.toLowerCase():e.toLowerCase());if(e&&c instanceof e){const e=et(n,...s);a[n]=Ze(c,t,r,...e)}else i.includes(typeof c)||(f[y.TYPE]=e?"Value must be an instance of "+e.name:`Unable to verify type consistency, missing model registry for ${l.toString()} on prop ${n}`,delete f[d.TYPE])}(Object.keys(f).length>0||r)&&(i[n]=f),r||Object.entries(a[n]||{}).forEach(([e,t])=>{void 0!==t&&(i[`${n}.${e}`]=t)})}if(!r)return Object.keys(i).length>0?new h(i):void 0;const o=i,c=Object.keys(o),u=Object.values(o);return Promise.allSettled(u).then(async e=>{const t={};for(const[e,r]of Object.entries(a)){const s=await r;s&&Object.entries(s).forEach(([r,s])=>{void 0!==s&&(t[[e,r].join(".")]=s)})}for(let r=0;r<e.length;r++){const s=c[r],n=e[r];"fulfilled"===n.status&&void 0!==n.value?t[s]=n.value:"rejected"===n.status&&(t[s]=n.reason instanceof Error?n.reason.message:(n.reason||"Validation failed")+"")}return Object.keys(t).length>0?new h(t):void 0})}function nt(e){e+="";let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t&=t;return t.toString()}function it(e){const t=(e,t)=>{const r=s(t);return"string"==typeof r?s((e||"")+s(t)):(e=((e=e||0)<<5)-e+r)&e},r=nt,s=e=>void 0===e?"":-1!==["string","number","symbol"].indexOf(typeof e)?r(e.toString()):e instanceof Date?r(e.getTime()):Array.isArray(e)?e.reduce(t,void 0):Object.values(e).reduce(t,void 0),n=Object.values(e).reduce(t,0);return("number"==typeof n?Math.abs(n):n).toString()}const at="default";class ot{static{this.current=at}static{this.cache={default:it}}constructor(){}static get(e){if(e in this.cache)return this.cache[e];throw Error("No hashing method registered under "+e)}static register(e,t,r=!1){if(e in this.cache)throw Error(`Hashing method ${e} already registered`);this.cache[e]=t,r&&(this.current=e)}static hash(e,t,...r){return t?this.get(t)(e,...r):this.get(this.current)(e,...r)}static setDefault(e){this.current=this.get(e)}}class ct{constructor(e=void 0){}isAsync(){return!!(this[M]??this?.constructor[M])}hasErrors(...e){return st(this,this.isAsync(),...e)}equals(e,...t){return X(this,e,...t)}compare(t,...r){const s=e.properties(this.constructor);if(!s||!s.length)return;const n=s.reduce((e,s)=>{const n=s;if(r.includes(n))return e;if(void 0===this[n]&&void 0!==t[n])return e[n]={other:t[n],current:void 0},e;if(void 0!==this[n]&&void 0===t[n])return e[n]={other:void 0,current:this[n]},e;if(X(this[n],t[n]))return e;if(ct.isPropertyModel(this,n)){const r=this[n].compare(t[n]);return r&&(e[n]=r),e}if(Array.isArray(this[n])&&Array.isArray(t[n])){if(this[n].length!==t[n].length)return e[n]={current:this[n],other:t[n]},e;const r=this[n].map((e,r)=>X(e,t[n][r])?null:e instanceof ct&&t[n][r]instanceof ct?e.compare(t[n][r]):{current:e,other:t[n][r]});return r.some(e=>null!==e)&&(e[n]=r),e}return e[n]={other:t[n],current:this[n]},e},{});return Object.keys(n).length>0?n:void 0}serialize(){return ct.serialize(this)}toString(){return this.constructor.name+": "+JSON.stringify(this,void 0,2)}hash(){return ct.hash(this)}static deserialize(t){let r;try{r=e.get(this.constructor,d.SERIALIZATION)}catch(e){r=void 0}return r&&r.serializer?g.deserialize(t,r.serializer,...r.args||[]):g.deserialize(t)}static fromObject(e,t){t||(t={});for(const r of ct.getAttributes(e))e[r]=t[r]??e[r]??void 0;return e}static fromModel(e,t){return Be.fromModel(e,t)}static setBuilder(e){Be.setBuilder(e)}static getBuilder(){return Be.getBuilder()}static getRegistry(){return Be.getRegistry()}static setRegistry(e){Be.setRegistry(e)}static register(e,t){return Be.getRegistry().register(e,t)}static get(e){return Be.getRegistry().get(e)}static build(e={},t){return ct.getRegistry().build(e,t)}static getAttributes(t){return e.getAttributes(t)}static equals(e,t,...r){return X(e,t,...r)}static hasErrors(e,t,...r){return st(e,t,...r)}static serialize(t){let r;try{r=e.get(t.constructor,d.SERIALIZATION)}catch(e){r=void 0}return r&&r.serializer?g.serialize(this,r.serializer,...r.args||[]):g.serialize(t)}static hash(t){const r=e.get(t.constructor,d.HASHING);return r&&r.algorithm?ot.hash(t,r.algorithm,...r.args||[]):ot.hash(t)}static isModel(t){return e.isModel(t)}static isPropertyModel(t,r){return e.isPropertyModel(t,r)}static describe(t,r){return e.description(t,r)}}e.validationFor=((t,r,s)=>{const n=e.get(t);if(!n)return;if(!r)return n.validation;if(!n.validation)return;if(!n.validation[y.TYPE]){const{designTypes:s}=e.getPropDesignTypes(t,r);n.validation[r]&&s?.length&&s[0]!==Q.OBJECT&&(n.validation[r][y.TYPE]={customTypes:s,message:b.TYPE,description:"defines the accepted types for the attribute",async:!1})}if(!s)return n.validation[r];const i=n.validation[r];return i?i[s]:void 0}).bind(e),e.modelName=(t=>{const r=e.constr(t);return r?r.name:t.name}).bind(e),e.validatableProperties=((t,...r)=>{const s=e.validationFor(t),n=s?Object.keys(s):[];return[...new Set([...ct.getAttributes(t),...n])].filter(e=>!r||!r?.includes(e))}).bind(e),e.allowedTypes=((t,r)=>{const s=e.type(t,r);if(!s)throw Error("No metadata found for property "+r);const n=e.validationFor(t,r);return n&&n[y.TYPE]&&"function"==typeof n[y.TYPE]?.customTypes[Symbol.iterator]?[...n[y.TYPE].customTypes]:[s]}).bind(e),e.getPropDesignTypes=((t,r)=>{const s=e.get(t),n=e.type(t,r),i=s?.[y.REFLECT]?.[r];if(!(n||i&&i[y.TYPE]))return{};const a=i&&i[y.TYPE]?[i[y.TYPE].customTypes]:[n];if(!a?.length)return{};const o=a[0],c=o.class||o.clazz||o.customTypes||o;return{designTypes:(Array.isArray(c)?c:[c]).map(e=>"function"!=typeof e||e.name?e:e()),designType:c}}).bind(e),e.isModel=(t=>{try{if(t instanceof ct)return!0;const r=e.constr(t);return!(!r||r===t||!e.modelName(r))}catch(e){return!1}}).bind(e),e.isPropertyModel=((t,r)=>{if(e.isModel(t[r]))return!0;const s=e.type(t.constructor,r);return s&&Be.getRegistry().get(s.name)?s.name:void 0}).bind(e),e.getAttributes=(t=>{const r=t instanceof ct?t.constructor:t,s=new Set,n=t=>{if(!t)return[];const r=n(Object.getPrototypeOf(t)),i=e.properties(t)??[];for(const e of i)s.has(e)||(s.add(e),r.push(e));return r};return n(r)}).bind(e);class ut{constructor(){}preSerialize(t,...r){const s=Object.assign({},t);let n;try{n=e.modelName(t.constructor)}catch(e){n=void 0}return s[d.ANCHOR]=n||t.constructor.name,s}deserialize(e,...t){const r=JSON.parse(e),s=r[d.ANCHOR];if(!s)throw Error("Could not find class reference in serialized model");return ct.build(r,s)}serialize(e,...t){return JSON.stringify(this.preSerialize(e))}}function lt(e,...t){const r=(...t)=>new e(...t);return r.prototype=e.prototype,r(...t)}function dt(e){let t=Object.getPrototypeOf(e);if(t===Object.prototype)return e;for(;t!==Object.prototype;){if(t=Object.getPrototypeOf(t),t===Object.prototype)return t;if(Object.getPrototypeOf(t)===Object.prototype)return t}throw Error("Could not find proper prototype")}function ft(e){if(e instanceof ct)return;function t(e,t){Object.setPrototypeOf(e,t)}const r=Object.getPrototypeOf(e);if(r===Object.prototype)return t(e,ct.prototype);for(;r!==Object.prototype;){const e=Object.getPrototypeOf(r);if(e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return t(r,ct.prototype)}throw Error("Could not find proper prototype to bind")}function gt(e){const t=(...t)=>{const r=lt(e,...t);ft(r);const s=ct.getBuilder();return s&&s(r,t.length?t[0]:void 0),r};return t.prototype=e.prototype,Object.defineProperty(t,"name",{writable:!1,enumerable:!0,configurable:!1,value:e.prototype.constructor.name}),r(d.CONSTRUCTOR,e)(t),ct.register(t,e.name),t}function ht(){const e=d.MODEL;return n.for(e).define(gt).apply()}function pt(e,...t){return r(d.HASHING,{algorithm:e,args:t})}function yt(e,...t){return r(d.SERIALIZATION,{serializer:e,args:t})}g.cache={json:new ut};class mt{constructor(e,t,r){this.parent=e,this.attr=t,this.declaredType=r,this.decorators=[]}decorate(...e){for(const t of e){if(this.decorators.includes(t))throw Error(`Decorator "${t}" has already been used`);this.decorators.push(t)}return this.parent}undecorate(...e){for(const t of e){const e=this.decorators.indexOf(t);if(0>e)throw Error(`Decorator "${t}" is not applied to ${this.attr}`);this.decorators.splice(e,1)}return this.parent}required(e){const t=mt.asMeta(e),r="string"==typeof e?e:mt.resolveMessage(t);return this.decorate(ve(r))}min(e,t){const r=mt.asMeta(e),s=r?.[y.MIN]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MIN} for ${this.attr+""}`);return this.decorate(Pe(s,mt.resolveMessage(r,t)))}max(e,t){const r=mt.asMeta(e),s=r?.[y.MAX]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MAX} for ${this.attr+""}`);return this.decorate(_e(s,mt.resolveMessage(r,t)))}step(e,t){const r=mt.asMeta(e),s=r?.[y.STEP]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.STEP} for ${this.attr+""}`);return this.decorate(Le(s,mt.resolveMessage(r,t)))}minlength(e,t){const r=mt.asMeta(e),s=r?.[y.MIN_LENGTH]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MIN_LENGTH} for ${this.attr+""}`);return this.decorate(we(s,mt.resolveMessage(r,t)))}maxlength(e,t){const r=mt.asMeta(e),s=r?.[y.MAX_LENGTH]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MAX_LENGTH} for ${this.attr+""}`);return this.decorate(Ie(s,mt.resolveMessage(r,t)))}pattern(e,t){const r=mt.asMeta(e),s=r?.[y.PATTERN]??(r?void 0:e),n=mt.patternFromString(s)??/.*/;return this.decorate(De(n,mt.resolveMessage(r,t)))}email(e){const t=mt.asMeta(e),r="string"==typeof e?e:mt.resolveMessage(t);return this.decorate(je(r))}url(e){const t=mt.asMeta(e),r="string"==typeof e?e:mt.resolveMessage(t);return this.decorate(Ue(r))}type(e,t){const r=mt.asMeta(e),s=r?.customTypes??r?.type??(r?void 0:e);return this.decorate(He(s,mt.resolveMessage(r,t)))}date(e,t){const r=mt.asMeta(e),s=r?.[y.FORMAT]??(r?void 0:e);return this.decorate(Ce(s,mt.resolveMessage(r,t)))}password(e,t){const r=mt.asMeta(e),s=r?.[y.PATTERN]??(r?void 0:e),n=mt.patternFromString(s);return this.decorate(ze(n,mt.resolveMessage(r,t)))}list(e,t,r){const s=mt.asMeta(e),n=s?.clazz??(s?void 0:e),i=s?.type??t;return this.decorate(xe(n,i,mt.resolveMessage(s,r)))}set(e,t){return mt.isMetadataPayload(e)?this.list(e):this.list(e,"Set",t)}enum(e,t){const r=mt.asMeta(e),s=r?.[y.ENUM]??(r?void 0:e);return this.decorate(qe(s,mt.resolveMessage(r,t)))}option(e,t){return this.enum(e,t)}static isMetadataPayload(e){return!(!e||e instanceof Date||e instanceof RegExp||Array.isArray(e)||"object"!=typeof e)}static asMeta(e){return mt.isMetadataPayload(e)?e:void 0}static resolveMessage(e,t){return e?.message??t}static patternFromString(e){if(!e)return;if(e instanceof RegExp)return e;const t=e.match(/^\/(.+)\/([gimsuy]*)$/);return t?RegExp(t[1],t[2]):RegExp(e)}resolveComparison(e,t,r){const s=mt.asMeta(e);return s?{target:s[t],options:{label:s.label,message:s.message}}:{target:e,options:r}}equals(e,t){const{target:r,options:s}=this.resolveComparison(e,y.EQUALS,t);return this.decorate($e(r,s))}eq(e,t){return this.equals(e,t)}different(e,t){const{target:r,options:s}=this.resolveComparison(e,y.DIFF,t);return this.decorate(Ge(r,s))}diff(e,t){return this.different(e,t)}lessThan(e,t){const{target:r,options:s}=this.resolveComparison(e,y.LESS_THAN,t);return this.decorate(Ye(r,s))}lt(e,t){return this.lessThan(e,t)}lessThanOrEqual(e,t){const{target:r,options:s}=this.resolveComparison(e,y.LESS_THAN_OR_EQUAL,t);return this.decorate(Qe(r,s))}lte(e,t){return this.lessThanOrEqual(e,t)}greaterThan(e,t){const{target:r,options:s}=this.resolveComparison(e,y.GREATER_THAN,t);return this.decorate(ke(r,s))}gt(e,t){return this.greaterThan(e,t)}greaterThanOrEqual(e,t){const{target:r,options:s}=this.resolveComparison(e,y.GREATER_THAN_OR_EQUAL,t);return this.decorate(Ve(r,s))}gte(e,t){return this.greaterThanOrEqual(e,t)}description(e){return this.decorate(i(e))}build(e){const t=e.prototype,r=this.attr;Object.getOwnPropertyDescriptor(t,r)||Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:void 0}),this.declaredType&&Reflect.defineMetadata(a.DESIGN_TYPE,this.declaredType,t,r),o()(t,r),this.decorators.forEach(e=>{try{e(t,r)}catch(e){throw Error(`Failed to apply decorator to property "${this.attr}": ${e}`)}})}}class Et{constructor(e,t,r){this.parent=e,this.attribute=t,this.collection=r}ofPrimitives(e,t){return this.attribute.list(e,this.collection,t),this.parent}ofModel(){const e=bt.builder(),t=e.build;let r;return this.attribute.list(()=>(r||(r=Reflect.apply(t,e,[])),r),this.collection),e.build=new Proxy(t,{apply:(e,t,s)=>(r=Reflect.apply(e,t,s),this.parent)}),e}}class bt extends l{constructor(){super(...arguments),this.attributes=new Map}setName(e){return this._name=e,this}description(e){return this._description=e,this}attribute(e,t){const r=this.attributes.get(e);if(r){if(r.declaredType!==t)throw Error(`Attribute "${e+""}" already exists with a different type`);return r}const s=new mt(this,e,t);return this.attributes.set(e,s),s}string(e){return this.attribute(e,String)}number(e){return this.attribute(e,Number)}date(e){return this.attribute(e,Date)}bigint(e){return this.attribute(e,BigInt)}instance(e,t){return this.attribute(t,e)}model(e){const t=new bt;return t.build=new Proxy(t.build,{apply:(t,r,s)=>{const n=Reflect.apply(t,r,s);return this.instance(n,e)}}),t}listOf(e,t="Array"){const r="Set"===t?Set:Array,s=this.attribute(e,r);return new Et(this,s,t)}build(){if(!this._name)throw Error("name is required");const e=this._parent??ct;class t extends e{constructor(e){super(e)}}Object.defineProperty(t,"name",{value:this._name,writable:!1});for(const e of this.attributes.values())e.build(t);let r=ht()(t);return this._description&&(r=i(this._description)(r)),r}static builder(){return new bt}static from(e,t){if(!e)throw Error("metadata is required");const r=bt.builder(),s=t??"GeneratedModel"+Date.now();r.setName(s);const n=e.properties||{},i=e.validation||{};for(const[e,t]of Object.entries(n)){const s=r.attribute(e,t||Object),n=i[e];if(n)for(const[e,t]of Object.entries(n)){const r=s[e];if("function"!=typeof r)try{const r=z.decoratorFromKey(e),n="function"==typeof r?r(t):r;s.decorate(n)}catch{}else r.call(s,t)}}return r.build()}}const Tt="##VERSION##",At="##PACKAGE##";e.registerLibrary(At,Tt);export{M as ASYNC_META_KEY,V as AsyncValidator,mt as AttributeBuilder,O as COMPARISON_ERROR_MESSAGES,p as ComparisonValidationKeys,E as DAYS_OF_WEEK_NAMES,b as DEFAULT_ERROR_MESSAGES,T as DEFAULT_PATTERNS,B as DateValidator,at as DefaultHashingMethod,f as DefaultSerializationMethod,K as DiffValidator,J as EmailValidator,ee as EqualsValidator,re as GreaterThanOrEqualValidator,te as GreaterThanValidator,ot as Hashing,ut as JSONSerializer,ne as LessThanOrEqualValidator,se as LessThanValidator,ie as ListValidator,m as MONTH_NAMES,ae as MaxLengthValidator,oe as MaxValidator,ce as MinLengthValidator,ue as MinValidator,ct as Model,bt as ModelBuilder,h as ModelErrorDefinition,d as ModelKeys,Be as ModelRegistryManager,le as OptionValidator,At as PACKAGE_NAME,de as PasswordValidator,$ as PathProxyEngine,Z as PatternValidator,Y as Primitives,fe as RequiredValidator,Q as ReservedModels,g as Serialization,ge as StepValidator,he as TypeValidator,me as URLValidator,S as VALIDATION_PARENT_KEY,Tt as VERSION,z as Validation,y as ValidationKeys,H as Validator,C as ValidatorRegistry,Re as async,be as bindDateToString,ft as bindModelPrototype,Xe as bulkModelRegister,w as checkType,I as checkTypes,lt as construct,Ce as date,Ee as dateFromFormat,Ge as diff,je as email,$e as eq,D as evaluateDesignTypes,dt as findLastProtoBeforeObject,Ne as formatDate,et as getChildNestedPropsToIgnore,ke as gt,Ve as gte,nt as hashCode,it as hashObj,pt as hashedBy,Me as innerValidationDecorator,X as isEqual,L as isGreaterThan,_ as isLessThan,Te as isValidDate,P as isValidForGteOrLteComparison,k as jsTypes,xe as list,Ye as lt,Qe as lte,_e as max,Ie as maxlength,Pe as min,we as minlength,ht as model,gt as modelBaseDecorator,qe as option,Oe as parseDate,ze as password,De as pattern,W as regexpParser,ve as required,yt as serializedBy,Fe as set,N as sf,Le as step,A as stringFormat,G as toConditionalPromise,Ae as twoDigitPad,He as type,Ue as url,st as validate,Je as validateChildValue,tt as validateDecorator,rt as validateDecorators,Se as validationMetadata,q as validator,j as valueLength};
|
|
1
|
+
import{Metadata as e,apply as t,metadata as r,propMetadata as s,Decoration as n,description as i,DecorationKeys as a,prop as o}from"@decaf-ts/decoration";import{__decorate as c,__metadata as u}from"tslib";import{ObjectAccumulator as l}from"typed-object-accumulator";var d;(e=>{e.DESCRIPTION="description",e.TYPE="design:type",e.MODEL="model",e.ANCHOR="__model",e.CONSTRUCTION="constructed-by",e.ATTRIBUTE="__attributes",e.HASHING="hashing",e.SERIALIZATION="serialization",e.DECORATORS="decorators",e.CONSTRUCTOR="__original"})(d||(d={}));const f="json";class h{static{this.current=f}constructor(){}static get(e){if(e in this.cache)return this.cache[e];throw Error("No serialization method registered under "+e)}static register(e,t,r=!1){if(e in this.cache)throw Error(`Serialization method ${e} already registered`);this.cache[e]=new t,r&&(this.current=e)}static serialize(e,t,...r){return t?this.get(t).serialize(e,...r):this.get(this.current).serialize(e,...r)}static deserialize(e,t,...r){return t?this.get(t).deserialize(e,...r):this.get(this.current).deserialize(e,...r)}static setDefault(e){this.current=this.get(e)}}class g{constructor(e){for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&e[t]&&Object.defineProperty(this,t,{enumerable:!0,configurable:!1,value:e[t],writable:!1})}toString(){const e=this;return Object.keys(e).filter((t=>Object.prototype.hasOwnProperty.call(e,t)&&"function"!=typeof e[t])).reduce(((t,r)=>{let s=Object.keys(e[r]).reduce(((t,s)=>(t?t+="\n"+e[r][s]:t=e[r][s],t)),void 0);return s&&(s=`${r} - ${s}`,t?t+="\n"+s:t=s),t}),"")}}const p={EQUALS:"equals",DIFF:"different",LESS_THAN:"lessThan",LESS_THAN_OR_EQUAL:"lessThanOrEqual",GREATER_THAN:"greaterThan",GREATER_THAN_OR_EQUAL:"greaterThanOrEqual"},y={REFLECT:"validation",DATE:"date",EMAIL:"email",FORMAT:"format",LIST:"list",MAX:"max",MAX_LENGTH:"maxlength",MIN:"min",MIN_LENGTH:"minlength",PASSWORD:"password",PATTERN:"pattern",REQUIRED:"required",STEP:"step",TYPE:"type",UNIQUE:"unique",URL:"url",VALIDATOR:"validator",ENUM:"enum",...p},m=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b={REQUIRED:"This field is required",MIN:"The minimum value is {0}",MAX:"The maximum value is {0}",MIN_LENGTH:"The minimum length is {0}",MAX_LENGTH:"The maximum length is {0}",PATTERN:"The value does not match the pattern",EMAIL:"The value is not a valid email",URL:"The value is not a valid URL",TYPE:"Invalid type. Expected {0}, received {1}",STEP:"Invalid value. Not a step of {0}",DATE:"Invalid value. not a valid Date",DEFAULT:"There is an Error",PASSWORD:"Must be at least 8 characters and contain one of number, lower and upper case letters, and special character (@$!%*?&_-.,)",LIST:"Invalid list of {0}",MODEL_NOT_FOUND:"No model registered under {0}",EQUALS:"This field must be equal to field {0}",DIFF:"This field must be different from field {0}",LESS_THAN:"This field must be less than field {0}",LESS_THAN_OR_EQUAL:"This field must be less than or equal to field {0}",GREATER_THAN:"This field must be greater than field {0}",GREATER_THAN_OR_EQUAL:"This field must be greater than or equal to field {0}",UNIQUE:"Duplicate found, this field must be unique.",ENUM:"Value is not allowed. Must be one of {0}"},T={EMAIL:/[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?/,URL:/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,PASSWORD:{CHAR8_ONE_OF_EACH:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&_\-.,])[A-Za-z\d@$!%*?&_\-.,]{8,}$/g},asd:"^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\xa1-\uffff][a-z0-9\xa1-\uffff_-]{0,62})?[a-z0-9\xa1-\uffff]\\.)+(?:[a-z\xa1-\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$"};function A(e,...t){return e.replace(/{(\d+)}/g,((e,r)=>void 0!==t[r]?t[r].toString():"undefined"))}const N=A,S={INVALID_PATH:"Invalid path argument. Expected non-empty string but received: '{0}'",CONTEXT_NOT_OBJECT_COMPARISON:"Unable to access parent at level {0} for path '{1}': current context is not an object",PROPERTY_INVALID:"Failed to resolve path {0}: property '{1}' is invalid or does not exist.",PROPERTY_NOT_EXIST:"Failed to resolve path: property '{0}' does not exist.",UNSUPPORTED_TYPES_COMPARISON:"Unsupported types for comparison: '{0}' and '{1}'",NULL_OR_UNDEFINED_COMPARISON:"Comparison failed due to null or undefined value",INVALID_DATE_COMPARISON:"Invalid Date objects are not comparable",TYPE_MISMATCH_COMPARISON:"Cannot compare values of different types: {0} and {1}.",NAN_COMPARISON:"Comparison not supported for NaN values"},O=Symbol("_parent"),M=Symbol("isAsync"),R=e=>null===e?"null":e instanceof Date?"Date":Number.isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":Array.isArray(e)?"array":typeof e,v=e=>void 0===e||e instanceof Date||"bigint"==typeof e||"number"==typeof e&&Number.isFinite(e);function P(e,t){if(v(e)&&v(t))return!0;throw new TypeError(N(S.UNSUPPORTED_TYPES_COMPARISON,R(e),R(t)))}function _(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(S.NULL_OR_UNDEFINED_COMPARISON);const r=typeof e,s=typeof t;if(r!==s){if("bigint"===r&&"number"===s)return t>Number(e);if("number"===r&&"bigint"===s)return Number(t)>e;throw new TypeError(N(S.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(S.NAN_COMPARISON);return t>e}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(S.INVALID_DATE_COMPARISON);return e.getTime()<t.getTime()}throw new TypeError(N(S.UNSUPPORTED_TYPES_COMPARISON,R(e),R(t)))}function w(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(S.NULL_OR_UNDEFINED_COMPARISON);const r=typeof e,s=typeof t;if(r!==s){if("bigint"===r&&"number"===s)return Number(e)>t;if("number"===r&&"bigint"===s)return e>Number(t);throw Error(N(S.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(S.NAN_COMPARISON);return e>t}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(S.INVALID_DATE_COMPARISON);return e.getTime()>t.getTime()}throw new TypeError(N(S.UNSUPPORTED_TYPES_COMPARISON,R(e),R(t)))}function L(e,t){return typeof e===t.toLowerCase()||void 0!==e&&"object"==typeof e&&e.constructor&&e.constructor.name.toLowerCase()===t.toLowerCase()}function I(e,t){return!t.every((t=>!L(e,t)))}function D(e,t){switch(typeof t){case"string":return L(e,t);case"object":return!Array.isArray(t)||I(e,t);case"function":return!t.name||"Object"===t.name||L(e,t.name);default:return!0}}function j(e){return e instanceof Set||e instanceof Map?e.size:e.length}class H{constructor(e,t=b.DEFAULT,...r){this.async=e,this.message=t,r.length&&(this.acceptedTypes=r),this.acceptedTypes&&(this.hasErrors=this.checkTypeAndHasErrors(this.hasErrors.bind(this)))}getMessage(e,...t){return N(e,...t)}checkTypeAndHasErrors(e){return function(t,r,s,...n){return void 0!==t&&this.acceptedTypes?I(t,this.acceptedTypes)?e(t,r,s,...n):this.getMessage(b.TYPE,this.acceptedTypes.join(", "),"number"!=typeof t?typeof t:isNaN(t)?"NaN":typeof t):e(t,r,s,...n)}.bind(this)}static isValidator(e){return e.constructor&&!!e.hasErrors}}class U extends H{constructor(e=b.DEFAULT,...t){super(!1,e,...t)}}class C{constructor(...e){this.cache={},this.customKeyCache={},this.register(...e)}getCustomKeys(){return Object.assign({},this.customKeyCache)}getKeys(){return Object.keys(this.cache)}get(e){if(!(e in this.cache))return;const t=this.cache[e];if(U.isValidator(t))return t;const r=new(t.default||t);return this.cache[e]=r,r}register(...e){e.forEach((e=>{if(U.isValidator(e)){if(e.validationKey in this.cache)return;this.cache[e.validationKey]=e}else{const{validationKey:t,validator:r,save:s}=e;if(t in this.cache)return;if(this.cache[t]=r,!s)return;const n={};n[t.toUpperCase()]=t,this.customKeyCache=Object.assign({},this.customKeyCache,n)}}))}}class F{static{this.actingValidatorRegistry=void 0}constructor(){}static setRegistry(e,t){t&&F.actingValidatorRegistry&&F.actingValidatorRegistry.getKeys().forEach((r=>{const s=e.get(r);s&&e.register(t(s))})),F.actingValidatorRegistry=e}static getRegistry(){return F.actingValidatorRegistry||(F.actingValidatorRegistry=new C),F.actingValidatorRegistry}static get(e){return F.getRegistry().get(e)}static register(...e){return F.getRegistry().register(...e)}static key(e){return y.REFLECT+e}static keys(){return this.getRegistry().getKeys()}static registerDecorator(t,r){const s=e.innerGet(Symbol.for(d.DECORATORS),e.key(y.REFLECT,t));s?.[t]||e.set(d.DECORATORS,e.key(y.REFLECT,t),r)}static decoratorFromKey(t){try{return e.innerGet(Symbol.for(d.DECORATORS),e.key(y.REFLECT,t))}catch(e){throw Error(`No decorator registered under ${t}: ${e}`)}}}const z=e=>e[O],x=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw Error(N(S.PROPERTY_NOT_EXIST,t));return e[t]};class ${static create(e,t){const{getValue:r,getParent:s,ignoreUndefined:n,ignoreNull:i}={getParent:z,getValue:x,ignoreNull:!1,ignoreUndefined:!1,...t},a=new Proxy({},{get:(t,a)=>"getValueFromPath"===a?t=>{const a=$.parsePath(t);let o=e;for(let e=0;e<a.length;e++){const c=a[e];if(".."!==c){if(o=r(o,c),!n&&void 0===o)throw Error(N(S.PROPERTY_INVALID,t,c));if(!i&&null===o)throw Error(N(S.PROPERTY_INVALID,t,c))}else{const r=s(o);if(!r||"object"!=typeof r)throw Error(N(S.CONTEXT_NOT_OBJECT_COMPARISON,e+1,t));o=r}}return o}:t[a]});return a}static parsePath(e){if("string"!=typeof e||!e.trim())throw Error(N(S.INVALID_PATH,e));return e.match(/(\.\.|[^/.]+)/g)||[]}}function G(e,t){return t?Promise.resolve(e):e}var Y;(e=>{e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e.BIGINT="bigint"})(Y||(Y={}));const Q={STRING:String,OBJECT:Object,NUMBER:Number,BOOLEAN:Boolean,BIGINT:BigInt,DATE:Date},k=["string","array","number","boolean","symbol","function","object","undefined","null","bigint"];class V extends H{constructor(e=b.DEFAULT,...t){super(!0,e,...t)}}function q(...e){return t((t=>(e.forEach((e=>{F.register({validator:t,validationKey:e,save:!0})})),t)),r(y.VALIDATOR,e))}let B=class extends U{constructor(e=b.DATE){super(e,Number.name,Date.name,String.name)}hasErrors(e,t={}){if(void 0!==e&&("string"==typeof e&&(e=new Date(e)),Number.isNaN(e.getDate()))){const{message:e=""}=t;return this.getMessage(e||this.message)}}};function X(e,t,...r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return e===t;if(typeof e!=typeof t)return!1;if(Number.isNaN(e)&&Number.isNaN(t))return!0;if("object"!=typeof e)return e===t;if(e instanceof Date&&t instanceof Date)return!(!isNaN(e.getTime())||!isNaN(t.getTime()))||e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.toString()===t.toString();if(e instanceof Error&&t instanceof Error)return e.name===t.name&&e.message===t.message;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!X(e[s],t[s],...r))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[s,n]of e)if(!t.has(s)||!X(n,t.get(s),...r))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(e.byteLength!==t.byteLength)return!1;if(e.byteOffset!==t.byteOffset)return!1;if(e.buffer.byteLength!==t.buffer.byteLength)return!1;const r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<r.length;e++)if(r[e]!==s[e])return!1;return!0}const s=Object.keys(e).filter((e=>!r.includes(e))),n=Object.keys(t).filter((e=>!r.includes(e)));if(s.length!==n.length)return!1;for(const i of s){if(!n.includes(i))return!1;if(!X(e[i],t[i],...r))return!1}const i=Object.getOwnPropertySymbols(e).filter((e=>!r.includes(e.toString()))),a=Object.getOwnPropertySymbols(t).filter((e=>!r.includes(e.toString())));if(i.length!==a.length)return!1;for(const s of i){if(!a.includes(s))return!1;if(!X(e[s],t[s],...r))return!1}return Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}B=c([q(y.DATE),u("design:paramtypes",[String])],B);let K=class extends U{constructor(e=b.DIFF){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.DIFF])}catch(e){return this.getMessage(e.message||this.message)}return X(e,s)?this.getMessage(t.message||this.message,t.label||t[y.DIFF]):void 0}};K=c([q(y.DIFF),u("design:paramtypes",[String])],K);const W=RegExp("^/(.+)/([gimus]*)$");let Z=class extends U{constructor(e=b.PATTERN){super(e,"string")}getPattern(e){if(!W.test(e))return RegExp(e);const t=e.match(W);return RegExp(t[1],t[2])}hasErrors(e,t){if(!e)return;let{pattern:r}=t;if(!r)throw Error("Missing Pattern");return r="string"==typeof r?this.getPattern(r):r,r.lastIndex=0,r.test(e)?void 0:this.getMessage(t.message||this.message)}};Z=c([q(y.PATTERN),u("design:paramtypes",[String])],Z);let J=class extends Z{constructor(e=b.EMAIL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t?.pattern||T.EMAIL})}};J=c([q(y.EMAIL),u("design:paramtypes",[String])],J);let ee=class extends U{constructor(e=b.EQUALS){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.EQUALS])}catch(e){return this.getMessage(e.message||this.message)}return X(e,s)?void 0:this.getMessage(t.message||this.message,t.label||t[y.EQUALS])}};ee=c([q(y.EQUALS),u("design:paramtypes",[String])],ee);let te=class extends U{constructor(e=b.GREATER_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.GREATER_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!w(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.GREATER_THAN])}}};te=c([q(y.GREATER_THAN),u("design:paramtypes",[String])],te);let re=class extends U{constructor(e=b.GREATER_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.GREATER_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(P(e,s)&&X(e,s)||w(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.GREATER_THAN_OR_EQUAL])}}};re=c([q(y.GREATER_THAN_OR_EQUAL),u("design:paramtypes",[String])],re);let se=class extends U{constructor(e=b.LESS_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.LESS_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!_(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.LESS_THAN])}}};se=c([q(y.LESS_THAN),u("design:paramtypes",[String])],se);let ne=class extends U{constructor(e=b.LESS_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[y.LESS_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(P(e,s)&&X(e,s)||_(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[y.LESS_THAN_OR_EQUAL])}}};ne=c([q(y.LESS_THAN_OR_EQUAL),u("design:paramtypes",[String])],ne);let ie=class extends U{constructor(e=b.LIST){super(e,Array.name,Set.name)}hasErrors(e,t){if(!e||(Array.isArray(e)?!e.length:!e.size))return;const r=(Array.isArray(t.clazz)?t.clazz:[t.clazz]).map((e=>"string"==typeof e?e:e?.name||"function"!=typeof e?e?.name:e().name));let s,n=!0;for(let t=0;t<(Array.isArray(e)?e.length:e.size);t++)switch(s=[...e][t],typeof s){case"object":case"function":n=r.includes((s??{}).constructor?.name);break;default:n=r.some((e=>typeof s===e?.toLowerCase()))}return n?void 0:this.getMessage(t.message||this.message,r)}};ie=c([q(y.LIST),u("design:paramtypes",[String])],ie);let ae=class extends U{constructor(e=b.MAX_LENGTH){super(e,String.name,Array.name,Set.name,Map.name)}hasErrors(e,t){if(void 0!==e)return j(e)>t.maxlength?this.getMessage(t.message||this.message,t.maxlength):void 0}};ae=c([q(y.MAX_LENGTH),u("design:paramtypes",[String])],ae);let oe=class extends U{constructor(e=b.MAX){super(e,Number.name,Date.name,String.name)}hasErrors(e,t){if(void 0===e)return;let{max:r}=t;if(e instanceof Date&&!(r instanceof Date)&&(r=new Date(r),Number.isNaN(r.getDate())))throw Error("Invalid Max param defined");return e>r?this.getMessage(t.message||this.message,r):void 0}};oe=c([q(y.MAX),u("design:paramtypes",[String])],oe);let ce=class extends U{constructor(e=b.MIN_LENGTH){super(e,String.name,Array.name,Set.name,Map.name)}hasErrors(e,t){if(void 0!==e)return j(e)<t.minlength?this.getMessage(t.message||this.message,t.minlength):void 0}};ce=c([q(y.MIN_LENGTH),u("design:paramtypes",[String])],ce);let ue=class extends U{constructor(e=b.MIN){super(e,Number.name,Date.name,String.name)}hasErrors(e,t){if(void 0===e)return;let{min:r}=t;if(e instanceof Date&&!(r instanceof Date)&&(r=new Date(r),Number.isNaN(r.getDate())))throw Error("Invalid Min param defined");return r>e?this.getMessage(t.message||this.message,r):void 0}};ue=c([q(y.MIN),u("design:paramtypes",[String])],ue);let le=class extends U{constructor(e=b.ENUM){super(e)}hasErrors(e,t){if(void 0!==e){if(Array.isArray(t.enum))return t.enum.includes(e)?void 0:this.getMessage(t.message||this.message,t.enum);if("object"==typeof t.enum){const r=Object.keys(t.enum);for(const s of r)if(t.enum[s]===e)return;return this.getMessage(t.message||this.message,Object.values(t.enum))}}}};le=c([q(y.ENUM),u("design:paramtypes",[String])],le);let de=class extends Z{constructor(e=b.PASSWORD){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,[y.PATTERN]:t?.pattern||T.PASSWORD.CHAR8_ONE_OF_EACH})}};de=c([q(y.PASSWORD),u("design:paramtypes",[Object])],de);let fe=class extends U{constructor(e=b.REQUIRED){super(e)}hasErrors(e,t={}){switch(typeof e){case"boolean":case"number":return void 0===e?this.getMessage(t.message||this.message):void 0;default:return e?void 0:this.getMessage(t.message||this.message)}}};fe=c([q(y.REQUIRED),u("design:paramtypes",[String])],fe);let he=class extends U{constructor(e=b.STEP){super(e,"number","string")}hasErrors(e,t){if(void 0!==e)return Number(e)%Number(t.step)!=0?this.getMessage(t.message||this.message,t.step):void 0}};he=c([q(y.STEP),u("design:paramtypes",[String])],he);let ge=class extends U{constructor(e=b.TYPE){super(e)}hasErrors(e,t){if(void 0===e)return;const{type:r,message:s,customTypes:n}=t;let i=n||r;return i=(Array.isArray(i)?i:[i]).map((e=>"string"==typeof e?e:("function"!=typeof e||e.name||(e=e()),e.name||e))),D(e,i)?void 0:this.getMessage(s||this.message,"string"==typeof i?i:Array.isArray(i)?i.join(", "):i,typeof e)}};ge=c([q(y.TYPE),u("design:paramtypes",[String])],ge),F.register({validator:ge,validationKey:d.TYPE,save:!1});let pe,ye,me=class extends Z{constructor(e=b.URL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t.pattern||T.URL})}};function Ee(e,t){let r=t;r.match(/hh/)?r=r.replace("hh","(?<hour>\\d{2})"):r.match(/h/)?r=r.replace("h","(?<hour>\\d{1,2})"):r.match(/HH/)?r=r.replace("HH","(?<hour>\\d{2})"):r.match(/H/)&&(r=r.replace("H","(?<hour>\\d{1,2})")),r.match(/mm/)?r=r.replace("mm","(?<minutes>\\d{2})"):r.match(/m/)&&(r=r.replace("m","(?<minutes>\\d{1,2})")),r.match(/ss/)?r=r.replace("ss","(?<seconds>\\d{2})"):r.match(/s/)&&(r=r.replace("s","(?<seconds>\\d{1,2})")),r.match(/dd/)?r=r.replace("dd","(?<day>\\d{2})"):r.match(/d/)&&(r=r.replace("d","(?<day>\\d{1,2})")),r.match(/EEEE/)?r=r.replace("EEEE","(?<dayofweek>\\w+)"):r.match(/EEEE/)&&(r=r.replace("EEE","(?<dayofweek>\\w+)")),r.match(/yyyy/)?r=r.replace("yyyy","(?<year>\\d{4})"):r.match(/yy/)&&(r=r.replace("yy","(?<year>\\d{2})")),r.match(/MMMM/)?r=r.replace("MMMM","(?<monthname>\\w+)"):r.match(/MMM/)&&(r=r.replace("MMM","(?<monthnamesmall>\\w+)")),r.match(/MM/)?r=r.replace("MM","(?<month>\\d{2})"):r.match(/M/)&&(r=r.replace("M","(?<month>\\d{1,2})")),r=r.replace("S","(?<milis>\\d{1,3})").replace("aaa","(?<ampm>\\w{2})");const s=RegExp(r,"g").exec(e);if(!s||!s.groups)return new Date(e);const n=e=>{if(!e)return 0;const t=parseInt(e);return isNaN(t)?0:t},i=n(s.groups.year),a=n(s.groups.day),o=s.groups.ampm;let c=n(s.groups.hour);o&&(c="PM"===o?c+12:c);const u=n(s.groups.minutes),l=n(s.groups.seconds),d=n(s.groups.milis),f=s.groups.monthname,h=s.groups.monthnamesmall;let g=s.groups.month;if(f)g=m.indexOf(f);else if(h){const t=m.find((e=>e.toLowerCase().startsWith(h.toLowerCase())));if(!t)return new Date(e);g=m.indexOf(t)}else g=n(""+g);return new Date(i,g-1,a,c,u,l,d)}function be(e,t){if(e)return Object.defineProperty(e,"toISOString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>Ne(r,t)})}),Object.defineProperty(e,"toString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>Ne(r,t)})}),e}function Te(e){return e&&"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e)}function Ae(e){return 10>e?"0"+e:e.toString()}function Ne(e,t="yyyy/MM/dd"){const r=e.getDate(),s=e.getMonth(),n=e.getFullYear(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),c=e.getMilliseconds(),u=i%12,l=Ae(u),d=Ae(i),f=Ae(a),h=Ae(o),g=12>i?"AM":"PM",p=E[e.getDay()],y=p.substr(0,3),b=Ae(r),T=s+1,A=Ae(T),N=m[s],S=N.substr(0,3),O=n+"",M=O.substr(2,2);return(t=t.replace("hh",l).replace("h",u.toString()).replace("HH",d).replace("H",i.toString()).replace("mm",f).replace("m",a.toString()).replace("ss",h).replace("s",o.toString()).replace("S",c.toString()).replace("dd",b).replace("d",r.toString()).replace("EEEE",p).replace("EEE",y).replace("yyyy",O).replace("yy",M).replace("aaa",g)).indexOf("MMM")>-1?t.replace("MMMM",N).replace("MMM",S):t.replace("MM",A).replace("M",T.toString())}function Se(e,t){let r;if(t){if(t instanceof Date)try{r=Ee(Ne(t,e),e)}catch(r){throw Error(N("Could not convert date {0} to format: {1}",t.toString(),e))}else if("string"==typeof t)r=Ee(t,e);else if("number"==typeof t)r=Ee(Ne(new Date(t),e),e);else{if(!Te(t))throw Error("Invalid value provided "+t);try{r=Ee(Ne(new Date(t),e),e)}catch(r){throw Error(N("Could not convert date {0} to format: {1}",t,e))}}return be(r,e)}}function Oe(e,r,n){return t(s(r,n))}function Me(e,t,r){return F.registerDecorator(t,e),(e,s)=>Oe(0,`${y.REFLECT}.${s}.${t}`,r)(e,s)}function Re(){return e=>{Object.prototype.hasOwnProperty.call(e,M)||(e[M]=!0)}}function ve(e=b.REQUIRED){const t=y.REQUIRED,r={message:e,description:"defines the attribute as required",async:!1};return n.for(t).define({decorator:Me,args:[ve,t,r]}).apply()}function Pe(e,t=b.MIN){const r=y.MIN,s={[y.MIN]:e,message:t,description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return n.for(r).define({decorator:Me,args:[Pe,r,s]}).apply()}function _e(e,t=b.MAX){const r=y.MAX,s={[y.MAX]:e,message:t,description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return n.for(r).define({decorator:Me,args:[_e,r,s]}).apply()}function we(e,t=b.STEP){const r=y.STEP,s={[y.STEP]:e,message:t,description:"defines the step of the attribute as "+e,async:!1};return n.for(r).define({decorator:Me,args:[we,r,s]}).apply()}function Le(e,t=b.MIN_LENGTH){const r=y.MIN_LENGTH,s={[y.MIN_LENGTH]:e,message:t,description:`defines the min length of the attribute as ${e} (applies to strings or lists)`,async:!1};return n.for(r).define({decorator:Me,args:[Le,r,s]}).apply()}function Ie(e,t=b.MAX_LENGTH){const r=y.MAX_LENGTH,s={[y.MAX_LENGTH]:e,message:t,description:`defines the max length of the attribute as ${e} (applies to strings or lists)`,async:!1};return n.for(r).define({decorator:Me,args:[Ie,r,s]}).apply()}function De(e,t=b.PATTERN){const r=y.PATTERN,s={[y.PATTERN]:"string"==typeof e?e:e.toString(),message:t,description:`assigns the ${"string"===e?e:e.toString()} pattern to the attribute`,async:!1};return n.for(r).define({decorator:Me,args:[De,r,s]}).apply()}function je(e=b.EMAIL){const t=y.EMAIL,r={[y.PATTERN]:T.EMAIL.toString(),message:e,description:"marks the attribute as an email",async:!1};return n.for(t).define({decorator:Me,args:[je,t,r]}).apply()}function He(e=b.URL){const t=y.URL,r={[y.PATTERN]:T.URL.toString(),message:e,description:"marks the attribute as an url",async:!1};return n.for(t).define({decorator:Me,args:[He,t,r]}).apply()}function Ue(e,t=b.TYPE){const r=y.TYPE,s={customTypes:e,message:t,description:"defines the accepted types for the attribute",async:!1};return n.for(r).define({decorator:Me,args:[Ue,r,s]}).apply()}function Ce(e="dd/MM/yyyy",t=b.DATE){const r=y.DATE;return n.for(r).define({decorator:function(e,t){const s={[y.FORMAT]:e,message:t,description:"defines the attribute as a date with the format "+e,async:!1};return function(t,n){const i=new WeakMap;return Object.defineProperty(t,n,{configurable:!0,set(t){const r=Object.getOwnPropertyDescriptor(this,n);r&&!r.configurable||Object.defineProperty(this,n,{enumerable:!0,configurable:!1,get:()=>i.get(this),set:t=>{let r;try{r=Se(e,t),i.set(this,r)}catch(e){}}}),this[n]=t},get(){return i.get(this)}}),Me(Ce,r,s)(t,n)}},args:[e,t]}).apply()}function Fe(e=T.PASSWORD.CHAR8_ONE_OF_EACH,t=b.PASSWORD){const r=y.PASSWORD,s={[y.PATTERN]:e.toString(),message:t,description:"attribute as a password",async:!1};return n.for(r).define({decorator:Me,args:[Fe,r,s]}).apply()}function ze(e,t="Array",r=b.LIST){const s=y.LIST,i={clazz:Array.isArray(e)?e:[e],type:t,message:r,async:!1,description:`defines the attribute as a ${t} of ${e.name}`};return n.for(s).define({decorator:Me,args:[ze,s,i]}).apply()}function xe(e,t=b.LIST){return ze(e,"Set",t)}function $e(e,t){return Me($e,y.EQUALS,{label:t?.label||e,message:t?.message||b.EQUALS,[y.EQUALS]:e,description:"defines attribute as equal to "+e,async:!1})}function Ge(e,t){return Me(Ge,y.DIFF,{label:t?.label||e,message:t?.message||b.DIFF,[y.DIFF]:e,description:"defines attribute as different to "+e,async:!1})}function Ye(e,t){return Me(Ye,y.LESS_THAN,{label:t?.label||e,message:t?.message||b.LESS_THAN,[y.LESS_THAN]:e,description:"defines attribute as less than to "+e,async:!1})}function Qe(e,t){return Me(Qe,y.LESS_THAN_OR_EQUAL,{label:t?.label||e,message:t?.message||b.LESS_THAN_OR_EQUAL,[y.LESS_THAN_OR_EQUAL]:e,description:"defines attribute as less or equal to "+e,async:!1})}function ke(e,t){return Me(ke,y.GREATER_THAN,{label:t?.label||e,message:t?.message||b.GREATER_THAN,[y.GREATER_THAN]:e,description:"defines attribute as greater than "+e,async:!1})}function Ve(e,t){return Me(Ve,y.GREATER_THAN_OR_EQUAL,{label:t?.label||e,message:t?.message||b.GREATER_THAN_OR_EQUAL,[y.GREATER_THAN_OR_EQUAL]:e,description:"defines attribute as greater or equal to "+e,async:!1})}function qe(e,t=b.ENUM){const r=y.ENUM,s={[y.ENUM]:e,message:t,description:"defines a list or an object of accepted values for the attribute",async:!1};return n.for(r).define({decorator:Me,args:[qe,r,s]}).apply()}me=c([q(y.URL),u("design:paramtypes",[String])],me);class Be{constructor(t=e.isModel){this.cache={},this.testFunction=t}register(e,t){if("function"!=typeof e)throw Error("Model registering failed. Missing Class name or constructor");t=t||e.name,this.cache[t]=e}get(e){try{return this.cache[e]}catch(e){return}}build(t={},r){if(!r&&!this.testFunction(t))throw Error("Provided obj is not a Model object");const s=r||e.modelName(t.constructor);if(!(s in this.cache))throw Error(`Provided class ${s} is not a registered Model object`);return new this.cache[s](t)}static setBuilder(e){pe=e}static getBuilder(){return pe||Be.fromModel}static fromModel(t,r){let s;r||(r={});const n=e.getAttributes(t),i=Object.getPrototypeOf(t);let a;for(const o of n){try{t[o]=r[o]??t[o]??void 0}catch(e){if(a=Object.getOwnPropertyDescriptor(i,o),!a||a.writable)throw Error(`Unable to write property ${o} to model: ${e}`)}if("object"!=typeof t[o])continue;const n=e.isPropertyModel(t,o);if(n){try{t[o]=Be.getRegistry().build(t[o],"string"==typeof n?n:void 0)}catch(e){}continue}if(s=e.allowedTypes(t.constructor,o),!s||!s.length)throw Error("failed to find decorators for property "+o);const c=s.map((e=>"function"!=typeof e||e.name?e:e())),u=Object.values(Q);c.forEach((r=>{if(!u.includes(r))try{switch(r.name){case"Array":case"Set":{const s=e.validationFor(t.constructor,o);if(!s||!s[y.LIST])break;const n=s[y.LIST].clazz.map((e=>"function"!=typeof e||e.name?e:e())).find((e=>!k.includes(e.name)));if("Array"===r.name&&(t[o]=t[o].map((e=>["object","function"].includes(typeof e)&&n?Be.getRegistry().build(e,n.name):e))),"Set"===r.name){const e=new Set;for(const r of t[o])["object","function"].includes(typeof r)&&n?e.add(Be.getRegistry().build(r,n.name)):e.add(r);t[o]=e}break}default:void 0!==t[o]&&Be.getRegistry().get(r.name)&&(t[o]=Be.getRegistry().build(t[o],r.name))}}catch(e){}}))}return t}static getRegistry(){return ye||(ye=new Be),ye}static setRegistry(e){ye=e}}function Xe(...e){e.forEach((e=>{const t=e.constructor?e.constructor:e;Be.getRegistry().register(t,e.name)}))}function Ke(e,t,r){Object.hasOwnProperty.call(e,t)||(e[t]=r)}function We(e,t){Object.hasOwnProperty.call(e,t)&&delete e[t]}function Ze(e,t,r,...s){t&&Ke(e,O,t),Ke(e,M,!!r);const n=e.hasErrors(...s);return We(e,O),We(e,M),n}function Je(e,t,r,s,n,...i){let a,o=!1;for(const c of s){const s=Be.getRegistry().get(c);if(s||(a=new g({[e]:{[y.TYPE]:"Unable to verify type consistency, missing model registry for "+c}})),t instanceof s){o=!0,a=Ze(t,r,n,...i);break}}return o?a:a||new g({[e]:{[y.TYPE]:"Value must be an instance of one of the expected types: "+s.join(", ")}})}function et(e,...t){return t?.map((t=>("string"==typeof t&&t?.startsWith(e+".")&&(t=t.replace(e+".","")),t)))}function tt(e,t,r,s){const n=F.get(r.key);if(!n)throw Error("Missing validator for "+r.key);if(!s&&r.async)return;const i=r.key===d.TYPE?[r]:r||{},a=$.create(e,{ignoreUndefined:!0,ignoreNull:!0}),o=r.key===d.TYPE?i[0]:i;return G(n.hasErrors(t,o,a),s)}function rt(t,r,s,n,i,...a){const o={};for(const c in n){const u={...n[c],key:c};if(!i&&u.async)continue;let l=tt(t,s,u,i);if(c===y.LIST&&(!l||i)){const n=s instanceof Set?[...s]:s;if(n&&n.length>0){let s=u.class||u.clazz||u.customTypes;s=(Array.isArray(s)?s:[s]).map((e=>(e="function"!=typeof e||e.name?e:e()).name?e.name:e));const o=[s].flat().map((e=>(e+"").toLowerCase())),c=n.map((n=>{if(e.isModel(n)){const e=et(r,...a);return Je(r,n,t,s.flat(),!!i,...e)}return o.includes(typeof n)?void 0:"Value has no validatable type"}));if(i)l=Promise.all(c).then((e=>e.every((e=>!e))?void 0:e));else{const e=c.every((e=>!e));l=c.length>0&&!e?c:void 0}}}const f=c===d.TYPE?y.TYPE:c;l&&(o[f]=l)}if(!i)return Object.keys(o).length>0?o:void 0;const c=Object.keys(o),u=Object.values(o);return Promise.all(u).then((e=>{const t={};for(let r=0;r<e.length;r++){const s=e[r];void 0!==s&&(t[c[r]]=s)}return Object.keys(t).length>0?t:void 0}))}function st(t,r,...s){const n=e.validatableProperties(t.constructor,...s),i={},a={};for(const o of n){const n=o+"",c=t[o],u=e.validationFor(t.constructor,o)||{},{designTypes:l}=e.getPropDesignTypes(t.constructor,o);if(!l)continue;if(l.some((e=>[Array.name,Set.name].includes(e.name)))){if(!u||!Object.keys(u).includes(y.LIST)){i[n]={[y.TYPE]:`Array or Set property '${n}' requires a @list decorator`};continue}if(c&&!(Array.isArray(c)||c instanceof Set)){i[n]={[y.TYPE]:`Property '${o+""}' must be either an Array or a Set`};continue}}const f=rt(t,n,c,u,r,...s)||{};if(e.isPropertyModel(t,n)&&null!=c){const e=l.map((e=>Be.getRegistry().get(e.name||e))).find((e=>!!e)),i=l.map((e=>"function"==typeof e?e.name?e.name.toLowerCase():e()?.name.toLowerCase():e.toLowerCase()));if(e&&c instanceof e){const e=et(n,...s);a[n]=Ze(c,t,r,...e)}else i.includes(typeof c)||(f[y.TYPE]=e?"Value must be an instance of "+e.name:`Unable to verify type consistency, missing model registry for ${l.toString()} on prop ${n}`,delete f[d.TYPE])}(Object.keys(f).length>0||r)&&(i[n]=f),r||Object.entries(a[n]||{}).forEach((([e,t])=>{void 0!==t&&(i[`${n}.${e}`]=t)}))}if(!r)return Object.keys(i).length>0?new g(i):void 0;const o=i,c=Object.keys(o),u=Object.values(o);return Promise.allSettled(u).then((async e=>{const t={};for(const[e,r]of Object.entries(a)){const s=await r;s&&Object.entries(s).forEach((([r,s])=>{void 0!==s&&(t[[e,r].join(".")]=s)}))}for(let r=0;r<e.length;r++){const s=c[r],n=e[r];"fulfilled"===n.status&&void 0!==n.value?t[s]=n.value:"rejected"===n.status&&(t[s]=n.reason instanceof Error?n.reason.message:(n.reason||"Validation failed")+"")}return Object.keys(t).length>0?new g(t):void 0}))}function nt(e){e+="";let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t.toString()}function it(e){const t=(e,t)=>{const r=s(t);return"string"==typeof r?s((e||"")+s(t)):0|(e=((e=e||0)<<5)-e+r)},r=nt,s=e=>void 0===e?"":-1!==["string","number","symbol"].indexOf(typeof e)?r(e.toString()):e instanceof Date?r(e.getTime()):Array.isArray(e)?e.reduce(t,void 0):Object.values(e).reduce(t,void 0),n=Object.values(e).reduce(t,0);return("number"==typeof n?Math.abs(n):n).toString()}const at="default";class ot{static{this.current=at}static{this.cache={default:it}}constructor(){}static get(e){if(e in this.cache)return this.cache[e];throw Error("No hashing method registered under "+e)}static register(e,t,r=!1){if(e in this.cache)throw Error(`Hashing method ${e} already registered`);this.cache[e]=t,r&&(this.current=e)}static hash(e,t,...r){return t?this.get(t)(e,...r):this.get(this.current)(e,...r)}static setDefault(e){this.current=this.get(e)}}class ct{constructor(e=void 0){}isAsync(){return!!(this[M]??this?.constructor[M])}hasErrors(...e){return st(this,this.isAsync(),...e)}equals(e,...t){return X(this,e,...t)}compare(t,...r){const s=e.properties(this.constructor);if(!s||!s.length)return;const n=s.reduce(((e,s)=>{const n=s;if(r.includes(n))return e;if(void 0===this[n]&&void 0!==t[n])return e[n]={other:t[n],current:void 0},e;if(void 0!==this[n]&&void 0===t[n])return e[n]={other:void 0,current:this[n]},e;if(X(this[n],t[n]))return e;if(ct.isPropertyModel(this,n)){const r=this[n].compare(t[n]);return r&&(e[n]=r),e}if(Array.isArray(this[n])&&Array.isArray(t[n])){if(this[n].length!==t[n].length)return e[n]={current:this[n],other:t[n]},e;const r=this[n].map(((e,r)=>X(e,t[n][r])?null:e instanceof ct&&t[n][r]instanceof ct?e.compare(t[n][r]):{current:e,other:t[n][r]}));return r.some((e=>null!==e))&&(e[n]=r),e}return e[n]={other:t[n],current:this[n]},e}),{});return Object.keys(n).length>0?n:void 0}serialize(){return ct.serialize(this)}toString(){return this.constructor.name+": "+JSON.stringify(this,void 0,2)}hash(){return ct.hash(this)}static deserialize(t){let r;try{r=e.get(this.constructor,d.SERIALIZATION)}catch(e){r=void 0}return r&&r.serializer?h.deserialize(t,r.serializer,...r.args||[]):h.deserialize(t)}static fromObject(e,t){t||(t={});for(const r of ct.getAttributes(e))e[r]=t[r]??e[r]??void 0;return e}static fromModel(e,t){return Be.fromModel(e,t)}static setBuilder(e){Be.setBuilder(e)}static getBuilder(){return Be.getBuilder()}static getRegistry(){return Be.getRegistry()}static setRegistry(e){Be.setRegistry(e)}static register(e,t){return Be.getRegistry().register(e,t)}static get(e){return Be.getRegistry().get(e)}static build(e={},t){return ct.getRegistry().build(e,t)}static getAttributes(t){return e.getAttributes(t)}static equals(e,t,...r){return X(e,t,...r)}static hasErrors(e,t,...r){return st(e,t,...r)}static serialize(t){let r;try{r=e.get(t.constructor,d.SERIALIZATION)}catch(e){r=void 0}return r&&r.serializer?h.serialize(this,r.serializer,...r.args||[]):h.serialize(t)}static hash(t){const r=e.get(t.constructor,d.HASHING);return r&&r.algorithm?ot.hash(t,r.algorithm,...r.args||[]):ot.hash(t)}static isModel(t){return e.isModel(t)}static isPropertyModel(t,r){return e.isPropertyModel(t,r)}static describe(t,r){return e.description(t,r)}}function ut(e){return e instanceof dt?e.build():new Date(e)}function lt(e,t,r){const s=new Date(e);return r.years&&s.setFullYear(s.getFullYear()+t*r.years),r.months&&s.setMonth(s.getMonth()+t*r.months),r.days&&s.setDate(s.getDate()+t*r.days),r.hours&&s.setHours(s.getHours()+t*r.hours),r.minutes&&s.setMinutes(s.getMinutes()+t*r.minutes),r.seconds&&s.setSeconds(s.getSeconds()+t*r.seconds),s}e.validationFor=((t,r,s)=>{const n=e.get(t);if(!n)return;if(!r)return n.validation;if(!n.validation)return;if(!n.validation[y.TYPE]){const{designTypes:s}=e.getPropDesignTypes(t,r);n.validation[r]&&s?.length&&s[0]!==Q.OBJECT&&(n.validation[r][y.TYPE]={customTypes:s,message:b.TYPE,description:"defines the accepted types for the attribute",async:!1})}if(!s)return n.validation[r];const i=n.validation[r];return i?i[s]:void 0}).bind(e),e.modelName=(t=>{const r=e.constr(t);return r?r.name:t.name}).bind(e),e.validatableProperties=((t,...r)=>{const s=e.validationFor(t),n=s?Object.keys(s):[];return[...new Set([...ct.getAttributes(t),...n])].filter((e=>!r||!r?.includes(e)))}).bind(e),e.allowedTypes=((t,r)=>{const s=e.type(t,r);if(!s)throw Error("No metadata found for property "+r);const n=e.validationFor(t,r);return n&&n[y.TYPE]&&"function"==typeof n[y.TYPE]?.customTypes[Symbol.iterator]?[...n[y.TYPE].customTypes]:[s]}).bind(e),e.getPropDesignTypes=((t,r)=>{const s=e.get(t),n=e.type(t,r),i=s?.[y.REFLECT]?.[r];if(!(n||i&&i[y.TYPE]))return{};const a=i&&i[y.TYPE]?[i[y.TYPE].customTypes]:[n];if(!a?.length)return{};const o=a[0],c=o.class||o.clazz||o.customTypes||o;return{designTypes:(Array.isArray(c)?c:[c]).map((e=>"function"!=typeof e||e.name?e:e())),designType:c}}).bind(e),e.isModel=(t=>{try{if(t instanceof ct)return!0;const r=e.constr(t);return!(!r||r===t||!e.modelName(r))}catch(e){return!1}}).bind(e),e.isPropertyModel=((t,r)=>{if(e.isModel(t[r]))return!0;const s=e.type(t.constructor,r);return s&&Be.getRegistry().get(s.name)?s.name:void 0}).bind(e),e.getAttributes=(t=>{const r=t instanceof ct?t.constructor:t,s=new Set,n=t=>{if(!t)return[];const r=n(Object.getPrototypeOf(t)),i=e.properties(t)??[];for(const e of i)s.has(e)||(s.add(e),r.push(e));return r};return n(r)}).bind(e);class dt{constructor(){this.years=0,this.months=0,this.days=0,this.hours=0,this.minutes=0,this.seconds=0}static Years(e){return(new dt).Years(e)}static Months(e){return(new dt).Months(e)}static Days(e){return(new dt).Days(e)}static Hours(e){return(new dt).Hours(e)}static Minutes(e){return(new dt).Minutes(e)}static Seconds(e){return(new dt).Seconds(e)}Years(e){return this.years+=e,this}Months(e){return this.months+=e,this}Days(e){return this.days+=e,this}Hours(e){return this.hours+=e,this}Minutes(e){return this.minutes+=e,this}Seconds(e){return this.seconds+=e,this}build(e=new Date){return this.from(e)}from(e){return lt(ut(e),1,this.offsets())}past(e){return this.from(e)}after(e){return this.from(e)}until(e){return lt(ut(e),-1,this.offsets())}before(e){return this.until(e)}offsets(){return{years:this.years,months:this.months,days:this.days,hours:this.hours,minutes:this.minutes,seconds:this.seconds}}}const ft=dt,ht=()=>new Date,gt=()=>dt.Days(1).from(ht()),pt=()=>dt.Days(1).until(ht()),yt=e=>dt.Days(e).until(ht()),mt=e=>dt.Days(e).from(ht()),Et=e=>dt.Years(e).until(ht()),bt=e=>dt.Years(e).from(ht()),Tt=e=>dt.Months(e).until(ht()),At=e=>dt.Months(e).from(ht()),Nt=e=>dt.Hours(e).until(ht()),St=e=>dt.Hours(e).from(ht()),Ot=e=>dt.Minutes(e).until(ht()),Mt=e=>dt.Minutes(e).from(ht()),Rt=e=>dt.Seconds(e).until(ht()),vt=e=>dt.Seconds(e).from(ht());class Pt{constructor(){}preSerialize(t,...r){const s=Object.assign({},t);let n;try{n=e.modelName(t.constructor)}catch(e){n=void 0}return s[d.ANCHOR]=n||t.constructor.name,s}deserialize(e,...t){const r=JSON.parse(e),s=r[d.ANCHOR];if(!s)throw Error("Could not find class reference in serialized model");return ct.build(r,s)}serialize(e,...t){return JSON.stringify(this.preSerialize(e))}}function _t(e,...t){const r=(...t)=>new e(...t);return r.prototype=e.prototype,r(...t)}function wt(e){let t=Object.getPrototypeOf(e);if(t===Object.prototype)return e;for(;t!==Object.prototype;){if(t=Object.getPrototypeOf(t),t===Object.prototype)return t;if(Object.getPrototypeOf(t)===Object.prototype)return t}throw Error("Could not find proper prototype")}function Lt(e){if(e instanceof ct)return;function t(e,t){Object.setPrototypeOf(e,t)}const r=Object.getPrototypeOf(e);if(r===Object.prototype)return t(e,ct.prototype);for(;r!==Object.prototype;){const e=Object.getPrototypeOf(r);if(e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return t(r,ct.prototype)}throw Error("Could not find proper prototype to bind")}function It(e){const t=(...t)=>{const r=_t(e,...t);Lt(r);const s=ct.getBuilder();return s&&s(r,t.length?t[0]:void 0),r};return t.prototype=e.prototype,Object.defineProperty(t,"name",{writable:!1,enumerable:!0,configurable:!1,value:e.prototype.constructor.name}),r(d.CONSTRUCTOR,e)(t),ct.register(t,e.name),t}function Dt(){const e=d.MODEL;return n.for(e).define(It).apply()}function jt(e,...t){return r(d.HASHING,{algorithm:e,args:t})}function Ht(e,...t){return r(d.SERIALIZATION,{serializer:e,args:t})}h.cache={json:new Pt};class Ut{constructor(e,t,r){this.parent=e,this.attr=t,this.declaredType=r,this.decorators=[]}decorate(...e){for(const t of e){if(this.decorators.includes(t))throw Error(`Decorator "${t}" has already been used`);this.decorators.push(t)}return this.parent}undecorate(...e){for(const t of e){const e=this.decorators.indexOf(t);if(0>e)throw Error(`Decorator "${t}" is not applied to ${this.attr}`);this.decorators.splice(e,1)}return this.parent}required(e){const t=Ut.asMeta(e),r="string"==typeof e?e:Ut.resolveMessage(t);return this.decorate(ve(r))}min(e,t){const r=Ut.asMeta(e),s=r?.[y.MIN]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MIN} for ${this.attr+""}`);return this.decorate(Pe(s,Ut.resolveMessage(r,t)))}max(e,t){const r=Ut.asMeta(e),s=r?.[y.MAX]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MAX} for ${this.attr+""}`);return this.decorate(_e(s,Ut.resolveMessage(r,t)))}step(e,t){const r=Ut.asMeta(e),s=r?.[y.STEP]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.STEP} for ${this.attr+""}`);return this.decorate(we(s,Ut.resolveMessage(r,t)))}minlength(e,t){const r=Ut.asMeta(e),s=r?.[y.MIN_LENGTH]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MIN_LENGTH} for ${this.attr+""}`);return this.decorate(Le(s,Ut.resolveMessage(r,t)))}maxlength(e,t){const r=Ut.asMeta(e),s=r?.[y.MAX_LENGTH]??(r?void 0:e);if(void 0===s)throw Error(`Missing ${y.MAX_LENGTH} for ${this.attr+""}`);return this.decorate(Ie(s,Ut.resolveMessage(r,t)))}pattern(e,t){const r=Ut.asMeta(e),s=r?.[y.PATTERN]??(r?void 0:e),n=Ut.patternFromString(s)??/.*/;return this.decorate(De(n,Ut.resolveMessage(r,t)))}email(e){const t=Ut.asMeta(e),r="string"==typeof e?e:Ut.resolveMessage(t);return this.decorate(je(r))}url(e){const t=Ut.asMeta(e),r="string"==typeof e?e:Ut.resolveMessage(t);return this.decorate(He(r))}type(e,t){const r=Ut.asMeta(e),s=r?.customTypes??r?.type??(r?void 0:e);return this.decorate(Ue(s,Ut.resolveMessage(r,t)))}date(e,t){const r=Ut.asMeta(e),s=r?.[y.FORMAT]??(r?void 0:e);return this.decorate(Ce(s,Ut.resolveMessage(r,t)))}password(e,t){const r=Ut.asMeta(e),s=r?.[y.PATTERN]??(r?void 0:e),n=Ut.patternFromString(s);return this.decorate(Fe(n,Ut.resolveMessage(r,t)))}list(e,t,r){const s=Ut.asMeta(e),n=s?.clazz??(s?void 0:e),i=s?.type??t;return this.decorate(ze(n,i,Ut.resolveMessage(s,r)))}set(e,t){return Ut.isMetadataPayload(e)?this.list(e):this.list(e,"Set",t)}enum(e,t){const r=Ut.asMeta(e),s=r?.[y.ENUM]??(r?void 0:e);return this.decorate(qe(s,Ut.resolveMessage(r,t)))}option(e,t){return this.enum(e,t)}static isMetadataPayload(e){return!(!e||e instanceof Date||e instanceof RegExp||Array.isArray(e)||"object"!=typeof e)}static asMeta(e){return Ut.isMetadataPayload(e)?e:void 0}static resolveMessage(e,t){return e?.message??t}static patternFromString(e){if(!e)return;if(e instanceof RegExp)return e;const t=e.match(/^\/(.+)\/([gimsuy]*)$/);return t?RegExp(t[1],t[2]):RegExp(e)}resolveComparison(e,t,r){const s=Ut.asMeta(e);return s?{target:s[t],options:{label:s.label,message:s.message}}:{target:e,options:r}}equals(e,t){const{target:r,options:s}=this.resolveComparison(e,y.EQUALS,t);return this.decorate($e(r,s))}eq(e,t){return this.equals(e,t)}different(e,t){const{target:r,options:s}=this.resolveComparison(e,y.DIFF,t);return this.decorate(Ge(r,s))}diff(e,t){return this.different(e,t)}lessThan(e,t){const{target:r,options:s}=this.resolveComparison(e,y.LESS_THAN,t);return this.decorate(Ye(r,s))}lt(e,t){return this.lessThan(e,t)}lessThanOrEqual(e,t){const{target:r,options:s}=this.resolveComparison(e,y.LESS_THAN_OR_EQUAL,t);return this.decorate(Qe(r,s))}lte(e,t){return this.lessThanOrEqual(e,t)}greaterThan(e,t){const{target:r,options:s}=this.resolveComparison(e,y.GREATER_THAN,t);return this.decorate(ke(r,s))}gt(e,t){return this.greaterThan(e,t)}greaterThanOrEqual(e,t){const{target:r,options:s}=this.resolveComparison(e,y.GREATER_THAN_OR_EQUAL,t);return this.decorate(Ve(r,s))}gte(e,t){return this.greaterThanOrEqual(e,t)}description(e){return this.decorate(i(e))}build(e){const t=e.prototype,r=this.attr;Object.getOwnPropertyDescriptor(t,r)||Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:void 0}),this.declaredType&&Reflect.defineMetadata(a.DESIGN_TYPE,this.declaredType,t,r),o()(t,r),this.decorators.forEach((e=>{try{e(t,r)}catch(e){throw Error(`Failed to apply decorator to property "${this.attr}": ${e}`)}}))}}class Ct{constructor(e,t,r){this.parent=e,this.attribute=t,this.collection=r}ofPrimitives(e,t){return this.attribute.list(e,this.collection,t),this.parent}ofModel(){const e=Ft.builder(),t=e.build;let r;return this.attribute.list((()=>(r||(r=Reflect.apply(t,e,[])),r)),this.collection),e.build=new Proxy(t,{apply:(e,t,s)=>(r=Reflect.apply(e,t,s),this.parent)}),e}}class Ft extends l{constructor(){super(...arguments),this.attributes=new Map}setName(e){return this._name=e,this}description(e){return this._description=e,this}attribute(e,t){const r=this.attributes.get(e);if(r){if(r.declaredType!==t)throw Error(`Attribute "${e+""}" already exists with a different type`);return r}const s=new Ut(this,e,t);return this.attributes.set(e,s),s}string(e){return this.attribute(e,String)}number(e){return this.attribute(e,Number)}date(e){return this.attribute(e,Date)}bigint(e){return this.attribute(e,BigInt)}instance(e,t){return this.attribute(t,e)}model(e){const t=new Ft;return t.build=new Proxy(t.build,{apply:(t,r,s)=>{const n=Reflect.apply(t,r,s);return this.instance(n,e)}}),t}listOf(e,t="Array"){const r="Set"===t?Set:Array,s=this.attribute(e,r);return new Ct(this,s,t)}build(){if(!this._name)throw Error("name is required");const e=this._parent??ct;class t extends e{constructor(e){super(e)}}Object.defineProperty(t,"name",{value:this._name,writable:!1});for(const e of this.attributes.values())e.build(t);let r=Dt()(t);return this._description&&(r=i(this._description)(r)),r}static builder(){return new Ft}static from(e,t){if(!e)throw Error("metadata is required");const r=Ft.builder(),s=t??"GeneratedModel"+Date.now();r.setName(s);const n=e.properties||{},i=e.validation||{};for(const[e,t]of Object.entries(n)){const s=r.attribute(e,t||Object),n=i[e];if(n)for(const[e,t]of Object.entries(n)){const r=s[e];if("function"!=typeof r)try{const r=F.decoratorFromKey(e),n="function"==typeof r?r(t):r;s.decorate(n)}catch{}else r.call(s,t)}}return r.build()}}const zt="##VERSION##",xt="##PACKAGE##";e.registerLibrary(xt,zt);export{M as ASYNC_META_KEY,V as AsyncValidator,Ut as AttributeBuilder,S as COMPARISON_ERROR_MESSAGES,p as ComparisonValidationKeys,E as DAYS_OF_WEEK_NAMES,b as DEFAULT_ERROR_MESSAGES,T as DEFAULT_PATTERNS,dt as DateBuilder,B as DateValidator,ft as Dates,yt as DaysAgo,at as DefaultHashingMethod,f as DefaultSerializationMethod,K as DiffValidator,J as EmailValidator,ee as EqualsValidator,re as GreaterThanOrEqualValidator,te as GreaterThanValidator,ot as Hashing,Nt as HoursAgo,Pt as JSONSerializer,ne as LessThanOrEqualValidator,se as LessThanValidator,ie as ListValidator,m as MONTH_NAMES,ae as MaxLengthValidator,oe as MaxValidator,ce as MinLengthValidator,ue as MinValidator,Ot as MinutesAgo,ct as Model,Ft as ModelBuilder,g as ModelErrorDefinition,d as ModelKeys,Be as ModelRegistryManager,Tt as MonthsAgo,mt as NextDays,St as NextHours,Mt as NextMinutes,At as NextMonths,vt as NextSeconds,bt as NextYears,ht as Now,le as OptionValidator,xt as PACKAGE_NAME,de as PasswordValidator,$ as PathProxyEngine,Z as PatternValidator,Y as Primitives,fe as RequiredValidator,Q as ReservedModels,Rt as SecondsAgo,h as Serialization,he as StepValidator,gt as Tomorrow,ge as TypeValidator,me as URLValidator,O as VALIDATION_PARENT_KEY,zt as VERSION,F as Validation,y as ValidationKeys,U as Validator,C as ValidatorRegistry,Et as YearsAgo,pt as Yesterday,Re as async,be as bindDateToString,Lt as bindModelPrototype,Xe as bulkModelRegister,L as checkType,I as checkTypes,_t as construct,Ce as date,Ee as dateFromFormat,Ge as diff,je as email,$e as eq,D as evaluateDesignTypes,wt as findLastProtoBeforeObject,Ne as formatDate,et as getChildNestedPropsToIgnore,ke as gt,Ve as gte,nt as hashCode,it as hashObj,jt as hashedBy,Me as innerValidationDecorator,X as isEqual,w as isGreaterThan,_ as isLessThan,Te as isValidDate,P as isValidForGteOrLteComparison,k as jsTypes,ze as list,Ye as lt,Qe as lte,_e as max,Ie as maxlength,Pe as min,Le as minlength,Dt as model,It as modelBaseDecorator,lt as offsetDate,qe as option,Se as parseDate,Fe as password,De as pattern,W as regexpParser,ve as required,Ht as serializedBy,xe as set,N as sf,we as step,A as stringFormat,G as toConditionalPromise,Ae as twoDigitPad,Ue as type,He as url,st as validate,Je as validateChildValue,tt as validateDecorator,rt as validateDecorators,Oe as validationMetadata,q as validator,j as valueLength};
|
|
2
2
|
//# sourceMappingURL=decorator-validation.js.map
|