@decaf-ts/decorator-validation 1.10.1 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{Metadata as e,DecorationKeys as t,Decoration as r}from"@decaf-ts/decoration";import"reflect-metadata";import{apply as s,metadata as a,Reflection as n,isEqual as o}from"@decaf-ts/reflection";import{__decorate as i,__metadata as c}from"tslib";const u={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"},l=Symbol("_parent"),d=Symbol("isAsync");var f;(e=>{e.REFLECT="decaf.model.",e.DESCRIPTION="decaf.description.",e.TYPE="design:type",e.PARAMS="design:paramtypes",e.RETURN="design:returntype",e.MODEL="model",e.ANCHOR="__model",e.CONSTRUCTION="constructed-by",e.ATTRIBUTE="__attributes",e.HASHING="hashing",e.SERIALIZATION="serialization"})(f||(f={}));const g="decaf",p={EQUALS:"equals",DIFF:"different",LESS_THAN:"lessThan",LESS_THAN_OR_EQUAL:"lessThanOrEqual",GREATER_THAN:"greaterThan",GREATER_THAN_OR_EQUAL:"greaterThanOrEqual"},h={REFLECT:f.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",...p},y=["January","February","March","April","May","June","July","August","September","October","November","December"],m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],E={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."},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}};function A(e,...t){return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const b=A;function N(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 a=e=>{if(!e)return 0;const t=parseInt(e);return isNaN(t)?0:t},n=a(s.groups.year),o=a(s.groups.day),i=s.groups.ampm;let c=a(s.groups.hour);i&&(c="PM"===i?c+12:c);const u=a(s.groups.minutes),l=a(s.groups.seconds),d=a(s.groups.milis),f=s.groups.monthname,g=s.groups.monthnamesmall;let p=s.groups.month;if(f)p=y.indexOf(f);else if(g){const t=y.find(e=>e.toLowerCase().startsWith(g.toLowerCase()));if(!t)return new Date(e);p=y.indexOf(t)}else p=a(""+p);return new Date(n,p-1,o,c,u,l,d)}function S(e,t){if(e)return Object.defineProperty(e,"toISOString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>M(r,t)})}),Object.defineProperty(e,"toString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>M(r,t)})}),e}function O(e){return e&&"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e)}function R(e){return 10>e?"0"+e:e.toString()}function M(e,t="yyyy/MM/dd"){const r=e.getDate(),s=e.getMonth(),a=e.getFullYear(),n=e.getHours(),o=e.getMinutes(),i=e.getSeconds(),c=e.getMilliseconds(),u=n%12,l=R(u),d=R(n),f=R(o),g=R(i),p=12>n?"AM":"PM",h=m[e.getDay()],E=h.substr(0,3),T=R(r),A=s+1,b=R(A),N=y[s],S=N.substr(0,3),O=a+"",M=O.substr(2,2);return(t=t.replace("hh",l).replace("h",u.toString()).replace("HH",d).replace("H",n.toString()).replace("mm",f).replace("m",o.toString()).replace("ss",g).replace("s",i.toString()).replace("S",c.toString()).replace("dd",T).replace("d",r.toString()).replace("EEEE",h).replace("EEE",E).replace("yyyy",O).replace("yy",M).replace("aaa",p)).indexOf("MMM")>-1?t.replace("MMMM",N).replace("MMM",S):t.replace("MM",b).replace("M",A.toString())}function P(e,t){let r;if(t){if(t instanceof Date)try{r=N(M(t,e),e)}catch(r){throw Error(b("Could not convert date {0} to format: {1}",t.toString(),e))}else if("string"==typeof t)r=N(t,e);else if("number"==typeof t)r=N(M(new Date(t),e),e);else{if(!O(t))throw Error("Invalid value provided "+t);try{r=N(M(new Date(t),e),e)}catch(r){throw Error(b("Could not convert date {0} to format: {1}",t,e))}}return S(r,e)}}function _(e){return g}class v{static{this.decorators={}}static{this.flavourResolver=_}constructor(e=g){this.flavour=e}for(e){return this.key=e,this}decorate(e=!1,...t){if(!this.key)throw Error("key must be provided before decorators can be added");if(!(t&&t.length||e||this.flavour===g))throw Error("Must provide overrides or addons to override or extend decaf's decorators");if(this.flavour===g&&e)throw Error("Default flavour cannot be extended");return this[e?"extras":"decorators"]=new Set([...(this[e?"extras":"decorators"]||new Set).values(),...t]),this}define(...e){return this.decorate(!1,...e)}extend(...e){return this.decorate(!0,...e)}decoratorFactory(e,t=g){const r=(t,r,s)=>{const a=v.flavourResolver(t),n=v.decorators[e];let o;const i=n[a]?n[a].extras:n[g].extras,c=[...n[g].extras?n[g].extras.values():[]].reduce((e,t,r)=>(t.args&&(e[r]=t.args),e),{});o=n&&n[a]&&n[a].decorators&&n[a].decorators.size?n[a].decorators:n[g].decorators;const u=[...n[g].decorators.values()].reduce((e,t,r)=>(t.args&&(e[r]=t.args),e),{});return[...o?o.values():[],...i?i.values():[]].reduce((e,a,n)=>{switch(typeof a){case"object":{const{decorator:e,args:i,transform:l}=a,d=i||n<(o?o.size:0)?u[n]:c[n-(o?o.size:0)]||(o?u[n-o.size]:[]);return e(...l?l(d||[]):d||[])(t,r,s)}case"function":return a(t,r,s);default:throw Error("Unexpected decorator type: "+typeof a)}},{target:t,propertyKey:r,descriptor:s})};return Object.defineProperty(r,"name",{value:[t,e].join("_decorator_for_"),writable:!1}),r}apply(){if(!this.key)throw Error("No key provided for the decoration builder");return v.register(this.key,this.flavour,this.decorators||new Set,this.extras),this.decoratorFactory(this.key,this.flavour)}static register(e,t,r,s){if(!e)throw Error("No key provided for the decoration builder");if(!r)throw Error("No decorators provided for the decoration builder");if(!t)throw Error("No flavour provided for the decoration builder");v.decorators[e]||(v.decorators[e]={}),v.decorators[e][t]||(v.decorators[e][t]={}),r&&(v.decorators[e][t].decorators=r),s&&(v.decorators[e][t].extras=s)}static setFlavourResolver(e){v.flavourResolver=e}static for(e){return(new v).for(e)}static flavouredAs(e){return new v(e)}}function I(e=f.ATTRIBUTE){return v.for(e).define((t,r)=>{let s;Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!1,configurable:!1,writable:!1,value:[]}),s=t[e],s.includes(r)||s.push(r)}).apply()}function L(e,t){return s(I(),a(e,t))}function w(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 D(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=w,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),a=Object.values(e).reduce(t,0);return("number"==typeof a?Math.abs(a):a).toString()}const j="default";class H{static{this.current=j}static{this.cache={default:D}}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)}}const U=e=>e[l],k=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw Error(b(u.PROPERTY_NOT_EXIST,t));return e[t]};class C{static create(e,t){const{getValue:r,getParent:s,ignoreUndefined:a,ignoreNull:n}={getParent:U,getValue:k,ignoreNull:!1,ignoreUndefined:!1,...t},o=new Proxy({},{get:(t,o)=>"getValueFromPath"===o?t=>{const o=C.parsePath(t);let i=e;for(let e=0;e<o.length;e++){const c=o[e];if(".."===c){const r=s(i);if(!r||"object"!=typeof r)throw Error(b(u.CONTEXT_NOT_OBJECT_COMPARISON,e+1,t));i=r;continue}if(i=r(i,c),!a&&void 0===i)throw Error(b(u.PROPERTY_INVALID,t,c));if(!n&&null===i)throw Error(b(u.PROPERTY_INVALID,t,c))}return i}:t[o]});return o}static parsePath(e){if("string"!=typeof e||!e.trim())throw Error(b(u.INVALID_PATH,e));return e.match(/(\.\.|[^/.]+)/g)||[]}}class x{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},"")}}class z{constructor(e,t=E.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 b(e,...t)}checkTypeAndHasErrors(e){return function(t,r,s,...a){return void 0!==t&&this.acceptedTypes?n.checkTypes(t,this.acceptedTypes)?e(t,r,s,...a):this.getMessage(E.TYPE,this.acceptedTypes.join(", "),typeof t):e(t,r,s,...a)}.bind(this)}static isValidator(e){return e.constructor&&!!e.hasErrors}}class F extends z{constructor(e=E.DEFAULT,...t){super(!1,e,...t)}}class Y{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(F.isValidator(t))return t;const r=new(t.default||t);return this.cache[e]=r,r}register(...e){e.forEach(e=>{if(F.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 a={};a[t.toUpperCase()]=t,this.customKeyCache=Object.assign({},this.customKeyCache,a)}})}}class G{static{this.actingValidatorRegistry=void 0}static{this.loadedDecorators={}}constructor(){}static setRegistry(e,t){t&&G.actingValidatorRegistry&&G.actingValidatorRegistry.getKeys().forEach(r=>{const s=e.get(r);s&&e.register(t(s))}),G.actingValidatorRegistry=e}static getRegistry(){return G.actingValidatorRegistry||(G.actingValidatorRegistry=new Y),G.actingValidatorRegistry}static get(e){return G.getRegistry().get(e)}static register(...e){return G.getRegistry().register(...e)}static key(e){return h.REFLECT+e}static keys(){return this.getRegistry().getKeys()}static registerDecorator(e,t){e in this.loadedDecorators||(this.loadedDecorators[e]=t)}static decoratorFromKey(e){if(!(e in this.loadedDecorators))throw Error("No decorator registered under "+e);return this.loadedDecorators[e]}}function Q(e){return f.REFLECT+e}function V(e){const t=Reflect.getMetadata(Q(f.MODEL),e.constructor);if(!t)throw Error("could not find metadata for provided "+e.constructor.name);return t}function $(e,t){return t?Promise.resolve(e):e}function K(e,t,r=h.REFLECT){return n.getPropertyDecorators(r,e,t)}function X(e,t){const r=[];for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&!t.includes(s)){const t=K(e,s);t&&r.push(t)}return r}function q(e,t,r){Object.hasOwnProperty.call(e,t)||(e[t]=r)}function B(e,t){Object.hasOwnProperty.call(e,t)&&delete e[t]}function Z(e,t,r,...s){t&&q(e,l,t),q(e,d,!!r);const a=e.hasErrors(...s);return B(e,l),B(e,d),a}function W(e,t,r,s,a,...n){let o,i=!1;for(const c of s){const s=ue.get(c);if(s||(o=new x({[e]:{[h.TYPE]:"Unable to verify type consistency, missing model registry for "+c}})),t instanceof s){i=!0,o=Z(t,r,a,...n);break}}return i?o:o||new x({[e]:{[h.TYPE]:"Value must be an instance of one of the expected types: "+s.join(", ")}})}function J(e,t,r,s){const a=G.get(r.key);if(!a)throw Error("Missing validator for "+r.key);if(!s&&r.props.async)return;const n=r.key===f.TYPE?[r.props]:r.props||{},o=C.create(e,{ignoreUndefined:!0,ignoreNull:!0}),i=r.key===f.TYPE?{type:n[0].name}:n;return $(a.hasErrors(t,i,o),s)}function ee(e,t,r,s,a,...n){const o={};for(const i of s){if(!a&&i.props.async)continue;let s=J(e,r,i,a);if(i.key===h.LIST&&(!s||a)){const o=r instanceof Set?[...r]:r;if(o&&o.length>0){let r=i.props.class||i.props.clazz||i.props.customTypes;r=(Array.isArray(r)?r:[r]).map(e=>(e="function"!=typeof e||e.name?e:e()).name?e.name:e);const c=[r].flat().map(e=>(e+"").toLowerCase()),u=o.map(s=>ue.isModel(s)?W(t,s,e,r.flat(),!!a,...n):c.includes(typeof s)?void 0:"Value has no validatable type");if(a)s=Promise.all(u).then(e=>e.every(e=>!e)?void 0:e);else{const e=u.every(e=>!e);s=u.length>0&&!e?u:void 0}}}const c=i.key===f.TYPE?h.TYPE:i.key;s&&(o[c]=s)}if(!a)return Object.keys(o).length>0?o:void 0;const i=Object.keys(o),c=Object.values(o);return Promise.all(c).then(e=>{const t={};for(let r=0;r<e.length;r++){const s=e[r];void 0!==s&&(t[i[r]]=s)}return Object.keys(t).length>0?t:void 0})}function te(e,t,...r){const s=X(e,r),a={},n={};for(const{prop:o,decorators:i}of s){const s=o+"";let c=e[o];if(!i?.length)continue;const u=[h.TYPE,f.TYPE].map(e=>i.find(t=>t.key===e)).find(Boolean);if(u?.key===h.TYPE&&i.splice(0,i.length,...i.filter(e=>e.key!==f.TYPE)),!u)continue;const l=u.props.class||u.props.clazz||u.props.customTypes||u.props.name;u.key===f.TYPE&&"Object"===l&&i.shift();const d=(Array.isArray(l)?l:[l]).map(e=>(e="function"!=typeof e||e.name?e:e()).name?e.name:e);if(d.some(e=>[Array.name,Set.name].includes(e))){if(!i.some(e=>e.key===h.LIST)){a[s]={[h.TYPE]:`Array or Set property '${s}' requires a @list decorator`};continue}if(c&&!(Array.isArray(c)||c instanceof Set)){a[s]={[h.TYPE]:`Property '${o+""}' must be either an Array or a Set`};continue}for(let e=i.length-1;e>=0;e--)i[e].key===f.TYPE&&i.splice(e,1);c=c instanceof Set?[...c]:c}const g=ee(e,s,c,i,t,...r)||{};if(ue.isPropertyModel(e,s)&&null!=c){const a=c;if("object"!=typeof a||"function"!=typeof a.hasErrors);else{const o=(Array.isArray(l)?l:[l]).map(e=>("function"!=typeof e||e.name||(e=e()),ue.get(e.name||e))).find(e=>!!e);o&&a instanceof o?n[s]=Z(a,e,t,...r):(g[h.TYPE]=o?"Value must be an instance of "+o.name:`Unable to verify type consistency, missing model registry for ${d.toString()} on prop ${s}`,delete g[f.TYPE])}}(Object.keys(g).length>0||t)&&(a[s]=g),t||Object.entries(n[s]||{}).forEach(([e,t])=>{void 0!==t&&(a[`${s}.${e}`]=t)})}if(!t)return Object.keys(a).length>0?new x(a):void 0;const o=a,i=Object.keys(o),c=Object.values(o);return Promise.allSettled(c).then(async e=>{const t={};for(const[e,r]of Object.entries(n)){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=i[r],a=e[r];"fulfilled"===a.status&&void 0!==a.value?t[s]=a.value:"rejected"===a.status&&(t[s]=a.reason instanceof Error?a.reason.message:(a.reason||"Validation failed")+"")}return Object.keys(t).length>0?new x(t):void 0})}var re,se;(e=>{e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e.BIGINT="bigint"})(re||(re={})),(e=>{e.STRING="string",e.OBJECT="object",e.NUMBER="number",e.BOOLEAN="boolean",e.BIGINT="bigint",e.DATE="date"})(se||(se={}));const ae=["string","array","number","boolean","symbol","function","object","undefined","null","bigint"];let ne,oe;class ie{constructor(e=ue.isModel){this.cache={},this.testFunction=e}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(e={},t){if(!t&&!this.testFunction(e))throw Error("Provided obj is not a Model object");const r=t||ue.getMetadata(e);if(!(r in this.cache))throw Error(`Provided class ${r} is not a registered Model object`);return new this.cache[r](e)}}function ce(...e){e.forEach(e=>{const t=e.constructor?e.constructor:e;ue.register(t,e.name)})}class ue{constructor(e=void 0){}isAsync(){return!!(this[d]??this?.constructor[d])}hasErrors(...e){return te(this,this.isAsync(),...e)}equals(e,...t){return o(this,e,...t)}serialize(){return ue.serialize(this)}toString(){return this.constructor.name+": "+JSON.stringify(this,void 0,2)}hash(){return ue.hash(this)}static deserialize(e){const t=Reflect.getMetadata(ue.key(f.SERIALIZATION),this.constructor);return t&&t.serializer?fe.deserialize(e,t.serializer,...t.args||[]):fe.deserialize(e)}static fromObject(e,t){t||(t={});for(const r of ue.getAttributes(e))e[r]=t[r]??e[r]??void 0;return e}static fromModel(e,t){let r,s;t||(t={});const a=ue.getAttributes(e),o=Object.getPrototypeOf(e);let i;for(const c of a){try{e[c]=t[c]??e[c]??void 0}catch(e){if(i=Object.getOwnPropertyDescriptor(o,c),!i||i.writable)throw Error(`Unable to write property ${c} to model: ${e}`)}if("object"!=typeof e[c])continue;const a=ue.isPropertyModel(e,c);if(a){try{e[c]=ue.build(e[c],"string"==typeof a?a:void 0)}catch(e){}continue}const u=n.getPropertyDecorators(h.REFLECT,e,c).decorators;if(r=u.filter(e=>-1!==[f.TYPE,h.TYPE].indexOf(e.key)),!r||!r.length)throw Error("failed to find decorators for property "+c);s=r.pop();const l=s.props.name?[s.props.name]:(Array.isArray(s.props.customTypes)?s.props.customTypes:[s.props.customTypes]).map(e=>"function"==typeof e?e():e),d=Object.values(se).map(e=>e.toLowerCase());l.forEach(t=>{if("function"==typeof t&&(t=t.name?t.name:t()),-1===d.indexOf(t.toLowerCase()))try{switch(t){case"Array":case"Set":if(u.length){const r=u.find(e=>e.key===h.LIST);if(r){let s=r.props.clazz.find(e=>(e=(e="function"==typeof e?e():e).name?e.name:e,!ae.includes(e)));if(s="string"==typeof s?s:s(),s="string"==typeof s?s:s.name,"Array"===t&&(e[c]=e[c].map(e=>["object","function"].includes(typeof e)&&s?ue.build(e,s):e)),"Set"===t){const t=new Set;for(const r of e[c])["object","function"].includes(typeof r)&&s?t.add(ue.build(r,s)):t.add(r);e[c]=t}}}break;default:void 0!==e[c]&&ue.get(t)&&(e[c]=ue.build(e[c],t))}}catch(e){}})}return e}static setBuilder(e){ne=e}static getBuilder(){return ne||ue.fromModel}static getRegistry(){return oe||(oe=new ie),oe}static setRegistry(e){oe=e}static register(e,t){return ue.getRegistry().register(e,t)}static get(e){return ue.getRegistry().get(e)}static build(e={},t){return ue.getRegistry().build(e,t)}static getMetadata(e){return V(e)}static getAttributes(e){const t=[];let r=e instanceof ue?Object.getPrototypeOf(e):e.prototype;for(;null!=r;){const e=r[f.ATTRIBUTE];e&&t.push(...e),r=Object.getPrototypeOf(r)}return t}static equals(e,t,...r){return o(e,t,...r)}static hasErrors(e,t,...r){return te(e,t,...r)}static serialize(e){const t=Reflect.getMetadata(ue.key(f.SERIALIZATION),e.constructor);return t&&t.serializer?fe.serialize(this,t.serializer,...t.args||[]):fe.serialize(e)}static hash(e){const t=Reflect.getMetadata(ue.key(f.HASHING),e.constructor);return t&&t.algorithm?H.hash(e,t.algorithm,...t.args||[]):H.hash(e)}static key(e){return Q(e)}static isModel(e){try{return e instanceof ue||!!ue.getMetadata(e)}catch(e){return!1}}static isPropertyModel(e,t){if(ue.isModel(e[t]))return!0;const r=Reflect.getMetadata(f.TYPE,e,t);return ue.get(r.name)?r.name:void 0}static describe(e,t){const r=ue.key(f.DESCRIPTION);return t?(e=e instanceof ue?e:new e,Reflect.getMetadataKeys(e.constructor,t.toString()).find(e=>e===r)?.toString()||e.toString()):Reflect.getMetadata(ue.key(f.DESCRIPTION),e instanceof ue?e.constructor:e)||e.toString()}}const le="json";class de{constructor(){}preSerialize(e){const t=Object.assign({},e),r=V(e);return t[f.ANCHOR]=r||e.constructor.name,t}deserialize(e){const t=JSON.parse(e),r=t[f.ANCHOR];if(!r)throw Error("Could not find class reference in serialized model");return ue.build(t,r)}serialize(e){return JSON.stringify(this.preSerialize(e))}}class fe{static{this.current=le}static{this.cache={json:new de}}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 ge extends z{constructor(e=E.DEFAULT,...t){super(!0,e,...t)}}function pe(...e){return s(t=>(e.forEach(e=>{G.register({validator:t,validationKey:e,save:!0})}),t),a(G.key(h.VALIDATOR),e))}let he=class extends F{constructor(e=E.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)}}};he=i([pe(h.DATE),c("design:paramtypes",[String])],he);let ye=class extends F{constructor(e=E.DIFF){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.DIFF])}catch(e){return this.getMessage(e.message||this.message)}return o(e,s)?this.getMessage(t.message||this.message,t.label||t[h.DIFF]):void 0}};ye=i([pe(h.DIFF),c("design:paramtypes",[String])],ye);const me=RegExp("^/(.+)/([gimus]*)$");let Ee=class extends F{constructor(e=E.PATTERN){super(e,"string")}getPattern(e){if(!me.test(e))return RegExp(e);const t=e.match(me);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)}};Ee=i([pe(h.PATTERN),c("design:paramtypes",[String])],Ee);let Te=class extends Ee{constructor(e=E.EMAIL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t?.pattern||T.EMAIL})}};Te=i([pe(h.EMAIL),c("design:paramtypes",[String])],Te);let Ae=class extends F{constructor(e=E.EQUALS){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.EQUALS])}catch(e){return this.getMessage(e.message||this.message)}return o(e,s)?void 0:this.getMessage(t.message||this.message,t.label||t[h.EQUALS])}};Ae=i([pe(h.EQUALS),c("design:paramtypes",[String])],Ae);const be=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,Ne=e=>void 0===e||e instanceof Date||"bigint"==typeof e||"number"==typeof e&&Number.isFinite(e);function Se(e,t){if(Ne(e)&&Ne(t))return!0;throw new TypeError(b(u.UNSUPPORTED_TYPES_COMPARISON,be(e),be(t)))}function Oe(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(u.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(b(u.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(u.NAN_COMPARISON);return t>e}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(u.INVALID_DATE_COMPARISON);return e.getTime()<t.getTime()}throw new TypeError(b(u.UNSUPPORTED_TYPES_COMPARISON,be(e),be(t)))}function Re(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(u.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(b(u.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(u.NAN_COMPARISON);return e>t}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(u.INVALID_DATE_COMPARISON);return e.getTime()>t.getTime()}throw new TypeError(b(u.UNSUPPORTED_TYPES_COMPARISON,be(e),be(t)))}let Me=class extends F{constructor(e=E.GREATER_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.GREATER_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!Re(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.GREATER_THAN])}}};Me=i([pe(h.GREATER_THAN),c("design:paramtypes",[String])],Me);let Pe=class extends F{constructor(e=E.GREATER_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.GREATER_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(Se(e,s)&&o(e,s)||Re(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.GREATER_THAN_OR_EQUAL])}}};Pe=i([pe(h.GREATER_THAN_OR_EQUAL),c("design:paramtypes",[String])],Pe);let _e=class extends F{constructor(e=E.LESS_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.LESS_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!Oe(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.LESS_THAN])}}};_e=i([pe(h.LESS_THAN),c("design:paramtypes",[String])],_e);let ve=class extends F{constructor(e=E.LESS_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.LESS_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(Se(e,s)&&o(e,s)||Oe(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.LESS_THAN_OR_EQUAL])}}};ve=i([pe(h.LESS_THAN_OR_EQUAL),c("design:paramtypes",[String])],ve);let Ie=class extends F{constructor(e=E.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?e.name:e().name);let s,a=!0;for(let t=0;t<(Array.isArray(e)?e.length:e.size);t++)switch(s=e[t],typeof s){case"object":case"function":a=r.includes((s??{}).constructor?.name);break;default:a=r.some(e=>typeof s===e.toLowerCase())}return a?void 0:this.getMessage(t.message||this.message,r)}};Ie=i([pe(h.LIST),c("design:paramtypes",[String])],Ie);let Le=class extends F{constructor(e=E.MAX_LENGTH){super(e,String.name,Array.name)}hasErrors(e,t){if(void 0!==e)return e.length>t.maxlength?this.getMessage(t.message||this.message,t.maxlength):void 0}};Le=i([pe(h.MAX_LENGTH),c("design:paramtypes",[String])],Le);let we=class extends F{constructor(e=E.MAX){super(e,"number","Date","string")}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}};we=i([pe(h.MAX),c("design:paramtypes",[String])],we);let De=class extends F{constructor(e=E.MIN_LENGTH){super(e,String.name,Array.name)}hasErrors(e,t){if(void 0!==e)return e.length<t.minlength?this.getMessage(t.message||this.message,t.minlength):void 0}};De=i([pe(h.MIN_LENGTH),c("design:paramtypes",[String])],De);let je=class extends F{constructor(e=E.MIN){super(e,"number","Date","string")}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}};je=i([pe(h.MIN),c("design:paramtypes",[String])],je);let He=class extends Ee{constructor(e=E.PASSWORD){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,[h.PATTERN]:t?.pattern||T.PASSWORD.CHAR8_ONE_OF_EACH})}};He=i([pe(h.PASSWORD),c("design:paramtypes",[Object])],He);let Ue=class extends F{constructor(e=E.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)}}};Ue=i([pe(h.REQUIRED),c("design:paramtypes",[String])],Ue);let ke=class extends F{constructor(e=E.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}};ke=i([pe(h.STEP),c("design:paramtypes",[String])],ke);let Ce=class extends F{constructor(e=E.TYPE){super(e)}hasErrors(e,t){if(void 0===e)return;const{type:r,message:s,customTypes:a}=t;let o=a||r;return o=(Array.isArray(o)?o:[o]).map(e=>"string"==typeof e?e:("function"!=typeof e||e.name||(e=e()),e.name||e)),n.evaluateDesignTypes(e,o)?void 0:this.getMessage(s||this.message,"string"==typeof o?o:Array.isArray(o)?o.join(", "):o,typeof e)}};Ce=i([pe(h.TYPE),c("design:paramtypes",[String])],Ce),G.register({validator:Ce,validationKey:f.TYPE,save:!1});let xe=class extends Ee{constructor(e=E.URL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t.pattern||T.URL})}};function ze(e,t,r){return G.registerDecorator(t,e),s(L(t,r))}function Fe(){return e=>{Object.prototype.hasOwnProperty.call(e,d)||(e[d]=!0)}}function Ye(e=E.REQUIRED){const t=G.key(h.REQUIRED),r={message:e,description:"defines the attribute as required",async:!1};return v.for(t).define({decorator:ze,args:[Ye,t,r]}).apply()}function Ge(e,t=E.MIN){const r=G.key(h.MIN),s={[h.MIN]:e,message:t,types:[Number.name,Date.name],description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return v.for(r).define({decorator:ze,args:[Ge,r,s]}).apply()}function Qe(e,t=E.MAX){const r=G.key(h.MAX),s={[h.MAX]:e,message:t,types:[Number.name,Date.name],description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return v.for(r).define({decorator:ze,args:[Qe,r,s]}).apply()}function Ve(e,t=E.STEP){const r=G.key(h.STEP),s={[h.STEP]:e,message:t,types:[Number.name],description:"defines the step of the attribute as "+e,async:!1};return v.for(r).define({decorator:ze,args:[Ve,r,s]}).apply()}function $e(e,t=E.MIN_LENGTH){const r=G.key(h.MIN_LENGTH),s={[h.MIN_LENGTH]:e,message:t,types:[String.name,Array.name,Set.name],description:`defines the min length of the attribute as ${e} (applies to strings or lists)`,async:!1};return v.for(r).define({decorator:ze,args:[$e,r,s]}).apply()}function Ke(e,t=E.MAX_LENGTH){const r=G.key(h.MAX_LENGTH),s={[h.MAX_LENGTH]:e,message:t,types:[String.name,Array.name,Set.name],description:`defines the max length of the attribute as ${e} (applies to strings or lists)`,async:!1};return v.for(r).define({decorator:ze,args:[Ke,r,s]}).apply()}function Xe(e,t=E.PATTERN){const r=G.key(h.PATTERN),s={[h.PATTERN]:"string"==typeof e?e:e.toString(),message:t,types:[String.name],description:`assigns the ${"string"===e?e:e.toString()} pattern to the attribute`,async:!1};return v.for(r).define({decorator:ze,args:[Xe,r,s]}).apply()}function qe(e=E.EMAIL){const t=G.key(h.EMAIL),r={[h.PATTERN]:T.EMAIL.toString(),message:e,types:[String.name],description:"marks the attribute as an email",async:!1};return v.for(t).define({decorator:ze,args:[qe,t,r]}).apply()}function Be(e=E.URL){const t=G.key(h.URL),r={[h.PATTERN]:T.URL.toString(),message:e,types:[String.name],description:"marks the attribute as an url",async:!1};return v.for(t).define({decorator:ze,args:[Be,t,r]}).apply()}function Ze(e,t=E.TYPE){const r=G.key(h.TYPE),s={customTypes:e,message:t,description:"defines the accepted types for the attribute",async:!1};return v.for(r).define({decorator:ze,args:[Ze,r,s]}).apply()}function We(e="dd/MM/yyyy",t=E.DATE){const r=G.key(h.DATE);return v.for(r).define({decorator:function(e,t){const s={[h.FORMAT]:e,message:t,types:[Date.name],description:"defines the attribute as a date with the format "+e,async:!1};return function(t,a){const n=new WeakMap;return Object.defineProperty(t,a,{configurable:!1,set(t){const r=Object.getOwnPropertyDescriptor(this,a);r&&!r.configurable||Object.defineProperty(this,a,{enumerable:!0,configurable:!1,get:()=>n.get(this),set:t=>{let r;try{r=P(e,t),n.set(this,r)}catch(e){}}}),this[a]=t},get(){return n.get(this)}}),ze(We,r,s)(t,a)}},args:[e,t]}).apply()}function Je(e=T.PASSWORD.CHAR8_ONE_OF_EACH,t=E.PASSWORD){const r=G.key(h.PASSWORD),s={[h.PATTERN]:e.toString(),message:t,types:[String.name],description:"attribute as a password",async:!1};return v.for(r).define({decorator:ze,args:[Je,r,s]}).apply()}function et(e,t="Array",r=E.LIST){const s=G.key(h.LIST),a={clazz:Array.isArray(e)?e.map(e=>e.name?e.name:e):[e.name?e.name:e],type:t,message:r,async:!1,description:`defines the attribute as a ${t} of ${e.name}`};return v.for(s).define({decorator:ze,args:[et,s,a]}).apply()}function tt(e,t=E.LIST){return et(e,"Set",t)}function rt(e,t){const r={label:t?.label||e,message:t?.message||E.EQUALS,[h.EQUALS]:e,description:"defines attribute as equal to "+e};return ze(rt,G.key(h.EQUALS),{...r,async:!1})}function st(e,t){const r={label:t?.label||e,message:t?.message||E.DIFF,[h.DIFF]:e,description:"defines attribute as different to "+e};return ze(st,G.key(h.DIFF),{...r,async:!1})}function at(e,t){const r={label:t?.label||e,message:t?.message||E.LESS_THAN,[h.LESS_THAN]:e,description:"defines attribute as less than to "+e};return ze(at,G.key(h.LESS_THAN),{...r,async:!1})}function nt(e,t){const r={label:t?.label||e,message:t?.message||E.LESS_THAN_OR_EQUAL,[h.LESS_THAN_OR_EQUAL]:e,description:"defines attribute as less or equal to "+e};return ze(nt,G.key(h.LESS_THAN_OR_EQUAL),{...r,async:!1})}function ot(e,t){const r={label:t?.label||e,message:t?.message||E.GREATER_THAN,[h.GREATER_THAN]:e,description:"defines attribute as greater than "+e};return ze(ot,G.key(h.GREATER_THAN),{...r,async:!1})}function it(e,t){const r={label:t?.label||e,message:t?.message||E.GREATER_THAN_OR_EQUAL,[h.GREATER_THAN_OR_EQUAL]:e,description:"defines attribute as greater or equal to "+e};return ze(it,G.key(h.GREATER_THAN_OR_EQUAL),{...r,async:!1})}function ct(e,...t){const r=(...t)=>new e(...t);return r.prototype=e.prototype,r(...t)}function ut(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 ue)return;function t(e,t){Object.setPrototypeOf(e,t)}const r=Object.getPrototypeOf(e);if(r===Object.prototype)return t(e,ue.prototype);for(;r!==Object.prototype;){const e=Object.getPrototypeOf(r);if(e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return t(r,ue.prototype)}throw Error("Could not find proper prototype to bind")}function dt(r){const s=(...e)=>{const t=ct(r,...e);lt(t);const s=ue.getBuilder();return s&&s(t,e.length?e[0]:void 0),a(ue.key(f.MODEL),r.name)(t.constructor),t};return s.prototype=r.prototype,a(ue.key(f.MODEL),r.name)(r),Reflect.getMetadataKeys(r).forEach(e=>{Reflect.defineMetadata(e,Reflect.getMetadata(e,r),s)}),Object.defineProperty(s,"name",{writable:!1,enumerable:!0,configurable:!1,value:r.prototype.constructor.name}),Object.defineProperty(s,f.ANCHOR,{writable:!1,enumerable:!1,configurable:!1,value:r}),e.set(s,t.CONSTRUCTOR,r),ue.register(s,r.name),s}function ft(){const e=ue.key(f.MODEL);return r.for(e).define(dt).apply()}function gt(e,...t){return a(ue.key(f.HASHING),{algorithm:e,args:t})}function pt(e,...t){return a(ue.key(f.SERIALIZATION),{serializer:e,args:t})}function ht(e){return a(ue.key(f.DESCRIPTION),e)}xe=i([pe(h.URL),c("design:paramtypes",[String])],xe);const yt="##VERSION##",mt="##PACKAGE##";e.registerLibrary(mt,yt);export{d as ASYNC_META_KEY,ge as AsyncValidator,u as COMPARISON_ERROR_MESSAGES,p as ComparisonValidationKeys,m as DAYS_OF_WEEK_NAMES,E as DEFAULT_ERROR_MESSAGES,T as DEFAULT_PATTERNS,he as DateValidator,v as Decoration,g as DefaultFlavour,j as DefaultHashingMethod,le as DefaultSerializationMethod,ye as DiffValidator,Te as EmailValidator,Ae as EqualsValidator,Pe as GreaterThanOrEqualValidator,Me as GreaterThanValidator,H as Hashing,de as JSONSerializer,ve as LessThanOrEqualValidator,_e as LessThanValidator,Ie as ListValidator,y as MONTH_NAMES,Le as MaxLengthValidator,we as MaxValidator,De as MinLengthValidator,je as MinValidator,ue as Model,x as ModelErrorDefinition,f as ModelKeys,ie as ModelRegistryManager,mt as PACKAGE_NAME,He as PasswordValidator,C as PathProxyEngine,Ee as PatternValidator,re as Primitives,Ue as RequiredValidator,se as ReservedModels,fe as Serialization,ke as StepValidator,Ce as TypeValidator,xe as URLValidator,l as VALIDATION_PARENT_KEY,yt as VERSION,G as Validation,h as ValidationKeys,F as Validator,Y as ValidatorRegistry,Fe as async,S as bindDateToString,lt as bindModelPrototype,ce as bulkModelRegister,ct as construct,We as date,N as dateFromFormat,ht as description,st as diff,qe as email,rt as eq,ut as findLastProtoBeforeObject,M as formatDate,V as getMetadata,Q as getModelKey,X as getValidatableProperties,K as getValidationDecorators,ot as gt,it as gte,w as hashCode,D as hashObj,gt as hashedBy,Re as isGreaterThan,Oe as isLessThan,O as isValidDate,Se as isValidForGteOrLteComparison,ae as jsTypes,et as list,at as lt,nt as lte,Qe as max,Ke as maxlength,Ge as min,$e as minlength,ft as model,dt as modelBaseDecorator,P as parseDate,Je as password,Xe as pattern,I as prop,L as propMetadata,me as regexpParser,Ye as required,pt as serializedBy,tt as set,b as sf,Ve as step,A as stringFormat,$ as toConditionalPromise,R as twoDigitPad,Ze as type,Be as url,te as validate,W as validateChildValue,J as validateDecorator,ee as validateDecorators,ze as validationMetadata,pe as validator};
1
+ import{Metadata as e,DecorationKeys as t,Decoration as r}from"@decaf-ts/decoration";import"reflect-metadata";import{apply as s,metadata as a,Reflection as n,isEqual as o}from"@decaf-ts/reflection";import{__decorate as i,__metadata as c}from"tslib";const u={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"},l=Symbol("_parent"),d=Symbol("isAsync");var f;(e=>{e.REFLECT="decaf.model.",e.DESCRIPTION="decaf.description.",e.TYPE="design:type",e.PARAMS="design:paramtypes",e.RETURN="design:returntype",e.MODEL="model",e.ANCHOR="__model",e.CONSTRUCTION="constructed-by",e.ATTRIBUTE="__attributes",e.HASHING="hashing",e.SERIALIZATION="serialization"})(f||(f={}));const g="decaf",p={EQUALS:"equals",DIFF:"different",LESS_THAN:"lessThan",LESS_THAN_OR_EQUAL:"lessThanOrEqual",GREATER_THAN:"greaterThan",GREATER_THAN_OR_EQUAL:"greaterThanOrEqual"},h={REFLECT:f.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",...p},y=["January","February","March","April","May","June","July","August","September","October","November","December"],m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],E={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."},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}};function A(e,...t){return e.replace(/{(\d+)}/g,(e,r)=>void 0!==t[r]?t[r].toString():"undefined")}const b=A;function N(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 a=e=>{if(!e)return 0;const t=parseInt(e);return isNaN(t)?0:t},n=a(s.groups.year),o=a(s.groups.day),i=s.groups.ampm;let c=a(s.groups.hour);i&&(c="PM"===i?c+12:c);const u=a(s.groups.minutes),l=a(s.groups.seconds),d=a(s.groups.milis),f=s.groups.monthname,g=s.groups.monthnamesmall;let p=s.groups.month;if(f)p=y.indexOf(f);else if(g){const t=y.find(e=>e.toLowerCase().startsWith(g.toLowerCase()));if(!t)return new Date(e);p=y.indexOf(t)}else p=a(""+p);return new Date(n,p-1,o,c,u,l,d)}function S(e,t){if(e)return Object.defineProperty(e,"toISOString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>M(r,t)})}),Object.defineProperty(e,"toString",{enumerable:!1,configurable:!1,value:new Proxy(e.toISOString,{apply:(e,r)=>M(r,t)})}),e}function O(e){return e&&"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e)}function R(e){return 10>e?"0"+e:e.toString()}function M(e,t="yyyy/MM/dd"){const r=e.getDate(),s=e.getMonth(),a=e.getFullYear(),n=e.getHours(),o=e.getMinutes(),i=e.getSeconds(),c=e.getMilliseconds(),u=n%12,l=R(u),d=R(n),f=R(o),g=R(i),p=12>n?"AM":"PM",h=m[e.getDay()],E=h.substr(0,3),T=R(r),A=s+1,b=R(A),N=y[s],S=N.substr(0,3),O=a+"",M=O.substr(2,2);return(t=t.replace("hh",l).replace("h",u.toString()).replace("HH",d).replace("H",n.toString()).replace("mm",f).replace("m",o.toString()).replace("ss",g).replace("s",i.toString()).replace("S",c.toString()).replace("dd",T).replace("d",r.toString()).replace("EEEE",h).replace("EEE",E).replace("yyyy",O).replace("yy",M).replace("aaa",p)).indexOf("MMM")>-1?t.replace("MMMM",N).replace("MMM",S):t.replace("MM",b).replace("M",A.toString())}function P(e,t){let r;if(t){if(t instanceof Date)try{r=N(M(t,e),e)}catch(r){throw Error(b("Could not convert date {0} to format: {1}",t.toString(),e))}else if("string"==typeof t)r=N(t,e);else if("number"==typeof t)r=N(M(new Date(t),e),e);else{if(!O(t))throw Error("Invalid value provided "+t);try{r=N(M(new Date(t),e),e)}catch(r){throw Error(b("Could not convert date {0} to format: {1}",t,e))}}return S(r,e)}}function _(e){return g}class v{static{this.decorators={}}static{this.flavourResolver=_}constructor(e=g){this.flavour=e}for(e){return this.key=e,this}decorate(e=!1,...t){if(!this.key)throw Error("key must be provided before decorators can be added");if(!(t&&t.length||e||this.flavour===g))throw Error("Must provide overrides or addons to override or extend decaf's decorators");if(this.flavour===g&&e)throw Error("Default flavour cannot be extended");return this[e?"extras":"decorators"]=new Set([...(this[e?"extras":"decorators"]||new Set).values(),...t]),this}define(...e){return this.decorate(!1,...e)}extend(...e){return this.decorate(!0,...e)}decoratorFactory(e,t=g){const r=(t,r,s)=>{const a=v.flavourResolver(t),n=v.decorators[e];let o;const i=n[a]?n[a].extras:n[g].extras,c=[...n[g].extras?n[g].extras.values():[]].reduce((e,t,r)=>(t.args&&(e[r]=t.args),e),{});o=n&&n[a]&&n[a].decorators&&n[a].decorators.size?n[a].decorators:n[g].decorators;const u=[...n[g].decorators.values()].reduce((e,t,r)=>(t.args&&(e[r]=t.args),e),{});return[...o?o.values():[],...i?i.values():[]].reduce((e,a,n)=>{switch(typeof a){case"object":{const{decorator:e,args:i,transform:l}=a,d=i||n<(o?o.size:0)?u[n]:c[n-(o?o.size:0)]||(o?u[n-o.size]:[]);return e(...l?l(d||[]):d||[])(t,r,s)}case"function":return a(t,r,s);default:throw Error("Unexpected decorator type: "+typeof a)}},{target:t,propertyKey:r,descriptor:s})};return Object.defineProperty(r,"name",{value:[t,e].join("_decorator_for_"),writable:!1}),r}apply(){if(!this.key)throw Error("No key provided for the decoration builder");return v.register(this.key,this.flavour,this.decorators||new Set,this.extras),this.decoratorFactory(this.key,this.flavour)}static register(e,t,r,s){if(!e)throw Error("No key provided for the decoration builder");if(!r)throw Error("No decorators provided for the decoration builder");if(!t)throw Error("No flavour provided for the decoration builder");v.decorators[e]||(v.decorators[e]={}),v.decorators[e][t]||(v.decorators[e][t]={}),r&&(v.decorators[e][t].decorators=r),s&&(v.decorators[e][t].extras=s)}static setFlavourResolver(e){v.flavourResolver=e}static for(e){return(new v).for(e)}static flavouredAs(e){return new v(e)}}function I(e=f.ATTRIBUTE){return v.for(e).define((t,r)=>{let s;Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!1,configurable:!1,writable:!1,value:[]}),s=t[e],s.includes(r)||s.push(r)}).apply()}function L(e,t){return s(I(),a(e,t))}function w(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 D(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=w,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),a=Object.values(e).reduce(t,0);return("number"==typeof a?Math.abs(a):a).toString()}const j="default";class H{static{this.current=j}static{this.cache={default:D}}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)}}const U=e=>e[l],k=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw Error(b(u.PROPERTY_NOT_EXIST,t));return e[t]};class C{static create(e,t){const{getValue:r,getParent:s,ignoreUndefined:a,ignoreNull:n}={getParent:U,getValue:k,ignoreNull:!1,ignoreUndefined:!1,...t},o=new Proxy({},{get:(t,o)=>"getValueFromPath"===o?t=>{const o=C.parsePath(t);let i=e;for(let e=0;e<o.length;e++){const c=o[e];if(".."===c){const r=s(i);if(!r||"object"!=typeof r)throw Error(b(u.CONTEXT_NOT_OBJECT_COMPARISON,e+1,t));i=r;continue}if(i=r(i,c),!a&&void 0===i)throw Error(b(u.PROPERTY_INVALID,t,c));if(!n&&null===i)throw Error(b(u.PROPERTY_INVALID,t,c))}return i}:t[o]});return o}static parsePath(e){if("string"!=typeof e||!e.trim())throw Error(b(u.INVALID_PATH,e));return e.match(/(\.\.|[^/.]+)/g)||[]}}class x{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},"")}}class z{constructor(e,t=E.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 b(e,...t)}checkTypeAndHasErrors(e){return function(t,r,s,...a){return void 0!==t&&this.acceptedTypes?n.checkTypes(t,this.acceptedTypes)?e(t,r,s,...a):this.getMessage(E.TYPE,this.acceptedTypes.join(", "),typeof t):e(t,r,s,...a)}.bind(this)}static isValidator(e){return e.constructor&&!!e.hasErrors}}class F extends z{constructor(e=E.DEFAULT,...t){super(!1,e,...t)}}class Y{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(F.isValidator(t))return t;const r=new(t.default||t);return this.cache[e]=r,r}register(...e){e.forEach(e=>{if(F.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 a={};a[t.toUpperCase()]=t,this.customKeyCache=Object.assign({},this.customKeyCache,a)}})}}class G{static{this.actingValidatorRegistry=void 0}static{this.loadedDecorators={}}constructor(){}static setRegistry(e,t){t&&G.actingValidatorRegistry&&G.actingValidatorRegistry.getKeys().forEach(r=>{const s=e.get(r);s&&e.register(t(s))}),G.actingValidatorRegistry=e}static getRegistry(){return G.actingValidatorRegistry||(G.actingValidatorRegistry=new Y),G.actingValidatorRegistry}static get(e){return G.getRegistry().get(e)}static register(...e){return G.getRegistry().register(...e)}static key(e){return h.REFLECT+e}static keys(){return this.getRegistry().getKeys()}static registerDecorator(e,t){e in this.loadedDecorators||(this.loadedDecorators[e]=t)}static decoratorFromKey(e){if(!(e in this.loadedDecorators))throw Error("No decorator registered under "+e);return this.loadedDecorators[e]}}function Q(e){return f.REFLECT+e}function V(e){const t=Reflect.getMetadata(Q(f.MODEL),e.constructor);if(!t)throw Error("could not find metadata for provided "+e.constructor.name);return t}function $(e,t){return t?Promise.resolve(e):e}function K(e,t,r=h.REFLECT){return n.getPropertyDecorators(r,e,t)}function X(e,t){const r=[];for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&!t.includes(s)){const t=K(e,s);t&&r.push(t)}return r}function q(e,t,r){Object.hasOwnProperty.call(e,t)||(e[t]=r)}function B(e,t){Object.hasOwnProperty.call(e,t)&&delete e[t]}function Z(e,t,r,...s){t&&q(e,l,t),q(e,d,!!r);const a=e.hasErrors(...s);return B(e,l),B(e,d),a}function W(e,t,r,s,a,...n){let o,i=!1;for(const c of s){const s=ue.get(c);if(s||(o=new x({[e]:{[h.TYPE]:"Unable to verify type consistency, missing model registry for "+c}})),t instanceof s){i=!0,o=Z(t,r,a,...n);break}}return i?o:o||new x({[e]:{[h.TYPE]:"Value must be an instance of one of the expected types: "+s.join(", ")}})}function J(e,t,r,s){const a=G.get(r.key);if(!a)throw Error("Missing validator for "+r.key);if(!s&&r.props.async)return;const n=r.key===f.TYPE?[r.props]:r.props||{},o=C.create(e,{ignoreUndefined:!0,ignoreNull:!0}),i=r.key===f.TYPE?{type:n[0].name}:n;return $(a.hasErrors(t,i,o),s)}function ee(e,t,r,s,a,...n){const o={};for(const i of s){if(!a&&i.props.async)continue;let s=J(e,r,i,a);if(i.key===h.LIST&&(!s||a)){const o=r instanceof Set?[...r]:r;if(o&&o.length>0){let r=i.props.class||i.props.clazz||i.props.customTypes;r=(Array.isArray(r)?r:[r]).map(e=>(e="function"!=typeof e||e.name?e:e()).name?e.name:e);const c=[r].flat().map(e=>(e+"").toLowerCase()),u=o.map(s=>ue.isModel(s)?W(t,s,e,r.flat(),!!a,...n):c.includes(typeof s)?void 0:"Value has no validatable type");if(a)s=Promise.all(u).then(e=>e.every(e=>!e)?void 0:e);else{const e=u.every(e=>!e);s=u.length>0&&!e?u:void 0}}}const c=i.key===f.TYPE?h.TYPE:i.key;s&&(o[c]=s)}if(!a)return Object.keys(o).length>0?o:void 0;const i=Object.keys(o),c=Object.values(o);return Promise.all(c).then(e=>{const t={};for(let r=0;r<e.length;r++){const s=e[r];void 0!==s&&(t[i[r]]=s)}return Object.keys(t).length>0?t:void 0})}function te(e,t,...r){const s=X(e,r),a={},n={};for(const{prop:o,decorators:i}of s){const s=o+"";let c=e[o];if(!i?.length)continue;const u=[h.TYPE,f.TYPE].map(e=>i.find(t=>t.key===e)).find(Boolean);if(u?.key===h.TYPE&&i.splice(0,i.length,...i.filter(e=>e.key!==f.TYPE)),!u)continue;const l=u.props.class||u.props.clazz||u.props.customTypes||u.props.name;u.key===f.TYPE&&"Object"===l&&i.shift();const d=(Array.isArray(l)?l:[l]).map(e=>(e="function"!=typeof e||e.name?e:e()).name?e.name:e);if(d.some(e=>[Array.name,Set.name].includes(e))){if(!i.some(e=>e.key===h.LIST)){a[s]={[h.TYPE]:`Array or Set property '${s}' requires a @list decorator`};continue}if(c&&!(Array.isArray(c)||c instanceof Set)){a[s]={[h.TYPE]:`Property '${o+""}' must be either an Array or a Set`};continue}for(let e=i.length-1;e>=0;e--)i[e].key===f.TYPE&&i.splice(e,1);c=c instanceof Set?[...c]:c}const g=ee(e,s,c,i,t,...r)||{};if(ue.isPropertyModel(e,s)&&null!=c){const a=c;if("object"!=typeof a||"function"!=typeof a.hasErrors);else{const o=(Array.isArray(l)?l:[l]).map(e=>("function"!=typeof e||e.name||(e=e()),ue.get(e.name||e))).find(e=>!!e);o&&a instanceof o?n[s]=Z(a,e,t,...r):(g[h.TYPE]=o?"Value must be an instance of "+o.name:`Unable to verify type consistency, missing model registry for ${d.toString()} on prop ${s}`,delete g[f.TYPE])}}(Object.keys(g).length>0||t)&&(a[s]=g),t||Object.entries(n[s]||{}).forEach(([e,t])=>{void 0!==t&&(a[`${s}.${e}`]=t)})}if(!t)return Object.keys(a).length>0?new x(a):void 0;const o=a,i=Object.keys(o),c=Object.values(o);return Promise.allSettled(c).then(async e=>{const t={};for(const[e,r]of Object.entries(n)){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=i[r],a=e[r];"fulfilled"===a.status&&void 0!==a.value?t[s]=a.value:"rejected"===a.status&&(t[s]=a.reason instanceof Error?a.reason.message:(a.reason||"Validation failed")+"")}return Object.keys(t).length>0?new x(t):void 0})}var re,se;(e=>{e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e.BIGINT="bigint"})(re||(re={})),(e=>{e.STRING="string",e.OBJECT="object",e.NUMBER="number",e.BOOLEAN="boolean",e.BIGINT="bigint",e.DATE="date"})(se||(se={}));const ae=["string","array","number","boolean","symbol","function","object","undefined","null","bigint"];let ne,oe;class ie{constructor(e=ue.isModel){this.cache={},this.testFunction=e}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(e={},t){if(!t&&!this.testFunction(e))throw Error("Provided obj is not a Model object");const r=t||ue.getMetadata(e);if(!(r in this.cache))throw Error(`Provided class ${r} is not a registered Model object`);return new this.cache[r](e)}}function ce(...e){e.forEach(e=>{const t=e.constructor?e.constructor:e;ue.register(t,e.name)})}class ue{constructor(e=void 0){}isAsync(){return!!(this[d]??this?.constructor[d])}hasErrors(...e){return te(this,this.isAsync(),...e)}equals(e,...t){return o(this,e,...t)}serialize(){return ue.serialize(this)}toString(){return this.constructor.name+": "+JSON.stringify(this,void 0,2)}hash(){return ue.hash(this)}static deserialize(e){const t=Reflect.getMetadata(ue.key(f.SERIALIZATION),this.constructor);return t&&t.serializer?fe.deserialize(e,t.serializer,...t.args||[]):fe.deserialize(e)}static fromObject(e,t){t||(t={});for(const r of ue.getAttributes(e))e[r]=t[r]??e[r]??void 0;return e}static fromModel(e,t){let r,s;t||(t={});const a=ue.getAttributes(e),o=Object.getPrototypeOf(e);let i;for(const c of a){try{e[c]=t[c]??e[c]??void 0}catch(e){if(i=Object.getOwnPropertyDescriptor(o,c),!i||i.writable)throw Error(`Unable to write property ${c} to model: ${e}`)}if("object"!=typeof e[c])continue;const a=ue.isPropertyModel(e,c);if(a){try{e[c]=ue.build(e[c],"string"==typeof a?a:void 0)}catch(e){}continue}const u=n.getPropertyDecorators(h.REFLECT,e,c).decorators;if(r=u.filter(e=>-1!==[f.TYPE,h.TYPE].indexOf(e.key)),!r||!r.length)throw Error("failed to find decorators for property "+c);s=r.pop();const l=s.props.name?[s.props.name]:(Array.isArray(s.props.customTypes)?s.props.customTypes:[s.props.customTypes]).map(e=>"function"==typeof e?e():e),d=Object.values(se).map(e=>e.toLowerCase());l.forEach(t=>{if("function"==typeof t&&(t=t.name?t.name:t()),-1===d.indexOf(t.toLowerCase()))try{switch(t){case"Array":case"Set":if(u.length){const r=u.find(e=>e.key===h.LIST);if(r){let s=r.props.clazz.find(e=>(e=(e="function"==typeof e?e():e).name?e.name:e,!ae.includes(e)));if(s="string"==typeof s?s:s(),s="string"==typeof s?s:s.name,"Array"===t&&(e[c]=e[c].map(e=>["object","function"].includes(typeof e)&&s?ue.build(e,s):e)),"Set"===t){const t=new Set;for(const r of e[c])["object","function"].includes(typeof r)&&s?t.add(ue.build(r,s)):t.add(r);e[c]=t}}}break;default:void 0!==e[c]&&ue.get(t)&&(e[c]=ue.build(e[c],t))}}catch(e){}})}return e}static setBuilder(e){ne=e}static getBuilder(){return ne||ue.fromModel}static getRegistry(){return oe||(oe=new ie),oe}static setRegistry(e){oe=e}static register(e,t){return ue.getRegistry().register(e,t)}static get(e){return ue.getRegistry().get(e)}static build(e={},t){return ue.getRegistry().build(e,t)}static getMetadata(e){return V(e)}static getAttributes(e){const t=[];let r=e instanceof ue?Object.getPrototypeOf(e):e.prototype;for(;null!=r;){const e=r[f.ATTRIBUTE];e&&t.push(...e),r=Object.getPrototypeOf(r)}return t}static equals(e,t,...r){return o(e,t,...r)}static hasErrors(e,t,...r){return te(e,t,...r)}static serialize(e){const t=Reflect.getMetadata(ue.key(f.SERIALIZATION),e.constructor);return t&&t.serializer?fe.serialize(this,t.serializer,...t.args||[]):fe.serialize(e)}static hash(e){const t=Reflect.getMetadata(ue.key(f.HASHING),e.constructor);return t&&t.algorithm?H.hash(e,t.algorithm,...t.args||[]):H.hash(e)}static key(e){return Q(e)}static isModel(e){try{return e instanceof ue||!!ue.getMetadata(e)}catch(e){return!1}}static isPropertyModel(e,t){if(ue.isModel(e[t]))return!0;const r=Reflect.getMetadata(f.TYPE,e,t);return r&&ue.get(r.name)?r.name:void 0}static describe(e,t){const r=ue.key(f.DESCRIPTION);return t?(e=e instanceof ue?e:new e,Reflect.getMetadataKeys(e.constructor,t.toString()).find(e=>e===r)?.toString()||e.toString()):Reflect.getMetadata(ue.key(f.DESCRIPTION),e instanceof ue?e.constructor:e)||e.toString()}}const le="json";class de{constructor(){}preSerialize(e){const t=Object.assign({},e),r=V(e);return t[f.ANCHOR]=r||e.constructor.name,t}deserialize(e){const t=JSON.parse(e),r=t[f.ANCHOR];if(!r)throw Error("Could not find class reference in serialized model");return ue.build(t,r)}serialize(e){return JSON.stringify(this.preSerialize(e))}}class fe{static{this.current=le}static{this.cache={json:new de}}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 ge extends z{constructor(e=E.DEFAULT,...t){super(!0,e,...t)}}function pe(...e){return s(t=>(e.forEach(e=>{G.register({validator:t,validationKey:e,save:!0})}),t),a(G.key(h.VALIDATOR),e))}let he=class extends F{constructor(e=E.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)}}};he=i([pe(h.DATE),c("design:paramtypes",[String])],he);let ye=class extends F{constructor(e=E.DIFF){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.DIFF])}catch(e){return this.getMessage(e.message||this.message)}return o(e,s)?this.getMessage(t.message||this.message,t.label||t[h.DIFF]):void 0}};ye=i([pe(h.DIFF),c("design:paramtypes",[String])],ye);const me=RegExp("^/(.+)/([gimus]*)$");let Ee=class extends F{constructor(e=E.PATTERN){super(e,"string")}getPattern(e){if(!me.test(e))return RegExp(e);const t=e.match(me);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)}};Ee=i([pe(h.PATTERN),c("design:paramtypes",[String])],Ee);let Te=class extends Ee{constructor(e=E.EMAIL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t?.pattern||T.EMAIL})}};Te=i([pe(h.EMAIL),c("design:paramtypes",[String])],Te);let Ae=class extends F{constructor(e=E.EQUALS){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.EQUALS])}catch(e){return this.getMessage(e.message||this.message)}return o(e,s)?void 0:this.getMessage(t.message||this.message,t.label||t[h.EQUALS])}};Ae=i([pe(h.EQUALS),c("design:paramtypes",[String])],Ae);const be=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,Ne=e=>void 0===e||e instanceof Date||"bigint"==typeof e||"number"==typeof e&&Number.isFinite(e);function Se(e,t){if(Ne(e)&&Ne(t))return!0;throw new TypeError(b(u.UNSUPPORTED_TYPES_COMPARISON,be(e),be(t)))}function Oe(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(u.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(b(u.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(u.NAN_COMPARISON);return t>e}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(u.INVALID_DATE_COMPARISON);return e.getTime()<t.getTime()}throw new TypeError(b(u.UNSUPPORTED_TYPES_COMPARISON,be(e),be(t)))}function Re(e,t){if([null,void 0].includes(e)||[null,void 0].includes(t))throw Error(u.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(b(u.TYPE_MISMATCH_COMPARISON,r,s))}if("number"===r&&"number"===s||"bigint"===r&&"bigint"===s){if(Number.isNaN(e)||Number.isNaN(t))throw new TypeError(u.NAN_COMPARISON);return e>t}if(e instanceof Date&&t instanceof Date){if(isNaN(e.getTime())||isNaN(t.getTime()))throw new TypeError(u.INVALID_DATE_COMPARISON);return e.getTime()>t.getTime()}throw new TypeError(b(u.UNSUPPORTED_TYPES_COMPARISON,be(e),be(t)))}let Me=class extends F{constructor(e=E.GREATER_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.GREATER_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!Re(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.GREATER_THAN])}}};Me=i([pe(h.GREATER_THAN),c("design:paramtypes",[String])],Me);let Pe=class extends F{constructor(e=E.GREATER_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.GREATER_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(Se(e,s)&&o(e,s)||Re(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.GREATER_THAN_OR_EQUAL])}}};Pe=i([pe(h.GREATER_THAN_OR_EQUAL),c("design:paramtypes",[String])],Pe);let _e=class extends F{constructor(e=E.LESS_THAN){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.LESS_THAN])}catch(e){return this.getMessage(e.message||this.message)}try{if(!Oe(e,s))throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.LESS_THAN])}}};_e=i([pe(h.LESS_THAN),c("design:paramtypes",[String])],_e);let ve=class extends F{constructor(e=E.LESS_THAN_OR_EQUAL){super(e)}hasErrors(e,t,r){let s;try{s=r.getValueFromPath(t[h.LESS_THAN_OR_EQUAL])}catch(e){return this.getMessage(e.message||this.message)}try{if(Se(e,s)&&o(e,s)||Oe(e,s))return;throw Error(t.message||this.message)}catch(e){return this.getMessage(e.message,t.label||t[h.LESS_THAN_OR_EQUAL])}}};ve=i([pe(h.LESS_THAN_OR_EQUAL),c("design:paramtypes",[String])],ve);let Ie=class extends F{constructor(e=E.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?e.name:e().name);let s,a=!0;for(let t=0;t<(Array.isArray(e)?e.length:e.size);t++)switch(s=e[t],typeof s){case"object":case"function":a=r.includes((s??{}).constructor?.name);break;default:a=r.some(e=>typeof s===e.toLowerCase())}return a?void 0:this.getMessage(t.message||this.message,r)}};Ie=i([pe(h.LIST),c("design:paramtypes",[String])],Ie);let Le=class extends F{constructor(e=E.MAX_LENGTH){super(e,String.name,Array.name)}hasErrors(e,t){if(void 0!==e)return e.length>t.maxlength?this.getMessage(t.message||this.message,t.maxlength):void 0}};Le=i([pe(h.MAX_LENGTH),c("design:paramtypes",[String])],Le);let we=class extends F{constructor(e=E.MAX){super(e,"number","Date","string")}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}};we=i([pe(h.MAX),c("design:paramtypes",[String])],we);let De=class extends F{constructor(e=E.MIN_LENGTH){super(e,String.name,Array.name)}hasErrors(e,t){if(void 0!==e)return e.length<t.minlength?this.getMessage(t.message||this.message,t.minlength):void 0}};De=i([pe(h.MIN_LENGTH),c("design:paramtypes",[String])],De);let je=class extends F{constructor(e=E.MIN){super(e,"number","Date","string")}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}};je=i([pe(h.MIN),c("design:paramtypes",[String])],je);let He=class extends Ee{constructor(e=E.PASSWORD){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,[h.PATTERN]:t?.pattern||T.PASSWORD.CHAR8_ONE_OF_EACH})}};He=i([pe(h.PASSWORD),c("design:paramtypes",[Object])],He);let Ue=class extends F{constructor(e=E.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)}}};Ue=i([pe(h.REQUIRED),c("design:paramtypes",[String])],Ue);let ke=class extends F{constructor(e=E.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}};ke=i([pe(h.STEP),c("design:paramtypes",[String])],ke);let Ce=class extends F{constructor(e=E.TYPE){super(e)}hasErrors(e,t){if(void 0===e)return;const{type:r,message:s,customTypes:a}=t;let o=a||r;return o=(Array.isArray(o)?o:[o]).map(e=>"string"==typeof e?e:("function"!=typeof e||e.name||(e=e()),e.name||e)),n.evaluateDesignTypes(e,o)?void 0:this.getMessage(s||this.message,"string"==typeof o?o:Array.isArray(o)?o.join(", "):o,typeof e)}};Ce=i([pe(h.TYPE),c("design:paramtypes",[String])],Ce),G.register({validator:Ce,validationKey:f.TYPE,save:!1});let xe=class extends Ee{constructor(e=E.URL){super(e)}hasErrors(e,t={}){return super.hasErrors(e,{...t,message:t.message||this.message,pattern:t.pattern||T.URL})}};function ze(e,t,r){return G.registerDecorator(t,e),s(L(t,r))}function Fe(){return e=>{Object.prototype.hasOwnProperty.call(e,d)||(e[d]=!0)}}function Ye(e=E.REQUIRED){const t=G.key(h.REQUIRED),r={message:e,description:"defines the attribute as required",async:!1};return v.for(t).define({decorator:ze,args:[Ye,t,r]}).apply()}function Ge(e,t=E.MIN){const r=G.key(h.MIN),s={[h.MIN]:e,message:t,types:[Number.name,Date.name],description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return v.for(r).define({decorator:ze,args:[Ge,r,s]}).apply()}function Qe(e,t=E.MAX){const r=G.key(h.MAX),s={[h.MAX]:e,message:t,types:[Number.name,Date.name],description:`defines the max value of the attribute as ${e} (applies to numbers or Dates)`,async:!1};return v.for(r).define({decorator:ze,args:[Qe,r,s]}).apply()}function Ve(e,t=E.STEP){const r=G.key(h.STEP),s={[h.STEP]:e,message:t,types:[Number.name],description:"defines the step of the attribute as "+e,async:!1};return v.for(r).define({decorator:ze,args:[Ve,r,s]}).apply()}function $e(e,t=E.MIN_LENGTH){const r=G.key(h.MIN_LENGTH),s={[h.MIN_LENGTH]:e,message:t,types:[String.name,Array.name,Set.name],description:`defines the min length of the attribute as ${e} (applies to strings or lists)`,async:!1};return v.for(r).define({decorator:ze,args:[$e,r,s]}).apply()}function Ke(e,t=E.MAX_LENGTH){const r=G.key(h.MAX_LENGTH),s={[h.MAX_LENGTH]:e,message:t,types:[String.name,Array.name,Set.name],description:`defines the max length of the attribute as ${e} (applies to strings or lists)`,async:!1};return v.for(r).define({decorator:ze,args:[Ke,r,s]}).apply()}function Xe(e,t=E.PATTERN){const r=G.key(h.PATTERN),s={[h.PATTERN]:"string"==typeof e?e:e.toString(),message:t,types:[String.name],description:`assigns the ${"string"===e?e:e.toString()} pattern to the attribute`,async:!1};return v.for(r).define({decorator:ze,args:[Xe,r,s]}).apply()}function qe(e=E.EMAIL){const t=G.key(h.EMAIL),r={[h.PATTERN]:T.EMAIL.toString(),message:e,types:[String.name],description:"marks the attribute as an email",async:!1};return v.for(t).define({decorator:ze,args:[qe,t,r]}).apply()}function Be(e=E.URL){const t=G.key(h.URL),r={[h.PATTERN]:T.URL.toString(),message:e,types:[String.name],description:"marks the attribute as an url",async:!1};return v.for(t).define({decorator:ze,args:[Be,t,r]}).apply()}function Ze(e,t=E.TYPE){const r=G.key(h.TYPE),s={customTypes:e,message:t,description:"defines the accepted types for the attribute",async:!1};return v.for(r).define({decorator:ze,args:[Ze,r,s]}).apply()}function We(e="dd/MM/yyyy",t=E.DATE){const r=G.key(h.DATE);return v.for(r).define({decorator:function(e,t){const s={[h.FORMAT]:e,message:t,types:[Date.name],description:"defines the attribute as a date with the format "+e,async:!1};return function(t,a){const n=new WeakMap;return Object.defineProperty(t,a,{configurable:!1,set(t){const r=Object.getOwnPropertyDescriptor(this,a);r&&!r.configurable||Object.defineProperty(this,a,{enumerable:!0,configurable:!1,get:()=>n.get(this),set:t=>{let r;try{r=P(e,t),n.set(this,r)}catch(e){}}}),this[a]=t},get(){return n.get(this)}}),ze(We,r,s)(t,a)}},args:[e,t]}).apply()}function Je(e=T.PASSWORD.CHAR8_ONE_OF_EACH,t=E.PASSWORD){const r=G.key(h.PASSWORD),s={[h.PATTERN]:e.toString(),message:t,types:[String.name],description:"attribute as a password",async:!1};return v.for(r).define({decorator:ze,args:[Je,r,s]}).apply()}function et(e,t="Array",r=E.LIST){const s=G.key(h.LIST),a={clazz:Array.isArray(e)?e.map(e=>e.name?e.name:e):[e.name?e.name:e],type:t,message:r,async:!1,description:`defines the attribute as a ${t} of ${e.name}`};return v.for(s).define({decorator:ze,args:[et,s,a]}).apply()}function tt(e,t=E.LIST){return et(e,"Set",t)}function rt(e,t){const r={label:t?.label||e,message:t?.message||E.EQUALS,[h.EQUALS]:e,description:"defines attribute as equal to "+e};return ze(rt,G.key(h.EQUALS),{...r,async:!1})}function st(e,t){const r={label:t?.label||e,message:t?.message||E.DIFF,[h.DIFF]:e,description:"defines attribute as different to "+e};return ze(st,G.key(h.DIFF),{...r,async:!1})}function at(e,t){const r={label:t?.label||e,message:t?.message||E.LESS_THAN,[h.LESS_THAN]:e,description:"defines attribute as less than to "+e};return ze(at,G.key(h.LESS_THAN),{...r,async:!1})}function nt(e,t){const r={label:t?.label||e,message:t?.message||E.LESS_THAN_OR_EQUAL,[h.LESS_THAN_OR_EQUAL]:e,description:"defines attribute as less or equal to "+e};return ze(nt,G.key(h.LESS_THAN_OR_EQUAL),{...r,async:!1})}function ot(e,t){const r={label:t?.label||e,message:t?.message||E.GREATER_THAN,[h.GREATER_THAN]:e,description:"defines attribute as greater than "+e};return ze(ot,G.key(h.GREATER_THAN),{...r,async:!1})}function it(e,t){const r={label:t?.label||e,message:t?.message||E.GREATER_THAN_OR_EQUAL,[h.GREATER_THAN_OR_EQUAL]:e,description:"defines attribute as greater or equal to "+e};return ze(it,G.key(h.GREATER_THAN_OR_EQUAL),{...r,async:!1})}function ct(e,...t){const r=(...t)=>new e(...t);return r.prototype=e.prototype,r(...t)}function ut(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 ue)return;function t(e,t){Object.setPrototypeOf(e,t)}const r=Object.getPrototypeOf(e);if(r===Object.prototype)return t(e,ue.prototype);for(;r!==Object.prototype;){const e=Object.getPrototypeOf(r);if(e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return t(r,ue.prototype)}throw Error("Could not find proper prototype to bind")}function dt(r){const s=(...e)=>{const t=ct(r,...e);lt(t);const s=ue.getBuilder();return s&&s(t,e.length?e[0]:void 0),a(ue.key(f.MODEL),r.name)(t.constructor),t};return s.prototype=r.prototype,a(ue.key(f.MODEL),r.name)(r),Reflect.getMetadataKeys(r).forEach(e=>{Reflect.defineMetadata(e,Reflect.getMetadata(e,r),s)}),Object.defineProperty(s,"name",{writable:!1,enumerable:!0,configurable:!1,value:r.prototype.constructor.name}),Object.defineProperty(s,f.ANCHOR,{writable:!1,enumerable:!1,configurable:!1,value:r}),e.set(s,t.CONSTRUCTOR,r),ue.register(s,r.name),s}function ft(){const e=ue.key(f.MODEL);return r.for(e).define(dt).apply()}function gt(e,...t){return a(ue.key(f.HASHING),{algorithm:e,args:t})}function pt(e,...t){return a(ue.key(f.SERIALIZATION),{serializer:e,args:t})}function ht(e){return a(ue.key(f.DESCRIPTION),e)}xe=i([pe(h.URL),c("design:paramtypes",[String])],xe);const yt="##VERSION##",mt="##PACKAGE##";e.registerLibrary(mt,yt);export{d as ASYNC_META_KEY,ge as AsyncValidator,u as COMPARISON_ERROR_MESSAGES,p as ComparisonValidationKeys,m as DAYS_OF_WEEK_NAMES,E as DEFAULT_ERROR_MESSAGES,T as DEFAULT_PATTERNS,he as DateValidator,v as Decoration,g as DefaultFlavour,j as DefaultHashingMethod,le as DefaultSerializationMethod,ye as DiffValidator,Te as EmailValidator,Ae as EqualsValidator,Pe as GreaterThanOrEqualValidator,Me as GreaterThanValidator,H as Hashing,de as JSONSerializer,ve as LessThanOrEqualValidator,_e as LessThanValidator,Ie as ListValidator,y as MONTH_NAMES,Le as MaxLengthValidator,we as MaxValidator,De as MinLengthValidator,je as MinValidator,ue as Model,x as ModelErrorDefinition,f as ModelKeys,ie as ModelRegistryManager,mt as PACKAGE_NAME,He as PasswordValidator,C as PathProxyEngine,Ee as PatternValidator,re as Primitives,Ue as RequiredValidator,se as ReservedModels,fe as Serialization,ke as StepValidator,Ce as TypeValidator,xe as URLValidator,l as VALIDATION_PARENT_KEY,yt as VERSION,G as Validation,h as ValidationKeys,F as Validator,Y as ValidatorRegistry,Fe as async,S as bindDateToString,lt as bindModelPrototype,ce as bulkModelRegister,ct as construct,We as date,N as dateFromFormat,ht as description,st as diff,qe as email,rt as eq,ut as findLastProtoBeforeObject,M as formatDate,V as getMetadata,Q as getModelKey,X as getValidatableProperties,K as getValidationDecorators,ot as gt,it as gte,w as hashCode,D as hashObj,gt as hashedBy,Re as isGreaterThan,Oe as isLessThan,O as isValidDate,Se as isValidForGteOrLteComparison,ae as jsTypes,et as list,at as lt,nt as lte,Qe as max,Ke as maxlength,Ge as min,$e as minlength,ft as model,dt as modelBaseDecorator,P as parseDate,Je as password,Xe as pattern,I as prop,L as propMetadata,me as regexpParser,Ye as required,pt as serializedBy,tt as set,b as sf,Ve as step,A as stringFormat,$ as toConditionalPromise,R as twoDigitPad,Ze as type,Be as url,te as validate,W as validateChildValue,J as validateDecorator,ee as validateDecorators,ze as validationMetadata,pe as validator};
2
2
  //# sourceMappingURL=decorator-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-validation.js","sources":["../src/constants/errors.ts","../src/constants/validation.ts","../src/utils/constants.ts","../src/validation/Validators/constants.ts","../src/utils/strings.ts","../src/utils/dates.ts","../src/utils/Decoration.ts","../src/utils/decorators.ts","../src/utils/hashing.ts","../src/utils/PathProxy.ts","../src/model/ModelErrorDefinition.ts","../src/validation/Validators/BaseValidator.ts","../src/validation/Validators/Validator.ts","../src/validation/Validators/ValidatorRegistry.ts","../src/validation/Validation.ts","../src/model/utils.ts","../src/model/validation.ts","../src/model/constants.ts","../src/model/Model.ts","../src/utils/serialization.ts","../src/validation/Validators/AsyncValidator.ts","../src/validation/Validators/decorators.ts","../src/validation/Validators/DateValidator.ts","../src/validation/Validators/DiffValidator.ts","../src/validation/Validators/PatternValidator.ts","../src/validation/Validators/EmailValidator.ts","../src/validation/Validators/EqualsValidator.ts","../src/validation/Validators/utils.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/PasswordValidator.ts","../src/validation/Validators/RequiredValidator.ts","../src/validation/Validators/StepValidator.ts","../src/validation/Validators/TypeValidator.ts","../src/validation/Validators/URLValidator.ts","../src/validation/decorators.ts","../src/model/construction.ts","../src/model/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["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","ModelKeys","DefaultFlavour","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","MONTH_NAMES","DAYS_OF_WEEK_NAMES","DEFAULT_ERROR_MESSAGES","DEFAULT","MODEL_NOT_FOUND","DEFAULT_PATTERNS","CHAR8_ONE_OF_EACH","stringFormat","string","args","replace","match","number","toString","sf","dateFromFormat","date","format","formatRegexp","RegExp","exec","groups","Date","safeParseInt","n","result","parseInt","isNaN","year","day","amPm","ampm","hour","minutes","seconds","ms","milis","monthName","monthname","monthNameSmall","monthnamesmall","month","indexOf","m","find","toLowerCase","startsWith","bindDateToString","Object","defineProperty","enumerable","configurable","value","Proxy","toISOString","apply","target","thisArg","formatDate","isValidDate","prototype","call","Number","twoDigitPad","num","patternStr","getDate","getMonth","getFullYear","getHours","minute","getMinutes","second","getSeconds","miliseconds","getMilliseconds","h","hh","HH","mm","ss","aaa","EEEE","getDay","EEE","substr","dd","M","MM","MMMM","MMM","yyyy","yy","parseDate","v","e","Error","defaultFlavourResolver","Decoration","this","decorators","flavourResolver","constructor","flavour","key","decorate","addon","length","Set","values","define","extend","decoratorFactory","f","contextDecorator","propertyKey","descriptor","cache","extras","extraArgs","reduce","accum","i","size","decoratorArgs","_","d","decorator","transform","argz","join","writable","register","setFlavourResolver","resolver","for","flavouredAs","prop","ATTRIBUTE","model","props","hasOwnProperty","includes","push","propMetadata","metadata","hashCode","obj","String","hash","charCodeAt","hashObj","hashReducer","el","elHash","hashFunction","func","getTime","Array","isArray","undefined","Math","abs","DefaultHashingMethod","Hashing","current","default","get","setDefault","method","fallbackGetParent","fallbackGetValue","PathProxyEngine","create","rootTarget","opts","getValue","getParent","ignoreUndefined","ignoreNull","proxy","path","parts","parsePath","part","parent","trim","ModelErrorDefinition","errors","self","keys","filter","k","propError","propAccum","BaseValidator","async","message","acceptedTypes","hasErrors","checkTypeAndHasErrors","bind","getMessage","unbound","options","Reflection","checkTypes","isValidator","val","Validator","super","ValidatorRegistry","validators","customKeyCache","getCustomKeys","assign","getKeys","validatorKey","classOrInstance","instance","validator","forEach","validationKey","save","toUpperCase","Validation","actingValidatorRegistry","loadedDecorators","setRegistry","validatorRegistry","migrationHandler","getRegistry","registerDecorator","decoratorFromKey","getModelKey","str","getMetadata","Reflect","MODEL","name","toConditionalPromise","Promise","resolve","getValidationDecorators","reflectKey","getPropertyDecorators","getValidatableProperties","propsToIgnore","decoratedProperties","dec","setTemporaryContext","cleanupTemporaryContext","getNestedValidationErrors","nestedModel","parentModel","isAsync","errs","validateChildValue","childValue","allowedTypes","err","atLeastOneMatched","allowedType","Constr","Model","validateDecorator","decoratorProps","context","validatorOptions","type","validateDecorators","validationErrors","types","class","clazz","customTypes","map","flat","t","isModel","all","then","every","r","allEmpty","promises","resolvedValues","res","validate","nestedErrors","propKey","propValue","designTypeDec","Boolean","splice","designType","shift","designTypes","some","propErrors","isPropertyModel","entries","error","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","Primitives","ReservedModels","jsTypes","modelBuilderFunction","actingModelRegistry","ModelRegistryManager","testFunction","build","bulkModelRegister","models","arg","exceptions","equals","isEqual","serialize","JSON","stringify","deserialize","SERIALIZATION","serializer","Serialization","fromObject","getAttributes","fromModel","proto","getPrototypeOf","getOwnPropertyDescriptor","propM","allDecorators","pop","reserved","c","listDec","clazzName","s","add","setBuilder","builder","getBuilder","modelRegistry","obj1","obj2","HASHING","algorithm","attribute","describe","descKey","DESCRIPTION","getMetadataKeys","DefaultSerializationMethod","JSONSerializer","preSerialize","toSerialize","ANCHOR","deserialization","parse","className","json","AsyncValidator","original","DateValidator","__decorate","DiffValidator","accessor","comparisonPropertyValue","getValueFromPath","label","regexpParser","PatternValidator","getPattern","pattern","test","lastIndex","EmailValidator","EqualsValidator","getTypeName","Infinity","isSupported","isFinite","isValidForGteOrLteComparison","a","b","TypeError","isLessThan","aType","bType","isGreaterThan","GreaterThanValidator","GreaterThanOrEqualValidator","LessThanValidator","LessThanOrEqualValidator","ListValidator","isValid","MaxLengthValidator","maxlength","MaxValidator","max","MinLengthValidator","minlength","MinValidator","min","PasswordValidator","RequiredValidator","StepValidator","step","TypeValidator","ts","evaluateDesignTypes","URLValidator","validationMetadata","required","meta","description","email","url","WeakMap","set","newValue","password","list","collection","eq","propertyToCompare","equalsOptions","diff","diffOptions","lt","ltOptions","lte","lteOptions","gt","gtOptions","gte","gteOptions","construct","_constr","findLastProtoBeforeObject","bindModelPrototype","bindPrototype","objToOverride","setPrototypeOf","prot","modelBaseDecorator","newConstructor","defineMetadata","Metadata","DecorationKeys","CONSTRUCTOR","hashedBy","serializedBy","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"decorator-validation.js","sources":["../src/constants/errors.ts","../src/constants/validation.ts","../src/utils/constants.ts","../src/validation/Validators/constants.ts","../src/utils/strings.ts","../src/utils/dates.ts","../src/utils/Decoration.ts","../src/utils/decorators.ts","../src/utils/hashing.ts","../src/utils/PathProxy.ts","../src/model/ModelErrorDefinition.ts","../src/validation/Validators/BaseValidator.ts","../src/validation/Validators/Validator.ts","../src/validation/Validators/ValidatorRegistry.ts","../src/validation/Validation.ts","../src/model/utils.ts","../src/model/validation.ts","../src/model/constants.ts","../src/model/Model.ts","../src/utils/serialization.ts","../src/validation/Validators/AsyncValidator.ts","../src/validation/Validators/decorators.ts","../src/validation/Validators/DateValidator.ts","../src/validation/Validators/DiffValidator.ts","../src/validation/Validators/PatternValidator.ts","../src/validation/Validators/EmailValidator.ts","../src/validation/Validators/EqualsValidator.ts","../src/validation/Validators/utils.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/PasswordValidator.ts","../src/validation/Validators/RequiredValidator.ts","../src/validation/Validators/StepValidator.ts","../src/validation/Validators/TypeValidator.ts","../src/validation/Validators/URLValidator.ts","../src/validation/decorators.ts","../src/model/construction.ts","../src/model/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["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","ModelKeys","DefaultFlavour","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","MONTH_NAMES","DAYS_OF_WEEK_NAMES","DEFAULT_ERROR_MESSAGES","DEFAULT","MODEL_NOT_FOUND","DEFAULT_PATTERNS","CHAR8_ONE_OF_EACH","stringFormat","string","args","replace","match","number","toString","sf","dateFromFormat","date","format","formatRegexp","RegExp","exec","groups","Date","safeParseInt","n","result","parseInt","isNaN","year","day","amPm","ampm","hour","minutes","seconds","ms","milis","monthName","monthname","monthNameSmall","monthnamesmall","month","indexOf","m","find","toLowerCase","startsWith","bindDateToString","Object","defineProperty","enumerable","configurable","value","Proxy","toISOString","apply","target","thisArg","formatDate","isValidDate","prototype","call","Number","twoDigitPad","num","patternStr","getDate","getMonth","getFullYear","getHours","minute","getMinutes","second","getSeconds","miliseconds","getMilliseconds","h","hh","HH","mm","ss","aaa","EEEE","getDay","EEE","substr","dd","M","MM","MMMM","MMM","yyyy","yy","parseDate","v","e","Error","defaultFlavourResolver","Decoration","this","decorators","flavourResolver","constructor","flavour","key","decorate","addon","length","Set","values","define","extend","decoratorFactory","f","contextDecorator","propertyKey","descriptor","cache","extras","extraArgs","reduce","accum","i","size","decoratorArgs","_","d","decorator","transform","argz","join","writable","register","setFlavourResolver","resolver","for","flavouredAs","prop","ATTRIBUTE","model","props","hasOwnProperty","includes","push","propMetadata","metadata","hashCode","obj","String","hash","charCodeAt","hashObj","hashReducer","el","elHash","hashFunction","func","getTime","Array","isArray","undefined","Math","abs","DefaultHashingMethod","Hashing","current","default","get","setDefault","method","fallbackGetParent","fallbackGetValue","PathProxyEngine","create","rootTarget","opts","getValue","getParent","ignoreUndefined","ignoreNull","proxy","path","parts","parsePath","part","parent","trim","ModelErrorDefinition","errors","self","keys","filter","k","propError","propAccum","BaseValidator","async","message","acceptedTypes","hasErrors","checkTypeAndHasErrors","bind","getMessage","unbound","options","Reflection","checkTypes","isValidator","val","Validator","super","ValidatorRegistry","validators","customKeyCache","getCustomKeys","assign","getKeys","validatorKey","classOrInstance","instance","validator","forEach","validationKey","save","toUpperCase","Validation","actingValidatorRegistry","loadedDecorators","setRegistry","validatorRegistry","migrationHandler","getRegistry","registerDecorator","decoratorFromKey","getModelKey","str","getMetadata","Reflect","MODEL","name","toConditionalPromise","Promise","resolve","getValidationDecorators","reflectKey","getPropertyDecorators","getValidatableProperties","propsToIgnore","decoratedProperties","dec","setTemporaryContext","cleanupTemporaryContext","getNestedValidationErrors","nestedModel","parentModel","isAsync","errs","validateChildValue","childValue","allowedTypes","err","atLeastOneMatched","allowedType","Constr","Model","validateDecorator","decoratorProps","context","validatorOptions","type","validateDecorators","validationErrors","types","class","clazz","customTypes","map","flat","t","isModel","all","then","every","r","allEmpty","promises","resolvedValues","res","validate","nestedErrors","propKey","propValue","designTypeDec","Boolean","splice","designType","shift","designTypes","some","propErrors","isPropertyModel","entries","error","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","Primitives","ReservedModels","jsTypes","modelBuilderFunction","actingModelRegistry","ModelRegistryManager","testFunction","build","bulkModelRegister","models","arg","exceptions","equals","isEqual","serialize","JSON","stringify","deserialize","SERIALIZATION","serializer","Serialization","fromObject","getAttributes","fromModel","proto","getPrototypeOf","getOwnPropertyDescriptor","propM","allDecorators","pop","reserved","c","listDec","clazzName","s","add","setBuilder","builder","getBuilder","modelRegistry","obj1","obj2","HASHING","algorithm","attribute","describe","descKey","DESCRIPTION","getMetadataKeys","DefaultSerializationMethod","JSONSerializer","preSerialize","toSerialize","ANCHOR","deserialization","parse","className","json","AsyncValidator","original","DateValidator","__decorate","DiffValidator","accessor","comparisonPropertyValue","getValueFromPath","label","regexpParser","PatternValidator","getPattern","pattern","test","lastIndex","EmailValidator","EqualsValidator","getTypeName","Infinity","isSupported","isFinite","isValidForGteOrLteComparison","a","b","TypeError","isLessThan","aType","bType","isGreaterThan","GreaterThanValidator","GreaterThanOrEqualValidator","LessThanValidator","LessThanOrEqualValidator","ListValidator","isValid","MaxLengthValidator","maxlength","MaxValidator","max","MinLengthValidator","minlength","MinValidator","min","PasswordValidator","RequiredValidator","StepValidator","step","TypeValidator","ts","evaluateDesignTypes","URLValidator","validationMetadata","required","meta","description","email","url","WeakMap","set","newValue","password","list","collection","eq","propertyToCompare","equalsOptions","diff","diffOptions","lt","ltOptions","lte","lteOptions","gt","gtOptions","gte","gteOptions","construct","_constr","findLastProtoBeforeObject","bindModelPrototype","bindPrototype","objToOverride","setPrototypeOf","prot","modelBaseDecorator","newConstructor","defineMetadata","Metadata","DecorationKeys","CONSTRUCTOR","hashedBy","serializedBy","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -9,7 +9,7 @@ export * from "./model";
9
9
  * @const VERSION
10
10
  * @memberOf module:decorator-validation
11
11
  */
12
- export declare const VERSION = "1.10.0";
12
+ export declare const VERSION = "1.10.1";
13
13
  /**
14
14
  * @description Current version of the reflection package
15
15
  * @summary Stores the semantic version number of the package
package/lib/esm/index.js CHANGED
@@ -17,7 +17,7 @@ export * from "./model/index.js";
17
17
  * @const VERSION
18
18
  * @memberOf module:decorator-validation
19
19
  */
20
- export const VERSION = "1.10.0";
20
+ export const VERSION = "1.10.1";
21
21
  /**
22
22
  * @description Current version of the reflection package
23
23
  * @summary Stores the semantic version number of the package
@@ -608,6 +608,8 @@ export class Model {
608
608
  if (Model.isModel(target[attribute]))
609
609
  return true;
610
610
  const metadata = Reflect.getMetadata(ModelKeys.TYPE, target, attribute);
611
+ if (!metadata)
612
+ return undefined;
611
613
  return Model.get(metadata.name) ? metadata.name : undefined;
612
614
  }
613
615
  static describe(model, key) {
@@ -1 +1 @@
1
- {"version":3,"file":"Model.js","sourceRoot":"","sources":["../../../src/model/Model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.js","sourceRoot":"","sources":["../../../src/model/Model.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -34,7 +34,7 @@ __exportStar(require("./model/index.cjs"), exports);
34
34
  * @const VERSION
35
35
  * @memberOf module:decorator-validation
36
36
  */
37
- exports.VERSION = "1.10.0";
37
+ exports.VERSION = "1.10.1";
38
38
  /**
39
39
  * @description Current version of the reflection package
40
40
  * @summary Stores the semantic version number of the package
package/lib/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export * from "./model";
9
9
  * @const VERSION
10
10
  * @memberOf module:decorator-validation
11
11
  */
12
- export declare const VERSION = "1.10.0";
12
+ export declare const VERSION = "1.10.1";
13
13
  /**
14
14
  * @description Current version of the reflection package
15
15
  * @summary Stores the semantic version number of the package