@decaf-ts/db-decorators 0.6.10 → 0.6.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -3
- package/dist/db-decorators.cjs +2 -2989
- package/dist/db-decorators.cjs.map +1 -0
- package/dist/db-decorators.js +2 -0
- package/dist/db-decorators.js.map +1 -0
- package/lib/esm/identity/decorators.js +1 -1
- package/lib/esm/identity/decorators.js.map +1 -0
- package/lib/esm/identity/index.js +1 -1
- package/lib/esm/identity/index.js.map +1 -0
- package/lib/esm/identity/utils.js +1 -1
- package/lib/esm/identity/utils.js.map +1 -0
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/interfaces/BulkCrudOperator.js +1 -1
- package/lib/esm/interfaces/BulkCrudOperator.js.map +1 -0
- package/lib/esm/interfaces/Contextual.js +1 -1
- package/lib/esm/interfaces/Contextual.js.map +1 -0
- package/lib/esm/interfaces/CrudOperator.js +1 -1
- package/lib/esm/interfaces/CrudOperator.js.map +1 -0
- package/lib/esm/interfaces/IRepository.js +1 -1
- package/lib/esm/interfaces/IRepository.js.map +1 -0
- package/lib/esm/interfaces/index.js +1 -1
- package/lib/esm/interfaces/index.js.map +1 -0
- package/lib/esm/model/constants.js +1 -1
- package/lib/esm/model/constants.js.map +1 -0
- package/lib/esm/model/decorators.js +1 -1
- package/lib/esm/model/decorators.js.map +1 -0
- package/lib/esm/model/index.js +1 -1
- package/lib/esm/model/index.js.map +1 -0
- package/lib/esm/model/model.js +1 -1
- package/lib/esm/model/model.js.map +1 -0
- package/lib/esm/model/overrides.js +1 -1
- package/lib/esm/model/overrides.js.map +1 -0
- package/lib/esm/model/utils.js +1 -1
- package/lib/esm/model/utils.js.map +1 -0
- package/lib/esm/model/validation.js +1 -1
- package/lib/esm/model/validation.js.map +1 -0
- package/lib/esm/operations/Operations.js +1 -1
- package/lib/esm/operations/Operations.js.map +1 -0
- package/lib/esm/operations/OperationsRegistry.js +1 -1
- package/lib/esm/operations/OperationsRegistry.js.map +1 -0
- package/lib/esm/operations/constants.js +1 -1
- package/lib/esm/operations/constants.js.map +1 -0
- package/lib/esm/operations/decorators.js +1 -1
- package/lib/esm/operations/decorators.js.map +1 -0
- package/lib/esm/operations/index.js +1 -1
- package/lib/esm/operations/index.js.map +1 -0
- package/lib/esm/operations/types.js +1 -1
- package/lib/esm/operations/types.js.map +1 -0
- package/lib/esm/repository/BaseRepository.js +1 -1
- package/lib/esm/repository/BaseRepository.js.map +1 -0
- package/lib/esm/repository/Context.js +1 -1
- package/lib/esm/repository/Context.js.map +1 -0
- package/lib/esm/repository/Repository.js +1 -1
- package/lib/esm/repository/Repository.js.map +1 -0
- package/lib/esm/repository/constants.js +1 -1
- package/lib/esm/repository/constants.js.map +1 -0
- package/lib/esm/repository/errors.js +1 -1
- package/lib/esm/repository/errors.js.map +1 -0
- package/lib/esm/repository/index.js +1 -1
- package/lib/esm/repository/index.js.map +1 -0
- package/lib/esm/repository/types.js +1 -1
- package/lib/esm/repository/types.js.map +1 -0
- package/lib/esm/repository/utils.js +1 -1
- package/lib/esm/repository/utils.js.map +1 -0
- package/lib/esm/repository/wrappers.js +1 -1
- package/lib/esm/repository/wrappers.js.map +1 -0
- package/lib/esm/validation/constants.js +1 -1
- package/lib/esm/validation/constants.js.map +1 -0
- package/lib/esm/validation/decorators.js +1 -1
- package/lib/esm/validation/decorators.js.map +1 -0
- package/lib/esm/validation/index.js +1 -1
- package/lib/esm/validation/index.js.map +1 -0
- package/lib/esm/validation/validation.js +1 -1
- package/lib/esm/validation/validation.js.map +1 -0
- package/lib/esm/validation/validators/ReadOnlyValidator.js +1 -1
- package/lib/esm/validation/validators/ReadOnlyValidator.js.map +1 -0
- package/lib/esm/validation/validators/TimestampValidator.js +1 -1
- package/lib/esm/validation/validators/TimestampValidator.js.map +1 -0
- package/lib/esm/validation/validators/UpdateValidator.js +1 -1
- package/lib/esm/validation/validators/UpdateValidator.js.map +1 -0
- package/lib/esm/validation/validators/index.js +1 -1
- package/lib/esm/validation/validators/index.js.map +1 -0
- package/lib/identity/decorators.cjs +1 -1
- package/lib/identity/decorators.js.map +1 -0
- package/lib/identity/index.cjs +1 -1
- package/lib/identity/index.js.map +1 -0
- package/lib/identity/utils.cjs +1 -1
- package/lib/identity/utils.js.map +1 -0
- package/lib/index.cjs +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -0
- package/lib/interfaces/BulkCrudOperator.cjs +1 -1
- package/lib/interfaces/BulkCrudOperator.js.map +1 -0
- package/lib/interfaces/Contextual.cjs +1 -1
- package/lib/interfaces/Contextual.js.map +1 -0
- package/lib/interfaces/CrudOperator.cjs +1 -1
- package/lib/interfaces/CrudOperator.js.map +1 -0
- package/lib/interfaces/IRepository.cjs +1 -1
- package/lib/interfaces/IRepository.js.map +1 -0
- package/lib/interfaces/index.cjs +1 -1
- package/lib/interfaces/index.js.map +1 -0
- package/lib/model/constants.cjs +1 -1
- package/lib/model/constants.js.map +1 -0
- package/lib/model/decorators.cjs +1 -1
- package/lib/model/decorators.js.map +1 -0
- package/lib/model/index.cjs +1 -1
- package/lib/model/index.js.map +1 -0
- package/lib/model/model.cjs +1 -1
- package/lib/model/model.js.map +1 -0
- package/lib/model/overrides.cjs +1 -1
- package/lib/model/overrides.js.map +1 -0
- package/lib/model/utils.cjs +1 -1
- package/lib/model/utils.js.map +1 -0
- package/lib/model/validation.cjs +1 -1
- package/lib/model/validation.js.map +1 -0
- package/lib/operations/Operations.cjs +1 -1
- package/lib/operations/Operations.js.map +1 -0
- package/lib/operations/OperationsRegistry.cjs +1 -1
- package/lib/operations/OperationsRegistry.js.map +1 -0
- package/lib/operations/constants.cjs +1 -1
- package/lib/operations/constants.js.map +1 -0
- package/lib/operations/decorators.cjs +1 -1
- package/lib/operations/decorators.js.map +1 -0
- package/lib/operations/index.cjs +1 -1
- package/lib/operations/index.js.map +1 -0
- package/lib/operations/types.cjs +1 -1
- package/lib/operations/types.js.map +1 -0
- package/lib/repository/BaseRepository.cjs +1 -1
- package/lib/repository/BaseRepository.js.map +1 -0
- package/lib/repository/Context.cjs +1 -1
- package/lib/repository/Context.js.map +1 -0
- package/lib/repository/Repository.cjs +1 -1
- package/lib/repository/Repository.js.map +1 -0
- package/lib/repository/constants.cjs +1 -1
- package/lib/repository/constants.js.map +1 -0
- package/lib/repository/errors.cjs +1 -1
- package/lib/repository/errors.js.map +1 -0
- package/lib/repository/index.cjs +1 -1
- package/lib/repository/index.js.map +1 -0
- package/lib/repository/types.cjs +1 -1
- package/lib/repository/types.js.map +1 -0
- package/lib/repository/utils.cjs +1 -1
- package/lib/repository/utils.js.map +1 -0
- package/lib/repository/wrappers.cjs +1 -1
- package/lib/repository/wrappers.js.map +1 -0
- package/lib/validation/constants.cjs +1 -1
- package/lib/validation/constants.js.map +1 -0
- package/lib/validation/decorators.cjs +1 -1
- package/lib/validation/decorators.js.map +1 -0
- package/lib/validation/index.cjs +1 -1
- package/lib/validation/index.js.map +1 -0
- package/lib/validation/validation.cjs +1 -1
- package/lib/validation/validation.js.map +1 -0
- package/lib/validation/validators/ReadOnlyValidator.cjs +1 -1
- package/lib/validation/validators/ReadOnlyValidator.js.map +1 -0
- package/lib/validation/validators/TimestampValidator.cjs +1 -1
- package/lib/validation/validators/TimestampValidator.js.map +1 -0
- package/lib/validation/validators/UpdateValidator.cjs +1 -1
- package/lib/validation/validators/UpdateValidator.js.map +1 -0
- package/lib/validation/validators/index.cjs +1 -1
- package/lib/validation/validators/index.js.map +1 -0
- package/package.json +14 -26
- package/dist/db-decorators.esm.cjs +0 -2917
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-decorators.cjs","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/repository/utils.ts","../src/operations/decorators.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/identity/utils.ts","../src/repository/BaseRepository.ts","../src/repository/Repository.ts","../src/validation/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/model/utils.ts","../src/model/overrides.ts","../src/index.ts","../src/identity/decorators.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],"names":["DBKeys","REFLECT","ModelKeys","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","exports","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","name","unshift","Object","values","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","getHandlerArgs","dec","prop","m","props","handlers","async","enforceDBDecorators","repo","context","model","prefix","oldModel","decorators","getDbDecorators","sortedDecorators","sortDecorators","groupDecorators","getHandlersDecorators","data","length","ON","push","apply","extraPrefix","Reflection","getAllPropertyDecorators","keys","reduce","decorator","filter","d","getAllPropertyDecoratorsRecursive","prefixes","accumulator","decs","entries","forEach","val","match","find","TYPE","RegExp","AFTER","accumHandlers","clazz","handlerDef","handlerProp","handlerKey","argsObj","pushOrSquash","mergeDecorators","defaultPriority","DefaultGroupSort","priority","handlerArgs","i","grouped","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","combined","map","sort","a","b","groupPriority","c","onCreateUpdate","groupsort","on","onUpdate","onCreate","op","after","baseOp","dataToAdd","propertyKey","compoundKey","Reflect","getMetadata","mergeData","handle","propMetadata","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","DefaultContextFactory","arg","Context","accumulate","assign","timestamp","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","wrapMethodWithContext","obj","before","method","methodName","Proxy","thisArg","argArray","transformedArgs","call","Promise","results","findPrimaryKey","idDecorators","filtered","sf","join","idProp","id","findModelId","returnEmpty","modelId","BaseRepository","_class","pk","_pk","class","_pkProps","pkProps","self","create","read","update","delete","createAll","models","all","createPrefix","contextArgs","createSuffix","createAllPrefix","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","merge","extract","Repository","errors","resolve","ids","oldModels","readonly","Decoration","for","define","timestampHandler","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","includes","validationPropertyDefinition","getValidationDecorators","listDecorator","ValidationKeys","LIST","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","validationErrors","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","customTypes","flat","t","String","toLowerCase","errs","childValue","el","Model","isModel","then","every","r","allEmpty","promises","resolvedValues","res","validateCompare","exceptions","nestedErrors","propValue","designTypeDec","designType","getPropertyDecorators","some","isArray","splice","propErrors","isConstr","isPropertyModel","instance","error","ModelErrorDefinition","merged","allSettled","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","type","suffix","separator","composed","composedFrom","hashResult","versionCreateUpdate","isTransient","decoratorValidation","previousVersion","exclusions","isAsync","validate","resolvedErrs","required","transient","build","afterName","wrapped","bind","metadata","beforeName","format","date","indexOf","attribute","Number"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ModelKeys as t,validator as e,Validator as r,DEFAULT_ERROR_MESSAGES as n,Validation as s,Hashing as a,propMetadata as o,sf as i,Decoration as c,type as u,date as l,required as p,getValidationDecorators as h,ValidationKeys as d,toConditionalPromise as f,Model as E,ModelErrorDefinition as y,validate as m}from"@decaf-ts/decorator-validation";import{__decorate as A,__metadata as g}from"tslib";import{isEqual as T,Reflection as w,apply as P,metadata as R}from"@decaf-ts/reflection";import{ObjectAccumulator as O}from"typed-object-accumulator";const D={REFLECT:t.REFLECT+"persistence.",REPOSITORY:"repository",CLASS:"_class",ID:"id",INDEX:"index",UNIQUE:"unique",SERIALIZE:"serialize",READONLY:"readonly",TIMESTAMP:"timestamp",TRANSIENT:"transient",HASH:"hash",COMPOSED:"composed",VERSION:"version",ORIGINAL:"__originalObj"},b="_",v="dd/MM/yyyy HH:mm:ss:S",L={ID:{INVALID:"This Id is invalid",REQUIRED:"The Id is mandatory"},READONLY:{INVALID:"This cannot be updated"},TIMESTAMP:{REQUIRED:"Timestamp is Mandatory",DATE:"The Timestamp must the a valid date",INVALID:"This value must always increase"}},k={REFLECT:"db.update.validation.",TIMESTAMP:D.TIMESTAMP,READONLY:D.READONLY};let S=class extends r{constructor(){super(L.READONLY.INVALID)}hasErrors(t,...e){}updateHasErrors(t,e,r){if(void 0!==t)return T(t,e)?void 0:this.getMessage(r||this.message)}};S=A([e(k.READONLY),g("design:paramtypes",[])],S);let I=class extends r{constructor(){super(L.TIMESTAMP.INVALID)}hasErrors(t,...e){}updateHasErrors(t,e,r){if(void 0!==t){r=r||this.getMessage(r||this.message);try{t=new Date(t),e=new Date(e)}catch(t){return r}return t>e?void 0:r}}};I=A([e(k.TIMESTAMP),g("design:paramtypes",[])],I);class N extends r{constructor(t=n.DEFAULT,...e){super(t,...e)}}var x,j;s.updateKey=t=>k.REFLECT+t,(t=>{t.REFLECT="decaf.model.db.operations.",t.CREATE="create",t.READ="read",t.UPDATE="update",t.DELETE="delete",t.ON="on.",t.AFTER="after."})(x||(x={})),(t=>{t.CREATE_ALL="createAll",t.READ_ALL="readAll",t.UPDATE_ALL="updateAll",t.DELETE_ALL="deleteAll"})(j||(j={}));const C={CREATE:[x.CREATE],READ:[x.READ],UPDATE:[x.UPDATE],DELETE:[x.DELETE],CREATE_UPDATE:[x.CREATE,x.UPDATE],READ_CREATE:[x.READ,x.CREATE],ALL:[x.CREATE,x.READ,x.UPDATE,x.DELETE]};class M{constructor(){this.cache={}}get(t,e,r,n){let s;n=n||[];try{s="string"==typeof t?t:t.constructor.name,n.unshift(...Object.values(this.cache[s][e][r]||[]))}catch(e){if("string"==typeof t||t===Object.prototype||Object.getPrototypeOf(t)===Object.prototype)return n}let a=Object.getPrototypeOf(t);return a.constructor.name===s&&(a=Object.getPrototypeOf(a)),this.get(a,e,r,n)}register(t,e,r,n){const s=r.constructor.name,a=$.getHandlerName(t);this.cache[s]||(this.cache[s]={}),this.cache[s][n]||(this.cache[s][n]={}),this.cache[s][n][e]||(this.cache[s][n][e]={}),this.cache[s][n][e][a]||(this.cache[s][n][e][a]=t)}}class ${constructor(){}static getHandlerName(t){return t.name?t.name:a.hash(t.toString())}static key(t){return x.REFLECT+t}static get(t,e,r){return $.registry.get(t,e,r)}static getOpRegistry(){return $.registry||($.registry=new M),$.registry}static register(t,e,r,n){$.getOpRegistry().register(t,e,r,n)}}class U extends Error{constructor(t,e,r){if(e instanceof U)return e;super(`[${t}] ${e instanceof Error?e.message:e}`),this.code=r,e instanceof Error&&(this.stack=e.stack)}}class F extends U{constructor(t,e=F.name,r=400){super(e,t,r)}}class _ extends F{constructor(t){super(t,_.name,422)}}class Y extends U{constructor(t,e=Y.name,r=500){super(e,t,r)}}class H extends Y{constructor(t){super(t,H.name,500)}}class V extends F{constructor(t){super(t,V.name,404)}}class z extends F{constructor(t){super(t,z.name,409)}}const Q=(t,e,r,n)=>{const s=r.constructor.name;if(!s)throw new Y("Could not determine model class");n=n||{},t.props.handlers[s]&&t.props.handlers[s][e]&&(n={...t.props.handlers[s][e],...n});let a=Object.getPrototypeOf(r);return a===Object.prototype?n:(a.constructor.name===s&&(a=Object.getPrototypeOf(a)),Q(t,e,a,n))};async function K(t,e,r,n,s,a){const o=q(r,n,s);if(!o)return;const i=B(X(W(r,o,s)));for(const o of i){const i=[e,o.data.length>1?o.data:o.data[0],o.prop.length>1?o.prop:o.prop[0],r];if(n===x.UPDATE&&s===x.ON){if(!a)throw new Y("Missing old model for update operation");i.push(a)}try{await o.handler.apply(t,i)}catch(t){const n=`Failed to execute handler ${o.handler.name} for ${o.prop} on ${r.constructor.name} due to error: ${t}`;if(e.get("breakOnHandlerError"))throw new Y(n)}}}function q(t,e,r){const n=w.getAllPropertyDecorators(t,x.REFLECT+(r||""));if(n)return Object.keys(n).reduce((t,r)=>{const s=n[r].filter(t=>t.key===e);return s&&s.length&&(t||(t={}),t[r]=s),t},void 0)}const G=(e,r,...n)=>{const s=r||{},a=w.getAllPropertyDecorators(e,...n);if(a&&(e=>{Object.entries(e).forEach(([e,r])=>{s[e]=s[e]||[],((e,...r)=>{r.forEach(r=>{let n;if(!(n=s[e].find(t=>t.key===r.key))||n.props.operation!==r.props.operation)return void s[e].push(r);if(r.key===t.TYPE)return;const{handlers:a,operation:o}=r.props;if(!o||!o.match(RegExp(`^(:?${x.ON}|${x.AFTER})(:?${x.CREATE}|${x.READ}|${x.UPDATE}|${x.DELETE})$`)))return void s[e].push(r);const i=n.props.handlers;Object.entries(a).forEach(([t,e])=>{t in i?Object.entries(e).forEach(([e,r])=>{e in i[t]?Object.entries(r).forEach(([r,n])=>{r in i[t][e]||(i[t][e][r]=n)}):i[t][e]=r}):i[t]=e})})})(e,...r)})})(a),Object.getPrototypeOf(e)===Object.prototype)return s;const o=Object.getPrototypeOf(e);return o?G(o,s,...n):s},J=50,Z={priority:J};function W(t,e,r){const n=[];for(const s in e){const a=e[s];for(const e of a){const{key:a}=e,o=$.get(t,s,r+a);if(!o||!o.length)throw new Y(`Could not find registered handler for the operation ${r+a} under property ${s}`);const i=Q(e,s,t);if(!i||Object.values(i).length!==o.length)throw new Y("Args and handlers length do not match");for(let t=0;t<o.length;t++){const e=i[o[t].name].data;n.push({handler:o[t],data:[e],prop:[s]})}}}return n}function X(t){const e=t.reduce((t,e)=>{if(!e||!e.data||!e.prop)throw new Y("Missing decorator properties or data");if(!e.data[0].group)return t.set(Symbol(),e),t;const r=e.data[0].group;if(t.has(r)){const n=t.get(r);t.set(r,{handler:n.handler,data:[...n.data,...e.data],prop:[...n.prop,...e.prop]})}else t.set(r,{...e});return t},new Map),r=Array.from(e.values());return r.forEach(t=>{const e=t.data.map((e,r)=>({data:e,prop:t.prop[r]}));e.sort((t,e)=>(t.data.groupPriority??50)-(e.data.groupPriority??50)),t.data=e.map(t=>t.data),t.prop=e.map(t=>t.prop)}),r}function B(t){return t.sort((t,e)=>(t.data[0].priority??J)-(e.data[0].priority??J)),t}function tt(t,e,r){return ot(C.CREATE_UPDATE,t,e,r)}function et(t,e,r){return ot(C.UPDATE,t,e,r)}function rt(t,e,r){return ot(C.CREATE,t,e,r)}function nt(t,e,r){return ot(C.READ,t,e,r)}function st(t,e,r){return ot(C.DELETE,t,e,r)}function at(t,e,r){return ot(C.ALL,t,e,r)}function ot(t=C.ALL,e,r,n){return ft(x.ON,t,e,r,n)}function it(t,e,r){return dt(C.CREATE_UPDATE,t,e,r)}function ct(t,e,r){return dt(C.UPDATE,t,e,r)}function ut(t,e,r){return dt(C.CREATE,t,e,r)}function lt(t,e,r){return dt(C.READ,t,e,r)}function pt(t,e,r){return dt(C.DELETE,t,e,r)}function ht(t,e,r){return dt(C.ALL,t,e,r)}function dt(t=C.ALL,e,r,n){return ft(x.AFTER,t,e,r,n)}function ft(t,e=C.ALL,r,n,s=Z){return(a,i)=>{const c=a.constructor.name,u=e.reduce((e,u)=>{const l=t+u;let p=Reflect.getMetadata($.key(l),a,i);p||(p={operation:u,handlers:{}});const h=$.getHandlerName(r);let d=s;if(n){if(Object.keys(n).filter(t=>t in s).length>0)throw new Y("Unable to merge groupSort into dataToAdd due to overlaping keys");d={...s,...n}}return p.handlers[c]&&p.handlers[c][i]&&h in p.handlers[c][i]||(p.handlers[c]=p.handlers[c]||{},p.handlers[c][i]=p.handlers[c][i]||{},p.handlers[c][i][h]={data:d},e.push(((t,e)=>(r,n)=>{$.register(e,t,r,n)})(l,r),o($.key(l),p))),e},[]);return P(...u)(a,i)}}const Et={parentContext:void 0,childContexts:[],ignoredValidationProperties:[],callArgs:[],writeOperation:!1,affectedTables:[],operation:void 0,breakOnHandlerError:!0,rebuildWithTransient:!0},yt=t=>(new mt).accumulate(Object.assign({},t,{timestamp:new Date}));class mt{constructor(){this.cache=new O,Object.defineProperty(this,"cache",{value:new O,writable:!1,enumerable:!1,configurable:!0})}static{this.factory=yt}accumulate(t){return Object.defineProperty(this,"cache",{value:this.cache.accumulate(t),writable:!1,enumerable:!1,configurable:!0}),this}get timestamp(){return this.cache.timestamp}get(t){try{return this.cache.get(t)}catch(e){const r=this.cache.parentContext;if(r)return r.get(t);throw e}}static childFrom(t,e){return mt.factory(Object.assign({},t.cache,e||{}))}static async from(t,e,r,...n){return mt.factory(Object.assign({},Et,e,{operation:t,model:r}))}static async args(t,e,r,n,s){const a=r.pop();async function o(){return n?n.context(t,s||{},e,...r):mt.from(t,s||{},e,...r)}let i;return a?a instanceof mt?(i=a,r.push(a)):(r.push(a),i=await o(),r.push(i)):(i=await o(),r.push(i)),{context:i,args:r}}}function At(t,e,r,n){const s=async function(...t){const n=await Promise.resolve(r.call(this,...t));return Promise.resolve(e.apply(this,n))}.bind(t),a=n||e.name;Object.defineProperty(s,"name",{enumerable:!0,configurable:!0,writable:!1,value:a}),t[a]=s}function gt(t,e,r,n){const s=async function(...t){const n=await Promise.resolve(e.call(this,...t));return r.call(this,...n)}.bind(t),a=n||e.name;Object.defineProperty(s,"name",{enumerable:!0,configurable:!0,writable:!1,value:a}),t[a]=s}function Tt(t,e,r,n,s){const a=s||r.name;t[a]=new Proxy(t[a],{apply:async(t,r,s)=>{let a=e.call(r,...s);a instanceof Promise&&(a=await a);const o=a[a.length-1];if(!(o instanceof mt))throw new Y("Missing a context");let i=await t.call(r,...a);return i instanceof Promise&&(i=await i),i=n.call(r,i,o),i instanceof Promise&&(i=await i),i}})}function wt(e){const r=G(e,void 0,D.REFLECT+D.ID),n=Object.entries(r).reduce((e,[r,n])=>{const s=n.filter(e=>e.key!==t.TYPE);return s&&s.length&&(e[r]=e[r]||[],e[r].push(...s)),e},{});if(!n||!Object.keys(n).length)throw new Y("Could not find ID decorated Property");if(Object.keys(n).length>1)throw new Y(i(Object.keys(n).join(", ")));const s=Object.keys(n)[0];if(!s)throw new Y("Could not find ID decorated Property");return{id:s,props:n[s][0].props}}function Pt(t,e=!1){const r=wt(t).id,n=t[r];if(void 0===n&&!e)throw new Y("No value for the Id is defined under the property "+r);return n}class Rt{get class(){if(!this._class)throw new Y("No class definition found for this repository");return this._class}get pk(){if(!this._pk){const{id:t,props:e}=wt(new this.class);this._pk=t,this._pkProps=e}return this._pk}get pkProps(){return this._pkProps||this.pk,this._pkProps}constructor(t){t&&(this._class=t);const e=this;[this.create,this.read,this.update,this.delete].forEach(t=>{const r=t.name;Tt(e,e[r+"Prefix"],t,e[r+"Suffix"])})}async createAll(t,...e){return Promise.all(t.map(t=>this.create(t,...e)))}async createPrefix(t,...e){const r=await mt.args(x.CREATE,this.class,e);return t=new this.class(t),await K(this,r.context,t,x.CREATE,x.ON),[t,...r.args]}async createSuffix(t,e){return await K(this,e,t,x.CREATE,x.AFTER),t}async createAllPrefix(t,...e){const r=await mt.args(x.CREATE,this.class,e);return await Promise.all(t.map(async t=>(t=new this.class(t),await K(this,r.context,t,x.CREATE,x.ON),t))),[t,...r.args]}async createAllSuffix(t,e){return await Promise.all(t.map(t=>K(this,e,t,x.CREATE,x.AFTER))),t}async readAll(t,...e){return await Promise.all(t.map(t=>this.read(t,...e)))}async readSuffix(t,e){return await K(this,e,t,x.READ,x.AFTER),t}async readPrefix(t,...e){const r=await mt.args(x.READ,this.class,e),n=new this.class;return n[this.pk]=t,await K(this,r.context,n,x.READ,x.ON),[t,...r.args]}async readAllPrefix(t,...e){const r=await mt.args(x.READ,this.class,e);return await Promise.all(t.map(async t=>{const e=new this.class;return e[this.pk]=t,K(this,r.context,e,x.READ,x.ON)})),[t,...r.args]}async readAllSuffix(t,e){return await Promise.all(t.map(t=>K(this,e,t,x.READ,x.AFTER))),t}async updateAll(t,...e){return Promise.all(t.map(t=>this.update(t,...e)))}async updateSuffix(t,e){return await K(this,e,t,x.UPDATE,x.AFTER),t}async updatePrefix(t,...e){const r=await mt.args(x.UPDATE,this.class,e),n=t[this.pk];if(!n)throw new Y("No value for the Id is defined under the property "+this.pk);const s=await this.read(n);return await K(this,r.context,t,x.UPDATE,x.ON,s),[t,...r.args]}async updateAllPrefix(t,...e){const r=await mt.args(x.UPDATE,this.class,e);return await Promise.all(t.map(t=>(t=new this.class(t),K(this,r.context,t,x.UPDATE,x.ON),t))),[t,...r.args]}async updateAllSuffix(t,e){return await Promise.all(t.map(t=>K(this,e,t,x.UPDATE,x.AFTER))),t}async deleteAll(t,...e){return Promise.all(t.map(t=>this.delete(t,...e)))}async deleteSuffix(t,e){return await K(this,e,t,x.DELETE,x.AFTER),t}async deletePrefix(t,...e){const r=await mt.args(x.DELETE,this.class,e),n=await this.read(t,...r.args);return await K(this,r.context,n,x.DELETE,x.ON),[t,...r.args]}async deleteAllPrefix(t,...e){const r=await mt.args(x.DELETE,this.class,e),n=await this.readAll(t,...r.args);return await Promise.all(n.map(async t=>K(this,r.context,t,x.DELETE,x.ON))),[t,...r.args]}async deleteAllSuffix(t,e){return await Promise.all(t.map(t=>K(this,e,t,x.DELETE,x.AFTER))),t}merge(t,e){const r=t=>Object.entries(t).reduce((t,[e,r])=>(void 0!==r&&(t[e]=r),t),{});return new this.class(Object.assign({},r(t),r(e)))}toString(){return this.class.name+" Repository"}}class Ot extends Rt{constructor(t){super(t)}async createPrefix(t,...e){const r=await mt.args(x.CREATE,this.class,e);t=new this.class(t),await K(this,r.context,t,x.CREATE,x.ON);const n=await Promise.resolve(t.hasErrors());if(n)throw new _(n.toString());return[t,...r.args]}async createAllPrefix(t,...e){const r=await mt.args(x.CREATE,this.class,e);await Promise.all(t.map(async t=>(t=new this.class(t),await K(this,r.context,t,x.CREATE,x.ON),t)));const n=(await Promise.all(t.map(t=>Promise.resolve(t.hasErrors())))).reduce((t,e,r)=>(e&&(t="string"==typeof t?t+`\n - ${r}: ${e.toString()}`:` - ${r}: ${e.toString()}`),t),void 0);if(n)throw new _(n);return[t,...r.args]}async updatePrefix(t,...e){const r=await mt.args(x.UPDATE,this.class,e),n=t[this.pk];if(!n)throw new Y("No value for the Id is defined under the property "+this.pk);const s=await this.read(n);t=this.merge(s,t),await K(this,r.context,t,x.UPDATE,x.ON,s);const a=await Promise.resolve(t.hasErrors(s));if(a)throw new _(a.toString());return[t,...r.args]}async updateAllPrefix(t,...e){const r=await mt.args(x.UPDATE,this.class,e),n=t.map(t=>{const e=t[this.pk];if(void 0===e)throw new Y("No value for the Id is defined under the property "+this.pk);return e}),s=await this.readAll(n,...r.args);t=t.map((t,e)=>this.merge(s[e],t)),await Promise.all(t.map((t,e)=>K(this,r.context,t,x.UPDATE,x.ON,s[e])));const a=(await Promise.all(t.map((t,e)=>Promise.resolve(t.hasErrors(s[e]))))).reduce((t,e,r)=>(e&&(t="string"==typeof t?t+`\n - ${r}: ${e.toString()}`:` - ${r}: ${e.toString()}`),t),void 0);if(a)throw new _(a);return[t,...r.args]}static key(t){return D.REFLECT+t}}function Dt(t=L.READONLY.INVALID){const e=s.updateKey(D.READONLY);return c.for(e).define(o(e,{message:t})).apply()}async function bt(t,e,r,n){n[r]=t.timestamp}function vt(t=C.CREATE_UPDATE,e=v){const r=s.updateKey(D.TIMESTAMP);return c.for(r).define({decorator:(t,e)=>{const n=[l(e,L.TIMESTAMP.DATE),p(L.TIMESTAMP.REQUIRED),o(s.key(D.TIMESTAMP),{operation:t,format:e}),ot(t,bt)];return-1!==t.indexOf(x.UPDATE)?n.push(o(r,{message:L.TIMESTAMP.INVALID})):n.push(Dt()),P(...n)},args:[t,e]}).apply()}async function Lt(t,e,r,n){if(n[r])try{n[r]=JSON.stringify(n[r])}catch(t){throw new H(`Failed to serialize ${r.toString()} property of model ${n.constructor.name}: e`)}}async function kt(t,e,r,n){if(n[r]&&"string"==typeof n[r])try{n[r]=JSON.parse(n[r])}catch(t){throw new H(`Failed to deserialize ${r.toString()} property of model ${n.constructor.name}: ${t}`)}}function St(){return P(tt(Lt),dt(C.ALL,kt),u([String.name,Object.name]),R(Ot.key(D.SERIALIZE),{}))}function It(){return P(p(),Dt(),o(Ot.key(D.ID),{}))}function Nt(t,e){const r=[];for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&!e.includes(n)){const e=h(t,n,k.REFLECT),s=h(t,n).decorators.find(({key:t})=>t===d.LIST);s&&e.decorators.push(s),r.push(e)}return r}function xt(t,e,r,n,a){const o=s.get(n.key);if(!o)throw Error("Missing validator for "+n.key);if(!o.updateHasErrors)return f(void 0,a);if(!a&&n.props.async)return f(void 0,a);const i=Object.values(n.props)||{},c=o.updateHasErrors(t[r],e[r],...i);return f(c,a)}function jt(t,e,r,n,s){const a={};for(const o of n){if(!s&&o.props.async)continue;let n=xt(t,e,r,o,s);if(o.key===d.LIST&&(!n||s)){const a=t[r],i=e[r],c=a instanceof Set?[...a]:a,u=i instanceof Set?[...i]:i;if(c&&c.length>0){const t=[o.props.class||o.props.clazz||o.props.customTypes].flat().map(t=>((t=(t="function"!=typeof t||t.name?t:t()).name?t.name:t)+"").toLowerCase()),e=c.map(e=>{const r=Pt(e,!0);if(!r)return"Failed to find model id";const n=u.find(t=>r===Pt(t,!0));return E.isModel(e)?e.hasErrors(n):t.includes(typeof e)?void 0:"Value has no validatable type"});if(s)n=Promise.all(e).then(t=>t.every(t=>!t)?void 0:t);else{const t=e.every(t=>!t);n=e.length>0&&!t?e:void 0}}}n&&(a[o.key]=n)}if(!s)return Object.keys(a).length>0?a:void 0;const o=Object.keys(a),i=Object.values(a);return Promise.all(i).then(t=>{const e={};for(let r=0;r<t.length;r++){const n=t[r];void 0!==n&&(e[o[r]]=n)}return Object.keys(e).length>0?e:void 0})}function Ct(e,r,n,...s){const a=Nt(r,s),o={},i={};for(const{prop:s,decorators:c}of a){const a=s+"";let u=r[s];if(!c?.length)continue;const l=c.find(e=>[t.TYPE,d.TYPE].includes(e.key));if(!l)continue;const p=l.props.name;if([Array.name,Set.name].includes(p)){const{decorators:e}=w.getPropertyDecorators(d.REFLECT,r,a);if(!e.some(t=>t.key===d.LIST)){o[a]={[d.TYPE]:`Array or Set property '${a}' requires a @list decorator`};continue}if(u&&!(Array.isArray(u)||u instanceof Set)){o[a]={[d.TYPE]:`Property '${s+""}' must be either an array or a Set`};continue}for(let r=e.length-1;r>=0;r--)e[r].key===t.TYPE&&e.splice(r,1);u=u instanceof Set?[...u]:u}const h=jt(r,e,a,c,n)||{},f=E.isPropertyModel(r,a);if(u&&f){const t=u;"object"!=typeof t||!t.hasErrors||"function"!=typeof t.hasErrors||(i[a]=t.hasErrors(e[s]))}(Object.keys(h).length>0||n)&&(o[a]=h),n||Object.entries(i[a]||{}).forEach(([t,e])=>{void 0!==e&&(o[`${a}.${t}`]=e)})}if(!n)return Object.keys(o).length>0?new y(o):void 0;const c=o,u=Object.keys(c),l=Object.values(c);return Promise.allSettled(l).then(async t=>{const e={};for(const[t,r]of Object.entries(i)){const n=await r;n&&Object.entries(n).forEach(([r,n])=>{void 0!==n&&(e[[t,r].join(".")]=n)})}for(let r=0;r<t.length;r++){const n=u[r],s=t[r];"fulfilled"===s.status&&void 0!==s.value?e[n]=s.value:"rejected"===s.status&&(e[n]=s.reason instanceof Error?s.reason.message:(s.reason||"Validation failed")+"")}return Object.keys(e).length>0?new y(e):void 0})}function Mt(t,e,r,n,s){if(void 0===n[r])return;const o=a.hash(n[r]);s&&n[r]===o||(n[r]=o)}function $t(){return P(tt(Mt),o(Ot.key(D.HASH),{}))}function Ut(t,e,r,n){try{const{args:t,type:s,prefix:a,suffix:o,separator:i}=e,c=t.map(e=>{if(!(e in n))throw new Y(`Property ${e} not found to compose from`);if("keys"===s)return e;if(void 0===n[e])throw new Y(`Property ${t} does not contain a value to compose from`);return n[e].toString()});a&&c.unshift(a),o&&c.push(o),n[r]=c.join(i)}catch(t){throw new Y("Failed to compose value: "+t)}}function Ft(t,e=!1,r=b,n="values",s="",a="",i={priority:55}){const c={args:t,hashResult:e,separator:r,type:n,prefix:s,suffix:a},u=[tt(Ut,c,i),o(Ot.key(D.COMPOSED),c)];return e&&u.push($t()),P(...u)}function _t(t,e=b,r=!1,n="",s="",a={priority:55}){return Ft(t,r,e,"keys",n,s,a)}function Yt(t,e=b,r=!1,n="",s="",a={priority:55}){return Ft(t,r,e,"values",n,s,a)}function Ht(t){return(e,r,n,s)=>{try{switch(t){case x.CREATE:s[n]=1;break;case x.UPDATE:s[n]++;break;default:throw new Y("Invalid operation: "+t)}}catch(t){throw new Y("Failed to update version: "+t)}}}function Vt(){const t=Ot.key(D.VERSION);return c.for(t).define(u(Number.name),rt(Ht(x.CREATE)),et(Ht(x.UPDATE)),o(t,!0)).apply()}function zt(){const t=Ot.key(D.TRANSIENT);return c.for(t).define((t,e)=>{o(Ot.key(D.TRANSIENT),!0)(t,e),o(Ot.key(D.TRANSIENT),!0)(t.constructor)}).apply()}function Qt(t){return!(!Reflect.getMetadata(Ot.key(D.TRANSIENT),t.constructor)&&!Reflect.getMetadata(Ot.key(D.TRANSIENT),E.get(t.constructor.name)))}function Kt(t){if(!Qt(t))return{model:t};const e=G(t,void 0,Ot.key(D.TRANSIENT)),r=Object.entries(e).reduce((e,[r,n])=>{if(n.find(t=>""===t.key)){e.transient=e.transient||{};try{e.transient[r]=t[r]}catch(t){throw new H(`Failed to serialize transient property ${r}: ${t}`)}}else e.model=e.model||{},e.model[r]=t[r];return e},{});return r.model=E.build(r.model,t.constructor.name),r}E.prototype.hasErrors=function(t,...e){!t||t instanceof E||(e.unshift(t),t=void 0);const r=this.isAsync(),n=m(this,r,...e);return r?Promise.resolve(n).then(n=>n||!t?n:Ct(t,this,r,...e)):n||!t?n:Ct(t,this,r,...e)};const qt="##VERSION##";export{F as BadRequestError,U as BaseError,Rt as BaseRepository,j as BulkCrudOperationKeys,z as ConflictError,mt as Context,D as DBKeys,C as DBOperations,L as DEFAULT_ERROR_MESSAGES,v as DEFAULT_TIMESTAMP_FORMAT,yt as DefaultContextFactory,Et as DefaultRepositoryFlags,b as DefaultSeparator,Y as InternalError,V as NotFoundError,x as OperationKeys,$ as Operations,M as OperationsRegistry,S as ReadOnlyValidator,Ot as Repository,H as SerializationError,I as TimestampValidator,k as UpdateValidationKeys,N as UpdateValidator,qt as VERSION,_ as ValidationError,dt as after,ht as afterAny,ut as afterCreate,it as afterCreateUpdate,pt as afterDelete,lt as afterRead,ct as afterUpdate,Yt as composed,Ut as composedFromCreateUpdate,_t as composedFromKeys,K as enforceDBDecorators,Pt as findModelId,wt as findPrimaryKey,G as getAllPropertyDecoratorsRecursive,q as getDbDecorators,Q as getHandlerArgs,W as getHandlersDecorators,Nt as getValidatableUpdateProps,X as groupDecorators,$t as hash,Mt as hashOnCreateUpdate,It as id,Qt as isTransient,Kt as modelToTransient,ot as on,at as onAny,rt as onCreate,tt as onCreateUpdate,st as onDelete,nt as onRead,et as onUpdate,ft as operation,At as prefixMethod,Dt as readonly,St as serialize,kt as serializeAfterAll,Lt as serializeOnCreateUpdate,B as sortDecorators,gt as suffixMethod,vt as timestamp,bt as timestampHandler,zt as transient,Ct as validateCompare,xt as validateDecorator,jt as validateDecorators,Vt as version,Ht as versionCreateUpdate,Tt as wrapMethodWithContext};
|
|
2
|
+
//# sourceMappingURL=db-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/repository/utils.ts","../src/operations/decorators.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/identity/utils.ts","../src/repository/BaseRepository.ts","../src/repository/Repository.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/model/utils.ts","../src/model/overrides.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],"names":["DBKeys","REFLECT","ModelKeys","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","name","unshift","Object","values","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","getHandlerArgs","dec","prop","m","props","handlers","async","enforceDBDecorators","repo","context","model","prefix","oldModel","decorators","getDbDecorators","sortedDecorators","sortDecorators","groupDecorators","getHandlersDecorators","data","length","ON","push","apply","extraPrefix","Reflection","getAllPropertyDecorators","keys","reduce","decorator","filter","d","getAllPropertyDecoratorsRecursive","prefixes","accumulator","decs","entries","forEach","val","match","find","TYPE","RegExp","AFTER","accumHandlers","clazz","handlerDef","handlerProp","handlerKey","argsObj","pushOrSquash","mergeDecorators","defaultPriority","DefaultGroupSort","priority","handlerArgs","i","grouped","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","combined","map","sort","a","b","groupPriority","c","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","baseOp","dataToAdd","propertyKey","compoundKey","Reflect","getMetadata","mergeData","handle","propMetadata","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","DefaultContextFactory","arg","Context","accumulate","assign","timestamp","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","obj","afterName","wrapped","results","Promise","resolve","call","bind","suffixMethod","before","suffix","beforeName","wrapMethodWithContext","method","methodName","Proxy","thisArg","argArray","transformedArgs","findPrimaryKey","idDecorators","filtered","sf","join","idProp","id","findModelId","returnEmpty","modelId","BaseRepository","_class","pk","_pk","class","_pkProps","pkProps","self","create","read","update","delete","createAll","models","all","createPrefix","contextArgs","createSuffix","createAllPrefix","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","merge","extract","Repository","errors","ids","oldModels","readonly","Decoration","for","define","timestampHandler","format","date","required","indexOf","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","serialize","type","String","metadata","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","includes","validationPropertyDefinition","getValidationDecorators","listDecorator","ValidationKeys","LIST","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","validationErrors","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","customTypes","flat","t","toLowerCase","errs","childValue","el","Model","isModel","then","every","r","allEmpty","promises","resolvedValues","res","validateCompare","exceptions","nestedErrors","propValue","designTypeDec","designType","getPropertyDecorators","some","isArray","splice","propErrors","isConstr","isPropertyModel","instance","error","ModelErrorDefinition","merged","allSettled","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","separator","composed","composedFrom","hashResult","composedFromKeys","versionCreateUpdate","version","Number","transient","attribute","isTransient","modelToTransient","build","previousVersion","exclusions","isAsync","validate","resolvedErrs"],"mappings":"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"}
|
|
@@ -13,4 +13,4 @@ import { apply } from "@decaf-ts/reflection";
|
|
|
13
13
|
export function id() {
|
|
14
14
|
return apply(required(), readonly(), propMetadata(Repository.key(DBKeys.ID), {}));
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/identity/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,iCAAsB;AACzC,OAAO,EAAE,MAAM,EAAE,gCAA2B;AAC5C,OAAO,EAAE,UAAU,EAAE,iCAAsB;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,EAAE;IAChB,OAAO,KAAK,CACV,QAAQ,EAAE,EACV,QAAQ,EAAE,EACV,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from "./decorators.js";
|
|
2
2
|
export * from "./utils.js";
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,2BAAwB"}
|
|
@@ -72,4 +72,4 @@ export function findModelId(model, returnEmpty = false) {
|
|
|
72
72
|
throw new InternalError(`No value for the Id is defined under the property ${idProp}`);
|
|
73
73
|
return modelId;
|
|
74
74
|
}
|
|
75
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/identity/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gCAA2B;AAC5C,OAAO,EAAE,iCAAiC,EAAE,iCAA4B;AACxE,OAAO,EAAS,SAAS,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,kCAA6B;AAErD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAAkB,KAAQ;IACtD,MAAM,UAAU,GAAG,iCAAiC,CAClD,KAAK,EACL,SAAS,EACT,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAC3B,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAoB,CAAC,CAAC,MAAM,CAC9D,CAAC,KAAmC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACpD,MAAM,QAAQ,GAAI,IAA0B,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,CAChC,CAAC;QACF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,EAAE,CACH,CAAC;IAEF,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM;QACpD,MAAM,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAC;IAC7E,OAAO;QACL,EAAE,EAAE,MAAiB;QACrB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW,CACzB,KAAQ,EACR,WAAW,GAAG,KAAK;IAEnB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,WAAW;QAChD,MAAM,IAAI,aAAa,CACrB,qDAAqD,MAAgB,EAAE,CACxE,CAAC;IACJ,OAAO,OAAmC,CAAC;AAC7C,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -15,5 +15,5 @@ export * from "./validation/index.js";
|
|
|
15
15
|
* @const VERSION
|
|
16
16
|
* @memberOf module:db-decorators
|
|
17
17
|
*/
|
|
18
|
-
export const VERSION = "0.6.
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
export const VERSION = "0.6.11";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oCAA2B;AAC3B,sCAA6B;AAC7B,iCAAwB;AACxB,sCAA6B;AAC7B,sCAA6B;AAC7B,sCAA6B;AAE7B;;;;GAIG;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=BulkCrudOperator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkCrudOperator.js","sourceRoot":"","sources":["../../../src/interfaces/BulkCrudOperator.ts"],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=Contextual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Contextual.js","sourceRoot":"","sources":["../../../src/interfaces/Contextual.ts"],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=CrudOperator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrudOperator.js","sourceRoot":"","sources":["../../../src/interfaces/CrudOperator.ts"],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=IRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IRepository.js","sourceRoot":"","sources":["../../../src/interfaces/IRepository.ts"],"names":[],"mappings":""}
|
|
@@ -2,4 +2,4 @@ export * from "./BulkCrudOperator.js";
|
|
|
2
2
|
export * from "./Contextual.js";
|
|
3
3
|
export * from "./CrudOperator.js";
|
|
4
4
|
export * from "./IRepository.js";
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,sCAAmC;AACnC,gCAA6B;AAC7B,kCAA+B;AAC/B,iCAA8B"}
|
|
@@ -35,4 +35,4 @@ export const DefaultSeparator = "_";
|
|
|
35
35
|
* @memberOf module:db-decorators
|
|
36
36
|
*/
|
|
37
37
|
export const DEFAULT_TIMESTAMP_FORMAT = "dd/MM/yyyy HH:mm:ss:S";
|
|
38
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,cAAc;IAC3C,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,eAAe;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC"}
|
|
@@ -219,4 +219,4 @@ export function transient() {
|
|
|
219
219
|
})
|
|
220
220
|
.apply();
|
|
221
221
|
}
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQW9CO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFFUCxZQUFZLEVBQ1osSUFBSSxHQUNMLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLHNDQUFpQztBQUU5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtDQUE2QjtBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLHNDQUFpQztBQUV0RCxPQUFPLEVBQTZCLGFBQWEsRUFBRSxpQ0FBc0I7QUFHekU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBTXZCLE9BQVUsRUFBRSxJQUFPLEVBQUUsR0FBWSxFQUFFLEtBQVEsRUFBRSxRQUFZO0lBQ2xFLElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssV0FBVztRQUFFLE9BQU87SUFDOUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxJQUFJLFFBQVEsSUFBSyxLQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSTtRQUFFLE9BQU87SUFDckQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNwQixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLElBQUk7SUFDbEIsT0FBTyxLQUFLLENBQ1YsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJ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QUN2QixNQUFNLENBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFDakIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNuRCxRQUFRLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ25ELFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQ3hCO1NBQ0EsS0FBSyxFQUFFLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFNBQVM7SUFDdkIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztTQUN2QixNQUFNLENBQUMsU0FBUyxTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWM7UUFDbkQsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2RSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztTQUNELEtBQUssRUFBRSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERCS2V5cywgRGVmYXVsdFNlcGFyYXRvciB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgYXBwbHkgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7XG4gIERlY29yYXRpb24sXG4gIEhhc2hpbmcsXG4gIE1vZGVsLFxuICBwcm9wTWV0YWRhdGEsXG4gIHR5cGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG9uQ3JlYXRlLCBvbkNyZWF0ZVVwZGF0ZSwgb25VcGRhdGUgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBJUmVwb3NpdG9yeSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL0lSZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvZXJyb3JzXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvUmVwb3NpdG9yeVwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L0NvbnRleHRcIjtcbmltcG9ydCB7IENydWRPcGVyYXRpb25zLCBHcm91cFNvcnQsIE9wZXJhdGlvbktleXMgfSBmcm9tIFwiLi4vb3BlcmF0aW9uc1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeUZsYWdzIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSGFzaGVzIGEgcHJvcGVydHkgdmFsdWUgZHVyaW5nIGNyZWF0ZSBvciB1cGRhdGUgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgQ2FsbGJhY2sgZnVuY3Rpb24gdXNlZCBieSB0aGUgaGFzaCBkZWNvcmF0b3IgdG8gYXBwbHkgaGFzaGluZyB0byBhIHByb3BlcnR5IHZhbHVlXG4gKiBAdGVtcGxhdGUgTSAtIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gKiBAdGVtcGxhdGUgUiAtIFR5cGUgZXh0ZW5kaW5nIElSZXBvc2l0b3J5XG4gKiBAdGVtcGxhdGUgViAtIFR5cGUgZm9yIG1ldGFkYXRhXG4gKiBAdGVtcGxhdGUgRiAtIFR5cGUgZXh0ZW5kaW5nIFJlcG9zaXRvcnlGbGFnc1xuICogQHRlbXBsYXRlIEMgLSBUeXBlIGV4dGVuZGluZyBDb250ZXh0XG4gKiBAcGFyYW0ge0N9IGNvbnRleHQgLSBUaGUgb3BlcmF0aW9uIGNvbnRleHRcbiAqIEBwYXJhbSB7Vn0gZGF0YSAtIE1ldGFkYXRhIGZvciB0aGUgb3BlcmF0aW9uXG4gKiBAcGFyYW0ga2V5IC0gVGhlIHByb3BlcnR5IGtleSB0byBoYXNoXG4gKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIGJlaW5nIHByb2Nlc3NlZFxuICogQHBhcmFtIHtNfSBbb2xkTW9kZWxdIC0gVGhlIHByZXZpb3VzIG1vZGVsIHN0YXRlIChmb3IgdXBkYXRlcylcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAZnVuY3Rpb24gaGFzaE9uQ3JlYXRlVXBkYXRlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRiLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hPbkNyZWF0ZVVwZGF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgSVJlcG9zaXRvcnk8TSwgRiwgQz4sXG4gIFYgZXh0ZW5kcyBvYmplY3QsXG4gIEYgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MgPSBSZXBvc2l0b3J5RmxhZ3MsXG4gIEMgZXh0ZW5kcyBDb250ZXh0PEY+ID0gQ29udGV4dDxGPixcbj4odGhpczogUiwgY29udGV4dDogQywgZGF0YTogViwga2V5OiBrZXlvZiBNLCBtb2RlbDogTSwgb2xkTW9kZWw/OiBNKTogdm9pZCB7XG4gIGlmICh0eXBlb2YgbW9kZWxba2V5XSA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xuICBjb25zdCBoYXNoID0gSGFzaGluZy5oYXNoKChtb2RlbCBhcyBhbnkpW2tleV0pO1xuICBpZiAob2xkTW9kZWwgJiYgKG1vZGVsIGFzIGFueSlba2V5XSA9PT0gaGFzaCkgcmV0dXJuO1xuICBtb2RlbFtrZXldID0gaGFzaDtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGRlY29yYXRvciB0aGF0IGhhc2hlcyBhIHByb3BlcnR5IHZhbHVlXG4gKiBAc3VtbWFyeSBEZWNvcmF0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IGhhc2hlcyBhIHByb3BlcnR5IHZhbHVlIGR1cmluZyBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zXG4gKiBAcmV0dXJuIHtQcm9wZXJ0eURlY29yYXRvcn0gQSBkZWNvcmF0b3IgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBjbGFzcyBwcm9wZXJ0aWVzXG4gKiBAZnVuY3Rpb24gaGFzaFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2goKSB7XG4gIHJldHVybiBhcHBseShcbiAgICBvbkNyZWF0ZVVwZGF0ZShoYXNoT25DcmVhdGVVcGRhdGUpLFxuICAgIHByb3BNZXRhZGF0YShSZXBvc2l0b3J5LmtleShEQktleXMuSEFTSCksIHt9KVxuICApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNZXRhZGF0YSBmb3IgY29tcG9zZWQgcHJvcGVydHkgZGVjb3JhdG9yc1xuICogQHN1bW1hcnkgQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBwcm9wZXJ0eSBjb21wb3NpdGlvbiBmcm9tIG90aGVyIHByb3BlcnRpZXNcbiAqIEB0eXBlZGVmIHtPYmplY3R9IENvbXBvc2VkRnJvbU1ldGFkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBhcmdzIC0gUHJvcGVydHkgbmFtZXMgdG8gY29tcG9zZSBmcm9tXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc2VwYXJhdG9yIC0gQ2hhcmFjdGVyIHVzZWQgdG8gam9pbiB0aGUgY29tcG9zZWQgdmFsdWVzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhhc2hSZXN1bHQgLSBXaGV0aGVyIHRvIGhhc2ggdGhlIGNvbXBvc2VkIHJlc3VsdFxuICogQHByb3BlcnR5IHtcImtleXNcInxcInZhbHVlc1wifSB0eXBlIC0gV2hldGhlciB0byB1c2UgcHJvcGVydHkga2V5cyBvciB2YWx1ZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcHJlZml4XSAtIE9wdGlvbmFsIHByZWZpeCB0byBhZGQgdG8gdGhlIGNvbXBvc2VkIHZhbHVlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N1ZmZpeF0gLSBPcHRpb25hbCBzdWZmaXggdG8gYWRkIHRvIHRoZSBjb21wb3NlZCB2YWx1ZVxuICogQG1lbWJlck9mIG1vZHVsZTpkYi1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvc2VkRnJvbU1ldGFkYXRhID0ge1xuICBhcmdzOiBzdHJpbmdbXTtcbiAgc2VwYXJhdG9yOiBzdHJpbmc7XG4gIGhhc2hSZXN1bHQ6IGJvb2xlYW47XG4gIHR5cGU6IFwia2V5c1wiIHwgXCJ2YWx1ZXNcIjtcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb3NlcyBhIHByb3BlcnR5IHZhbHVlIGZyb20gb3RoZXIgcHJvcGVydGllcyBkdXJpbmcgY3JlYXRlIG9yIHVwZGF0ZSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIGJ5IGNvbXBvc2VkIGRlY29yYXRvcnMgdG8gZ2VuZXJhdGUgYSBwcm9wZXJ0eSB2YWx1ZSBmcm9tIG90aGVyIHByb3BlcnRpZXNcbiAqIEB0ZW1wbGF0ZSBNIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAqIEB0ZW1wbGF0ZSBSIC0gVHlwZSBleHRlbmRpbmcgSVJlcG9zaXRvcnlcbiAqIEB0ZW1wbGF0ZSBWIC0gVHlwZSBleHRlbmRpbmcgQ29tcG9zZWRGcm9tTWV0YWRhdGFcbiAqIEB0ZW1wbGF0ZSBGIC0gVHlwZSBleHRlbmRpbmcgUmVwb3NpdG9yeUZsYWdzXG4gKiBAdGVtcGxhdGUgQyAtIFR5cGUgZXh0ZW5kaW5nIENvbnRleHRcbiAqIEBwYXJhbSB7Q30gY29udGV4dCAtIFRoZSBvcGVyYXRpb24gY29udGV4dFxuICogQHBhcmFtIHtWfSBkYXRhIC0gTWV0YWRhdGEgZm9yIHRoZSBjb21wb3NpdGlvblxuICogQHBhcmFtIGtleSAtIFRoZSBwcm9wZXJ0eSBrZXkgdG8gc2V0IHRoZSBjb21wb3NlZCB2YWx1ZSBvblxuICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBiZWluZyBwcm9jZXNzZWRcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAZnVuY3Rpb24gY29tcG9zZWRGcm9tQ3JlYXRlVXBkYXRlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRiLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvc2VkRnJvbUNyZWF0ZVVwZGF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgSVJlcG9zaXRvcnk8TSwgRiwgQz4sXG4gIFYgZXh0ZW5kcyBDb21wb3NlZEZyb21NZXRhZGF0YSxcbiAgRiBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyA9IFJlcG9zaXRvcnlGbGFncyxcbiAgQyBleHRlbmRzIENvbnRleHQ8Rj4gPSBDb250ZXh0PEY+LFxuPih0aGlzOiBSLCBjb250ZXh0OiBDLCBkYXRhOiBWLCBrZXk6IGtleW9mIE0sIG1vZGVsOiBNKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgeyBhcmdzLCB0eXBlLCBwcmVmaXgsIHN1ZmZpeCwgc2VwYXJhdG9yIH0gPSBkYXRhO1xuICAgIGNvbnN0IGNvbXBvc2VkID0gYXJncy5tYXAoKGFyZzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIShhcmcgaW4gbW9kZWwpKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgUHJvcGVydHkgJHthcmd9IG5vdCBmb3VuZCB0byBjb21wb3NlIGZyb21gKTtcbiAgICAgIGlmICh0eXBlID09PSBcImtleXNcIikgcmV0dXJuIGFyZztcbiAgICAgIGlmICh0eXBlb2YgKG1vZGVsIGFzIGFueSlbYXJnXSA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYFByb3BlcnR5ICR7YXJnc30gZG9lcyBub3QgY29udGFpbiBhIHZhbHVlIHRvIGNvbXBvc2UgZnJvbWBcbiAgICAgICAgKTtcbiAgICAgIHJldHVybiAoKG1vZGVsIGFzIGFueSlbYXJnXSBhcyBhbnkpLnRvU3RyaW5nKCk7XG4gICAgfSk7XG5cbiAgICBpZiAocHJlZml4KSBjb21wb3NlZC51bnNoaWZ0KHByZWZpeCk7XG4gICAgaWYgKHN1ZmZpeCkgY29tcG9zZWQucHVzaChzdWZmaXgpO1xuXG4gICAgKG1vZGVsIGFzIGFueSlba2V5XSA9IGNvbXBvc2VkLmpvaW4oc2VwYXJhdG9yKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBjb21wb3NlIHZhbHVlOiAke2V9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGRlY29yYXRvciB0aGF0IGNvbXBvc2VzIGEgcHJvcGVydHkgdmFsdWUgZnJvbSBvdGhlciBwcm9wZXJ0aWVzXG4gKiBAc3VtbWFyeSBCYXNlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyBwcm9wZXJ0eSBjb21wb3NpdGlvbiBkZWNvcmF0b3JzXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzIC0gUHJvcGVydHkgbmFtZXMgdG8gY29tcG9zZSBmcm9tXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtoYXNoUmVzdWx0PWZhbHNlXSAtIFdoZXRoZXIgdG8gaGFzaCB0aGUgY29tcG9zZWQgcmVzdWx0XG4gKiBAcGFyYW0ge3N0cmluZ30gW3NlcGFyYXRvcj1EZWZhdWx0U2VwYXJhdG9yXSAtIENoYXJhY3RlciB1c2VkIHRvIGpvaW4gdGhlIGNvbXBvc2VkIHZhbHVlc1xuICogQHBhcmFtIHtcImtleXNcInxcInZhbHVlc1wifSBbdHlwZT1cInZhbHVlc1wiXSAtIFdoZXRoZXIgdG8gdXNlIHByb3BlcnR5IGtleXMgb3IgdmFsdWVzXG4gKiBAcGFyYW0ge3N0cmluZ30gW3ByZWZpeD1cIlwiXSAtIE9wdGlvbmFsIHByZWZpeCB0byBhZGQgdG8gdGhlIGNvbXBvc2VkIHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW3N1ZmZpeD1cIlwiXSAtIE9wdGlvbmFsIHN1ZmZpeCB0byBhZGQgdG8gdGhlIGNvbXBvc2VkIHZhbHVlXG4gKiBAcGFyYW0ge0dyb3VwU29ydH0gZ3JvdXBzb3J0IC0gR3JvdXBTb3J0IGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm4ge1Byb3BlcnR5RGVjb3JhdG9yfSBBIGRlY29yYXRvciB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGNsYXNzIHByb3BlcnRpZXNcbiAqIEBmdW5jdGlvbiBjb21wb3NlZEZyb21cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eURlY29yYXRvcnNcbiAqL1xuZnVuY3Rpb24gY29tcG9zZWRGcm9tKFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgaGFzaFJlc3VsdDogYm9vbGVhbiA9IGZhbHNlLFxuICBzZXBhcmF0b3I6IHN0cmluZyA9IERlZmF1bHRTZXBhcmF0b3IsXG4gIHR5cGU6IFwia2V5c1wiIHwgXCJ2YWx1ZXNcIiA9IFwidmFsdWVzXCIsXG4gIHByZWZpeCA9IFwiXCIsXG4gIHN1ZmZpeCA9IFwiXCIsXG4gIGdyb3Vwc29ydDogR3JvdXBTb3J0ID0geyBwcmlvcml0eTogNTUgfVxuKSB7XG4gIGNvbnN0IGRhdGE6IENvbXBvc2VkRnJvbU1ldGFkYXRhID0ge1xuICAgIGFyZ3M6IGFyZ3MsXG4gICAgaGFzaFJlc3VsdDogaGFzaFJlc3VsdCxcbiAgICBzZXBhcmF0b3I6IHNlcGFyYXRvcixcbiAgICB0eXBlOiB0eXBlLFxuICAgIHByZWZpeDogcHJlZml4LFxuICAgIHN1ZmZpeDogc3VmZml4LFxuICB9O1xuXG4gIGNvbnN0IGRlY29yYXRvcnMgPSBbXG4gICAgb25DcmVhdGVVcGRhdGUoY29tcG9zZWRGcm9tQ3JlYXRlVXBkYXRlLCBkYXRhLCBncm91cHNvcnQpLFxuICAgIHByb3BNZXRhZGF0YShSZXBvc2l0b3J5LmtleShEQktleXMuQ09NUE9TRUQpLCBkYXRhKSxcbiAgXTtcbiAgaWYgKGhhc2hSZXN1bHQpIGRlY29yYXRvcnMucHVzaChoYXNoKCkpO1xuICByZXR1cm4gYXBwbHkoLi4uZGVjb3JhdG9ycyk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBkZWNvcmF0b3IgdGhhdCBjb21wb3NlcyBhIHByb3BlcnR5IHZhbHVlIGZyb20gcHJvcGVydHkga2V5c1xuICogQHN1bW1hcnkgRGVjb3JhdG9yIHRoYXQgZ2VuZXJhdGVzIGEgcHJvcGVydHkgdmFsdWUgYnkgam9pbmluZyB0aGUgbmFtZXMgb2Ygb3RoZXIgcHJvcGVydGllc1xuICogQHBhcmFtIHtzdHJpbmdbXX0gYXJncyAtIFByb3BlcnR5IG5hbWVzIHRvIGNvbXBvc2UgZnJvbVxuICogQHBhcmFtIHtzdHJpbmd9IFtzZXBhcmF0b3I9RGVmYXVsdFNlcGFyYXRvcl0gLSBDaGFyYWN0ZXIgdXNlZCB0byBqb2luIHRoZSBwcm9wZXJ0eSBuYW1lc1xuICogQHBhcmFtIHtib29sZWFufSBbaGFzaD1mYWxzZV0gLSBXaGV0aGVyIHRvIGhhc2ggdGhlIGNvbXBvc2VkIHJlc3VsdFxuICogQHBhcmFtIHtzdHJpbmd9IFtwcmVmaXg9XCJcIl0gLSBPcHRpb25hbCBwcmVmaXggdG8gYWRkIHRvIHRoZSBjb21wb3NlZCB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd9IFtzdWZmaXg9XCJcIl0gLSBPcHRpb25hbCBzdWZmaXggdG8gYWRkIHRvIHRoZSBjb21wb3NlZCB2YWx1ZVxuICogQHBhcmFtIHtHcm91cFNvcnR9IGdyb3Vwc29ydCAtIEdyb3VwU29ydCBjb25maWd1cmF0aW9uXG4gKiBAcmV0dXJuIHtQcm9wZXJ0eURlY29yYXRvcn0gQSBkZWNvcmF0b3IgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBjbGFzcyBwcm9wZXJ0aWVzXG4gKiBAZnVuY3Rpb24gY29tcG9zZWRGcm9tS2V5c1xuICogQGNhdGVnb3J5IFByb3BlcnR5RGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcG9zZWRGcm9tS2V5cyhcbiAgYXJnczogc3RyaW5nW10sXG4gIHNlcGFyYXRvcjogc3RyaW5nID0gRGVmYXVsdFNlcGFyYXRvcixcbiAgaGFzaDogYm9vbGVhbiA9IGZhbHNlLFxuICBwcmVmaXggPSBcIlwiLFxuICBzdWZmaXggPSBcIlwiLFxuICBncm91cHNvcnQ6IEdyb3VwU29ydCA9IHsgcHJpb3JpdHk6IDU1IH1cbikge1xuICByZXR1cm4gY29tcG9zZWRGcm9tKGFyZ3MsIGhhc2gsIHNlcGFyYXRvciwgXCJrZXlzXCIsIHByZWZpeCwgc3VmZml4LCBncm91cHNvcnQpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgZGVjb3JhdG9yIHRoYXQgY29tcG9zZXMgYSBwcm9wZXJ0eSB2YWx1ZSBmcm9tIHByb3BlcnR5IHZhbHVlc1xuICogQHN1bW1hcnkgRGVjb3JhdG9yIHRoYXQgZ2VuZXJhdGVzIGEgcHJvcGVydHkgdmFsdWUgYnkgam9pbmluZyB0aGUgdmFsdWVzIG9mIG90aGVyIHByb3BlcnRpZXNcbiAqIEBwYXJhbSB7c3RyaW5nW119IGFyZ3MgLSBQcm9wZXJ0eSBuYW1lcyB3aG9zZSB2YWx1ZXMgd2lsbCBiZSBjb21wb3NlZFxuICogQHBhcmFtIHtzdHJpbmd9IFtzZXBhcmF0b3I9RGVmYXVsdFNlcGFyYXRvcl0gLSBDaGFyYWN0ZXIgdXNlZCB0byBqb2luIHRoZSBwcm9wZXJ0eSB2YWx1ZXNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2hhc2g9ZmFsc2VdIC0gV2hldGhlciB0byBoYXNoIHRoZSBjb21wb3NlZCByZXN1bHRcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJlZml4PVwiXCJdIC0gT3B0aW9uYWwgcHJlZml4IHRvIGFkZCB0byB0aGUgY29tcG9zZWQgdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3VmZml4PVwiXCJdIC0gT3B0aW9uYWwgc3VmZml4IHRvIGFkZCB0byB0aGUgY29tcG9zZWQgdmFsdWVcbiAqIEBwYXJhbSB7R3JvdXBTb3J0fSBncm91cHNvcnQgLSBHcm91cFNvcnQgY29uZmlndXJhdGlvblxuICogQHJldHVybiB7UHJvcGVydHlEZWNvcmF0b3J9IEEgZGVjb3JhdG9yIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gY2xhc3MgcHJvcGVydGllc1xuICogQGZ1bmN0aW9uIGNvbXBvc2VkXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHlEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wb3NlZChcbiAgYXJnczogc3RyaW5nW10sXG4gIHNlcGFyYXRvcjogc3RyaW5nID0gRGVmYXVsdFNlcGFyYXRvcixcbiAgaGFzaDogYm9vbGVhbiA9IGZhbHNlLFxuICBwcmVmaXggPSBcIlwiLFxuICBzdWZmaXggPSBcIlwiLFxuICBncm91cHNvcnQ6IEdyb3VwU29ydCA9IHsgcHJpb3JpdHk6IDU1IH1cbikge1xuICByZXR1cm4gY29tcG9zZWRGcm9tKFxuICAgIGFyZ3MsXG4gICAgaGFzaCxcbiAgICBzZXBhcmF0b3IsXG4gICAgXCJ2YWx1ZXNcIixcbiAgICBwcmVmaXgsXG4gICAgc3VmZml4LFxuICAgIGdyb3Vwc29ydFxuICApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCB1cGRhdGVzIGEgdmVyc2lvbiBwcm9wZXJ0eSBkdXJpbmcgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgRmFjdG9yeSBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyBhIGNhbGxiYWNrIGZvciBpbmNyZW1lbnRpbmcgdmVyc2lvbiBudW1iZXJzXG4gKiBAcGFyYW0ge0NydWRPcGVyYXRpb25zfSBvcGVyYXRpb24gLSBUaGUgdHlwZSBvZiBvcGVyYXRpb24gKENSRUFURSBvciBVUERBVEUpXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHVwZGF0ZXMgdGhlIHZlcnNpb24gcHJvcGVydHlcbiAqIEB0ZW1wbGF0ZSBNIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAqIEB0ZW1wbGF0ZSBSIC0gVHlwZSBleHRlbmRpbmcgSVJlcG9zaXRvcnlcbiAqIEB0ZW1wbGF0ZSBWIC0gVHlwZSBmb3IgbWV0YWRhdGFcbiAqIEB0ZW1wbGF0ZSBGIC0gVHlwZSBleHRlbmRpbmcgUmVwb3NpdG9yeUZsYWdzXG4gKiBAdGVtcGxhdGUgQyAtIFR5cGUgZXh0ZW5kaW5nIENvbnRleHRcbiAqIEBmdW5jdGlvbiB2ZXJzaW9uQ3JlYXRlVXBkYXRlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRiLWRlY29yYXRvcnNcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4gKiAgIHBhcnRpY2lwYW50IHZlcnNpb25DcmVhdGVVcGRhdGVcbiAqXG4gKiAgIENhbGxlci0+PnZlcnNpb25DcmVhdGVVcGRhdGU6IG9wZXJhdGlvblxuICogICB2ZXJzaW9uQ3JlYXRlVXBkYXRlLS0+PkNhbGxlcjogY2FsbGJhY2sgZnVuY3Rpb25cbiAqICAgTm90ZSBvdmVyIENhbGxlcix2ZXJzaW9uQ3JlYXRlVXBkYXRlOiBXaGVuIGNhbGxiYWNrIGlzIGV4ZWN1dGVkOlxuICogICBDYWxsZXItPj52ZXJzaW9uQ3JlYXRlVXBkYXRlOiBjb250ZXh0LCBkYXRhLCBrZXksIG1vZGVsXG4gKiAgIGFsdCBvcGVyYXRpb24gaXMgQ1JFQVRFXG4gKiAgICAgdmVyc2lvbkNyZWF0ZVVwZGF0ZS0+PnZlcnNpb25DcmVhdGVVcGRhdGU6IHNldCB2ZXJzaW9uIHRvIDFcbiAqICAgZWxzZSBvcGVyYXRpb24gaXMgVVBEQVRFXG4gKiAgICAgdmVyc2lvbkNyZWF0ZVVwZGF0ZS0+PnZlcnNpb25DcmVhdGVVcGRhdGU6IGluY3JlbWVudCB2ZXJzaW9uXG4gKiAgIGVsc2UgaW52YWxpZCBvcGVyYXRpb25cbiAqICAgICB2ZXJzaW9uQ3JlYXRlVXBkYXRlLT4+dmVyc2lvbkNyZWF0ZVVwZGF0ZTogdGhyb3cgZXJyb3JcbiAqICAgZW5kXG4gKiAgIHZlcnNpb25DcmVhdGVVcGRhdGUtLT4+Q2FsbGVyOiB2b2lkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJzaW9uQ3JlYXRlVXBkYXRlKG9wZXJhdGlvbjogQ3J1ZE9wZXJhdGlvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHZlcnNpb25DcmVhdGVVcGRhdGU8XG4gICAgTSBleHRlbmRzIE1vZGVsLFxuICAgIFIgZXh0ZW5kcyBJUmVwb3NpdG9yeTxNLCBGLCBDPixcbiAgICBWIGV4dGVuZHMgb2JqZWN0LFxuICAgIEYgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MgPSBSZXBvc2l0b3J5RmxhZ3MsXG4gICAgQyBleHRlbmRzIENvbnRleHQ8Rj4gPSBDb250ZXh0PEY+LFxuICA+KHRoaXM6IFIsIGNvbnRleHQ6IEMsIGRhdGE6IFYsIGtleToga2V5b2YgTSwgbW9kZWw6IE0pIHtcbiAgICB0cnkge1xuICAgICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgICAgY2FzZSBPcGVyYXRpb25LZXlzLkNSRUFURTpcbiAgICAgICAgICAobW9kZWwgYXMgYW55KVtrZXldID0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBPcGVyYXRpb25LZXlzLlVQREFURTpcbiAgICAgICAgICAobW9kZWwgYXMgYW55KVtrZXldKys7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEludmFsaWQgb3BlcmF0aW9uOiAke29wZXJhdGlvbn1gKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIHVwZGF0ZSB2ZXJzaW9uOiAke2V9YCk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgZGVjb3JhdG9yIGZvciB2ZXJzaW9uaW5nIGEgcHJvcGVydHkgaW4gYSBtb2RlbFxuICogQHN1bW1hcnkgVGhpcyBkZWNvcmF0b3IgYXBwbGllcyBtdWx0aXBsZSBzdWItZGVjb3JhdG9ycyB0byBoYW5kbGUgdmVyc2lvbiBtYW5hZ2VtZW50IGR1cmluZyBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zXG4gKiBAcmV0dXJuIHtQcm9wZXJ0eURlY29yYXRvcn0gQSBjb21wb3NpdGUgZGVjb3JhdG9yIHRoYXQgc2V0cyB0aGUgdHlwZSB0byBOdW1iZXIsIG1hbmFnZXMgdmVyc2lvbiB1cGRhdGVzLCBhbmQgYWRkcyB2ZXJzaW9uaW5nIG1ldGFkYXRhXG4gKiBAZnVuY3Rpb24gdmVyc2lvblxuICogQGNhdGVnb3J5IFByb3BlcnR5RGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyc2lvbigpIHtcbiAgY29uc3Qga2V5ID0gUmVwb3NpdG9yeS5rZXkoREJLZXlzLlZFUlNJT04pO1xuICByZXR1cm4gRGVjb3JhdGlvbi5mb3Ioa2V5KVxuICAgIC5kZWZpbmUoXG4gICAgICB0eXBlKE51bWJlci5uYW1lKSxcbiAgICAgIG9uQ3JlYXRlKHZlcnNpb25DcmVhdGVVcGRhdGUoT3BlcmF0aW9uS2V5cy5DUkVBVEUpKSxcbiAgICAgIG9uVXBkYXRlKHZlcnNpb25DcmVhdGVVcGRhdGUoT3BlcmF0aW9uS2V5cy5VUERBVEUpKSxcbiAgICAgIHByb3BNZXRhZGF0YShrZXksIHRydWUpXG4gICAgKVxuICAgIC5hcHBseSgpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgZGVjb3JhdG9yIHRoYXQgbWFya3MgYSBwcm9wZXJ0eSBhcyB0cmFuc2llbnRcbiAqIEBzdW1tYXJ5IERlY29yYXRvciB0aGF0IGluZGljYXRlcyBhIHByb3BlcnR5IHNob3VsZCBub3QgYmUgcGVyc2lzdGVkIHRvIHRoZSBkYXRhYmFzZVxuICogQHJldHVybiB7UHJvcGVydHlEZWNvcmF0b3J9IEEgZGVjb3JhdG9yIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gY2xhc3MgcHJvcGVydGllc1xuICogQGZ1bmN0aW9uIHRyYW5zaWVudFxuICogQGNhdGVnb3J5IFByb3BlcnR5RGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNpZW50KCkge1xuICBjb25zdCBrZXkgPSBSZXBvc2l0b3J5LmtleShEQktleXMuVFJBTlNJRU5UKTtcbiAgcmV0dXJuIERlY29yYXRpb24uZm9yKGtleSlcbiAgICAuZGVmaW5lKGZ1bmN0aW9uIHRyYW5zaWVudChtb2RlbDogYW55LCBhdHRyaWJ1dGU6IGFueSkge1xuICAgICAgcHJvcE1ldGFkYXRhKFJlcG9zaXRvcnkua2V5KERCS2V5cy5UUkFOU0lFTlQpLCB0cnVlKShtb2RlbCwgYXR0cmlidXRlKTtcbiAgICAgIHByb3BNZXRhZGF0YShSZXBvc2l0b3J5LmtleShEQktleXMuVFJBTlNJRU5UKSwgdHJ1ZSkobW9kZWwuY29uc3RydWN0b3IpO1xuICAgIH0pXG4gICAgLmFwcGx5KCk7XG59XG4iXX0=
|
|
222
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/model/index.js
CHANGED
|
@@ -4,4 +4,4 @@ export * from "./decorators.js";
|
|
|
4
4
|
export * from "./model.js";
|
|
5
5
|
export * from "./overrides.js";
|
|
6
6
|
export * from "./utils.js";
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,+BAA4B;AAC5B,gCAA6B;AAC7B,2BAAwB;AACxB,+BAA4B;AAC5B,2BAAwB"}
|
package/lib/esm/model/model.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model/model.ts"],"names":[],"mappings":""}
|
|
@@ -30,4 +30,4 @@ Model.prototype.hasErrors = function (previousVersion, ...exclusions) {
|
|
|
30
30
|
// @ts-expect-error Overriding Model prototype method with dynamic conditional return type.
|
|
31
31
|
return validateCompare(previousVersion, this, async, ...exclusions);
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=
|
|
33
|
+
//# sourceMappingURL=overrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/model/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAE/C;;;;;;;;;GASG;AACH,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,UAE1B,eAAyB,EACzB,GAAG,UAAiB;IAEpB,IAAI,eAAe,IAAI,CAAC,CAAC,eAAe,YAAY,KAAK,CAAC,EAAE,CAAC;QAC3D,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpC,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YACjD,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,OAAO,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC,CAAQ,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,eAAe;QAAE,OAAO,IAAW,CAAC;IAEjD,2FAA2F;IAC3F,OAAO,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;AACtE,CAAC,CAAC"}
|
package/lib/esm/model/utils.js
CHANGED
|
@@ -68,4 +68,4 @@ export function modelToTransient(model) {
|
|
|
68
68
|
result.model = Model.build(result.model, model.constructor.name);
|
|
69
69
|
return result;
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/model/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,UAAU,EACV,kBAAkB,GACnB,iCAAsB;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,uBAAoB;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAkB,KAAQ;IACnD,OAAO,CAAC,CAAC,CACP,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;QACxE,OAAO,CAAC,WAAW,CACjB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAChC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAQ,CACzC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAQ;IAER,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjD,MAAM,IAAI,GAA0B,iCAAiC,CACnE,KAAK,EACL,SAAS,EACT,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CACR,CAAC;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CACxC,CACE,KAAsE,EACtE,CAAC,CAAC,EAAE,GAAG,CAAC,EACR,EAAE;QACF,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAY,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,CAAC,KAAK,CAAC,EAAE,CACpD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAI,KAA6B,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,EAAqE,CACtE,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,MAAuD,CAAC;AACjE,CAAC"}
|