@prostojs/mate 0.1.7 → 0.1.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/mate.cjs.prod.js
CHANGED
|
@@ -104,7 +104,7 @@ class Mate {
|
|
|
104
104
|
type: undefined,
|
|
105
105
|
};
|
|
106
106
|
if (cb) {
|
|
107
|
-
data.params[index] = cb(data.params[index], args.propKey, typeof index === 'number' ? index : undefined);
|
|
107
|
+
data.params[index] = cb(data.params[index], args.propKey, typeof args.index === 'number' ? args.index : undefined);
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
110
|
data = data.params[index];
|
|
@@ -124,7 +124,7 @@ class Mate {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
else if (cb && typeof index !== 'number') {
|
|
127
|
-
meta = cb(data, args.propKey, typeof index === 'number' ? index : undefined);
|
|
127
|
+
meta = cb(data, args.propKey, typeof args.index === 'number' ? args.index : undefined);
|
|
128
128
|
}
|
|
129
129
|
Reflect.defineMetadata(this.workspace, meta, newArgs.target, newArgs.propKey);
|
|
130
130
|
}
|
package/dist/mate.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare class Mate<T extends TProstoMetadata = TProstoMetadata> {
|
|
|
10
10
|
set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): void;
|
|
11
11
|
set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): void;
|
|
12
12
|
read<R extends T = T>(target: TFunction | TObject, propKey?: string | symbol, index?: number): R | undefined;
|
|
13
|
-
apply(...decorators: (MethodDecorator
|
|
13
|
+
apply(...decorators: (MethodDecorator | ClassDecorator | ParameterDecorator | PropertyDecorator)[]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
14
14
|
decorate<R extends T = T, RP = R['params'][0]>(cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
15
15
|
decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
16
16
|
decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e){return t(e)?e:e.constructor?e.constructor:Object.getPrototypeOf(e).constructor}function t(e){return"function"==typeof e&&Object.getOwnPropertyNames(e).includes("prototype")&&!Object.getOwnPropertyNames(e).includes("caller")&&!!e.name}const o=()=>`[prostojs/mate][${(new Date).toISOString().replace("T"," ").replace(/\.\d{3}z$/i,"")}] `;const r={},a={},n="object"==typeof global?global:"object"==typeof self?self:{};function i(t,o){const n=void 0!==o,i=n?a:r,s=Symbol.for(e(t));let p=i[s]=i[s]||{};return n&&(p=p[o]=p[o]||{}),p}const s={getOwnMetadata:(e,t,o)=>i(t,o)[e],defineMetadata(e,t,o,r){i(o,r)[e]=t},metadata:(e,t)=>(o,r)=>{c.defineMetadata(e,t,o,r)}};if(n.Reflect){const e=["getOwnMetadata","defineMetadata","metadata"],t=n.Reflect;let r=!0;for(const o of e)"function"!=typeof t[o]&&(Object.defineProperty(t,o,{configurable:!0,writable:!0,value:s[o]}),r=!1);r||(p="A limited 'reflect-metadata' implementation is used. In case of any issues include original 'reflect-metadata' package and require it before any @prostojs/mate import.",console.log("[33m"+o()+p+"[0m"))}else n.Reflect=s;var p;const c=s;function l(e){return function(e){console.error("[91m[1m"+o()+e+"[0m")}(e),new Error(e)}const f=(null===global||void 0===global?void 0:global.Reflect)||(null===self||void 0===self?void 0:self.Reflect)||c;class d{constructor(e,t={}){this.workspace=e,this.options=t}set(e,t,o,r){var a;const n="CLASS"===e.level?{target:e.target}:"PROPERTY"===e.level?{target:e.target,propKey:e.propKey}:e;let i=f.getOwnMetadata(this.workspace,n.target,n.propKey)||{};n.propKey&&this.options.readReturnType&&!i.returnType&&(i.returnType=f.getOwnMetadata("design:returntype",n.target,n.propKey)),n.propKey&&this.options.readType&&!i.type&&(i.type=f.getOwnMetadata("design:type",n.target,n.propKey));const{index:s}=n,p="function"==typeof t?t:void 0;let c=i;if(c.params||(c.params=null===(a=f.getOwnMetadata("design:paramtypes",e.target,e.propKey))||void 0===a?void 0:a.map((e=>({type:e})))),"number"==typeof s&&(c.params=c.params||[],c.params[s]=c.params[s]||{type:void 0},p?c.params[s]=p(c.params[s],e.propKey,"number"==typeof
|
|
1
|
+
function e(e){return t(e)?e:e.constructor?e.constructor:Object.getPrototypeOf(e).constructor}function t(e){return"function"==typeof e&&Object.getOwnPropertyNames(e).includes("prototype")&&!Object.getOwnPropertyNames(e).includes("caller")&&!!e.name}const o=()=>`[prostojs/mate][${(new Date).toISOString().replace("T"," ").replace(/\.\d{3}z$/i,"")}] `;const r={},a={},n="object"==typeof global?global:"object"==typeof self?self:{};function i(t,o){const n=void 0!==o,i=n?a:r,s=Symbol.for(e(t));let p=i[s]=i[s]||{};return n&&(p=p[o]=p[o]||{}),p}const s={getOwnMetadata:(e,t,o)=>i(t,o)[e],defineMetadata(e,t,o,r){i(o,r)[e]=t},metadata:(e,t)=>(o,r)=>{c.defineMetadata(e,t,o,r)}};if(n.Reflect){const e=["getOwnMetadata","defineMetadata","metadata"],t=n.Reflect;let r=!0;for(const o of e)"function"!=typeof t[o]&&(Object.defineProperty(t,o,{configurable:!0,writable:!0,value:s[o]}),r=!1);r||(p="A limited 'reflect-metadata' implementation is used. In case of any issues include original 'reflect-metadata' package and require it before any @prostojs/mate import.",console.log("[33m"+o()+p+"[0m"))}else n.Reflect=s;var p;const c=s;function l(e){return function(e){console.error("[91m[1m"+o()+e+"[0m")}(e),new Error(e)}const f=(null===global||void 0===global?void 0:global.Reflect)||(null===self||void 0===self?void 0:self.Reflect)||c;class d{constructor(e,t={}){this.workspace=e,this.options=t}set(e,t,o,r){var a;const n="CLASS"===e.level?{target:e.target}:"PROPERTY"===e.level?{target:e.target,propKey:e.propKey}:e;let i=f.getOwnMetadata(this.workspace,n.target,n.propKey)||{};n.propKey&&this.options.readReturnType&&!i.returnType&&(i.returnType=f.getOwnMetadata("design:returntype",n.target,n.propKey)),n.propKey&&this.options.readType&&!i.type&&(i.type=f.getOwnMetadata("design:type",n.target,n.propKey));const{index:s}=n,p="function"==typeof t?t:void 0;let c=i;if(c.params||(c.params=null===(a=f.getOwnMetadata("design:paramtypes",e.target,e.propKey))||void 0===a?void 0:a.map((e=>({type:e})))),"number"==typeof s&&(c.params=c.params||[],c.params[s]=c.params[s]||{type:void 0},p?c.params[s]=p(c.params[s],e.propKey,"number"==typeof e.index?e.index:void 0):c=c.params[s]),"function"!=typeof t)if(r){const e=c[t]||[];Array.isArray(e)||l("Mate.add (isArray=true) called for non-array metadata"),e.unshift(o),c[t]=e}else c[t]=o;else p&&"number"!=typeof s&&(i=p(c,e.propKey,"number"==typeof e.index?e.index:void 0));f.defineMetadata(this.workspace,i,n.target,n.propKey)}read(o,r,a){const n=t(o)?o:e(o);let i=f.getOwnMetadata(this.workspace,"string"==typeof r?n.prototype:n,r);if(this.options.inherit){const e="function"==typeof this.options.inherit?this.options.inherit:void 0;let t=this.options.inherit;if(e)if("string"==typeof r){t=e(f.getOwnMetadata(this.workspace,n),r,i)}else t=e(i);if(t){const e=Object.getPrototypeOf(n);if("function"==typeof e&&e!==y&&e!==n){i={...this.read(e,r),...i,params:null==i?void 0:i.params}}}}return i}apply(...e){return(t,o,r)=>{for(const a of e)a(t,o,r)}}decorate(e,t,o,r){return(a,n,i)=>{this.set({target:a,propKey:n,descriptor:"number"==typeof i?void 0:i,index:"number"==typeof i?i:void 0,level:r},e,t,o)}}decorateClass(e,t,o){return this.decorate(e,t,o,"CLASS")}}const y=Object.getPrototypeOf(Function);export{d as Mate,e as getConstructor,t as isConstructor};
|
package/dist/mate.esm-bundler.js
CHANGED
|
@@ -100,7 +100,7 @@ class Mate {
|
|
|
100
100
|
type: undefined,
|
|
101
101
|
};
|
|
102
102
|
if (cb) {
|
|
103
|
-
data.params[index] = cb(data.params[index], args.propKey, typeof index === 'number' ? index : undefined);
|
|
103
|
+
data.params[index] = cb(data.params[index], args.propKey, typeof args.index === 'number' ? args.index : undefined);
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
106
106
|
data = data.params[index];
|
|
@@ -120,7 +120,7 @@ class Mate {
|
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
else if (cb && typeof index !== 'number') {
|
|
123
|
-
meta = cb(data, args.propKey, typeof index === 'number' ? index : undefined);
|
|
123
|
+
meta = cb(data, args.propKey, typeof args.index === 'number' ? args.index : undefined);
|
|
124
124
|
}
|
|
125
125
|
Reflect.defineMetadata(this.workspace, meta, newArgs.target, newArgs.propKey);
|
|
126
126
|
}
|
package/dist/mate.global.prod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var ProstoMate=function(e){"use strict";function t(e){return o(e)?e:e.constructor?e.constructor:Object.getPrototypeOf(e).constructor}function o(e){return"function"==typeof e&&Object.getOwnPropertyNames(e).includes("prototype")&&!Object.getOwnPropertyNames(e).includes("caller")&&!!e.name}const r=()=>`[prostojs/mate][${(new Date).toISOString().replace("T"," ").replace(/\.\d{3}z$/i,"")}] `;const a={},n={},
|
|
1
|
+
var ProstoMate=function(e){"use strict";function t(e){return o(e)?e:e.constructor?e.constructor:Object.getPrototypeOf(e).constructor}function o(e){return"function"==typeof e&&Object.getOwnPropertyNames(e).includes("prototype")&&!Object.getOwnPropertyNames(e).includes("caller")&&!!e.name}const r=()=>`[prostojs/mate][${(new Date).toISOString().replace("T"," ").replace(/\.\d{3}z$/i,"")}] `;const a={},n={},i="object"==typeof global?global:"object"==typeof self?self:{};function s(e,o){const r=void 0!==o,i=r?n:a,s=Symbol.for(t(e));let p=i[s]=i[s]||{};return r&&(p=p[o]=p[o]||{}),p}const p={getOwnMetadata:(e,t,o)=>s(t,o)[e],defineMetadata(e,t,o,r){s(o,r)[e]=t},metadata:(e,t)=>(o,r)=>{l.defineMetadata(e,t,o,r)}};if(i.Reflect){const e=["getOwnMetadata","defineMetadata","metadata"],t=i.Reflect;let o=!0;for(const r of e)"function"!=typeof t[r]&&(Object.defineProperty(t,r,{configurable:!0,writable:!0,value:p[r]}),o=!1);o||(c="A limited 'reflect-metadata' implementation is used. In case of any issues include original 'reflect-metadata' package and require it before any @prostojs/mate import.",console.log("[33m"+r()+c+"[0m"))}else i.Reflect=p;var c;const l=p;function f(e){return function(e){console.error("[91m[1m"+r()+e+"[0m")}(e),new Error(e)}const d=(null===global||void 0===global?void 0:global.Reflect)||(null===self||void 0===self?void 0:self.Reflect)||l;const y=Object.getPrototypeOf(Function);return e.Mate=class{constructor(e,t={}){this.workspace=e,this.options=t}set(e,t,o,r){var a;const n="CLASS"===e.level?{target:e.target}:"PROPERTY"===e.level?{target:e.target,propKey:e.propKey}:e;let i=d.getOwnMetadata(this.workspace,n.target,n.propKey)||{};n.propKey&&this.options.readReturnType&&!i.returnType&&(i.returnType=d.getOwnMetadata("design:returntype",n.target,n.propKey)),n.propKey&&this.options.readType&&!i.type&&(i.type=d.getOwnMetadata("design:type",n.target,n.propKey));const{index:s}=n,p="function"==typeof t?t:void 0;let c=i;if(c.params||(c.params=null===(a=d.getOwnMetadata("design:paramtypes",e.target,e.propKey))||void 0===a?void 0:a.map((e=>({type:e})))),"number"==typeof s&&(c.params=c.params||[],c.params[s]=c.params[s]||{type:void 0},p?c.params[s]=p(c.params[s],e.propKey,"number"==typeof e.index?e.index:void 0):c=c.params[s]),"function"!=typeof t)if(r){const e=c[t]||[];Array.isArray(e)||f("Mate.add (isArray=true) called for non-array metadata"),e.unshift(o),c[t]=e}else c[t]=o;else p&&"number"!=typeof s&&(i=p(c,e.propKey,"number"==typeof e.index?e.index:void 0));d.defineMetadata(this.workspace,i,n.target,n.propKey)}read(e,r,a){const n=o(e)?e:t(e);let i=d.getOwnMetadata(this.workspace,"string"==typeof r?n.prototype:n,r);if(this.options.inherit){const e="function"==typeof this.options.inherit?this.options.inherit:void 0;let t=this.options.inherit;if(e)if("string"==typeof r){t=e(d.getOwnMetadata(this.workspace,n),r,i)}else t=e(i);if(t){const e=Object.getPrototypeOf(n);if("function"==typeof e&&e!==y&&e!==n){i={...this.read(e,r),...i,params:null==i?void 0:i.params}}}}return i}apply(...e){return(t,o,r)=>{for(const a of e)a(t,o,r)}}decorate(e,t,o,r){return(a,n,i)=>{this.set({target:a,propKey:n,descriptor:"number"==typeof i?void 0:i,index:"number"==typeof i?i:void 0,level:r},e,t,o)}}decorateClass(e,t,o){return this.decorate(e,t,o,"CLASS")}},e.getConstructor=t,e.isConstructor=o,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
package/dist/src/mate.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare class Mate<T extends TProstoMetadata = TProstoMetadata> {
|
|
|
27
27
|
set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): void;
|
|
28
28
|
set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): void;
|
|
29
29
|
read<R extends T = T>(target: TFunction | TObject, propKey?: string | symbol, index?: number): R | undefined;
|
|
30
|
-
apply(...decorators: (MethodDecorator
|
|
30
|
+
apply(...decorators: (MethodDecorator | ClassDecorator | ParameterDecorator | PropertyDecorator)[]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
31
31
|
decorate<R extends T = T, RP = R['params'][0]>(cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
32
32
|
decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
33
33
|
decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|