@decaf-ts/decoration 0.8.8 → 0.8.9
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/dist/decoration.cjs +1 -1
- package/dist/decoration.cjs.map +1 -1
- package/dist/decoration.js +1 -1
- package/dist/decoration.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +12 -7
package/dist/decoration.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e="decaf",r=".";var o,i;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,(i=t.DecorationState||(t.DecorationState={})).PENDING="pending",i.ONGOING="ongoing";const a={[t.DecorationKeys.PROPERTIES]:[]},s="##VERSION##",n="##PACKAGE##";let c,l;function d(t){c=t}function u(t){return c?c(t):e}function f(t){l=t}function p(t,e){l&&l(t,e)}function y(t,e,o=r){const i=e.split(o);let a=t;for(const t of i){if(null==a||!Object.prototype.hasOwnProperty.call(a,t))return;a=a[t]}return a}function h(t,e,o,i=r){const a=e.split(i).filter((t=>t.length>0));if(0===a.length)return;let s=t;for(let t=0;t<a.length-1;t++){const e=a[t];void 0!==s[e]&&null!==s[e]&&"object"==typeof s[e]||(s[e]={}),s=s[e]}s[a[a.length-1]]=o}class v{static{this._allowReRegistration=!1}static{this._metadata={}}static{this._propertiesIndex={}}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.constr(t),r=this.Symbol(e),o=this._propertiesIndex[r];if(o&&o.size)return[...o];const i=this.get(e);return i&&i.properties?Object.keys(i.properties):void 0}static allowReregistration(t=!0){this._allowReRegistration=t}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 u(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 i=this.constr(r);let a;for(const[t,r]of Object.entries(o))if(Array.isArray(r)&&r.some((t=>this.constr(t)===i))){if(t===e){a=a||t;continue}return t}return a}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),i=this.collectConstructorChain(o);if(i.filter((e=>this.isDecorated(e)===t.DecorationState.PENDING)).forEach((t=>{p(t)})),0===i.length){const t=Symbol.for(o.toString());return this.innerGet(t,r)}const a=i.map((t=>this.innerGet(this.Symbol(t),r))).filter((t=>void 0!==t));return 0!==a.length?this.mergeMetadataChain(a):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?y(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],i=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(i)?this.mergePlainObjects(i,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 h(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 i="string"==typeof e?Symbol.for(e):this.Symbol(e);if("string"==typeof r){const e=`${t.DecorationKeys.PROPERTIES}${this.splitter}`;if(r.startsWith(e)){const t=r.slice(e.length);if(t.length){const e=this._propertiesIndex[i]||new Set;e.add(t),this._propertiesIndex[i]=e}}else if(r===t.DecorationKeys.PROPERTIES&&this.isPlainObject(o)){const t=this._propertiesIndex[i]||new Set;Object.keys(o).forEach((e=>{t.add(e)})),t.size&&(this._propertiesIndex[i]=t)}}this.innerSet(i,r,o),"string"!=typeof e&&v.mirror&&!Object.prototype.hasOwnProperty.call(e,this.baseKey)&&Object.defineProperty(e,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[i]})}static registerLibrary(e,r){const o=Symbol.for(t.DecorationKeys.LIBRARIES);if(this.innerGet(o,e)&&!this._allowReRegistration)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)}}v.registerLibrary(n,s);const g=Symbol.for(t.DecorationKeys.FLAVOUR);function D(e,r,o){const i=v.constr(e),a=v.innerGet(v.Symbol(e),t.DecorationKeys.FLAVOUR)||o,s=(v.innerGet(g,a)||[]).filter((t=>v.constr(t)!==i));v.set(t.DecorationKeys.FLAVOUR,a,s);const n=new Set(v.innerGet(g,r)||[]);return n.add(e),v.set(t.DecorationKeys.FLAVOUR,r,[...n]),v.set(i,t.DecorationKeys.FLAVOUR,r),i}function O(e,r){return(o,i,a)=>{let s=o;if(i&&(s="function"==typeof o?o:o.constructor||o,void 0===a)){const e="function"==typeof o?o.prototype:o,r=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_TYPE,e,i),a=v.key(t.DecorationKeys.PROPERTIES,i.toString()),n=v.get(s,a);void 0===r&&void 0!==n||v.set(s,a,r)}v.set(s,e,r)}}function S(){return(e,r)=>{const o="function"==typeof e?e.prototype:e,i=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_TYPE,o,r);return O(v.key(t.DecorationKeys.PROPERTIES,r),i)(e,r)}}function b(){return(e,r,o)=>{if(!r)throw Error("The @param decorator can only be applied to methods");R()(e,r,Object.getOwnPropertyDescriptor(e,r));const i=v.params(e.constructor,r);if(!i)throw Error("Missing parameter types for "+r);if(o>=i.length)throw Error(`Parameter index ${o} out of range for ${r+""}`);O(v.key(t.DecorationKeys.METHODS,r,o.toString()),i[o])(e,r)}}function R(){return(e,r,o)=>{const i=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_PARAMS,e,r),a=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_RETURN,e,r);return E(O(v.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_PARAMS),i),O(v.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_RETURN),a))(e,r,o)}}function E(...t){return(e,r,o)=>{for(const i of t)void 0!==r?i(e,r,o):i(e)}}function m(e){const r=v.constr("function"==typeof e?e:e?.constructor),o=v.innerGet(v.Symbol(r),t.DecorationKeys.FLAVOUR);if(o&&o!==j.defaultFlavour)return o;const i="function"==typeof v.registeredFlavour?v.registeredFlavour(r):void 0;return i&&i!==j.defaultFlavour?i:o??j.defaultFlavour}function P(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 K(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach((i=>{const a=!!t&&Object.prototype.hasOwnProperty.call(t,i),s=!!e&&Object.prototype.hasOwnProperty.call(e,i),n=a?t?.[i]:void 0,c=s?e?.[i]:void 0;if(s)return a?void(P(n)&&P(c)?K(n,c,[...r,i],o):n!==c&&o.push({path:[...r,i],previousValue:A(n),existed:!0})):P(c)?void K(void 0,c,[...r,i],o):void o.push({path:[...r,i],previousValue:void 0,existed:!1});o.push({path:[...r,i],previousValue:A(n),existed:!0})})),o}function w(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 F(t,e){let r=t;for(const t of e){if(!r||!P(r[t]))return;r=r[t]}return r}class j{static{this.defaultFlavour=e}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=m}static{d((t=>this.flavourResolver(t))),f(((t,e)=>this.resolvePendingDecorators(t,e)))}constructor(t=j.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=v._metadata,o=v.Symbol(t.owner),i=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 a=t.argsFactory?t.argsFactory():w(t.argsOverride),s=t.callback(e,a)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&s&&t.target&&Object.defineProperty(t.target,t.propertyKey,s),void 0!==t.propertyKey&&void 0===t.descriptor&&S()(t.owner??t.target,t.propertyKey),void 0===t.metadataDiff){const e=A(r[o]);t.metadataDiff=K(i,e)}}catch(t){}}static markPending(e){if(!e)return;const r=this.getTargetState(e);r.resolved=!1,r.flavour||(r.flavour=j.defaultFlavour),v.set(e,t.DecorationKeys.DECORATION,t.DecorationState.PENDING)}static ensureDefaultFlavour(t){if(!t)return;const e=D(t,j.defaultFlavour,j.defaultFlavour);let r;try{r=j.flavourResolver?j.flavourResolver(e):void 0}catch{r=void 0}r&&r!==j.defaultFlavour?j.resolvePendingDecorators(e,r):j.markPending(e)}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,i,a,s,n){const c=`${e?.name||"anonymous"}:${(i||"class")+""}:${Date.now()}:${Math.random()}`,l=this.getTargetState(e),d=w(s),u={owner:e,target:r,propertyKey:i,descriptor:a,callback:o,argsOverride:d,argsFactory:()=>w(d),key:c,definitionKey:n},f=()=>{const r=l.flavour||v.get(e,t.DecorationKeys.FLAVOUR)||j.defaultFlavour;return this.applyPendingEntry(u,r),u.lastAppliedPass=l.passId,u.lastAppliedFlavour=r,r},p=()=>(l.pending.push(u),u);if(l.directApply){p();const r=f();return l.appliedCount=l.pending.length,l.flavour=r,v.set(e,t.DecorationKeys.DECORATION,!0),c}if(p(),l.applying)return f(),c;if(j.flavourResolver!==m)try{const t=j.flavourResolver(e);if(t&&t!==j.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 i=this.getTargetState(o);if(i.resolveScheduled=!1,!i.pending.length&&!r)return;const a=r||i.flavour||v.get(o,t.DecorationKeys.FLAVOUR)||j.defaultFlavour;if(i.applying)return;const s=i.appliedCount||0;if(!r&&i.lastAppliedFlavour===a&&s>=i.pending.length)return;const n=!(!r||r===j.defaultFlavour)||i.directApply;if(!i.pending.length)return;const c=(i.passId||0)+1;i.passId=c,i.applying=!0;try{if(n)for(const t of i.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,a);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==a&&e?(t.metadataDiff?.length&&I(t.owner,t.metadataDiff),T(t),this.applyPendingEntry(t,a),t.lastAppliedPass=c,t.lastAppliedFlavour=a):t.lastAppliedPass=c:(this.applyPendingEntry(t,a),t.lastAppliedPass=c,t.lastAppliedFlavour=a)}else{let t=s;for(;t<i.pending.length;){const e=i.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,a),e.lastAppliedPass=c,e.lastAppliedFlavour=a)}i.appliedCount=i.pending.length}}finally{i.applying=!1}i.flavour=a,i.resolved=!0,i.lastAppliedFlavour=a,n&&(i.appliedCount=i.pending.length,a!==j.defaultFlavour&&(i.directApply=!0)),v.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===j.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,i,a){const s=e??j.flavourResolver(o),n=j.decorators[t];let c;const l=n[s]?n[s].extras:n[j.defaultFlavour].extras;c=n&&n[s]&&n[s].decorators&&n[s].decorators.size?n[s].decorators:n[j.defaultFlavour].decorators;const d=[...c?c.values():[]],u=[...(n[j.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)),{}),y=[...d,...l?l.values():[]],h=d.length,v=r||{};let g=o,D=a;return y.forEach(((t,e)=>{let r;if("object"==typeof t){const o=t,i=h>e?e:0,a=((h>e?v[i]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:f[i]??p[i]??p[0]??[])).map((t=>"object"==typeof t&&null!==t?A(t):t));r=o.decorator(...a)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const a=r(void 0===i?g:o,i,D);void 0===i?"function"==typeof a&&(g=a):void 0!==a&&(D=a)})),void 0===i?g: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=j.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||r||new Set,i=void 0!==this.extras?this.extras:void 0;j.register(this.key,this.flavour,o,i);const a=(r,o,i)=>{const a=void 0!==o,s="function"==typeof r?r:r?.constructor||r;if(s&&a){v.innerGet(v.Symbol(s),t.DecorationKeys.FLAVOUR)||j.ensureDefaultFlavour(s);const a=this.snapshotDecoratorArgs();return j.registerPendingDecorator(s,r,(t=>this.decoratorFactory(e,t,a)),o,i,a,e),j.resolvePendingDecorators(s),o&&!i&&S()(s,o),o&&i&&R()(s,o,i),i}const n=this.flavour===j.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(e,n)(r,o,i)};try{Object.defineProperty(a,"name",{value:[this.flavour,e].join("_decorator_for_"),writable:!1})}catch(t){}return a}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");j.decorators[t]||(j.decorators[t]={}),j.decorators[t][e]||(j.decorators[t][e]={}),j.decorators[t][e].decorators=r,void 0!==o&&(j.decorators[t][e].extras=o)}static setResolver(t){j.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===j.defaultFlavour)return!1;const r=j.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const i=r[j.defaultFlavour],a=o.decorators&&o.decorators.size>0,s=o.extras instanceof Set&&o.extras.size>0;if(!a&&!s)return!1;if(!i)return!0;const n=!a||o.decorators===i.decorators,c=!s||o.extras===i.extras;return!(n&&c)}static for(t){return(new j).for(t)}static flavouredAs(t){return new j(t)}}function I(e,r){if(!r||!r.length)return;const o=v._metadata,i=v.Symbol(e),a=o[i]||(o[i]={});r.forEach((({path:e,previousValue:r,existed:o})=>{if(!e.length)return;if(e[0]===t.DecorationKeys.PROPERTIES)return;let i=a;for(let t=0;t<e.length-1;t++){const r=e[t];P(i[r])||(i[r]={}),i=i[r]}const s=e[e.length-1];o?i[s]=A(r):(delete i[s],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),i=o.slice(0,-1),a=o[o.length-1],s=0===i.length?t:F(t,i);if(!s||!P(s))break;const n=s[a];if(!P(n)||Reflect.ownKeys(n).length>0)break;delete s[a]}})(a,e.slice(0,-1)))}))}function T(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=j,t.DefaultFlavour=e,t.DefaultMetadata=a,t.Metadata=v,t.ObjectKeySplitter=r,t.PACKAGE_NAME=n,t.VERSION=s,t.apply=E,t.assignFlavour=D,t.description=e=>j.for(t.DecorationKeys.DESCRIPTION).define({decorator:e=>(r,o,i)=>O(v.key(t.DecorationKeys.DESCRIPTION,o?o.toString():t.DecorationKeys.CLASS),e)(r,o,i),args:[e]}).apply(),t.getValueBySplitter=y,t.metadata=O,t.metadataArray=(t,...e)=>(r,o,i)=>{const a=v.get(r,t)||[];return E(O(o?v.key(t,o):t,[...new Set([...a,...e])]))(r,o,i)},t.method=R,t.methodMetadata=(t,e)=>E(O(t,e),R()),t.param=b,t.paramMetadata=(e,r)=>(o,i,a)=>E(b(),O(v.key(t.DecorationKeys.METHODS,i,e),r))(o,i,a),t.prop=S,t.propMetadata=(t,e)=>E(O(t,e),S()),t.registerFlavourResolver=d,t.registerPendingResolver=f,t.resolveFlavour=u,t.resolvePendingDecorators=p,t.setValueBySplitter=h,t.uses=t=>e=>{const r=D(e,t,j.defaultFlavour);if(t!==j.defaultFlavour)j.resolvePendingDecorators(r,t);else{let t;try{t=j.flavourResolver?j.flavourResolver(r):void 0}catch{t=void 0}t&&t!==j.defaultFlavour?j.resolvePendingDecorators(r,t):j.markPending(r)}return e}},"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,i;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,(i=t.DecorationState||(t.DecorationState={})).PENDING="pending",i.ONGOING="ongoing";const a={[t.DecorationKeys.PROPERTIES]:[]},s="##VERSION##",n="##PACKAGE##";let c,l;function d(t){c=t}function u(t){return c?c(t):e}function f(t){l=t}function p(t,e){l&&l(t,e)}function y(t,e,o=r){const i=e.split(o);let a=t;for(const t of i){if(null==a||!Object.prototype.hasOwnProperty.call(a,t))return;a=a[t]}return a}function h(t,e,o,i=r){const a=e.split(i).filter(t=>t.length>0);if(0===a.length)return;let s=t;for(let t=0;t<a.length-1;t++){const e=a[t];void 0!==s[e]&&null!==s[e]&&"object"==typeof s[e]||(s[e]={}),s=s[e]}s[a[a.length-1]]=o}class v{static{this._allowReRegistration=!1}static{this._metadata={}}static{this._propertiesIndex={}}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.constr(t),r=this.Symbol(e),o=this._propertiesIndex[r];if(o&&o.size)return[...o];const i=this.get(e);return i&&i.properties?Object.keys(i.properties):void 0}static allowReregistration(t=!0){this._allowReRegistration=t}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 u(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 i=this.constr(r);let a;for(const[t,r]of Object.entries(o))if(Array.isArray(r)&&r.some(t=>this.constr(t)===i)){if(t===e){a=a||t;continue}return t}return a}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),i=this.collectConstructorChain(o);if(i.filter(e=>this.isDecorated(e)===t.DecorationState.PENDING).forEach(t=>{p(t)}),0===i.length){const t=Symbol.for(o.toString());return this.innerGet(t,r)}const a=i.map(t=>this.innerGet(this.Symbol(t),r)).filter(t=>void 0!==t);return 0!==a.length?this.mergeMetadataChain(a):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?y(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],i=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(i)?this.mergePlainObjects(i,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 h(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 i="string"==typeof e?Symbol.for(e):this.Symbol(e);if("string"==typeof r){const e=`${t.DecorationKeys.PROPERTIES}${this.splitter}`;if(r.startsWith(e)){const t=r.slice(e.length);if(t.length){const e=this._propertiesIndex[i]||new Set;e.add(t),this._propertiesIndex[i]=e}}else if(r===t.DecorationKeys.PROPERTIES&&this.isPlainObject(o)){const t=this._propertiesIndex[i]||new Set;Object.keys(o).forEach(e=>{t.add(e)}),t.size&&(this._propertiesIndex[i]=t)}}this.innerSet(i,r,o),"string"!=typeof e&&v.mirror&&!Object.prototype.hasOwnProperty.call(e,this.baseKey)&&Object.defineProperty(e,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[i]})}static registerLibrary(e,r){const o=Symbol.for(t.DecorationKeys.LIBRARIES);if(this.innerGet(o,e)&&!this._allowReRegistration)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)}}v.registerLibrary(n,s);const g=Symbol.for(t.DecorationKeys.FLAVOUR);function D(e,r,o){const i=v.constr(e),a=v.innerGet(v.Symbol(e),t.DecorationKeys.FLAVOUR)||o,s=(v.innerGet(g,a)||[]).filter(t=>v.constr(t)!==i);v.set(t.DecorationKeys.FLAVOUR,a,s);const n=new Set(v.innerGet(g,r)||[]);return n.add(e),v.set(t.DecorationKeys.FLAVOUR,r,[...n]),v.set(i,t.DecorationKeys.FLAVOUR,r),i}function O(e,r){return(o,i,a)=>{let s=o;if(i&&(s="function"==typeof o?o:o.constructor||o,void 0===a)){const e="function"==typeof o?o.prototype:o,r=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_TYPE,e,i),a=v.key(t.DecorationKeys.PROPERTIES,i.toString()),n=v.get(s,a);void 0===r&&void 0!==n||v.set(s,a,r)}v.set(s,e,r)}}function S(){return(e,r)=>{const o="function"==typeof e?e.prototype:e,i=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_TYPE,o,r);return O(v.key(t.DecorationKeys.PROPERTIES,r),i)(e,r)}}function b(){return(e,r,o)=>{if(!r)throw Error("The @param decorator can only be applied to methods");R()(e,r,Object.getOwnPropertyDescriptor(e,r));const i=v.params(e.constructor,r);if(!i)throw Error("Missing parameter types for "+r);if(o>=i.length)throw Error(`Parameter index ${o} out of range for ${r+""}`);O(v.key(t.DecorationKeys.METHODS,r,o.toString()),i[o])(e,r)}}function R(){return(e,r,o)=>{const i=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_PARAMS,e,r),a=Reflect.getOwnMetadata(t.DecorationKeys.DESIGN_RETURN,e,r);return E(O(v.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_PARAMS),i),O(v.key(t.DecorationKeys.METHODS,r,t.DecorationKeys.DESIGN_RETURN),a))(e,r,o)}}function E(...t){return(e,r,o)=>{for(const i of t)void 0!==r?i(e,r,o):i(e)}}function m(e){const r=v.constr("function"==typeof e?e:e?.constructor),o=v.innerGet(v.Symbol(r),t.DecorationKeys.FLAVOUR);if(o&&o!==j.defaultFlavour)return o;const i="function"==typeof v.registeredFlavour?v.registeredFlavour(r):void 0;return i&&i!==j.defaultFlavour?i:o??j.defaultFlavour}function P(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 K(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach(i=>{const a=!!t&&Object.prototype.hasOwnProperty.call(t,i),s=!!e&&Object.prototype.hasOwnProperty.call(e,i),n=a?t?.[i]:void 0,c=s?e?.[i]:void 0;if(s)return a?void(P(n)&&P(c)?K(n,c,[...r,i],o):n!==c&&o.push({path:[...r,i],previousValue:A(n),existed:!0})):P(c)?void K(void 0,c,[...r,i],o):void o.push({path:[...r,i],previousValue:void 0,existed:!1});o.push({path:[...r,i],previousValue:A(n),existed:!0})}),o}function w(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 F(t,e){let r=t;for(const t of e){if(!r||!P(r[t]))return;r=r[t]}return r}class j{static{this.defaultFlavour=e}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=m}static{d(t=>this.flavourResolver(t)),f((t,e)=>this.resolvePendingDecorators(t,e))}constructor(t=j.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=v._metadata,o=v.Symbol(t.owner),i=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 a=t.argsFactory?t.argsFactory():w(t.argsOverride),s=t.callback(e,a)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&s&&t.target&&Object.defineProperty(t.target,t.propertyKey,s),void 0!==t.propertyKey&&void 0===t.descriptor&&S()(t.owner??t.target,t.propertyKey),void 0===t.metadataDiff){const e=A(r[o]);t.metadataDiff=K(i,e)}}catch(t){}}static markPending(e){if(!e)return;const r=this.getTargetState(e);r.resolved=!1,r.flavour||(r.flavour=j.defaultFlavour),v.set(e,t.DecorationKeys.DECORATION,t.DecorationState.PENDING)}static ensureDefaultFlavour(t){if(!t)return;const e=D(t,j.defaultFlavour,j.defaultFlavour);let r;try{r=j.flavourResolver?j.flavourResolver(e):void 0}catch{r=void 0}r&&r!==j.defaultFlavour?j.resolvePendingDecorators(e,r):j.markPending(e)}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,i,a,s,n){const c=`${e?.name||"anonymous"}:${(i||"class")+""}:${Date.now()}:${Math.random()}`,l=this.getTargetState(e),d=w(s),u={owner:e,target:r,propertyKey:i,descriptor:a,callback:o,argsOverride:d,argsFactory:()=>w(d),key:c,definitionKey:n},f=()=>{const r=l.flavour||v.get(e,t.DecorationKeys.FLAVOUR)||j.defaultFlavour;return this.applyPendingEntry(u,r),u.lastAppliedPass=l.passId,u.lastAppliedFlavour=r,r},p=()=>(l.pending.push(u),u);if(l.directApply){p();const r=f();return l.appliedCount=l.pending.length,l.flavour=r,v.set(e,t.DecorationKeys.DECORATION,!0),c}if(p(),l.applying)return f(),c;if(j.flavourResolver!==m)try{const t=j.flavourResolver(e);if(t&&t!==j.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 i=this.getTargetState(o);if(i.resolveScheduled=!1,!i.pending.length&&!r)return;const a=r||i.flavour||v.get(o,t.DecorationKeys.FLAVOUR)||j.defaultFlavour;if(i.applying)return;const s=i.appliedCount||0;if(!r&&i.lastAppliedFlavour===a&&s>=i.pending.length)return;const n=!(!r||r===j.defaultFlavour)||i.directApply;if(!i.pending.length)return;const c=(i.passId||0)+1;i.passId=c,i.applying=!0;try{if(n)for(const t of i.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,a);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==a&&e?(t.metadataDiff?.length&&I(t.owner,t.metadataDiff),T(t),this.applyPendingEntry(t,a),t.lastAppliedPass=c,t.lastAppliedFlavour=a):t.lastAppliedPass=c:(this.applyPendingEntry(t,a),t.lastAppliedPass=c,t.lastAppliedFlavour=a)}else{let t=s;for(;t<i.pending.length;){const e=i.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,a),e.lastAppliedPass=c,e.lastAppliedFlavour=a)}i.appliedCount=i.pending.length}}finally{i.applying=!1}i.flavour=a,i.resolved=!0,i.lastAppliedFlavour=a,n&&(i.appliedCount=i.pending.length,a!==j.defaultFlavour&&(i.directApply=!0)),v.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===j.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,i,a){const s=e??j.flavourResolver(o),n=j.decorators[t];let c;const l=n[s]?n[s].extras:n[j.defaultFlavour].extras;c=n&&n[s]&&n[s].decorators&&n[s].decorators.size?n[s].decorators:n[j.defaultFlavour].decorators;const d=[...c?c.values():[]],u=[...(n[j.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),{}),y=[...d,...l?l.values():[]],h=d.length,v=r||{};let g=o,D=a;return y.forEach((t,e)=>{let r;if("object"==typeof t){const o=t,i=h>e?e:0,a=((h>e?v[i]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:f[i]??p[i]??p[0]??[])).map(t=>"object"==typeof t&&null!==t?A(t):t);r=o.decorator(...a)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const a=r(void 0===i?g:o,i,D);void 0===i?"function"==typeof a&&(g=a):void 0!==a&&(D=a)}),void 0===i?g: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=j.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||r||new Set,i=void 0!==this.extras?this.extras:void 0;j.register(this.key,this.flavour,o,i);const a=(r,o,i)=>{const a=void 0!==o,s="function"==typeof r?r:r?.constructor||r;if(s&&a){v.innerGet(v.Symbol(s),t.DecorationKeys.FLAVOUR)||j.ensureDefaultFlavour(s);const a=this.snapshotDecoratorArgs();return j.registerPendingDecorator(s,r,t=>this.decoratorFactory(e,t,a),o,i,a,e),j.resolvePendingDecorators(s),o&&!i&&S()(s,o),o&&i&&R()(s,o,i),i}const n=this.flavour===j.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(e,n)(r,o,i)};try{Object.defineProperty(a,"name",{value:[this.flavour,e].join("_decorator_for_"),writable:!1})}catch(t){}return a}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");j.decorators[t]||(j.decorators[t]={}),j.decorators[t][e]||(j.decorators[t][e]={}),j.decorators[t][e].decorators=r,void 0!==o&&(j.decorators[t][e].extras=o)}static setResolver(t){j.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===j.defaultFlavour)return!1;const r=j.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const i=r[j.defaultFlavour],a=o.decorators&&o.decorators.size>0,s=o.extras instanceof Set&&o.extras.size>0;if(!a&&!s)return!1;if(!i)return!0;const n=!a||o.decorators===i.decorators,c=!s||o.extras===i.extras;return!(n&&c)}static for(t){return(new j).for(t)}static flavouredAs(t){return new j(t)}}function I(e,r){if(!r||!r.length)return;const o=v._metadata,i=v.Symbol(e),a=o[i]||(o[i]={});r.forEach(({path:e,previousValue:r,existed:o})=>{if(!e.length)return;if(e[0]===t.DecorationKeys.PROPERTIES)return;let i=a;for(let t=0;t<e.length-1;t++){const r=e[t];P(i[r])||(i[r]={}),i=i[r]}const s=e[e.length-1];o?i[s]=A(r):(delete i[s],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),i=o.slice(0,-1),a=o[o.length-1],s=0===i.length?t:F(t,i);if(!s||!P(s))break;const n=s[a];if(!P(n)||Reflect.ownKeys(n).length>0)break;delete s[a]}})(a,e.slice(0,-1)))})}function T(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=j,t.DefaultFlavour=e,t.DefaultMetadata=a,t.Metadata=v,t.ObjectKeySplitter=r,t.PACKAGE_NAME=n,t.VERSION=s,t.apply=E,t.assignFlavour=D,t.description=e=>j.for(t.DecorationKeys.DESCRIPTION).define({decorator:e=>(r,o,i)=>O(v.key(t.DecorationKeys.DESCRIPTION,o?o.toString():t.DecorationKeys.CLASS),e)(r,o,i),args:[e]}).apply(),t.getValueBySplitter=y,t.metadata=O,t.metadataArray=(t,...e)=>(r,o,i)=>{const a=v.get(r,t)||[];return E(O(o?v.key(t,o):t,[...new Set([...a,...e])]))(r,o,i)},t.method=R,t.methodMetadata=(t,e)=>E(O(t,e),R()),t.param=b,t.paramMetadata=(e,r)=>(o,i,a)=>E(b(),O(v.key(t.DecorationKeys.METHODS,i,e),r))(o,i,a),t.prop=S,t.propMetadata=(t,e)=>E(O(t,e),S()),t.registerFlavourResolver=d,t.registerPendingResolver=f,t.resolveFlavour=u,t.resolvePendingDecorators=p,t.setValueBySplitter=h,t.uses=t=>e=>{const r=D(e,t,j.defaultFlavour);if(t!==j.defaultFlavour)j.resolvePendingDecorators(r,t);else{let t;try{t=j.flavourResolver?j.flavourResolver(r):void 0}catch{t=void 0}t&&t!==j.defaultFlavour?j.resolvePendingDecorators(r,t):j.markPending(r)}return e}},"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
|
package/dist/decoration.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoration.cjs","sources":["../src/constants.ts","../src/version.ts","../src/decoration/metadataLink.ts","../src/metadata/Metadata.ts","../src/decoration/flavourRegistry.ts","../src/shared/core.ts","../src/decoration/Decoration.ts","../src/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","exports","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","flavourResolver","pendingResolver","registerFlavourResolver","resolver","resolveFlavour","model","registerPendingResolver","resolvePendingDecorators","target","flavour","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_allowReRegistration","_metadata","_propertiesIndex","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","resolvedModel","constr","symbol","indexed","size","meta","get","allowReregistration","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","flavouredAs","innerGet","FLAVOUR","registeredFlavour","registry","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","propPrefix","startsWith","slice","Set","add","registerLibrary","library","version","LIBRARIES","libraries","strs","FLAVOUR_BUCKET_SYMBOL","assignFlavour","object","defaultFlavour","canonical","previousFlavour","filtered","entry","nextBucket","metadata","descriptor","targetModel","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","propKey","existing","method","getOwnPropertyDescriptor","paramTpes","designParams","designReturn","apply","decorators","propertyKey","decorator","owner","Decoration","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","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","resolved","ensureDefaultFlavour","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","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","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","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","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/decoration/metadataLink.ts","../src/metadata/Metadata.ts","../src/decoration/flavourRegistry.ts","../src/shared/core.ts","../src/decoration/Decoration.ts","../src/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","flavourResolver","pendingResolver","registerFlavourResolver","resolver","resolveFlavour","model","registerPendingResolver","resolvePendingDecorators","target","flavour","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_allowReRegistration","_metadata","_propertiesIndex","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","resolvedModel","constr","symbol","indexed","size","meta","get","allowReregistration","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","flavouredAs","innerGet","FLAVOUR","registeredFlavour","registry","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","propPrefix","startsWith","slice","Set","add","registerLibrary","library","version","LIBRARIES","libraries","strs","FLAVOUR_BUCKET_SYMBOL","assignFlavour","object","defaultFlavour","canonical","previousFlavour","filtered","entry","nextBucket","metadata","descriptor","targetModel","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","propKey","existing","method","getOwnPropertyDescriptor","paramTpes","designParams","designReturn","apply","decorators","propertyKey","decorator","owner","Decoration","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","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","resolved","ensureDefaultFlavour","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","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","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","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","parentPath","pruneEmptyAncestors","snapshot","desc","original","data","existingData"],"mappings":"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"}
|
package/dist/decoration.js
CHANGED
|
@@ -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 i={[r.PROPERTIES]:[]},n="##VERSION##",s="##PACKAGE##";let a,c;function l(t){a=t}function d(e){return a?a(e):t}function u(t){c=t}function f(t,e){c&&c(t,e)}function p(t,r,o=e){const i=r.split(o);let n=t;for(const t of i){if(null==n||!Object.prototype.hasOwnProperty.call(n,t))return;n=n[t]}return n}function h(t,r,o,i=e){const n=r.split(i).filter((t=>t.length>0));if(0===n.length)return;let s=t;for(let t=0;t<n.length-1;t++){const e=n[t];void 0!==s[e]&&null!==s[e]&&"object"==typeof s[e]||(s[e]={}),s=s[e]}s[n[n.length-1]]=o}class y{static{this._allowReRegistration=!1}static{this._metadata={}}static{this._propertiesIndex={}}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.constr(t),r=this.Symbol(e),o=this._propertiesIndex[r];if(o&&o.size)return[...o];const i=this.get(e);return i&&i.properties?Object.keys(i.properties):void 0}static allowReregistration(t=!0){this._allowReRegistration=t}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(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 i=this.constr(e);let n;for(const[e,r]of Object.entries(o))if(Array.isArray(r)&&r.some((t=>this.constr(t)===i))){if(e===t){n=n||e;continue}return e}return n}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 i=this.constr(t),n=this.collectConstructorChain(i);if(n.filter((t=>this.isDecorated(t)===o.PENDING)).forEach((t=>{f(t)})),0===n.length){const t=Symbol.for(i.toString());return this.innerGet(t,e)}const s=n.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?p(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],i=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(i)?this.mergePlainObjects(i,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 h(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 i="string"==typeof t?Symbol.for(t):this.Symbol(t);if("string"==typeof e){const t=`${r.PROPERTIES}${this.splitter}`;if(e.startsWith(t)){const r=e.slice(t.length);if(r.length){const t=this._propertiesIndex[i]||new Set;t.add(r),this._propertiesIndex[i]=t}}else if(e===r.PROPERTIES&&this.isPlainObject(o)){const t=this._propertiesIndex[i]||new Set;Object.keys(o).forEach((e=>{t.add(e)})),t.size&&(this._propertiesIndex[i]=t)}}this.innerSet(i,e,o),"string"!=typeof t&&y.mirror&&!Object.prototype.hasOwnProperty.call(t,this.baseKey)&&Object.defineProperty(t,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[i]})}static registerLibrary(t,e){const o=Symbol.for(r.LIBRARIES);if(this.innerGet(o,t)&&!this._allowReRegistration)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)}}y.registerLibrary(s,n);const g=Symbol.for(r.FLAVOUR);function v(t,e,o){const i=y.constr(t),n=y.innerGet(y.Symbol(t),r.FLAVOUR)||o,s=(y.innerGet(g,n)||[]).filter((t=>y.constr(t)!==i));y.set(r.FLAVOUR,n,s);const a=new Set(y.innerGet(g,e)||[]);return a.add(t),y.set(r.FLAVOUR,e,[...a]),y.set(i,r.FLAVOUR,e),i}function O(t,e){return(o,i,n)=>{let s=o;if(i&&(s="function"==typeof o?o:o.constructor||o,void 0===n)){const t="function"==typeof o?o.prototype:o,e=Reflect.getOwnMetadata(r.DESIGN_TYPE,t,i),n=y.key(r.PROPERTIES,i.toString()),a=y.get(s,n);void 0===e&&void 0!==a||y.set(s,n,e)}y.set(s,t,e)}}function S(t,...e){return(r,o,i)=>{const n=y.get(r,t)||[];return m(O(o?y.key(t,o):t,[...new Set([...n,...e])]))(r,o,i)}}function b(){return(t,e)=>{const o="function"==typeof t?t.prototype:t,i=Reflect.getOwnMetadata(r.DESIGN_TYPE,o,e);return O(y.key(r.PROPERTIES,e),i)(t,e)}}function R(){return(t,e,o)=>{if(!e)throw Error("The @param decorator can only be applied to methods");P()(t,e,Object.getOwnPropertyDescriptor(t,e));const i=y.params(t.constructor,e);if(!i)throw Error("Missing parameter types for "+e);if(o>=i.length)throw Error(`Parameter index ${o} out of range for ${e+""}`);O(y.key(r.METHODS,e,o.toString()),i[o])(t,e)}}function E(t,e){return(o,i,n)=>m(R(),O(y.key(r.METHODS,i,t),e))(o,i,n)}function P(){return(t,e,o)=>{const i=Reflect.getOwnMetadata(r.DESIGN_PARAMS,t,e),n=Reflect.getOwnMetadata(r.DESIGN_RETURN,t,e);return m(O(y.key(r.METHODS,e,r.DESIGN_PARAMS),i),O(y.key(r.METHODS,e,r.DESIGN_RETURN),n))(t,e,o)}}function m(...t){return(e,r,o)=>{for(const i of t)void 0!==r?i(e,r,o):i(e)}}function A(t,e){return m(O(t,e),b())}function w(t,e){return m(O(t,e),P())}function D(t){const e=y.constr("function"==typeof t?t:t?.constructor),o=y.innerGet(y.Symbol(e),r.FLAVOUR);if(o&&o!==_.defaultFlavour)return o;const i="function"==typeof y.registeredFlavour?y.registeredFlavour(e):void 0;return i&&i!==_.defaultFlavour?i:o??_.defaultFlavour}function F(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function j(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map((t=>j(t)));if(t instanceof Date)return new Date(t.getTime());if(t instanceof Set)return new Set(Array.from(t).map((t=>j(t))));if(t instanceof Map)return new Map(Array.from(t.entries()).map((([t,e])=>[t,j(e)])));if(t.constructor!==Object)return t;const e={};return Reflect.ownKeys(t).forEach((r=>{e[r]=j(t[r])})),e}function I(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach((i=>{const n=!!t&&Object.prototype.hasOwnProperty.call(t,i),s=!!e&&Object.prototype.hasOwnProperty.call(e,i),a=n?t?.[i]:void 0,c=s?e?.[i]:void 0;if(s)return n?void(F(a)&&F(c)?I(a,c,[...r,i],o):a!==c&&o.push({path:[...r,i],previousValue:j(a),existed:!0})):F(c)?void I(void 0,c,[...r,i],o):void o.push({path:[...r,i],previousValue:void 0,existed:!1});o.push({path:[...r,i],previousValue:j(a),existed:!0})})),o}function T(t){if(!t)return;const e={};return Object.keys(t).forEach((r=>{e[r]=t[r].map((t=>"object"==typeof t&&null!==t?j(t):t))})),e}function N(t,e){let r=t;for(const t of e){if(!r||!F(r[t]))return;r=r[t]}return r}class _{static{this.defaultFlavour=t}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=D}static{l((t=>this.flavourResolver(t))),u(((t,e)=>this.resolvePendingDecorators(t,e)))}constructor(t=_.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=y._metadata,o=y.Symbol(t.owner),i=void 0===t.metadataDiff?j(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 n=t.argsFactory?t.argsFactory():T(t.argsOverride),s=t.callback(e,n)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&s&&t.target&&Object.defineProperty(t.target,t.propertyKey,s),void 0!==t.propertyKey&&void 0===t.descriptor&&b()(t.owner??t.target,t.propertyKey),void 0===t.metadataDiff){const e=j(r[o]);t.metadataDiff=I(i,e)}}catch(t){}}static markPending(t){if(!t)return;const e=this.getTargetState(t);e.resolved=!1,e.flavour||(e.flavour=_.defaultFlavour),y.set(t,r.DECORATION,o.PENDING)}static ensureDefaultFlavour(t){if(!t)return;const e=v(t,_.defaultFlavour,_.defaultFlavour);let r;try{r=_.flavourResolver?_.flavourResolver(e):void 0}catch{r=void 0}r&&r!==_.defaultFlavour?_.resolvePendingDecorators(e,r):_.markPending(e)}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,i,n,s,a){const c=`${t?.name||"anonymous"}:${(i||"class")+""}:${Date.now()}:${Math.random()}`,l=this.getTargetState(t),d=T(s),u={owner:t,target:e,propertyKey:i,descriptor:n,callback:o,argsOverride:d,argsFactory:()=>T(d),key:c,definitionKey:a},f=()=>{const e=l.flavour||y.get(t,r.FLAVOUR)||_.defaultFlavour;return this.applyPendingEntry(u,e),u.lastAppliedPass=l.passId,u.lastAppliedFlavour=e,e},p=()=>(l.pending.push(u),u);if(l.directApply){p();const e=f();return l.appliedCount=l.pending.length,l.flavour=e,y.set(t,r.DECORATION,!0),c}if(p(),l.applying)return f(),c;if(_.flavourResolver!==D)try{const e=_.flavourResolver(t);if(e&&e!==_.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 i=this.getTargetState(o);if(i.resolveScheduled=!1,!i.pending.length&&!e)return;const n=e||i.flavour||y.get(o,r.FLAVOUR)||_.defaultFlavour;if(i.applying)return;const s=i.appliedCount||0;if(!e&&i.lastAppliedFlavour===n&&s>=i.pending.length)return;const a=!(!e||e===_.defaultFlavour)||i.directApply;if(!i.pending.length)return;const c=(i.passId||0)+1;i.passId=c,i.applying=!0;try{if(a)for(const t of i.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,n);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==n&&e?(t.metadataDiff?.length&&k(t.owner,t.metadataDiff),C(t),this.applyPendingEntry(t,n),t.lastAppliedPass=c,t.lastAppliedFlavour=n):t.lastAppliedPass=c:(this.applyPendingEntry(t,n),t.lastAppliedPass=c,t.lastAppliedFlavour=n)}else{let t=s;for(;t<i.pending.length;){const e=i.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,n),e.lastAppliedPass=c,e.lastAppliedFlavour=n)}i.appliedCount=i.pending.length}}finally{i.applying=!1}i.flavour=n,i.resolved=!0,i.lastAppliedFlavour=n,a&&(i.appliedCount=i.pending.length,n!==_.defaultFlavour&&(i.directApply=!0)),y.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===_.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?j(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,i,n){const s=e??_.flavourResolver(o),a=_.decorators[t];let c;const l=a[s]?a[s].extras:a[_.defaultFlavour].extras;c=a&&a[s]&&a[s].decorators&&a[s].decorators.size?a[s].decorators:a[_.defaultFlavour].decorators;const d=[...c?c.values():[]],u=[...(a[_.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=n;return h.forEach(((t,e)=>{let r;if("object"==typeof t){const o=t,i=y>e?e:0,n=((y>e?g[i]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:f[i]??p[i]??p[0]??[])).map((t=>"object"==typeof t&&null!==t?j(t):t));r=o.decorator(...n)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const n=r(void 0===i?v:o,i,O);void 0===i?"function"==typeof n&&(v=n):void 0!==n&&(O=n)})),void 0===i?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=_.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||e||new Set,i=void 0!==this.extras?this.extras:void 0;_.register(this.key,this.flavour,o,i);const n=(e,o,i)=>{const n=void 0!==o,s="function"==typeof e?e:e?.constructor||e;if(s&&n){y.innerGet(y.Symbol(s),r.FLAVOUR)||_.ensureDefaultFlavour(s);const n=this.snapshotDecoratorArgs();return _.registerPendingDecorator(s,e,(e=>this.decoratorFactory(t,e,n)),o,i,n,t),_.resolvePendingDecorators(s),o&&!i&&b()(s,o),o&&i&&P()(s,o,i),i}const a=this.flavour===_.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(t,a)(e,o,i)};try{Object.defineProperty(n,"name",{value:[this.flavour,t].join("_decorator_for_"),writable:!1})}catch(t){}return n}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");_.decorators[t]||(_.decorators[t]={}),_.decorators[t][e]||(_.decorators[t][e]={}),_.decorators[t][e].decorators=r,void 0!==o&&(_.decorators[t][e].extras=o)}static setResolver(t){_.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===_.defaultFlavour)return!1;const r=_.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const i=r[_.defaultFlavour],n=o.decorators&&o.decorators.size>0,s=o.extras instanceof Set&&o.extras.size>0;if(!n&&!s)return!1;if(!i)return!0;const a=!n||o.decorators===i.decorators,c=!s||o.extras===i.extras;return!(a&&c)}static for(t){return(new _).for(t)}static flavouredAs(t){return new _(t)}}function k(t,e){if(!e||!e.length)return;const o=y._metadata,i=y.Symbol(t),n=o[i]||(o[i]={});e.forEach((({path:t,previousValue:e,existed:o})=>{if(!t.length)return;if(t[0]===r.PROPERTIES)return;let i=n;for(let e=0;e<t.length-1;e++){const r=t[e];F(i[r])||(i[r]={}),i=i[r]}const s=t[t.length-1];o?i[s]=j(e):(delete i[s],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),i=o.slice(0,-1),n=o[o.length-1],s=0===i.length?t:N(t,i);if(!s||!F(s))break;const a=s[n];if(!F(a)||Reflect.ownKeys(a).length>0)break;delete s[n]}})(n,t.slice(0,-1)))}))}function C(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))}function G(t){return e=>{const r=v(e,t,_.defaultFlavour);if(t!==_.defaultFlavour)_.resolvePendingDecorators(r,t);else{let t;try{t=_.flavourResolver?_.flavourResolver(r):void 0}catch{t=void 0}t&&t!==_.defaultFlavour?_.resolvePendingDecorators(r,t):_.markPending(r)}return e}}function x(t){return _.for(r.DESCRIPTION).define({decorator:t=>(e,o,i)=>O(y.key(r.DESCRIPTION,o?o.toString():r.CLASS),t)(e,o,i),args:[t]}).apply()}export{_ as Decoration,r as DecorationKeys,o as DecorationState,t as DefaultFlavour,i as DefaultMetadata,y as Metadata,e as ObjectKeySplitter,s as PACKAGE_NAME,n as VERSION,m as apply,v as assignFlavour,x as description,p as getValueBySplitter,O as metadata,S as metadataArray,P as method,w as methodMetadata,R as param,E as paramMetadata,b as prop,A as propMetadata,l as registerFlavourResolver,u as registerPendingResolver,d as resolveFlavour,f as resolvePendingDecorators,h as setValueBySplitter,G 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 i={[r.PROPERTIES]:[]},n="##VERSION##",s="##PACKAGE##";let a,c;function l(t){a=t}function d(e){return a?a(e):t}function u(t){c=t}function f(t,e){c&&c(t,e)}function p(t,r,o=e){const i=r.split(o);let n=t;for(const t of i){if(null==n||!Object.prototype.hasOwnProperty.call(n,t))return;n=n[t]}return n}function h(t,r,o,i=e){const n=r.split(i).filter(t=>t.length>0);if(0===n.length)return;let s=t;for(let t=0;t<n.length-1;t++){const e=n[t];void 0!==s[e]&&null!==s[e]&&"object"==typeof s[e]||(s[e]={}),s=s[e]}s[n[n.length-1]]=o}class y{static{this._allowReRegistration=!1}static{this._metadata={}}static{this._propertiesIndex={}}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.constr(t),r=this.Symbol(e),o=this._propertiesIndex[r];if(o&&o.size)return[...o];const i=this.get(e);return i&&i.properties?Object.keys(i.properties):void 0}static allowReregistration(t=!0){this._allowReRegistration=t}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(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 i=this.constr(e);let n;for(const[e,r]of Object.entries(o))if(Array.isArray(r)&&r.some(t=>this.constr(t)===i)){if(e===t){n=n||e;continue}return e}return n}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 i=this.constr(t),n=this.collectConstructorChain(i);if(n.filter(t=>this.isDecorated(t)===o.PENDING).forEach(t=>{f(t)}),0===n.length){const t=Symbol.for(i.toString());return this.innerGet(t,e)}const s=n.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?p(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],i=r[t];this.isPlainObject(o)?r[t]=this.isPlainObject(i)?this.mergePlainObjects(i,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 h(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 i="string"==typeof t?Symbol.for(t):this.Symbol(t);if("string"==typeof e){const t=`${r.PROPERTIES}${this.splitter}`;if(e.startsWith(t)){const r=e.slice(t.length);if(r.length){const t=this._propertiesIndex[i]||new Set;t.add(r),this._propertiesIndex[i]=t}}else if(e===r.PROPERTIES&&this.isPlainObject(o)){const t=this._propertiesIndex[i]||new Set;Object.keys(o).forEach(e=>{t.add(e)}),t.size&&(this._propertiesIndex[i]=t)}}this.innerSet(i,e,o),"string"!=typeof t&&y.mirror&&!Object.prototype.hasOwnProperty.call(t,this.baseKey)&&Object.defineProperty(t,this.baseKey,{enumerable:!1,configurable:!1,writable:!1,value:this._metadata[i]})}static registerLibrary(t,e){const o=Symbol.for(r.LIBRARIES);if(this.innerGet(o,t)&&!this._allowReRegistration)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)}}y.registerLibrary(s,n);const g=Symbol.for(r.FLAVOUR);function v(t,e,o){const i=y.constr(t),n=y.innerGet(y.Symbol(t),r.FLAVOUR)||o,s=(y.innerGet(g,n)||[]).filter(t=>y.constr(t)!==i);y.set(r.FLAVOUR,n,s);const a=new Set(y.innerGet(g,e)||[]);return a.add(t),y.set(r.FLAVOUR,e,[...a]),y.set(i,r.FLAVOUR,e),i}function O(t,e){return(o,i,n)=>{let s=o;if(i&&(s="function"==typeof o?o:o.constructor||o,void 0===n)){const t="function"==typeof o?o.prototype:o,e=Reflect.getOwnMetadata(r.DESIGN_TYPE,t,i),n=y.key(r.PROPERTIES,i.toString()),a=y.get(s,n);void 0===e&&void 0!==a||y.set(s,n,e)}y.set(s,t,e)}}function S(t,...e){return(r,o,i)=>{const n=y.get(r,t)||[];return m(O(o?y.key(t,o):t,[...new Set([...n,...e])]))(r,o,i)}}function b(){return(t,e)=>{const o="function"==typeof t?t.prototype:t,i=Reflect.getOwnMetadata(r.DESIGN_TYPE,o,e);return O(y.key(r.PROPERTIES,e),i)(t,e)}}function R(){return(t,e,o)=>{if(!e)throw Error("The @param decorator can only be applied to methods");P()(t,e,Object.getOwnPropertyDescriptor(t,e));const i=y.params(t.constructor,e);if(!i)throw Error("Missing parameter types for "+e);if(o>=i.length)throw Error(`Parameter index ${o} out of range for ${e+""}`);O(y.key(r.METHODS,e,o.toString()),i[o])(t,e)}}function E(t,e){return(o,i,n)=>m(R(),O(y.key(r.METHODS,i,t),e))(o,i,n)}function P(){return(t,e,o)=>{const i=Reflect.getOwnMetadata(r.DESIGN_PARAMS,t,e),n=Reflect.getOwnMetadata(r.DESIGN_RETURN,t,e);return m(O(y.key(r.METHODS,e,r.DESIGN_PARAMS),i),O(y.key(r.METHODS,e,r.DESIGN_RETURN),n))(t,e,o)}}function m(...t){return(e,r,o)=>{for(const i of t)void 0!==r?i(e,r,o):i(e)}}function A(t,e){return m(O(t,e),b())}function w(t,e){return m(O(t,e),P())}function D(t){const e=y.constr("function"==typeof t?t:t?.constructor),o=y.innerGet(y.Symbol(e),r.FLAVOUR);if(o&&o!==_.defaultFlavour)return o;const i="function"==typeof y.registeredFlavour?y.registeredFlavour(e):void 0;return i&&i!==_.defaultFlavour?i:o??_.defaultFlavour}function F(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function j(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>j(t));if(t instanceof Date)return new Date(t.getTime());if(t instanceof Set)return new Set(Array.from(t).map(t=>j(t)));if(t instanceof Map)return new Map(Array.from(t.entries()).map(([t,e])=>[t,j(e)]));if(t.constructor!==Object)return t;const e={};return Reflect.ownKeys(t).forEach(r=>{e[r]=j(t[r])}),e}function I(t,e,r=[],o=[]){return new Set([...t?Reflect.ownKeys(t):[],...e?Reflect.ownKeys(e):[]]).forEach(i=>{const n=!!t&&Object.prototype.hasOwnProperty.call(t,i),s=!!e&&Object.prototype.hasOwnProperty.call(e,i),a=n?t?.[i]:void 0,c=s?e?.[i]:void 0;if(s)return n?void(F(a)&&F(c)?I(a,c,[...r,i],o):a!==c&&o.push({path:[...r,i],previousValue:j(a),existed:!0})):F(c)?void I(void 0,c,[...r,i],o):void o.push({path:[...r,i],previousValue:void 0,existed:!1});o.push({path:[...r,i],previousValue:j(a),existed:!0})}),o}function T(t){if(!t)return;const e={};return Object.keys(t).forEach(r=>{e[r]=t[r].map(t=>"object"==typeof t&&null!==t?j(t):t)}),e}function N(t,e){let r=t;for(const t of e){if(!r||!F(r[t]))return;r=r[t]}return r}class _{static{this.defaultFlavour=t}static{this.targetStates=new WeakMap}static{this.decorators={}}static{this.flavourResolver=D}static{l(t=>this.flavourResolver(t)),u((t,e)=>this.resolvePendingDecorators(t,e))}constructor(t=_.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=y._metadata,o=y.Symbol(t.owner),i=void 0===t.metadataDiff?j(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 n=t.argsFactory?t.argsFactory():T(t.argsOverride),s=t.callback(e,n)(t.target,t.propertyKey,t.descriptor);if(void 0!==t.propertyKey&&s&&t.target&&Object.defineProperty(t.target,t.propertyKey,s),void 0!==t.propertyKey&&void 0===t.descriptor&&b()(t.owner??t.target,t.propertyKey),void 0===t.metadataDiff){const e=j(r[o]);t.metadataDiff=I(i,e)}}catch(t){}}static markPending(t){if(!t)return;const e=this.getTargetState(t);e.resolved=!1,e.flavour||(e.flavour=_.defaultFlavour),y.set(t,r.DECORATION,o.PENDING)}static ensureDefaultFlavour(t){if(!t)return;const e=v(t,_.defaultFlavour,_.defaultFlavour);let r;try{r=_.flavourResolver?_.flavourResolver(e):void 0}catch{r=void 0}r&&r!==_.defaultFlavour?_.resolvePendingDecorators(e,r):_.markPending(e)}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,i,n,s,a){const c=`${t?.name||"anonymous"}:${(i||"class")+""}:${Date.now()}:${Math.random()}`,l=this.getTargetState(t),d=T(s),u={owner:t,target:e,propertyKey:i,descriptor:n,callback:o,argsOverride:d,argsFactory:()=>T(d),key:c,definitionKey:a},f=()=>{const e=l.flavour||y.get(t,r.FLAVOUR)||_.defaultFlavour;return this.applyPendingEntry(u,e),u.lastAppliedPass=l.passId,u.lastAppliedFlavour=e,e},p=()=>(l.pending.push(u),u);if(l.directApply){p();const e=f();return l.appliedCount=l.pending.length,l.flavour=e,y.set(t,r.DECORATION,!0),c}if(p(),l.applying)return f(),c;if(_.flavourResolver!==D)try{const e=_.flavourResolver(t);if(e&&e!==_.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 i=this.getTargetState(o);if(i.resolveScheduled=!1,!i.pending.length&&!e)return;const n=e||i.flavour||y.get(o,r.FLAVOUR)||_.defaultFlavour;if(i.applying)return;const s=i.appliedCount||0;if(!e&&i.lastAppliedFlavour===n&&s>=i.pending.length)return;const a=!(!e||e===_.defaultFlavour)||i.directApply;if(!i.pending.length)return;const c=(i.passId||0)+1;i.passId=c,i.applying=!0;try{if(a)for(const t of i.pending){if(!t)continue;if(t.lastAppliedPass===c)continue;const e=this.shouldOverrideEntry(t,n);void 0!==t.metadataDiff||void 0!==t.descriptorSnapshot?t.lastAppliedFlavour!==n&&e?(t.metadataDiff?.length&&k(t.owner,t.metadataDiff),C(t),this.applyPendingEntry(t,n),t.lastAppliedPass=c,t.lastAppliedFlavour=n):t.lastAppliedPass=c:(this.applyPendingEntry(t,n),t.lastAppliedPass=c,t.lastAppliedFlavour=n)}else{let t=s;for(;t<i.pending.length;){const e=i.pending[t++];e&&e.lastAppliedPass!==c&&(this.applyPendingEntry(e,n),e.lastAppliedPass=c,e.lastAppliedFlavour=n)}i.appliedCount=i.pending.length}}finally{i.applying=!1}i.flavour=n,i.resolved=!0,i.lastAppliedFlavour=n,a&&(i.appliedCount=i.pending.length,n!==_.defaultFlavour&&(i.directApply=!0)),y.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===_.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?j(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,i,n){const s=e??_.flavourResolver(o),a=_.decorators[t];let c;const l=a[s]?a[s].extras:a[_.defaultFlavour].extras;c=a&&a[s]&&a[s].decorators&&a[s].decorators.size?a[s].decorators:a[_.defaultFlavour].decorators;const d=[...c?c.values():[]],u=[...(a[_.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=n;return h.forEach((t,e)=>{let r;if("object"==typeof t){const o=t,i=y>e?e:0,n=((y>e?g[i]:void 0)||("args"in o&&Array.isArray(o.args)?o.args:f[i]??p[i]??p[0]??[])).map(t=>"object"==typeof t&&null!==t?j(t):t);r=o.decorator(...n)}else{if("function"!=typeof t)throw Error("Unexpected decorator type: "+typeof t);r=t}const n=r(void 0===i?v:o,i,O);void 0===i?"function"==typeof n&&(v=n):void 0!==n&&(O=n)}),void 0===i?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=_.decorators[this.key]?.[this.flavour]?.decorators,o=this.decorators||e||new Set,i=void 0!==this.extras?this.extras:void 0;_.register(this.key,this.flavour,o,i);const n=(e,o,i)=>{const n=void 0!==o,s="function"==typeof e?e:e?.constructor||e;if(s&&n){y.innerGet(y.Symbol(s),r.FLAVOUR)||_.ensureDefaultFlavour(s);const n=this.snapshotDecoratorArgs();return _.registerPendingDecorator(s,e,e=>this.decoratorFactory(t,e,n),o,i,n,t),_.resolvePendingDecorators(s),o&&!i&&b()(s,o),o&&i&&P()(s,o,i),i}const a=this.flavour===_.defaultFlavour?void 0:this.flavour;return this.decoratorFactory(t,a)(e,o,i)};try{Object.defineProperty(n,"name",{value:[this.flavour,t].join("_decorator_for_"),writable:!1})}catch(t){}return n}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");_.decorators[t]||(_.decorators[t]={}),_.decorators[t][e]||(_.decorators[t][e]={}),_.decorators[t][e].decorators=r,void 0!==o&&(_.decorators[t][e].extras=o)}static setResolver(t){_.flavourResolver=t}static shouldOverrideEntry(t,e){if(!t.definitionKey)return!1;if(e===_.defaultFlavour)return!1;const r=_.decorators[t.definitionKey];if(!r)return!1;const o=r[e];if(!o)return!1;const i=r[_.defaultFlavour],n=o.decorators&&o.decorators.size>0,s=o.extras instanceof Set&&o.extras.size>0;if(!n&&!s)return!1;if(!i)return!0;const a=!n||o.decorators===i.decorators,c=!s||o.extras===i.extras;return!(a&&c)}static for(t){return(new _).for(t)}static flavouredAs(t){return new _(t)}}function k(t,e){if(!e||!e.length)return;const o=y._metadata,i=y.Symbol(t),n=o[i]||(o[i]={});e.forEach(({path:t,previousValue:e,existed:o})=>{if(!t.length)return;if(t[0]===r.PROPERTIES)return;let i=n;for(let e=0;e<t.length-1;e++){const r=t[e];F(i[r])||(i[r]={}),i=i[r]}const s=t[t.length-1];o?i[s]=j(e):(delete i[s],((t,e)=>{for(let r=e.length;r>0;r--){const o=e.slice(0,r),i=o.slice(0,-1),n=o[o.length-1],s=0===i.length?t:N(t,i);if(!s||!F(s))break;const a=s[n];if(!F(a)||Reflect.ownKeys(a).length>0)break;delete s[n]}})(n,t.slice(0,-1)))})}function C(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))}function G(t){return e=>{const r=v(e,t,_.defaultFlavour);if(t!==_.defaultFlavour)_.resolvePendingDecorators(r,t);else{let t;try{t=_.flavourResolver?_.flavourResolver(r):void 0}catch{t=void 0}t&&t!==_.defaultFlavour?_.resolvePendingDecorators(r,t):_.markPending(r)}return e}}function x(t){return _.for(r.DESCRIPTION).define({decorator:t=>(e,o,i)=>O(y.key(r.DESCRIPTION,o?o.toString():r.CLASS),t)(e,o,i),args:[t]}).apply()}export{_ as Decoration,r as DecorationKeys,o as DecorationState,t as DefaultFlavour,i as DefaultMetadata,y as Metadata,e as ObjectKeySplitter,s as PACKAGE_NAME,n as VERSION,m as apply,v as assignFlavour,x as description,p as getValueBySplitter,O as metadata,S as metadataArray,P as method,w as methodMetadata,R as param,E as paramMetadata,b as prop,A as propMetadata,l as registerFlavourResolver,u as registerPendingResolver,d as resolveFlavour,f as resolvePendingDecorators,h as setValueBySplitter,G as uses};
|
|
2
2
|
//# sourceMappingURL=decoration.js.map
|
package/dist/decoration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoration.js","sources":["../src/constants.ts","../src/version.ts","../src/decoration/metadataLink.ts","../src/metadata/Metadata.ts","../src/decoration/flavourRegistry.ts","../src/shared/core.ts","../src/decoration/Decoration.ts","../src/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","flavourResolver","pendingResolver","registerFlavourResolver","resolver","resolveFlavour","model","registerPendingResolver","resolvePendingDecorators","target","flavour","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_allowReRegistration","_metadata","_propertiesIndex","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","resolvedModel","constr","symbol","indexed","size","meta","get","allowReregistration","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","flavouredAs","innerGet","FLAVOUR","registeredFlavour","registry","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","propPrefix","startsWith","slice","Set","add","registerLibrary","library","version","LIBRARIES","libraries","strs","FLAVOUR_BUCKET_SYMBOL","assignFlavour","object","defaultFlavour","canonical","previousFlavour","filtered","entry","nextBucket","metadata","descriptor","targetModel","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","propKey","existing","metadataArray","data","propertyKey","existingData","apply","method","getOwnPropertyDescriptor","paramTpes","paramMetadata","designParams","designReturn","decorators","decorator","propMetadata","methodMetadata","owner","Decoration","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","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","resolved","ensureDefaultFlavour","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","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","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","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","parentPath","pruneEmptyAncestors","snapshot","uses","desc","original"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decoration.js","sources":["../src/constants.ts","../src/version.ts","../src/decoration/metadataLink.ts","../src/metadata/Metadata.ts","../src/decoration/flavourRegistry.ts","../src/shared/core.ts","../src/decoration/Decoration.ts","../src/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["DefaultFlavour","ObjectKeySplitter","DecorationKeys","DecorationState","DefaultMetadata","PROPERTIES","VERSION","PACKAGE_NAME","flavourResolver","pendingResolver","registerFlavourResolver","resolver","resolveFlavour","model","registerPendingResolver","resolvePendingDecorators","target","flavour","getValueBySplitter","obj","path","splitter","keys","split","current","key","Object","prototype","hasOwnProperty","call","setValueBySplitter","value","filter","k","length","i","undefined","Metadata","this","_allowReRegistration","_metadata","_propertiesIndex","baseKey","REFLECT","mirror","constructor","Symbol","for","toString","name","join","properties","resolvedModel","constr","symbol","indexed","size","meta","get","allowReregistration","methods","METHODS","description","prop","DESCRIPTION","CLASS","flavourOf","flavouredAs","innerGet","FLAVOUR","registeredFlavour","registry","fallback","constructors","entries","Array","isArray","some","registered","params","DESIGN_PARAMS","param","index","Error","String","DESIGN_RETURN","type","CONSTRUCTOR","collectConstructorChain","c","isDecorated","PENDING","forEach","fallbackSymbol","collectedValues","map","ctor","mergeMetadataChain","DECORATION","chain","Function","push","parent","getPrototypeOf","reverse","values","acc","isPlainObject","mergePlainObjects","cloneMetadataValue","source","result","sourceValue","targetValue","proto","innerSet","set","defineProperty","enumerable","configurable","writable","propPrefix","startsWith","slice","Set","add","registerLibrary","library","version","LIBRARIES","libraries","strs","FLAVOUR_BUCKET_SYMBOL","assignFlavour","object","defaultFlavour","canonical","previousFlavour","filtered","entry","nextBucket","metadata","descriptor","targetModel","metadataTarget","designType","Reflect","getOwnMetadata","DESIGN_TYPE","propKey","existing","metadataArray","data","propertyKey","existingData","apply","method","getOwnPropertyDescriptor","paramTpes","paramMetadata","designParams","designReturn","decorators","decorator","propMetadata","methodMetadata","owner","Decoration","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","metadataStore","metadataSymbol","beforeSnapshot","metadataDiff","descriptorSnapshot","currentDescriptor","descriptorWasOwn","overridesForCall","argsFactory","argsOverride","descriptorResult","callback","afterSnapshot","error","markPending","resolved","ensureDefaultFlavour","scheduleDefaultResolve","resolveScheduled","applying","Promise","resolve","then","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","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","flavourBucket","defaultBucket","hasDecorators","hasExtras","decoratorsMatch","extrasMatch","diff","ancestorPath","parentPath","pruneEmptyAncestors","snapshot","uses","desc","original"],"mappings":"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"}
|
package/lib/esm/version.d.ts
CHANGED
package/lib/esm/version.js
CHANGED
package/lib/version.cjs
CHANGED
package/lib/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/decoration",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.9",
|
|
4
4
|
"description": "Decoration and metadata mechanisms for decaf-ts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
"build": "npx build-scripts --dev",
|
|
20
20
|
"build:prod": "npx build-scripts --prod",
|
|
21
21
|
"test": "jest --runInBand --coverage --detectOpenHandles",
|
|
22
|
-
"test:unit": "jest --
|
|
23
|
-
"test:integration": "jest --
|
|
24
|
-
"test:all": "jest --
|
|
25
|
-
"test:e2e": "jest --
|
|
22
|
+
"test:unit": "jest --testPathPatterns=\"/tests/unit\" --passWithNoTests --detectOpenHandles",
|
|
23
|
+
"test:integration": "jest --testPathPatterns=\"/tests/(integration)\" --passWithNoTests --detectOpenHandles",
|
|
24
|
+
"test:all": "jest --testPathPatterns=\"/tests\" --passWithNoTests --detectOpenHandles",
|
|
25
|
+
"test:e2e": "jest --testPathPatterns=\"/tests/e2e\" --testRegex='.*\\.e2e\\.test\\.ts' --passWithNoTests --detectOpenHandles",
|
|
26
26
|
"test:e2e:src": "TEST_ROOT=src npm run test:e2e",
|
|
27
27
|
"test:e2e:lib": "npm run build && TEST_ROOT=lib npm run test:e2e",
|
|
28
28
|
"test:e2e:dist": "npm run build:prod && TEST_ROOT=dist npm run test:e2e",
|
|
29
29
|
"test:e2e:all": "npm run test:e2e:src && npm run test:e2e:lib && npm run test:e2e:dist",
|
|
30
30
|
"test:circular": "dpdm -T --no-warning --no-tree ./src/index.ts",
|
|
31
|
-
"coverage": "rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.
|
|
31
|
+
"coverage": "rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.cjs",
|
|
32
32
|
"lint": "eslint .",
|
|
33
33
|
"lint-fix": "eslint --fix .",
|
|
34
34
|
"prepare-pr": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
|
@@ -79,10 +79,15 @@
|
|
|
79
79
|
},
|
|
80
80
|
"homepage": "https://github.com/decaf-ts/decoration#readme",
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@decaf-ts/utils": "latest"
|
|
82
|
+
"@decaf-ts/utils": "latest",
|
|
83
|
+
"@types/jest": "^30.0.0"
|
|
83
84
|
},
|
|
84
85
|
"license": "MIT",
|
|
85
86
|
"dependencies": {
|
|
86
87
|
"reflect-metadata": "^0.2.2"
|
|
88
|
+
},
|
|
89
|
+
"overrides": {
|
|
90
|
+
"minimatch": "^10.2.2",
|
|
91
|
+
"test-exclude": "7.0.1"
|
|
87
92
|
}
|
|
88
93
|
}
|