@decaf-ts/decoration 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var t,e;t=this,e=function(t){"use strict";const e="decaf",r=".";var o,a;t.DecorationKeys=void 0,(o=t.DecorationKeys||(t.DecorationKeys={})).LIBRARIES="libraries",o.REFLECT="__decaf",o.PROPERTIES="properties",o.METHODS="methods",o.CLASS="class",o.DESCRIPTION="description",o.CONSTRUCTOR="__original",o.PARAMETERS="parameters",o.FLAVOUR="flavour",o.DECORATION="decoration",o.DESIGN_TYPE="design:type",o.DESIGN_PARAMS="design:paramtypes",o.DESIGN_RETURN="design:returntype",t.DecorationState=void 0,(a=t.DecorationState||(t.DecorationState={})).PENDING="pending",a.ONGOING="ongoing";const i={[t.DecorationKeys.PROPERTIES]:[]},n="##VERSION##",s="##PACKAGE##";function c(t,e,o=r){const a=e.split(o);let i=t;for(const t of a){if(null==i||!Object.prototype.hasOwnProperty.call(i,t))return;i=i[t]}return i}function l(t,e,o,a=r){const i=e.split(a).filter(t=>t.length>0);if(0===i.length)return;let n=t;for(let t=0;t<i.length-1;t++){const e=i[t];void 0!==n[e]&&null!==n[e]&&"object"==typeof n[e]||(n[e]={}),n=n[e]}n[i[i.length-1]]=o}class d{static{this._metadata={}}static{this.splitter=r}static{this.baseKey=t.DecorationKeys.REFLECT}static{this.mirror=!0}constructor(){}static Symbol(t){return Symbol.for([t.toString(),t.name].join(" - "))}static properties(t){const e=this.get(t);if(e&&e.properties)return Object.keys(e.properties)}static methods(e){const r=this.get(e,t.DecorationKeys.METHODS);if(r)return Object.keys(r)}static description(e,r){return this.get(e,this.key(t.DecorationKeys.DESCRIPTION,r||t.DecorationKeys.CLASS))}static flavourOf(t){return E.flavourResolver(t)}static flavouredAs(e){return this.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR),e)||[]}static registeredFlavour(r){const o=this.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR));if(!o)return;const a=this.constr(r);let i;for(const[t,r]of Object.entries(o))if(Array.isArray(r)&&r.some(t=>this.constr(t)===a)){if(t===e){i=i||t;continue}return t}return i}static params(e,r){return this.get(e,this.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_PARAMS))}static param(t,e,r){const o=this.params(t,e);if(o){if(r>o.length-1)throw Error(`Parameter index ${r} out of range for ${e+""}`);return o[r]}}static return(e,r){return this.get(e,this.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_RETURN))}static type(e,r){return this.get(e,this.key(t.DecorationKeys.PROPERTIES,r))}static constr(e){return e[t.DecorationKeys.CONSTRUCTOR]||e}static get(e,r){if(r===t.DecorationKeys.CONSTRUCTOR)return this.constr(e);const o=this.constr(e),a=this.collectConstructorChain(o);if(a.filter(e=>this.isDecorated(e)===t.DecorationState.PENDING).forEach(t=>{E.resolvePendingDecorators(t)}),0===a.length){const t=Symbol.for(o.toString());return this.innerGet(t,r)}const i=a.map(t=>this.innerGet(this.Symbol(t),r)).filter(t=>void 0!==t);return 0!==i.length?this.mergeMetadataChain(i):void 0}static isDecorated(e){const r=this.constr(e);return this.innerGet(this.Symbol(r),t.DecorationKeys.DECORATION)||!1}static innerGet(t,e){if(this._metadata[t])return e?"string"==typeof e?c(this._metadata[t],e,this.splitter):this._metadata[t][e]:this._metadata[t]}static collectConstructorChain(t){const e=[];let r=t;for(;"function"==typeof r&&r!==Function;){e.push(r);const t=Object.getPrototypeOf(r);if(!t||t===Function||t===Object)break;r=t}return e.reverse()}static mergeMetadataChain(t){let e;for(const r of t)e=void 0!==e&&this.isPlainObject(e)&&this.isPlainObject(r)?this.mergePlainObjects(e,r):this.cloneMetadataValue(r);return e}static cloneMetadataValue(t){return Array.isArray(t)?[...t]:this.isPlainObject(t)?this.mergePlainObjects({},t):t}static mergePlainObjects(t,e){const r={...t};for(const t of Object.keys(e)){const o=e[t],a=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(a)?this.mergePlainObjects(a,o):this.mergePlainObjects({},o):r[t]=Array.isArray(o)?[...o]:o}return r}static isPlainObject(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}static innerSet(t,e,r){if(this._metadata[t]||(this._metadata[t]={}),"string"==typeof e)return l(this._metadata[t],e,r,this.splitter);this._metadata[t][e]=r}static set(e,r,o){if(r===t.DecorationKeys.CONSTRUCTOR)return void Object.defineProperty(e,t.DecorationKeys.CONSTRUCTOR,{enumerable:!1,configurable:!1,writable:!1,value:o});"string"!=typeof e&&(e=this.constr(e)||e);const a="string"==typeof e?Symbol.for(e):this.Symbol(e);this.innerSet(a,r,o),"string"!=typeof e&&d.mirror&&!Object.prototype.hasOwnProperty.call(e,this.baseKey)&&Object.defineProperty(e,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[a]})}static registerLibrary(e,r){const o=Symbol.for(t.DecorationKeys.LIBRARIES);if(this.innerGet(o,e))throw Error(`Library already ${e} registered with version ${r}`);this.innerSet(o,e,r)}static libraries(){const e=Symbol.for(t.DecorationKeys.LIBRARIES);return this.innerGet(e)||{}}static key(...t){return t.join(this.splitter)}}function f(t,e){return(r,o,a)=>{let i=r;o&&(i="function"==typeof r?r:r.constructor||r),d.set(i,t,e)}}function u(e){return r=>{const o=d.constr(r);if(((e,r)=>{const o=d.constr(e),a=d.innerGet(d.Symbol(e),t.DecorationKeys.FLAVOUR)||E.defaultFlavour,i=(d.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR),a)||[]).filter(t=>d.constr(t)!==o);d.set(t.DecorationKeys.FLAVOUR,a,i);const n=new Set(d.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR),r)||[]);n.add(e),d.set(t.DecorationKeys.FLAVOUR,r,[...n])})(r,e),d.set(o,t.DecorationKeys.FLAVOUR,e),e!==E.defaultFlavour)E.resolvePendingDecorators(o,e);else{let t;try{t=E.flavourResolver?E.flavourResolver(o):void 0}catch{t=void 0}t&&t!==E.defaultFlavour?E.resolvePendingDecorators(o,t):E.markPending(o)}return r}}function p(){return(e,r)=>{const o="function"==typeof e?e.prototype:e,a=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_TYPE,o,r);return f(d.key(t.DecorationKeys.PROPERTIES,r),a)(e,r)}}function y(){return(e,r,o)=>{if(!r)throw Error("The @param decorator can only be applied to methods");h()(e,r,Object.getOwnPropertyDescriptor(e,r));const a=d.params(e.constructor,r);if(!a)throw Error("Missing parameter types for "+r);if(o>=a.length)throw Error(`Parameter index ${o} out of range for ${r+""}`);f(d.key(t.DecorationKeys.METHODS,r,o.toString()),a[o])(e,r)}}function h(){return(e,r,o)=>{const a=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_PARAMS,e,r),i=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_RETURN,e,r);return g(f(d.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_PARAMS),a),f(d.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_RETURN),i))(e,r,o)}}function g(...t){return(e,r,o)=>{for(const a of t)e instanceof Function&&!o?a(e):a(e,r,o)}}function v(e){const r=d.constr("function"==typeof e?e:e?.constructor),o=d.innerGet(d.Symbol(r),t.DecorationKeys.FLAVOUR);if(o&&o!==E.defaultFlavour)return o;const a="function"==typeof d.registeredFlavour?d.registeredFlavour(r):void 0;return a&&a!==E.defaultFlavour?a:o??E.defaultFlavour}function D(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function O(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>O(t));if(t instanceof Date)return new Date(t.getTime());if(t instanceof Set)return new Set(Array.from(t).map(t=>O(t)));if(t instanceof Map)return new Map(Array.from(t.entries()).map(([t,e])=>[t,O(e)]));if(t.constructor!==Object)return t;const e={};return Reflect.ownKeys(t).forEach(r=>{e[r]=O(t[r])}),e}function S(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach(a=>{const i=!!t&&Object.prototype.hasOwnProperty.call(t,a),n=!!e&&Object.prototype.hasOwnProperty.call(e,a),s=i?t?.[a]:void 0,c=n?e?.[a]:void 0;if(n)return i?void(D(s)&&D(c)?S(s,c,[...r,a],o):s!==c&&o.push({path:[...r,a],previousValue:O(s),existed:!0})):D(c)?void S(void 0,c,[...r,a],o):void o.push({path:[...r,a],previousValue:void 0,existed:!1});o.push({path:[...r,a],previousValue:O(s),existed:!0})}),o}function b(t){if(!t)return;const e={};return Object.keys(t).forEach(r=>{e[r]=t[r].map(t=>"object"==typeof t&&null!==t?O(t):t)}),e}function m(t,e){let r=t;for(const t of e){if(!r||!D(r[t]))return;r=r[t]}return r}d.registerLibrary(s,n);class E{static{this.defaultFlavour=e}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=v}constructor(t=E.defaultFlavour){this.flavour=t}static getTargetState(t){if(!t)throw Error("Invalid target provided to Decoration state tracker");let e=this.targetStates.get(t);return e||(e={pending:[],flavour:void 0,directApply:!1},this.targetStates.set(t,e)),e}static applyPendingEntry(t,e){const r=d._metadata,o=d.Symbol(t.owner),a=void 0===t.metadataDiff?O(r[o]):void 0;try{if(void 0!==t.propertyKey&&void 0===t.descriptorSnapshot&&t.target){const e=Object.getOwnPropertyDescriptor(t.target,t.propertyKey);t.descriptorWasOwn=Object.prototype.hasOwnProperty.call(t.target,t.propertyKey),t.descriptorSnapshot=e?{...e}:void 0}const i=t.argsFactory?t.argsFactory():b(t.argsOverride),n=t.callback(e,i)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&n&&t.target&&Object.defineProperty(t.target,t.propertyKey,n),void 0===t.metadataDiff){const e=O(r[o]);t.metadataDiff=S(a,e)}}catch(t){}}static markPending(e){if(!e)return;const r=this.getTargetState(e);r.resolved=!1,r.flavour||(r.flavour=E.defaultFlavour),d.set(e,t.DecorationKeys.DECORATION,t.DecorationState.PENDING)}static scheduleDefaultResolve(t){if(!t)return;const e=this.getTargetState(t);e.resolveScheduled||e.resolved||e.applying||(e.resolveScheduled=!0,Promise.resolve().then(()=>{e.resolveScheduled=!1,e.resolved||this.resolvePendingDecorators(t)}))}static registerPendingDecorator(e,r,o,a,i,n,s){const c=`${e?.name||"anonymous"}:${(a||"class")+""}:${Date.now()}:${Math.random()}`,l=this.getTargetState(e),f=b(n),u={owner:e,target:r,propertyKey:a,descriptor:i,callback:o,argsOverride:f,argsFactory:()=>b(f),key:c,definitionKey:s},p=()=>{const r=l.flavour||d.get(e,t.DecorationKeys.FLAVOUR)||E.defaultFlavour;return this.applyPendingEntry(u,r),u.lastAppliedPass=l.passId,u.lastAppliedFlavour=r,r},y=()=>(l.pending.push(u),u);if(l.directApply){y();const r=p();return l.appliedCount=l.pending.length,l.flavour=r,d.set(e,t.DecorationKeys.DECORATION,!0),c}if(y(),l.applying)return p(),c;if(E.flavourResolver!==v)try{const t=E.flavourResolver(e);if(t&&t!==E.defaultFlavour)return this.resolvePendingDecorators(e,t),c}catch{}return this.scheduleDefaultResolve(e),c}static resolvePendingDecorators(e,r){const o="function"==typeof e?e:e?.constructor||e;if(!o)return;const a=this.getTargetState(o);if(a.resolveScheduled=!1,!a.pending.length&&!r)return;const i=r||a.flavour||d.get(o,t.DecorationKeys.FLAVOUR)||E.defaultFlavour;if(a.applying)return;const n=a.appliedCount||0;if(!r&&a.lastAppliedFlavour===i&&n>=a.pending.length)return;const s=!(!r||r===E.defaultFlavour)||a.directApply;if(!a.pending.length)return;const c=(a.passId||0)+1;a.passId=c,a.applying=!0;try{if(s)for(const t of a.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,i);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==i&&e?(t.metadataDiff?.length&&A(t.owner,t.metadataDiff),R(t),this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i):t.lastAppliedPass=c:(this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i)}else{let t=n;for(;t<a.pending.length;){const e=a.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,i),e.lastAppliedPass=c,e.lastAppliedFlavour=i)}a.appliedCount=a.pending.length}}finally{a.applying=!1}a.flavour=i,a.resolved=!0,a.lastAppliedFlavour=i,s&&(a.appliedCount=a.pending.length,i!==E.defaultFlavour&&(a.directApply=!0)),d.set(o,t.DecorationKeys.DECORATION,!0)}for(t){return this.key=t,this}decorate(t=!1,...e){if(!this.key)throw Error("key must be provided before decorators can be added");if(!(e&&e.length||t||this.flavour===E.defaultFlavour))throw Error("Must provide overrides or addons to override or extend decaf's decorators");return t?this.extras=new Set([...(this.extras||new Set).values(),...e]):this.decorators=new Set([...e]),this}snapshotDecoratorArgs(){if(!this.decorators||!this.decorators.size)return;const t={};return Array.from(this.decorators.values()).forEach((e,r)=>{"object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args.map(t=>"object"==typeof t&&null!==t?O(t):t))}),Object.keys(t).length?t:void 0}define(...t){if(t.find(t=>"object"==typeof t)&&1!==t.length)throw Error("When using an overridable decorator, only one is allowed");return this.decorate(!1,...t)}extend(...t){if(t.find(t=>"object"==typeof t)&&1!==t.length)throw Error("When extending using an overridable decorator, only one is allowed");return this.decorate(!0,...t)}decoratorFactory(t,e,r){function o(o,a,i){const n=e??E.flavourResolver(o),s=E.decorators[t];let c;const l=s[n]?s[n].extras:s[E.defaultFlavour].extras;c=s&&s[n]&&s[n].decorators&&s[n].decorators.size?s[n].decorators:s[E.defaultFlavour].decorators;const d=[...c?c.values():[]],f=[...(s[E.defaultFlavour]?.decorators||new Set).values()],u=d.reduce((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t),{}),p=f.reduce((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t),{}),y=[...d,...l?l.values():[]],h=d.length,g=r||{};let v=o,D=i;return y.forEach((t,e)=>{let r;if("object"==typeof t){const o=t,a=h>e?e:0,i=((h>e?g[a]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:u[a]??p[a]??p[0]??[])).map(t=>"object"==typeof t&&null!==t?O(t):t);r=o.decorator(...i)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const i=r(void 0===a?v:o,a,D);void 0===a?"function"==typeof i&&(v=i):void 0!==i&&(D=i)}),void 0===a?v:D}return Object.defineProperty(o,"name",{value:[e||"dynamic",t].join("_decorator_for_"),writable:!1}),o}apply(){if(!this.key)throw Error("No key provided for the decoration builder");const e=this.key,r=E.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||r||new Set,a=void 0!==this.extras?this.extras:void 0;E.register(this.key,this.flavour,o,a);const i=(r,o,a)=>{const i=void 0!==o,n="function"==typeof r?r:r?.constructor||r;if(n&&i){d.innerGet(d.Symbol(n),t.DecorationKeys.FLAVOUR)||u(E.defaultFlavour)(n);const i=this.snapshotDecoratorArgs();return E.registerPendingDecorator(n,r,t=>this.decoratorFactory(e,t,i),o,a,i,e),E.resolvePendingDecorators(n),o&&!a&&p()(n,o),o&&a&&h()(n,o,a),a}const s=this.flavour===E.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(e,s)(r,o,a)};try{Object.defineProperty(i,"name",{value:[this.flavour,e].join("_decorator_for_"),writable:!1})}catch(t){}return i}static register(t,e,r,o){if(!t)throw Error("No key provided for the decoration builder");if(!r)throw Error("No decorators provided for the decoration builder");if(!e)throw Error("No flavour provided for the decoration builder");E.decorators[t]||(E.decorators[t]={}),E.decorators[t][e]||(E.decorators[t][e]={}),E.decorators[t][e].decorators=r,void 0!==o&&(E.decorators[t][e].extras=o)}static setResolver(t){E.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===E.defaultFlavour)return!1;const r=E.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const a=r[E.defaultFlavour],i=o.decorators&&o.decorators.size>0,n=o.extras instanceof Set&&o.extras.size>0;if(!i&&!n)return!1;if(!a)return!0;const s=!i||o.decorators===a.decorators,c=!n||o.extras===a.extras;return!(s&&c)}static for(t){return(new E).for(t)}static flavouredAs(t){return new E(t)}}function A(t,e){if(!e||!e.length)return;const r=d._metadata,o=d.Symbol(t),a=r[o]||(r[o]={});e.forEach(({path:t,previousValue:e,existed:r})=>{if(!t.length)return;let o=a;for(let e=0;e<t.length-1;e++){const r=t[e];D(o[r])||(o[r]={}),o=o[r]}const i=t[t.length-1];r?o[i]=O(e):(delete o[i],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),a=o.slice(0,-1),i=o[o.length-1],n=0===a.length?t:m(t,a);if(!n||!D(n))break;const s=n[i];if(!D(s)||Reflect.ownKeys(s).length>0)break;delete n[i]}})(a,t.slice(0,-1)))})}function R(t){if(!t||void 0===t.propertyKey)return;const e=t.target;if(!e||void 0===t.descriptorWasOwn)return;const r=t.propertyKey,o=t.descriptorSnapshot;t.descriptorWasOwn?o?Object.defineProperty(e,r,o):delete e[r]:(delete e[r],o&&Object.defineProperty(e,r,o))}t.Decoration=E,t.DefaultFlavour=e,t.DefaultMetadata=i,t.Metadata=d,t.ObjectKeySplitter=r,t.PACKAGE_NAME=s,t.VERSION=n,t.apply=g,t.description=e=>E.for(t.DecorationKeys.DESCRIPTION).define({decorator:e=>(r,o,a)=>f(d.key(t.DecorationKeys.DESCRIPTION,o?o.toString():t.DecorationKeys.CLASS),e)(r,o,a),args:[e]}).apply(),t.getValueBySplitter=c,t.metadata=f,t.metadataArray=(t,...e)=>(r,o,a)=>{const i=d.get(r,t)||[];return g(f(o?d.key(t,o):t,[...new Set([...i,...e])]))(r,o,a)},t.method=h,t.methodMetadata=(t,e)=>g(f(t,e),h()),t.param=y,t.paramMetadata=(e,r)=>(o,a,i)=>g(y(),f(d.key(t.DecorationKeys.METHODS,a,e),r))(o,a,i),t.prop=p,t.propMetadata=(t,e)=>g(f(t,e),p()),t.setValueBySplitter=l,t.uses=u},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("reflect-metadata")):"function"==typeof define&&define.amd?define(["exports","reflect-metadata"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).decoration={});
1
+ var t,e;t=this,e=function(t){"use strict";const e="decaf",r=".";var o,a;t.DecorationKeys=void 0,(o=t.DecorationKeys||(t.DecorationKeys={})).LIBRARIES="libraries",o.REFLECT="__decaf",o.PROPERTIES="properties",o.METHODS="methods",o.CLASS="class",o.DESCRIPTION="description",o.CONSTRUCTOR="__original",o.PARAMETERS="parameters",o.FLAVOUR="flavour",o.DECORATION="decoration",o.DESIGN_TYPE="design:type",o.DESIGN_PARAMS="design:paramtypes",o.DESIGN_RETURN="design:returntype",t.DecorationState=void 0,(a=t.DecorationState||(t.DecorationState={})).PENDING="pending",a.ONGOING="ongoing";const i={[t.DecorationKeys.PROPERTIES]:[]},n="##VERSION##",s="##PACKAGE##";function c(t,e,o=r){const a=e.split(o);let i=t;for(const t of a){if(null==i||!Object.prototype.hasOwnProperty.call(i,t))return;i=i[t]}return i}function l(t,e,o,a=r){const i=e.split(a).filter((t=>t.length>0));if(0===i.length)return;let n=t;for(let t=0;t<i.length-1;t++){const e=i[t];void 0!==n[e]&&null!==n[e]&&"object"==typeof n[e]||(n[e]={}),n=n[e]}n[i[i.length-1]]=o}class d{static{this._metadata={}}static{this.splitter=r}static{this.baseKey=t.DecorationKeys.REFLECT}static{this.mirror=!0}constructor(){}static Symbol(t){return Symbol.for([t.toString(),t.name].join(" - "))}static properties(t){const e=this.get(t);if(e&&e.properties)return Object.keys(e.properties)}static methods(e){const r=this.get(e,t.DecorationKeys.METHODS);if(r)return Object.keys(r)}static description(e,r){return this.get(e,this.key(t.DecorationKeys.DESCRIPTION,r||t.DecorationKeys.CLASS))}static flavourOf(t){return E.flavourResolver(t)}static flavouredAs(e){return this.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR),e)||[]}static registeredFlavour(r){const o=this.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR));if(!o)return;const a=this.constr(r);let i;for(const[t,r]of Object.entries(o))if(Array.isArray(r)&&r.some((t=>this.constr(t)===a))){if(t===e){i=i||t;continue}return t}return i}static params(e,r){return this.get(e,this.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_PARAMS))}static param(t,e,r){const o=this.params(t,e);if(o){if(r>o.length-1)throw Error(`Parameter index ${r} out of range for ${e+""}`);return o[r]}}static return(e,r){return this.get(e,this.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_RETURN))}static type(e,r){return this.get(e,this.key(t.DecorationKeys.PROPERTIES,r))}static constr(e){return e[t.DecorationKeys.CONSTRUCTOR]||e}static get(e,r){if(r===t.DecorationKeys.CONSTRUCTOR)return this.constr(e);const o=this.constr(e),a=this.collectConstructorChain(o);if(a.filter((e=>this.isDecorated(e)===t.DecorationState.PENDING)).forEach((t=>{E.resolvePendingDecorators(t)})),0===a.length){const t=Symbol.for(o.toString());return this.innerGet(t,r)}const i=a.map((t=>this.innerGet(this.Symbol(t),r))).filter((t=>void 0!==t));return 0!==i.length?this.mergeMetadataChain(i):void 0}static isDecorated(e){const r=this.constr(e);return this.innerGet(this.Symbol(r),t.DecorationKeys.DECORATION)||!1}static innerGet(t,e){if(this._metadata[t])return e?"string"==typeof e?c(this._metadata[t],e,this.splitter):this._metadata[t][e]:this._metadata[t]}static collectConstructorChain(t){const e=[];let r=t;for(;"function"==typeof r&&r!==Function;){e.push(r);const t=Object.getPrototypeOf(r);if(!t||t===Function||t===Object)break;r=t}return e.reverse()}static mergeMetadataChain(t){let e;for(const r of t)e=void 0!==e&&this.isPlainObject(e)&&this.isPlainObject(r)?this.mergePlainObjects(e,r):this.cloneMetadataValue(r);return e}static cloneMetadataValue(t){return Array.isArray(t)?[...t]:this.isPlainObject(t)?this.mergePlainObjects({},t):t}static mergePlainObjects(t,e){const r={...t};for(const t of Object.keys(e)){const o=e[t],a=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(a)?this.mergePlainObjects(a,o):this.mergePlainObjects({},o):r[t]=Array.isArray(o)?[...o]:o}return r}static isPlainObject(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}static innerSet(t,e,r){if(this._metadata[t]||(this._metadata[t]={}),"string"==typeof e)return l(this._metadata[t],e,r,this.splitter);this._metadata[t][e]=r}static set(e,r,o){if(r===t.DecorationKeys.CONSTRUCTOR)return void Object.defineProperty(e,t.DecorationKeys.CONSTRUCTOR,{enumerable:!1,configurable:!1,writable:!1,value:o});"string"!=typeof e&&(e=this.constr(e)||e);const a="string"==typeof e?Symbol.for(e):this.Symbol(e);this.innerSet(a,r,o),"string"!=typeof e&&d.mirror&&!Object.prototype.hasOwnProperty.call(e,this.baseKey)&&Object.defineProperty(e,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[a]})}static registerLibrary(e,r){const o=Symbol.for(t.DecorationKeys.LIBRARIES);if(this.innerGet(o,e))throw Error(`Library already ${e} registered with version ${r}`);this.innerSet(o,e,r)}static libraries(){const e=Symbol.for(t.DecorationKeys.LIBRARIES);return this.innerGet(e)||{}}static key(...t){return t.join(this.splitter)}}function f(t,e){return(r,o,a)=>{let i=r;o&&(i="function"==typeof r?r:r.constructor||r),d.set(i,t,e)}}function u(e){return r=>{const o=d.constr(r);if(((e,r)=>{const o=d.constr(e),a=d.innerGet(d.Symbol(e),t.DecorationKeys.FLAVOUR)||E.defaultFlavour,i=(d.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR),a)||[]).filter((t=>d.constr(t)!==o));d.set(t.DecorationKeys.FLAVOUR,a,i);const n=new Set(d.innerGet(Symbol.for(t.DecorationKeys.FLAVOUR),r)||[]);n.add(e),d.set(t.DecorationKeys.FLAVOUR,r,[...n])})(r,e),d.set(o,t.DecorationKeys.FLAVOUR,e),e!==E.defaultFlavour)E.resolvePendingDecorators(o,e);else{let t;try{t=E.flavourResolver?E.flavourResolver(o):void 0}catch{t=void 0}t&&t!==E.defaultFlavour?E.resolvePendingDecorators(o,t):E.markPending(o)}return r}}function p(){return(e,r)=>{const o="function"==typeof e?e.prototype:e,a=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_TYPE,o,r);return f(d.key(t.DecorationKeys.PROPERTIES,r),a)(e,r)}}function y(){return(e,r,o)=>{if(!r)throw Error("The @param decorator can only be applied to methods");h()(e,r,Object.getOwnPropertyDescriptor(e,r));const a=d.params(e.constructor,r);if(!a)throw Error("Missing parameter types for "+r);if(o>=a.length)throw Error(`Parameter index ${o} out of range for ${r+""}`);f(d.key(t.DecorationKeys.METHODS,r,o.toString()),a[o])(e,r)}}function h(){return(e,r,o)=>{const a=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_PARAMS,e,r),i=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_RETURN,e,r);return g(f(d.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_PARAMS),a),f(d.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_RETURN),i))(e,r,o)}}function g(...t){return(e,r,o)=>{for(const a of t)e instanceof Function&&!o?a(e):a(e,r,o)}}function v(e){const r=d.constr("function"==typeof e?e:e?.constructor),o=d.innerGet(d.Symbol(r),t.DecorationKeys.FLAVOUR);if(o&&o!==E.defaultFlavour)return o;const a="function"==typeof d.registeredFlavour?d.registeredFlavour(r):void 0;return a&&a!==E.defaultFlavour?a:o??E.defaultFlavour}function D(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function O(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map((t=>O(t)));if(t instanceof Date)return new Date(t.getTime());if(t instanceof Set)return new Set(Array.from(t).map((t=>O(t))));if(t instanceof Map)return new Map(Array.from(t.entries()).map((([t,e])=>[t,O(e)])));if(t.constructor!==Object)return t;const e={};return Reflect.ownKeys(t).forEach((r=>{e[r]=O(t[r])})),e}function S(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach((a=>{const i=!!t&&Object.prototype.hasOwnProperty.call(t,a),n=!!e&&Object.prototype.hasOwnProperty.call(e,a),s=i?t?.[a]:void 0,c=n?e?.[a]:void 0;if(n)return i?void(D(s)&&D(c)?S(s,c,[...r,a],o):s!==c&&o.push({path:[...r,a],previousValue:O(s),existed:!0})):D(c)?void S(void 0,c,[...r,a],o):void o.push({path:[...r,a],previousValue:void 0,existed:!1});o.push({path:[...r,a],previousValue:O(s),existed:!0})})),o}function b(t){if(!t)return;const e={};return Object.keys(t).forEach((r=>{e[r]=t[r].map((t=>"object"==typeof t&&null!==t?O(t):t))})),e}function m(t,e){let r=t;for(const t of e){if(!r||!D(r[t]))return;r=r[t]}return r}d.registerLibrary(s,n);class E{static{this.defaultFlavour=e}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=v}constructor(t=E.defaultFlavour){this.flavour=t}static getTargetState(t){if(!t)throw Error("Invalid target provided to Decoration state tracker");let e=this.targetStates.get(t);return e||(e={pending:[],flavour:void 0,directApply:!1},this.targetStates.set(t,e)),e}static applyPendingEntry(t,e){const r=d._metadata,o=d.Symbol(t.owner),a=void 0===t.metadataDiff?O(r[o]):void 0;try{if(void 0!==t.propertyKey&&void 0===t.descriptorSnapshot&&t.target){const e=Object.getOwnPropertyDescriptor(t.target,t.propertyKey);t.descriptorWasOwn=Object.prototype.hasOwnProperty.call(t.target,t.propertyKey),t.descriptorSnapshot=e?{...e}:void 0}const i=t.argsFactory?t.argsFactory():b(t.argsOverride),n=t.callback(e,i)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&n&&t.target&&Object.defineProperty(t.target,t.propertyKey,n),void 0===t.metadataDiff){const e=O(r[o]);t.metadataDiff=S(a,e)}}catch(t){}}static markPending(e){if(!e)return;const r=this.getTargetState(e);r.resolved=!1,r.flavour||(r.flavour=E.defaultFlavour),d.set(e,t.DecorationKeys.DECORATION,t.DecorationState.PENDING)}static scheduleDefaultResolve(t){if(!t)return;const e=this.getTargetState(t);e.resolveScheduled||e.resolved||e.applying||(e.resolveScheduled=!0,Promise.resolve().then((()=>{e.resolveScheduled=!1,e.resolved||this.resolvePendingDecorators(t)})))}static registerPendingDecorator(e,r,o,a,i,n,s){const c=`${e?.name||"anonymous"}:${(a||"class")+""}:${Date.now()}:${Math.random()}`,l=this.getTargetState(e),f=b(n),u={owner:e,target:r,propertyKey:a,descriptor:i,callback:o,argsOverride:f,argsFactory:()=>b(f),key:c,definitionKey:s},p=()=>{const r=l.flavour||d.get(e,t.DecorationKeys.FLAVOUR)||E.defaultFlavour;return this.applyPendingEntry(u,r),u.lastAppliedPass=l.passId,u.lastAppliedFlavour=r,r},y=()=>(l.pending.push(u),u);if(l.directApply){y();const r=p();return l.appliedCount=l.pending.length,l.flavour=r,d.set(e,t.DecorationKeys.DECORATION,!0),c}if(y(),l.applying)return p(),c;if(E.flavourResolver!==v)try{const t=E.flavourResolver(e);if(t&&t!==E.defaultFlavour)return this.resolvePendingDecorators(e,t),c}catch{}return this.scheduleDefaultResolve(e),c}static resolvePendingDecorators(e,r){const o="function"==typeof e?e:e?.constructor||e;if(!o)return;const a=this.getTargetState(o);if(a.resolveScheduled=!1,!a.pending.length&&!r)return;const i=r||a.flavour||d.get(o,t.DecorationKeys.FLAVOUR)||E.defaultFlavour;if(a.applying)return;const n=a.appliedCount||0;if(!r&&a.lastAppliedFlavour===i&&n>=a.pending.length)return;const s=!(!r||r===E.defaultFlavour)||a.directApply;if(!a.pending.length)return;const c=(a.passId||0)+1;a.passId=c,a.applying=!0;try{if(s)for(const t of a.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,i);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==i&&e?(t.metadataDiff?.length&&A(t.owner,t.metadataDiff),R(t),this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i):t.lastAppliedPass=c:(this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i)}else{let t=n;for(;t<a.pending.length;){const e=a.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,i),e.lastAppliedPass=c,e.lastAppliedFlavour=i)}a.appliedCount=a.pending.length}}finally{a.applying=!1}a.flavour=i,a.resolved=!0,a.lastAppliedFlavour=i,s&&(a.appliedCount=a.pending.length,i!==E.defaultFlavour&&(a.directApply=!0)),d.set(o,t.DecorationKeys.DECORATION,!0)}for(t){return this.key=t,this}decorate(t=!1,...e){if(!this.key)throw Error("key must be provided before decorators can be added");if(!(e&&e.length||t||this.flavour===E.defaultFlavour))throw Error("Must provide overrides or addons to override or extend decaf's decorators");return t?this.extras=new Set([...(this.extras||new Set).values(),...e]):this.decorators=new Set([...e]),this}snapshotDecoratorArgs(){if(!this.decorators||!this.decorators.size)return;const t={};return Array.from(this.decorators.values()).forEach(((e,r)=>{"object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args.map((t=>"object"==typeof t&&null!==t?O(t):t)))})),Object.keys(t).length?t:void 0}define(...t){if(t.find((t=>"object"==typeof t))&&1!==t.length)throw Error("When using an overridable decorator, only one is allowed");return this.decorate(!1,...t)}extend(...t){if(t.find((t=>"object"==typeof t))&&1!==t.length)throw Error("When extending using an overridable decorator, only one is allowed");return this.decorate(!0,...t)}decoratorFactory(t,e,r){function o(o,a,i){const n=e??E.flavourResolver(o),s=E.decorators[t];let c;const l=s[n]?s[n].extras:s[E.defaultFlavour].extras;c=s&&s[n]&&s[n].decorators&&s[n].decorators.size?s[n].decorators:s[E.defaultFlavour].decorators;const d=[...c?c.values():[]],f=[...(s[E.defaultFlavour]?.decorators||new Set).values()],u=d.reduce(((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t)),{}),p=f.reduce(((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t)),{}),y=[...d,...l?l.values():[]],h=d.length,g=r||{};let v=o,D=i;return y.forEach(((t,e)=>{let r;if("object"==typeof t){const o=t,a=h>e?e:0,i=((h>e?g[a]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:u[a]??p[a]??p[0]??[])).map((t=>"object"==typeof t&&null!==t?O(t):t));r=o.decorator(...i)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const i=r(void 0===a?v:o,a,D);void 0===a?"function"==typeof i&&(v=i):void 0!==i&&(D=i)})),void 0===a?v:D}return Object.defineProperty(o,"name",{value:[e||"dynamic",t].join("_decorator_for_"),writable:!1}),o}apply(){if(!this.key)throw Error("No key provided for the decoration builder");const e=this.key,r=E.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||r||new Set,a=void 0!==this.extras?this.extras:void 0;E.register(this.key,this.flavour,o,a);const i=(r,o,a)=>{const i=void 0!==o,n="function"==typeof r?r:r?.constructor||r;if(n&&i){d.innerGet(d.Symbol(n),t.DecorationKeys.FLAVOUR)||u(E.defaultFlavour)(n);const i=this.snapshotDecoratorArgs();return E.registerPendingDecorator(n,r,(t=>this.decoratorFactory(e,t,i)),o,a,i,e),E.resolvePendingDecorators(n),o&&!a&&p()(n,o),o&&a&&h()(n,o,a),a}const s=this.flavour===E.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(e,s)(r,o,a)};try{Object.defineProperty(i,"name",{value:[this.flavour,e].join("_decorator_for_"),writable:!1})}catch(t){}return i}static register(t,e,r,o){if(!t)throw Error("No key provided for the decoration builder");if(!r)throw Error("No decorators provided for the decoration builder");if(!e)throw Error("No flavour provided for the decoration builder");E.decorators[t]||(E.decorators[t]={}),E.decorators[t][e]||(E.decorators[t][e]={}),E.decorators[t][e].decorators=r,void 0!==o&&(E.decorators[t][e].extras=o)}static setResolver(t){E.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===E.defaultFlavour)return!1;const r=E.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const a=r[E.defaultFlavour],i=o.decorators&&o.decorators.size>0,n=o.extras instanceof Set&&o.extras.size>0;if(!i&&!n)return!1;if(!a)return!0;const s=!i||o.decorators===a.decorators,c=!n||o.extras===a.extras;return!(s&&c)}static for(t){return(new E).for(t)}static flavouredAs(t){return new E(t)}}function A(t,e){if(!e||!e.length)return;const r=d._metadata,o=d.Symbol(t),a=r[o]||(r[o]={});e.forEach((({path:t,previousValue:e,existed:r})=>{if(!t.length)return;let o=a;for(let e=0;e<t.length-1;e++){const r=t[e];D(o[r])||(o[r]={}),o=o[r]}const i=t[t.length-1];r?o[i]=O(e):(delete o[i],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),a=o.slice(0,-1),i=o[o.length-1],n=0===a.length?t:m(t,a);if(!n||!D(n))break;const s=n[i];if(!D(s)||Reflect.ownKeys(s).length>0)break;delete n[i]}})(a,t.slice(0,-1)))}))}function R(t){if(!t||void 0===t.propertyKey)return;const e=t.target;if(!e||void 0===t.descriptorWasOwn)return;const r=t.propertyKey,o=t.descriptorSnapshot;t.descriptorWasOwn?o?Object.defineProperty(e,r,o):delete e[r]:(delete e[r],o&&Object.defineProperty(e,r,o))}t.Decoration=E,t.DefaultFlavour=e,t.DefaultMetadata=i,t.Metadata=d,t.ObjectKeySplitter=r,t.PACKAGE_NAME=s,t.VERSION=n,t.apply=g,t.description=e=>E.for(t.DecorationKeys.DESCRIPTION).define({decorator:e=>(r,o,a)=>f(d.key(t.DecorationKeys.DESCRIPTION,o?o.toString():t.DecorationKeys.CLASS),e)(r,o,a),args:[e]}).apply(),t.getValueBySplitter=c,t.metadata=f,t.metadataArray=(t,...e)=>(r,o,a)=>{const i=d.get(r,t)||[];return g(f(o?d.key(t,o):t,[...new Set([...i,...e])]))(r,o,a)},t.method=h,t.methodMetadata=(t,e)=>g(f(t,e),h()),t.param=y,t.paramMetadata=(e,r)=>(o,a,i)=>g(y(),f(d.key(t.DecorationKeys.METHODS,a,e),r))(o,a,i),t.prop=p,t.propMetadata=(t,e)=>g(f(t,e),p()),t.setValueBySplitter=l,t.uses=u},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("reflect-metadata")):"function"==typeof define&&define.amd?define(["exports","reflect-metadata"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).decoration={});
2
2
  //# sourceMappingURL=decoration.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoration.cjs","sources":["../src/constants.ts","../src/version.ts","../src/metadata/Metadata.ts","../src/decorators.ts","../src/decoration/Decoration.ts"],"sourcesContent":[null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","exports","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_metadata","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","model","meta","get","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","Decoration","flavouredAs","flavour","innerGet","FLAVOUR","registeredFlavour","registry","constr","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","resolvedModel","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","symbol","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","target","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","registerLibrary","library","version","LIBRARIES","libraries","strs","metadata","descriptor","targetModel","uses","object","canonical","flav","defaultFlavour","filtered","o","Set","add","manageFlavourRMetadata","resolved","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","method","getOwnPropertyDescriptor","paramTpes","designParams","designReturn","apply","decorators","propertyKey","decorator","flavourResolver","owner","item","Date","getTime","from","Map","v","clone","ownKeys","diffMetadataBuckets","before","after","basePath","prevExists","nextExists","prevValue","nextValue","previousValue","existed","cloneArgsOverrides","overrides","arg","getNodeAtPath","bucket","segment","targetStates","WeakMap","getTargetState","state","pending","directApply","applyPendingEntry","entry","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","resolvePendingDecorators","registerPendingDecorator","definitionKey","now","Math","random","argsOverrideClone","applyImmediately","flavourToUse","lastAppliedPass","passId","lastAppliedFlavour","registerEntry","appliedCount","eagerFlavour","resolvedFlavour","cursor","shouldFinalize","currentPass","hasOverride","shouldOverrideEntry","revertMetadataDiff","restorePropertyDescriptor","decorate","addon","extras","snapshotDecoratorArgs","size","args","define","find","d","extend","decoratorFactory","f","contextDecorator","cache","baseDecoratorsList","defaultDecoratorsList","baseArgsByIndex","reduce","accum","defaultArgsByIndex","toApply","baseLength","argsOverrides","currentTarget","decoratorFn","candidateIndex","invocationArgs","existingDecorators","decoratorsToRegister","extrasToRegister","register","wrapper","isMember","flavourHint","e","setResolver","resolver","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","slice","parentPath","pruneEmptyAncestors","snapshot","desc","original","data","existingData"],"mappings":"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"}
1
+ {"version":3,"file":"decoration.cjs","sources":["../src/constants.ts","../src/version.ts","../src/metadata/Metadata.ts","../src/decorators.ts","../src/decoration/Decoration.ts"],"sourcesContent":[null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","exports","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_metadata","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","model","meta","get","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","Decoration","flavouredAs","flavour","innerGet","FLAVOUR","registeredFlavour","registry","constr","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","resolvedModel","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","symbol","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","target","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","registerLibrary","library","version","LIBRARIES","libraries","strs","metadata","descriptor","targetModel","uses","object","canonical","flav","defaultFlavour","filtered","o","Set","add","manageFlavourRMetadata","resolved","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","method","getOwnPropertyDescriptor","paramTpes","designParams","designReturn","apply","decorators","propertyKey","decorator","flavourResolver","owner","item","Date","getTime","from","Map","v","clone","ownKeys","diffMetadataBuckets","before","after","basePath","prevExists","nextExists","prevValue","nextValue","previousValue","existed","cloneArgsOverrides","overrides","arg","getNodeAtPath","bucket","segment","targetStates","WeakMap","getTargetState","state","pending","directApply","applyPendingEntry","entry","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","resolvePendingDecorators","registerPendingDecorator","definitionKey","now","Math","random","argsOverrideClone","applyImmediately","flavourToUse","lastAppliedPass","passId","lastAppliedFlavour","registerEntry","appliedCount","eagerFlavour","resolvedFlavour","cursor","shouldFinalize","currentPass","hasOverride","shouldOverrideEntry","revertMetadataDiff","restorePropertyDescriptor","decorate","addon","extras","snapshotDecoratorArgs","size","args","define","find","d","extend","decoratorFactory","f","contextDecorator","cache","baseDecoratorsList","defaultDecoratorsList","baseArgsByIndex","reduce","accum","defaultArgsByIndex","toApply","baseLength","argsOverrides","currentTarget","decoratorFn","candidateIndex","invocationArgs","existingDecorators","decoratorsToRegister","extrasToRegister","register","wrapper","isMember","flavourHint","e","setResolver","resolver","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","slice","parentPath","pruneEmptyAncestors","snapshot","desc","original","data","existingData"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import"reflect-metadata";const t="decaf",e=".";var r,o;(t=>{t.LIBRARIES="libraries",t.REFLECT="__decaf",t.PROPERTIES="properties",t.METHODS="methods",t.CLASS="class",t.DESCRIPTION="description",t.CONSTRUCTOR="__original",t.PARAMETERS="parameters",t.FLAVOUR="flavour",t.DECORATION="decoration",t.DESIGN_TYPE="design:type",t.DESIGN_PARAMS="design:paramtypes",t.DESIGN_RETURN="design:returntype"})(r||(r={})),(t=>{t.PENDING="pending",t.ONGOING="ongoing"})(o||(o={}));const n={[r.PROPERTIES]:[]},i="##VERSION##",s="##PACKAGE##";function a(t,r,o=e){const n=r.split(o);let i=t;for(const t of n){if(null==i||!Object.prototype.hasOwnProperty.call(i,t))return;i=i[t]}return i}function c(t,r,o,n=e){const i=r.split(n).filter(t=>t.length>0);if(0===i.length)return;let s=t;for(let t=0;t<i.length-1;t++){const e=i[t];void 0!==s[e]&&null!==s[e]&&"object"==typeof s[e]||(s[e]={}),s=s[e]}s[i[i.length-1]]=o}class l{static{this._metadata={}}static{this.splitter=e}static{this.baseKey=r.REFLECT}static{this.mirror=!0}constructor(){}static Symbol(t){return Symbol.for([t.toString(),t.name].join(" - "))}static properties(t){const e=this.get(t);if(e&&e.properties)return Object.keys(e.properties)}static methods(t){const e=this.get(t,r.METHODS);if(e)return Object.keys(e)}static description(t,e){return this.get(t,this.key(r.DESCRIPTION,e||r.CLASS))}static flavourOf(t){return D.flavourResolver(t)}static flavouredAs(t){return this.innerGet(Symbol.for(r.FLAVOUR),t)||[]}static registeredFlavour(e){const o=this.innerGet(Symbol.for(r.FLAVOUR));if(!o)return;const n=this.constr(e);let i;for(const[e,r]of Object.entries(o))if(Array.isArray(r)&&r.some(t=>this.constr(t)===n)){if(e===t){i=i||e;continue}return e}return i}static params(t,e){return this.get(t,this.key(r.METHODS,e,r.DESIGN_PARAMS))}static param(t,e,r){const o=this.params(t,e);if(o){if(r>o.length-1)throw Error(`Parameter index ${r} out of range for ${e+""}`);return o[r]}}static return(t,e){return this.get(t,this.key(r.METHODS,e,r.DESIGN_RETURN))}static type(t,e){return this.get(t,this.key(r.PROPERTIES,e))}static constr(t){return t[r.CONSTRUCTOR]||t}static get(t,e){if(e===r.CONSTRUCTOR)return this.constr(t);const n=this.constr(t),i=this.collectConstructorChain(n);if(i.filter(t=>this.isDecorated(t)===o.PENDING).forEach(t=>{D.resolvePendingDecorators(t)}),0===i.length){const t=Symbol.for(n.toString());return this.innerGet(t,e)}const s=i.map(t=>this.innerGet(this.Symbol(t),e)).filter(t=>void 0!==t);return 0!==s.length?this.mergeMetadataChain(s):void 0}static isDecorated(t){const e=this.constr(t);return this.innerGet(this.Symbol(e),r.DECORATION)||!1}static innerGet(t,e){if(this._metadata[t])return e?"string"==typeof e?a(this._metadata[t],e,this.splitter):this._metadata[t][e]:this._metadata[t]}static collectConstructorChain(t){const e=[];let r=t;for(;"function"==typeof r&&r!==Function;){e.push(r);const t=Object.getPrototypeOf(r);if(!t||t===Function||t===Object)break;r=t}return e.reverse()}static mergeMetadataChain(t){let e;for(const r of t)e=void 0!==e&&this.isPlainObject(e)&&this.isPlainObject(r)?this.mergePlainObjects(e,r):this.cloneMetadataValue(r);return e}static cloneMetadataValue(t){return Array.isArray(t)?[...t]:this.isPlainObject(t)?this.mergePlainObjects({},t):t}static mergePlainObjects(t,e){const r={...t};for(const t of Object.keys(e)){const o=e[t],n=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(n)?this.mergePlainObjects(n,o):this.mergePlainObjects({},o):r[t]=Array.isArray(o)?[...o]:o}return r}static isPlainObject(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}static innerSet(t,e,r){if(this._metadata[t]||(this._metadata[t]={}),"string"==typeof e)return c(this._metadata[t],e,r,this.splitter);this._metadata[t][e]=r}static set(t,e,o){if(e===r.CONSTRUCTOR)return void Object.defineProperty(t,r.CONSTRUCTOR,{enumerable:!1,configurable:!1,writable:!1,value:o});"string"!=typeof t&&(t=this.constr(t)||t);const n="string"==typeof t?Symbol.for(t):this.Symbol(t);this.innerSet(n,e,o),"string"!=typeof t&&l.mirror&&!Object.prototype.hasOwnProperty.call(t,this.baseKey)&&Object.defineProperty(t,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[n]})}static registerLibrary(t,e){const o=Symbol.for(r.LIBRARIES);if(this.innerGet(o,t))throw Error(`Library already ${t} registered with version ${e}`);this.innerSet(o,t,e)}static libraries(){const t=Symbol.for(r.LIBRARIES);return this.innerGet(t)||{}}static key(...t){return t.join(this.splitter)}}function d(t,e){return(r,o,n)=>{let i=r;o&&(i="function"==typeof r?r:r.constructor||r),l.set(i,t,e)}}function u(t,...e){return(r,o,n)=>{const i=l.get(r,t)||[];return v(d(o?l.key(t,o):t,[...new Set([...i,...e])]))(r,o,n)}}function f(t){return e=>{const o=l.constr(e);if(((t,e)=>{const o=l.constr(t),n=l.innerGet(l.Symbol(t),r.FLAVOUR)||D.defaultFlavour,i=(l.innerGet(Symbol.for(r.FLAVOUR),n)||[]).filter(t=>l.constr(t)!==o);l.set(r.FLAVOUR,n,i);const s=new Set(l.innerGet(Symbol.for(r.FLAVOUR),e)||[]);s.add(t),l.set(r.FLAVOUR,e,[...s])})(e,t),l.set(o,r.FLAVOUR,t),t!==D.defaultFlavour)D.resolvePendingDecorators(o,t);else{let t;try{t=D.flavourResolver?D.flavourResolver(o):void 0}catch{t=void 0}t&&t!==D.defaultFlavour?D.resolvePendingDecorators(o,t):D.markPending(o)}return e}}function p(){return(t,e)=>{const o="function"==typeof t?t.prototype:t,n=Reflect.getOwnMetadata(r.DESIGN_TYPE,o,e);return d(l.key(r.PROPERTIES,e),n)(t,e)}}function h(){return(t,e,o)=>{if(!e)throw Error("The @param decorator can only be applied to methods");g()(t,e,Object.getOwnPropertyDescriptor(t,e));const n=l.params(t.constructor,e);if(!n)throw Error("Missing parameter types for "+e);if(o>=n.length)throw Error(`Parameter index ${o} out of range for ${e+""}`);d(l.key(r.METHODS,e,o.toString()),n[o])(t,e)}}function y(t,e){return(o,n,i)=>v(h(),d(l.key(r.METHODS,n,t),e))(o,n,i)}function g(){return(t,e,o)=>{const n=Reflect.getOwnMetadata(r.DESIGN_PARAMS,t,e),i=Reflect.getOwnMetadata(r.DESIGN_RETURN,t,e);return v(d(l.key(r.METHODS,e,r.DESIGN_PARAMS),n),d(l.key(r.METHODS,e,r.DESIGN_RETURN),i))(t,e,o)}}function v(...t){return(e,r,o)=>{for(const n of t)e instanceof Function&&!o?n(e):n(e,r,o)}}function O(t,e){return v(d(t,e),p())}function b(t,e){return v(d(t,e),g())}function S(t){return D.for(r.DESCRIPTION).define({decorator:t=>(e,o,n)=>d(l.key(r.DESCRIPTION,o?o.toString():r.CLASS),t)(e,o,n),args:[t]}).apply()}function m(t){const e=l.constr("function"==typeof t?t:t?.constructor),o=l.innerGet(l.Symbol(e),r.FLAVOUR);if(o&&o!==D.defaultFlavour)return o;const n="function"==typeof l.registeredFlavour?l.registeredFlavour(e):void 0;return n&&n!==D.defaultFlavour?n:o??D.defaultFlavour}function E(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function A(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>A(t));if(t instanceof Date)return new Date(t.getTime());if(t instanceof Set)return new Set(Array.from(t).map(t=>A(t)));if(t instanceof Map)return new Map(Array.from(t.entries()).map(([t,e])=>[t,A(e)]));if(t.constructor!==Object)return t;const e={};return Reflect.ownKeys(t).forEach(r=>{e[r]=A(t[r])}),e}function R(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach(n=>{const i=!!t&&Object.prototype.hasOwnProperty.call(t,n),s=!!e&&Object.prototype.hasOwnProperty.call(e,n),a=i?t?.[n]:void 0,c=s?e?.[n]:void 0;if(s)return i?void(E(a)&&E(c)?R(a,c,[...r,n],o):a!==c&&o.push({path:[...r,n],previousValue:A(a),existed:!0})):E(c)?void R(void 0,c,[...r,n],o):void o.push({path:[...r,n],previousValue:void 0,existed:!1});o.push({path:[...r,n],previousValue:A(a),existed:!0})}),o}function P(t){if(!t)return;const e={};return Object.keys(t).forEach(r=>{e[r]=t[r].map(t=>"object"==typeof t&&null!==t?A(t):t)}),e}function w(t,e){let r=t;for(const t of e){if(!r||!E(r[t]))return;r=r[t]}return r}l.registerLibrary(s,i);class D{static{this.defaultFlavour=t}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=m}constructor(t=D.defaultFlavour){this.flavour=t}static getTargetState(t){if(!t)throw Error("Invalid target provided to Decoration state tracker");let e=this.targetStates.get(t);return e||(e={pending:[],flavour:void 0,directApply:!1},this.targetStates.set(t,e)),e}static applyPendingEntry(t,e){const r=l._metadata,o=l.Symbol(t.owner),n=void 0===t.metadataDiff?A(r[o]):void 0;try{if(void 0!==t.propertyKey&&void 0===t.descriptorSnapshot&&t.target){const e=Object.getOwnPropertyDescriptor(t.target,t.propertyKey);t.descriptorWasOwn=Object.prototype.hasOwnProperty.call(t.target,t.propertyKey),t.descriptorSnapshot=e?{...e}:void 0}const i=t.argsFactory?t.argsFactory():P(t.argsOverride),s=t.callback(e,i)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&s&&t.target&&Object.defineProperty(t.target,t.propertyKey,s),void 0===t.metadataDiff){const e=A(r[o]);t.metadataDiff=R(n,e)}}catch(t){}}static markPending(t){if(!t)return;const e=this.getTargetState(t);e.resolved=!1,e.flavour||(e.flavour=D.defaultFlavour),l.set(t,r.DECORATION,o.PENDING)}static scheduleDefaultResolve(t){if(!t)return;const e=this.getTargetState(t);e.resolveScheduled||e.resolved||e.applying||(e.resolveScheduled=!0,Promise.resolve().then(()=>{e.resolveScheduled=!1,e.resolved||this.resolvePendingDecorators(t)}))}static registerPendingDecorator(t,e,o,n,i,s,a){const c=`${t?.name||"anonymous"}:${(n||"class")+""}:${Date.now()}:${Math.random()}`,d=this.getTargetState(t),u=P(s),f={owner:t,target:e,propertyKey:n,descriptor:i,callback:o,argsOverride:u,argsFactory:()=>P(u),key:c,definitionKey:a},p=()=>{const e=d.flavour||l.get(t,r.FLAVOUR)||D.defaultFlavour;return this.applyPendingEntry(f,e),f.lastAppliedPass=d.passId,f.lastAppliedFlavour=e,e},h=()=>(d.pending.push(f),f);if(d.directApply){h();const e=p();return d.appliedCount=d.pending.length,d.flavour=e,l.set(t,r.DECORATION,!0),c}if(h(),d.applying)return p(),c;if(D.flavourResolver!==m)try{const e=D.flavourResolver(t);if(e&&e!==D.defaultFlavour)return this.resolvePendingDecorators(t,e),c}catch{}return this.scheduleDefaultResolve(t),c}static resolvePendingDecorators(t,e){const o="function"==typeof t?t:t?.constructor||t;if(!o)return;const n=this.getTargetState(o);if(n.resolveScheduled=!1,!n.pending.length&&!e)return;const i=e||n.flavour||l.get(o,r.FLAVOUR)||D.defaultFlavour;if(n.applying)return;const s=n.appliedCount||0;if(!e&&n.lastAppliedFlavour===i&&s>=n.pending.length)return;const a=!(!e||e===D.defaultFlavour)||n.directApply;if(!n.pending.length)return;const c=(n.passId||0)+1;n.passId=c,n.applying=!0;try{if(a)for(const t of n.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,i);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==i&&e?(t.metadataDiff?.length&&F(t.owner,t.metadataDiff),j(t),this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i):t.lastAppliedPass=c:(this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i)}else{let t=s;for(;t<n.pending.length;){const e=n.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,i),e.lastAppliedPass=c,e.lastAppliedFlavour=i)}n.appliedCount=n.pending.length}}finally{n.applying=!1}n.flavour=i,n.resolved=!0,n.lastAppliedFlavour=i,a&&(n.appliedCount=n.pending.length,i!==D.defaultFlavour&&(n.directApply=!0)),l.set(o,r.DECORATION,!0)}for(t){return this.key=t,this}decorate(t=!1,...e){if(!this.key)throw Error("key must be provided before decorators can be added");if(!(e&&e.length||t||this.flavour===D.defaultFlavour))throw Error("Must provide overrides or addons to override or extend decaf's decorators");return t?this.extras=new Set([...(this.extras||new Set).values(),...e]):this.decorators=new Set([...e]),this}snapshotDecoratorArgs(){if(!this.decorators||!this.decorators.size)return;const t={};return Array.from(this.decorators.values()).forEach((e,r)=>{"object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args.map(t=>"object"==typeof t&&null!==t?A(t):t))}),Object.keys(t).length?t:void 0}define(...t){if(t.find(t=>"object"==typeof t)&&1!==t.length)throw Error("When using an overridable decorator, only one is allowed");return this.decorate(!1,...t)}extend(...t){if(t.find(t=>"object"==typeof t)&&1!==t.length)throw Error("When extending using an overridable decorator, only one is allowed");return this.decorate(!0,...t)}decoratorFactory(t,e,r){function o(o,n,i){const s=e??D.flavourResolver(o),a=D.decorators[t];let c;const l=a[s]?a[s].extras:a[D.defaultFlavour].extras;c=a&&a[s]&&a[s].decorators&&a[s].decorators.size?a[s].decorators:a[D.defaultFlavour].decorators;const d=[...c?c.values():[]],u=[...(a[D.defaultFlavour]?.decorators||new Set).values()],f=d.reduce((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t),{}),p=u.reduce((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t),{}),h=[...d,...l?l.values():[]],y=d.length,g=r||{};let v=o,O=i;return h.forEach((t,e)=>{let r;if("object"==typeof t){const o=t,n=y>e?e:0,i=((y>e?g[n]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:f[n]??p[n]??p[0]??[])).map(t=>"object"==typeof t&&null!==t?A(t):t);r=o.decorator(...i)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const i=r(void 0===n?v:o,n,O);void 0===n?"function"==typeof i&&(v=i):void 0!==i&&(O=i)}),void 0===n?v:O}return Object.defineProperty(o,"name",{value:[e||"dynamic",t].join("_decorator_for_"),writable:!1}),o}apply(){if(!this.key)throw Error("No key provided for the decoration builder");const t=this.key,e=D.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||e||new Set,n=void 0!==this.extras?this.extras:void 0;D.register(this.key,this.flavour,o,n);const i=(e,o,n)=>{const i=void 0!==o,s="function"==typeof e?e:e?.constructor||e;if(s&&i){l.innerGet(l.Symbol(s),r.FLAVOUR)||f(D.defaultFlavour)(s);const i=this.snapshotDecoratorArgs();return D.registerPendingDecorator(s,e,e=>this.decoratorFactory(t,e,i),o,n,i,t),D.resolvePendingDecorators(s),o&&!n&&p()(s,o),o&&n&&g()(s,o,n),n}const a=this.flavour===D.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(t,a)(e,o,n)};try{Object.defineProperty(i,"name",{value:[this.flavour,t].join("_decorator_for_"),writable:!1})}catch(t){}return i}static register(t,e,r,o){if(!t)throw Error("No key provided for the decoration builder");if(!r)throw Error("No decorators provided for the decoration builder");if(!e)throw Error("No flavour provided for the decoration builder");D.decorators[t]||(D.decorators[t]={}),D.decorators[t][e]||(D.decorators[t][e]={}),D.decorators[t][e].decorators=r,void 0!==o&&(D.decorators[t][e].extras=o)}static setResolver(t){D.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===D.defaultFlavour)return!1;const r=D.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const n=r[D.defaultFlavour],i=o.decorators&&o.decorators.size>0,s=o.extras instanceof Set&&o.extras.size>0;if(!i&&!s)return!1;if(!n)return!0;const a=!i||o.decorators===n.decorators,c=!s||o.extras===n.extras;return!(a&&c)}static for(t){return(new D).for(t)}static flavouredAs(t){return new D(t)}}function F(t,e){if(!e||!e.length)return;const r=l._metadata,o=l.Symbol(t),n=r[o]||(r[o]={});e.forEach(({path:t,previousValue:e,existed:r})=>{if(!t.length)return;let o=n;for(let e=0;e<t.length-1;e++){const r=t[e];E(o[r])||(o[r]={}),o=o[r]}const i=t[t.length-1];r?o[i]=A(e):(delete o[i],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),n=o.slice(0,-1),i=o[o.length-1],s=0===n.length?t:w(t,n);if(!s||!E(s))break;const a=s[i];if(!E(a)||Reflect.ownKeys(a).length>0)break;delete s[i]}})(n,t.slice(0,-1)))})}function j(t){if(!t||void 0===t.propertyKey)return;const e=t.target;if(!e||void 0===t.descriptorWasOwn)return;const r=t.propertyKey,o=t.descriptorSnapshot;t.descriptorWasOwn?o?Object.defineProperty(e,r,o):delete e[r]:(delete e[r],o&&Object.defineProperty(e,r,o))}export{D as Decoration,r as DecorationKeys,o as DecorationState,t as DefaultFlavour,n as DefaultMetadata,l as Metadata,e as ObjectKeySplitter,s as PACKAGE_NAME,i as VERSION,v as apply,S as description,a as getValueBySplitter,d as metadata,u as metadataArray,g as method,b as methodMetadata,h as param,y as paramMetadata,p as prop,O as propMetadata,c as setValueBySplitter,f as uses};
1
+ import"reflect-metadata";const t="decaf",e=".";var r,o;(t=>{t.LIBRARIES="libraries",t.REFLECT="__decaf",t.PROPERTIES="properties",t.METHODS="methods",t.CLASS="class",t.DESCRIPTION="description",t.CONSTRUCTOR="__original",t.PARAMETERS="parameters",t.FLAVOUR="flavour",t.DECORATION="decoration",t.DESIGN_TYPE="design:type",t.DESIGN_PARAMS="design:paramtypes",t.DESIGN_RETURN="design:returntype"})(r||(r={})),(t=>{t.PENDING="pending",t.ONGOING="ongoing"})(o||(o={}));const n={[r.PROPERTIES]:[]},i="##VERSION##",s="##PACKAGE##";function a(t,r,o=e){const n=r.split(o);let i=t;for(const t of n){if(null==i||!Object.prototype.hasOwnProperty.call(i,t))return;i=i[t]}return i}function c(t,r,o,n=e){const i=r.split(n).filter((t=>t.length>0));if(0===i.length)return;let s=t;for(let t=0;t<i.length-1;t++){const e=i[t];void 0!==s[e]&&null!==s[e]&&"object"==typeof s[e]||(s[e]={}),s=s[e]}s[i[i.length-1]]=o}class l{static{this._metadata={}}static{this.splitter=e}static{this.baseKey=r.REFLECT}static{this.mirror=!0}constructor(){}static Symbol(t){return Symbol.for([t.toString(),t.name].join(" - "))}static properties(t){const e=this.get(t);if(e&&e.properties)return Object.keys(e.properties)}static methods(t){const e=this.get(t,r.METHODS);if(e)return Object.keys(e)}static description(t,e){return this.get(t,this.key(r.DESCRIPTION,e||r.CLASS))}static flavourOf(t){return D.flavourResolver(t)}static flavouredAs(t){return this.innerGet(Symbol.for(r.FLAVOUR),t)||[]}static registeredFlavour(e){const o=this.innerGet(Symbol.for(r.FLAVOUR));if(!o)return;const n=this.constr(e);let i;for(const[e,r]of Object.entries(o))if(Array.isArray(r)&&r.some((t=>this.constr(t)===n))){if(e===t){i=i||e;continue}return e}return i}static params(t,e){return this.get(t,this.key(r.METHODS,e,r.DESIGN_PARAMS))}static param(t,e,r){const o=this.params(t,e);if(o){if(r>o.length-1)throw Error(`Parameter index ${r} out of range for ${e+""}`);return o[r]}}static return(t,e){return this.get(t,this.key(r.METHODS,e,r.DESIGN_RETURN))}static type(t,e){return this.get(t,this.key(r.PROPERTIES,e))}static constr(t){return t[r.CONSTRUCTOR]||t}static get(t,e){if(e===r.CONSTRUCTOR)return this.constr(t);const n=this.constr(t),i=this.collectConstructorChain(n);if(i.filter((t=>this.isDecorated(t)===o.PENDING)).forEach((t=>{D.resolvePendingDecorators(t)})),0===i.length){const t=Symbol.for(n.toString());return this.innerGet(t,e)}const s=i.map((t=>this.innerGet(this.Symbol(t),e))).filter((t=>void 0!==t));return 0!==s.length?this.mergeMetadataChain(s):void 0}static isDecorated(t){const e=this.constr(t);return this.innerGet(this.Symbol(e),r.DECORATION)||!1}static innerGet(t,e){if(this._metadata[t])return e?"string"==typeof e?a(this._metadata[t],e,this.splitter):this._metadata[t][e]:this._metadata[t]}static collectConstructorChain(t){const e=[];let r=t;for(;"function"==typeof r&&r!==Function;){e.push(r);const t=Object.getPrototypeOf(r);if(!t||t===Function||t===Object)break;r=t}return e.reverse()}static mergeMetadataChain(t){let e;for(const r of t)e=void 0!==e&&this.isPlainObject(e)&&this.isPlainObject(r)?this.mergePlainObjects(e,r):this.cloneMetadataValue(r);return e}static cloneMetadataValue(t){return Array.isArray(t)?[...t]:this.isPlainObject(t)?this.mergePlainObjects({},t):t}static mergePlainObjects(t,e){const r={...t};for(const t of Object.keys(e)){const o=e[t],n=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(n)?this.mergePlainObjects(n,o):this.mergePlainObjects({},o):r[t]=Array.isArray(o)?[...o]:o}return r}static isPlainObject(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}static innerSet(t,e,r){if(this._metadata[t]||(this._metadata[t]={}),"string"==typeof e)return c(this._metadata[t],e,r,this.splitter);this._metadata[t][e]=r}static set(t,e,o){if(e===r.CONSTRUCTOR)return void Object.defineProperty(t,r.CONSTRUCTOR,{enumerable:!1,configurable:!1,writable:!1,value:o});"string"!=typeof t&&(t=this.constr(t)||t);const n="string"==typeof t?Symbol.for(t):this.Symbol(t);this.innerSet(n,e,o),"string"!=typeof t&&l.mirror&&!Object.prototype.hasOwnProperty.call(t,this.baseKey)&&Object.defineProperty(t,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[n]})}static registerLibrary(t,e){const o=Symbol.for(r.LIBRARIES);if(this.innerGet(o,t))throw Error(`Library already ${t} registered with version ${e}`);this.innerSet(o,t,e)}static libraries(){const t=Symbol.for(r.LIBRARIES);return this.innerGet(t)||{}}static key(...t){return t.join(this.splitter)}}function d(t,e){return(r,o,n)=>{let i=r;o&&(i="function"==typeof r?r:r.constructor||r),l.set(i,t,e)}}function u(t,...e){return(r,o,n)=>{const i=l.get(r,t)||[];return v(d(o?l.key(t,o):t,[...new Set([...i,...e])]))(r,o,n)}}function f(t){return e=>{const o=l.constr(e);if(((t,e)=>{const o=l.constr(t),n=l.innerGet(l.Symbol(t),r.FLAVOUR)||D.defaultFlavour,i=(l.innerGet(Symbol.for(r.FLAVOUR),n)||[]).filter((t=>l.constr(t)!==o));l.set(r.FLAVOUR,n,i);const s=new Set(l.innerGet(Symbol.for(r.FLAVOUR),e)||[]);s.add(t),l.set(r.FLAVOUR,e,[...s])})(e,t),l.set(o,r.FLAVOUR,t),t!==D.defaultFlavour)D.resolvePendingDecorators(o,t);else{let t;try{t=D.flavourResolver?D.flavourResolver(o):void 0}catch{t=void 0}t&&t!==D.defaultFlavour?D.resolvePendingDecorators(o,t):D.markPending(o)}return e}}function p(){return(t,e)=>{const o="function"==typeof t?t.prototype:t,n=Reflect.getOwnMetadata(r.DESIGN_TYPE,o,e);return d(l.key(r.PROPERTIES,e),n)(t,e)}}function h(){return(t,e,o)=>{if(!e)throw Error("The @param decorator can only be applied to methods");g()(t,e,Object.getOwnPropertyDescriptor(t,e));const n=l.params(t.constructor,e);if(!n)throw Error("Missing parameter types for "+e);if(o>=n.length)throw Error(`Parameter index ${o} out of range for ${e+""}`);d(l.key(r.METHODS,e,o.toString()),n[o])(t,e)}}function y(t,e){return(o,n,i)=>v(h(),d(l.key(r.METHODS,n,t),e))(o,n,i)}function g(){return(t,e,o)=>{const n=Reflect.getOwnMetadata(r.DESIGN_PARAMS,t,e),i=Reflect.getOwnMetadata(r.DESIGN_RETURN,t,e);return v(d(l.key(r.METHODS,e,r.DESIGN_PARAMS),n),d(l.key(r.METHODS,e,r.DESIGN_RETURN),i))(t,e,o)}}function v(...t){return(e,r,o)=>{for(const n of t)e instanceof Function&&!o?n(e):n(e,r,o)}}function O(t,e){return v(d(t,e),p())}function b(t,e){return v(d(t,e),g())}function S(t){return D.for(r.DESCRIPTION).define({decorator:t=>(e,o,n)=>d(l.key(r.DESCRIPTION,o?o.toString():r.CLASS),t)(e,o,n),args:[t]}).apply()}function m(t){const e=l.constr("function"==typeof t?t:t?.constructor),o=l.innerGet(l.Symbol(e),r.FLAVOUR);if(o&&o!==D.defaultFlavour)return o;const n="function"==typeof l.registeredFlavour?l.registeredFlavour(e):void 0;return n&&n!==D.defaultFlavour?n:o??D.defaultFlavour}function E(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function A(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map((t=>A(t)));if(t instanceof Date)return new Date(t.getTime());if(t instanceof Set)return new Set(Array.from(t).map((t=>A(t))));if(t instanceof Map)return new Map(Array.from(t.entries()).map((([t,e])=>[t,A(e)])));if(t.constructor!==Object)return t;const e={};return Reflect.ownKeys(t).forEach((r=>{e[r]=A(t[r])})),e}function R(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach((n=>{const i=!!t&&Object.prototype.hasOwnProperty.call(t,n),s=!!e&&Object.prototype.hasOwnProperty.call(e,n),a=i?t?.[n]:void 0,c=s?e?.[n]:void 0;if(s)return i?void(E(a)&&E(c)?R(a,c,[...r,n],o):a!==c&&o.push({path:[...r,n],previousValue:A(a),existed:!0})):E(c)?void R(void 0,c,[...r,n],o):void o.push({path:[...r,n],previousValue:void 0,existed:!1});o.push({path:[...r,n],previousValue:A(a),existed:!0})})),o}function P(t){if(!t)return;const e={};return Object.keys(t).forEach((r=>{e[r]=t[r].map((t=>"object"==typeof t&&null!==t?A(t):t))})),e}function w(t,e){let r=t;for(const t of e){if(!r||!E(r[t]))return;r=r[t]}return r}l.registerLibrary(s,i);class D{static{this.defaultFlavour=t}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=m}constructor(t=D.defaultFlavour){this.flavour=t}static getTargetState(t){if(!t)throw Error("Invalid target provided to Decoration state tracker");let e=this.targetStates.get(t);return e||(e={pending:[],flavour:void 0,directApply:!1},this.targetStates.set(t,e)),e}static applyPendingEntry(t,e){const r=l._metadata,o=l.Symbol(t.owner),n=void 0===t.metadataDiff?A(r[o]):void 0;try{if(void 0!==t.propertyKey&&void 0===t.descriptorSnapshot&&t.target){const e=Object.getOwnPropertyDescriptor(t.target,t.propertyKey);t.descriptorWasOwn=Object.prototype.hasOwnProperty.call(t.target,t.propertyKey),t.descriptorSnapshot=e?{...e}:void 0}const i=t.argsFactory?t.argsFactory():P(t.argsOverride),s=t.callback(e,i)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&s&&t.target&&Object.defineProperty(t.target,t.propertyKey,s),void 0===t.metadataDiff){const e=A(r[o]);t.metadataDiff=R(n,e)}}catch(t){}}static markPending(t){if(!t)return;const e=this.getTargetState(t);e.resolved=!1,e.flavour||(e.flavour=D.defaultFlavour),l.set(t,r.DECORATION,o.PENDING)}static scheduleDefaultResolve(t){if(!t)return;const e=this.getTargetState(t);e.resolveScheduled||e.resolved||e.applying||(e.resolveScheduled=!0,Promise.resolve().then((()=>{e.resolveScheduled=!1,e.resolved||this.resolvePendingDecorators(t)})))}static registerPendingDecorator(t,e,o,n,i,s,a){const c=`${t?.name||"anonymous"}:${(n||"class")+""}:${Date.now()}:${Math.random()}`,d=this.getTargetState(t),u=P(s),f={owner:t,target:e,propertyKey:n,descriptor:i,callback:o,argsOverride:u,argsFactory:()=>P(u),key:c,definitionKey:a},p=()=>{const e=d.flavour||l.get(t,r.FLAVOUR)||D.defaultFlavour;return this.applyPendingEntry(f,e),f.lastAppliedPass=d.passId,f.lastAppliedFlavour=e,e},h=()=>(d.pending.push(f),f);if(d.directApply){h();const e=p();return d.appliedCount=d.pending.length,d.flavour=e,l.set(t,r.DECORATION,!0),c}if(h(),d.applying)return p(),c;if(D.flavourResolver!==m)try{const e=D.flavourResolver(t);if(e&&e!==D.defaultFlavour)return this.resolvePendingDecorators(t,e),c}catch{}return this.scheduleDefaultResolve(t),c}static resolvePendingDecorators(t,e){const o="function"==typeof t?t:t?.constructor||t;if(!o)return;const n=this.getTargetState(o);if(n.resolveScheduled=!1,!n.pending.length&&!e)return;const i=e||n.flavour||l.get(o,r.FLAVOUR)||D.defaultFlavour;if(n.applying)return;const s=n.appliedCount||0;if(!e&&n.lastAppliedFlavour===i&&s>=n.pending.length)return;const a=!(!e||e===D.defaultFlavour)||n.directApply;if(!n.pending.length)return;const c=(n.passId||0)+1;n.passId=c,n.applying=!0;try{if(a)for(const t of n.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,i);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==i&&e?(t.metadataDiff?.length&&F(t.owner,t.metadataDiff),j(t),this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i):t.lastAppliedPass=c:(this.applyPendingEntry(t,i),t.lastAppliedPass=c,t.lastAppliedFlavour=i)}else{let t=s;for(;t<n.pending.length;){const e=n.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,i),e.lastAppliedPass=c,e.lastAppliedFlavour=i)}n.appliedCount=n.pending.length}}finally{n.applying=!1}n.flavour=i,n.resolved=!0,n.lastAppliedFlavour=i,a&&(n.appliedCount=n.pending.length,i!==D.defaultFlavour&&(n.directApply=!0)),l.set(o,r.DECORATION,!0)}for(t){return this.key=t,this}decorate(t=!1,...e){if(!this.key)throw Error("key must be provided before decorators can be added");if(!(e&&e.length||t||this.flavour===D.defaultFlavour))throw Error("Must provide overrides or addons to override or extend decaf's decorators");return t?this.extras=new Set([...(this.extras||new Set).values(),...e]):this.decorators=new Set([...e]),this}snapshotDecoratorArgs(){if(!this.decorators||!this.decorators.size)return;const t={};return Array.from(this.decorators.values()).forEach(((e,r)=>{"object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args.map((t=>"object"==typeof t&&null!==t?A(t):t)))})),Object.keys(t).length?t:void 0}define(...t){if(t.find((t=>"object"==typeof t))&&1!==t.length)throw Error("When using an overridable decorator, only one is allowed");return this.decorate(!1,...t)}extend(...t){if(t.find((t=>"object"==typeof t))&&1!==t.length)throw Error("When extending using an overridable decorator, only one is allowed");return this.decorate(!0,...t)}decoratorFactory(t,e,r){function o(o,n,i){const s=e??D.flavourResolver(o),a=D.decorators[t];let c;const l=a[s]?a[s].extras:a[D.defaultFlavour].extras;c=a&&a[s]&&a[s].decorators&&a[s].decorators.size?a[s].decorators:a[D.defaultFlavour].decorators;const d=[...c?c.values():[]],u=[...(a[D.defaultFlavour]?.decorators||new Set).values()],f=d.reduce(((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t)),{}),p=u.reduce(((t,e,r)=>("object"==typeof e&&"args"in e&&Array.isArray(e.args)&&(t[r]=e.args),t)),{}),h=[...d,...l?l.values():[]],y=d.length,g=r||{};let v=o,O=i;return h.forEach(((t,e)=>{let r;if("object"==typeof t){const o=t,n=y>e?e:0,i=((y>e?g[n]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:f[n]??p[n]??p[0]??[])).map((t=>"object"==typeof t&&null!==t?A(t):t));r=o.decorator(...i)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const i=r(void 0===n?v:o,n,O);void 0===n?"function"==typeof i&&(v=i):void 0!==i&&(O=i)})),void 0===n?v:O}return Object.defineProperty(o,"name",{value:[e||"dynamic",t].join("_decorator_for_"),writable:!1}),o}apply(){if(!this.key)throw Error("No key provided for the decoration builder");const t=this.key,e=D.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||e||new Set,n=void 0!==this.extras?this.extras:void 0;D.register(this.key,this.flavour,o,n);const i=(e,o,n)=>{const i=void 0!==o,s="function"==typeof e?e:e?.constructor||e;if(s&&i){l.innerGet(l.Symbol(s),r.FLAVOUR)||f(D.defaultFlavour)(s);const i=this.snapshotDecoratorArgs();return D.registerPendingDecorator(s,e,(e=>this.decoratorFactory(t,e,i)),o,n,i,t),D.resolvePendingDecorators(s),o&&!n&&p()(s,o),o&&n&&g()(s,o,n),n}const a=this.flavour===D.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(t,a)(e,o,n)};try{Object.defineProperty(i,"name",{value:[this.flavour,t].join("_decorator_for_"),writable:!1})}catch(t){}return i}static register(t,e,r,o){if(!t)throw Error("No key provided for the decoration builder");if(!r)throw Error("No decorators provided for the decoration builder");if(!e)throw Error("No flavour provided for the decoration builder");D.decorators[t]||(D.decorators[t]={}),D.decorators[t][e]||(D.decorators[t][e]={}),D.decorators[t][e].decorators=r,void 0!==o&&(D.decorators[t][e].extras=o)}static setResolver(t){D.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===D.defaultFlavour)return!1;const r=D.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const n=r[D.defaultFlavour],i=o.decorators&&o.decorators.size>0,s=o.extras instanceof Set&&o.extras.size>0;if(!i&&!s)return!1;if(!n)return!0;const a=!i||o.decorators===n.decorators,c=!s||o.extras===n.extras;return!(a&&c)}static for(t){return(new D).for(t)}static flavouredAs(t){return new D(t)}}function F(t,e){if(!e||!e.length)return;const r=l._metadata,o=l.Symbol(t),n=r[o]||(r[o]={});e.forEach((({path:t,previousValue:e,existed:r})=>{if(!t.length)return;let o=n;for(let e=0;e<t.length-1;e++){const r=t[e];E(o[r])||(o[r]={}),o=o[r]}const i=t[t.length-1];r?o[i]=A(e):(delete o[i],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),n=o.slice(0,-1),i=o[o.length-1],s=0===n.length?t:w(t,n);if(!s||!E(s))break;const a=s[i];if(!E(a)||Reflect.ownKeys(a).length>0)break;delete s[i]}})(n,t.slice(0,-1)))}))}function j(t){if(!t||void 0===t.propertyKey)return;const e=t.target;if(!e||void 0===t.descriptorWasOwn)return;const r=t.propertyKey,o=t.descriptorSnapshot;t.descriptorWasOwn?o?Object.defineProperty(e,r,o):delete e[r]:(delete e[r],o&&Object.defineProperty(e,r,o))}export{D as Decoration,r as DecorationKeys,o as DecorationState,t as DefaultFlavour,n as DefaultMetadata,l as Metadata,e as ObjectKeySplitter,s as PACKAGE_NAME,i as VERSION,v as apply,S as description,a as getValueBySplitter,d as metadata,u as metadataArray,g as method,b as methodMetadata,h as param,y as paramMetadata,p as prop,O as propMetadata,c as setValueBySplitter,f as uses};
2
2
  //# sourceMappingURL=decoration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoration.js","sources":["../src/constants.ts","../src/version.ts","../src/metadata/Metadata.ts","../src/decorators.ts","../src/decoration/Decoration.ts"],"sourcesContent":[null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_metadata","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","model","meta","get","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","Decoration","flavouredAs","flavour","innerGet","FLAVOUR","registeredFlavour","registry","constr","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","resolvedModel","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","symbol","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","target","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","registerLibrary","library","version","LIBRARIES","libraries","strs","metadata","descriptor","targetModel","metadataArray","data","propertyKey","existingData","apply","Set","uses","object","canonical","flav","defaultFlavour","filtered","o","add","manageFlavourRMetadata","resolved","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","method","getOwnPropertyDescriptor","paramTpes","paramMetadata","designParams","designReturn","decorators","decorator","propMetadata","methodMetadata","desc","define","original","args","flavourResolver","owner","item","Date","getTime","from","Map","v","clone","ownKeys","diffMetadataBuckets","before","after","basePath","prevExists","nextExists","prevValue","nextValue","previousValue","existed","cloneArgsOverrides","overrides","arg","getNodeAtPath","bucket","segment","targetStates","WeakMap","getTargetState","state","pending","directApply","applyPendingEntry","entry","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","resolvePendingDecorators","registerPendingDecorator","definitionKey","now","Math","random","argsOverrideClone","applyImmediately","flavourToUse","lastAppliedPass","passId","lastAppliedFlavour","registerEntry","appliedCount","eagerFlavour","resolvedFlavour","cursor","shouldFinalize","currentPass","hasOverride","shouldOverrideEntry","revertMetadataDiff","restorePropertyDescriptor","decorate","addon","extras","snapshotDecoratorArgs","size","find","d","extend","decoratorFactory","f","contextDecorator","cache","baseDecoratorsList","defaultDecoratorsList","baseArgsByIndex","reduce","accum","defaultArgsByIndex","toApply","baseLength","argsOverrides","currentTarget","decoratorFn","candidateIndex","invocationArgs","existingDecorators","decoratorsToRegister","extrasToRegister","register","wrapper","isMember","flavourHint","e","setResolver","resolver","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","slice","parentPath","pruneEmptyAncestors","snapshot"],"mappings":"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"}
1
+ {"version":3,"file":"decoration.js","sources":["../src/constants.ts","../src/version.ts","../src/metadata/Metadata.ts","../src/decorators.ts","../src/decoration/Decoration.ts"],"sourcesContent":[null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_metadata","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","model","meta","get","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","Decoration","flavouredAs","flavour","innerGet","FLAVOUR","registeredFlavour","registry","constr","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","resolvedModel","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","symbol","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","target","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","registerLibrary","library","version","LIBRARIES","libraries","strs","metadata","descriptor","targetModel","metadataArray","data","propertyKey","existingData","apply","Set","uses","object","canonical","flav","defaultFlavour","filtered","o","add","manageFlavourRMetadata","resolved","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","method","getOwnPropertyDescriptor","paramTpes","paramMetadata","designParams","designReturn","decorators","decorator","propMetadata","methodMetadata","desc","define","original","args","flavourResolver","owner","item","Date","getTime","from","Map","v","clone","ownKeys","diffMetadataBuckets","before","after","basePath","prevExists","nextExists","prevValue","nextValue","previousValue","existed","cloneArgsOverrides","overrides","arg","getNodeAtPath","bucket","segment","targetStates","WeakMap","getTargetState","state","pending","directApply","applyPendingEntry","entry","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","resolvePendingDecorators","registerPendingDecorator","definitionKey","now","Math","random","argsOverrideClone","applyImmediately","flavourToUse","lastAppliedPass","passId","lastAppliedFlavour","registerEntry","appliedCount","eagerFlavour","resolvedFlavour","cursor","shouldFinalize","currentPass","hasOverride","shouldOverrideEntry","revertMetadataDiff","restorePropertyDescriptor","decorate","addon","extras","snapshotDecoratorArgs","size","find","d","extend","decoratorFactory","f","contextDecorator","cache","baseDecoratorsList","defaultDecoratorsList","baseArgsByIndex","reduce","accum","defaultArgsByIndex","toApply","baseLength","argsOverrides","currentTarget","decoratorFn","candidateIndex","invocationArgs","existingDecorators","decoratorsToRegister","extrasToRegister","register","wrapper","isMember","flavourHint","e","setResolver","resolver","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","slice","parentPath","pruneEmptyAncestors","snapshot"],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  * @const VERSION
6
6
  * @memberOf module:decoration
7
7
  */
8
- export declare const VERSION = "0.8.1";
8
+ export declare const VERSION = "0.8.2";
9
9
  export declare const PACKAGE_NAME = "@decaf-ts/decoration";
@@ -5,6 +5,6 @@
5
5
  * @const VERSION
6
6
  * @memberOf module:decoration
7
7
  */
8
- export const VERSION = "0.8.1";
8
+ export const VERSION = "0.8.2";
9
9
  export const PACKAGE_NAME = "@decaf-ts/decoration";
10
10
  //# sourceMappingURL=version.js.map
package/lib/version.cjs CHANGED
@@ -8,6 +8,6 @@ exports.PACKAGE_NAME = exports.VERSION = void 0;
8
8
  * @const VERSION
9
9
  * @memberOf module:decoration
10
10
  */
11
- exports.VERSION = "0.8.1";
11
+ exports.VERSION = "0.8.2";
12
12
  exports.PACKAGE_NAME = "@decaf-ts/decoration";
13
13
  //# sourceMappingURL=version.js.map
package/lib/version.d.ts CHANGED
@@ -5,5 +5,5 @@
5
5
  * @const VERSION
6
6
  * @memberOf module:decoration
7
7
  */
8
- export declare const VERSION = "0.8.1";
8
+ export declare const VERSION = "0.8.2";
9
9
  export declare const PACKAGE_NAME = "@decaf-ts/decoration";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/decoration",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "Decoration and metadata mechanisms for decaf-ts",
5
5
  "type": "module",
6
6
  "exports": {