@prostojs/mate 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mate.cjs.prod.js
CHANGED
|
@@ -13,15 +13,68 @@ function isConstructor(v) {
|
|
|
13
13
|
|
|
14
14
|
const banner = () => `[prostojs/mate][${new Date().toISOString().replace('T', ' ').replace(/\.\d{3}z$/i, '')}] `;
|
|
15
15
|
|
|
16
|
+
function warn(text) {
|
|
17
|
+
console.log('[33m' + banner() + text + '[0m');
|
|
18
|
+
}
|
|
16
19
|
function logError(error) {
|
|
17
20
|
console.error('[91m' + '[1m' + banner() + error + '[0m');
|
|
18
21
|
}
|
|
19
22
|
|
|
23
|
+
const classMetadata = {};
|
|
24
|
+
const paramMetadata = {};
|
|
25
|
+
const root = typeof global === 'object' ? global : typeof self === 'object' ? self : {};
|
|
26
|
+
function getMetaObject(target, prop) {
|
|
27
|
+
const isParam = typeof prop !== 'undefined';
|
|
28
|
+
const metadata = isParam ? paramMetadata : classMetadata;
|
|
29
|
+
const targetKey = Symbol.for(getConstructor(target));
|
|
30
|
+
let meta = metadata[targetKey] = metadata[targetKey] || {};
|
|
31
|
+
if (isParam)
|
|
32
|
+
meta = (meta[prop] = meta[prop] || {});
|
|
33
|
+
return meta;
|
|
34
|
+
}
|
|
35
|
+
const _reflect = {
|
|
36
|
+
getOwnMetadata(key, target, prop) {
|
|
37
|
+
return getMetaObject(target, prop)[key];
|
|
38
|
+
},
|
|
39
|
+
defineMetadata(key, data, target, prop) {
|
|
40
|
+
const meta = getMetaObject(target, prop);
|
|
41
|
+
meta[key] = data;
|
|
42
|
+
},
|
|
43
|
+
metadata(key, data) {
|
|
44
|
+
return ((target, propKey) => {
|
|
45
|
+
Reflect$1.defineMetadata(key, data, target, propKey);
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
if (!root.Reflect) {
|
|
50
|
+
root.Reflect = _reflect;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const funcs = [
|
|
54
|
+
'getOwnMetadata',
|
|
55
|
+
'defineMetadata',
|
|
56
|
+
'metadata',
|
|
57
|
+
];
|
|
58
|
+
const target = root.Reflect;
|
|
59
|
+
let isOriginalReflectMetadata = true;
|
|
60
|
+
for (const func of funcs) {
|
|
61
|
+
if (typeof target[func] !== 'function') {
|
|
62
|
+
Object.defineProperty(target, func, { configurable: true, writable: true, value: _reflect[func] });
|
|
63
|
+
isOriginalReflectMetadata = false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!isOriginalReflectMetadata) {
|
|
67
|
+
warn('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.');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const Reflect$1 = _reflect;
|
|
71
|
+
|
|
20
72
|
function panic(error) {
|
|
21
73
|
logError(error);
|
|
22
74
|
return new Error(error);
|
|
23
75
|
}
|
|
24
76
|
|
|
77
|
+
const Reflect = (global === null || global === void 0 ? void 0 : global.Reflect) || (self === null || self === void 0 ? void 0 : self.Reflect) || Reflect$1;
|
|
25
78
|
class Mate {
|
|
26
79
|
constructor(workspace, options = {}) {
|
|
27
80
|
this.workspace = workspace;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(t){return e(t)?t:t.constructor?t.constructor:Object.getPrototypeOf(t).constructor}function e(t){return"function"==typeof t&&Object.getOwnPropertyNames(t).includes("prototype")&&!Object.getOwnPropertyNames(t).includes("caller")&&!!t.name}
|
|
1
|
+
function t(t){return e(t)?t:t.constructor?t.constructor:Object.getPrototypeOf(t).constructor}function e(t){return"function"==typeof t&&Object.getOwnPropertyNames(t).includes("prototype")&&!Object.getOwnPropertyNames(t).includes("caller")&&!!t.name}const o=()=>`[prostojs/mate][${(new Date).toISOString().replace("T"," ").replace(/\.\d{3}z$/i,"")}] `;const a={},r={},n="object"==typeof global?global:"object"==typeof self?self:{};function i(e,o){const n=void 0!==o,i=n?r:a,s=Symbol.for(t(e));let p=i[s]=i[s]||{};return n&&(p=p[o]=p[o]||{}),p}const s={getOwnMetadata:(t,e,o)=>i(e,o)[t],defineMetadata(t,e,o,a){i(o,a)[t]=e},metadata:(t,e)=>(o,a)=>{c.defineMetadata(t,e,o,a)}};if(n.Reflect){const t=["getOwnMetadata","defineMetadata","metadata"],e=n.Reflect;let a=!0;for(const o of t)"function"!=typeof e[o]&&(Object.defineProperty(e,o,{configurable:!0,writable:!0,value:s[o]}),a=!1);a||(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 f(t){return function(t){console.error("[91m[1m"+o()+t+"[0m")}(t),new Error(t)}const l=(null===global||void 0===global?void 0:global.Reflect)||(null===self||void 0===self?void 0:self.Reflect)||c;class d{constructor(t,e={}){this.workspace=t,this.options=e}set(t,e,o,a){var r;let n=l.getOwnMetadata(this.workspace,t.target,t.propKey)||{};t.propKey&&this.options.readReturnType&&!n.returnType&&(n.returnType=l.getOwnMetadata("design:returntype",t.target,t.propKey)),t.propKey&&this.options.readType&&!n.type&&(n.type=l.getOwnMetadata("design:type",t.target,t.propKey));const{index:i}=t,s="function"==typeof e?e:void 0;let p=n;if(p.params||(p.params=null===(r=l.getOwnMetadata("design:paramtypes",t.target,t.propKey))||void 0===r?void 0:r.map((t=>({type:t})))),"number"==typeof i&&(p.params=p.params||[],p.params[i]=p.params[i]||{type:void 0},s?p.params[i]=s(p.params[i]):p=p.params[i]),"function"!=typeof e)if(a){const t=p[e]||[];Array.isArray(t)||f("Mate.add (isArray=true) called for non-array metadata"),t.unshift(o),p[e]=t}else p[e]=o;else s&&"number"!=typeof i&&(n=s(p));l.defineMetadata(this.workspace,n,t.target,t.propKey)}read(o,a){const r=e(o)?o:t(o);let n=l.getOwnMetadata(this.workspace,"string"==typeof a?r.prototype:r,a);if(this.options.inherit){const t="function"==typeof this.options.inherit?this.options.inherit:void 0;let e=this.options.inherit;if(t)if("string"==typeof a){e=t(l.getOwnMetadata(this.workspace,r),a,n)}else e=t(n);if(e){const t=Object.getPrototypeOf(r);if("function"==typeof t&&t!==y&&t!==r){n={...this.read(t,a),...n,params:null==n?void 0:n.params}}}}return n}apply(...t){return(e,o,a)=>{for(const r of t)r(e,o,a)}}decorate(t,e,o){return(a,r,n)=>{this.set({target:a,propKey:r,descriptor:"number"==typeof n?void 0:n,index:"number"==typeof n?n:void 0},t,e,o)}}}const y=Object.getPrototypeOf(Function);export{d as Mate,t as getConstructor,e as isConstructor};
|
package/dist/mate.esm-bundler.js
CHANGED
|
@@ -9,15 +9,68 @@ function isConstructor(v) {
|
|
|
9
9
|
|
|
10
10
|
const banner = () => `[prostojs/mate][${new Date().toISOString().replace('T', ' ').replace(/\.\d{3}z$/i, '')}] `;
|
|
11
11
|
|
|
12
|
+
function warn(text) {
|
|
13
|
+
console.log('[33m' + banner() + text + '[0m');
|
|
14
|
+
}
|
|
12
15
|
function logError(error) {
|
|
13
16
|
console.error('[91m' + '[1m' + banner() + error + '[0m');
|
|
14
17
|
}
|
|
15
18
|
|
|
19
|
+
const classMetadata = {};
|
|
20
|
+
const paramMetadata = {};
|
|
21
|
+
const root = typeof global === 'object' ? global : typeof self === 'object' ? self : {};
|
|
22
|
+
function getMetaObject(target, prop) {
|
|
23
|
+
const isParam = typeof prop !== 'undefined';
|
|
24
|
+
const metadata = isParam ? paramMetadata : classMetadata;
|
|
25
|
+
const targetKey = Symbol.for(getConstructor(target));
|
|
26
|
+
let meta = metadata[targetKey] = metadata[targetKey] || {};
|
|
27
|
+
if (isParam)
|
|
28
|
+
meta = (meta[prop] = meta[prop] || {});
|
|
29
|
+
return meta;
|
|
30
|
+
}
|
|
31
|
+
const _reflect = {
|
|
32
|
+
getOwnMetadata(key, target, prop) {
|
|
33
|
+
return getMetaObject(target, prop)[key];
|
|
34
|
+
},
|
|
35
|
+
defineMetadata(key, data, target, prop) {
|
|
36
|
+
const meta = getMetaObject(target, prop);
|
|
37
|
+
meta[key] = data;
|
|
38
|
+
},
|
|
39
|
+
metadata(key, data) {
|
|
40
|
+
return ((target, propKey) => {
|
|
41
|
+
Reflect$1.defineMetadata(key, data, target, propKey);
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
if (!root.Reflect) {
|
|
46
|
+
root.Reflect = _reflect;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const funcs = [
|
|
50
|
+
'getOwnMetadata',
|
|
51
|
+
'defineMetadata',
|
|
52
|
+
'metadata',
|
|
53
|
+
];
|
|
54
|
+
const target = root.Reflect;
|
|
55
|
+
let isOriginalReflectMetadata = true;
|
|
56
|
+
for (const func of funcs) {
|
|
57
|
+
if (typeof target[func] !== 'function') {
|
|
58
|
+
Object.defineProperty(target, func, { configurable: true, writable: true, value: _reflect[func] });
|
|
59
|
+
isOriginalReflectMetadata = false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (!isOriginalReflectMetadata) {
|
|
63
|
+
warn('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.');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const Reflect$1 = _reflect;
|
|
67
|
+
|
|
16
68
|
function panic(error) {
|
|
17
69
|
logError(error);
|
|
18
70
|
return new Error(error);
|
|
19
71
|
}
|
|
20
72
|
|
|
73
|
+
const Reflect = (global === null || global === void 0 ? void 0 : global.Reflect) || (self === null || self === void 0 ? void 0 : self.Reflect) || Reflect$1;
|
|
21
74
|
class Mate {
|
|
22
75
|
constructor(workspace, options = {}) {
|
|
23
76
|
this.workspace = workspace;
|
package/dist/mate.global.prod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var ProstoMate=function(t){"use strict";function e(t){return
|
|
1
|
+
var ProstoMate=function(t){"use strict";function e(t){return o(t)?t:t.constructor?t.constructor:Object.getPrototypeOf(t).constructor}function o(t){return"function"==typeof t&&Object.getOwnPropertyNames(t).includes("prototype")&&!Object.getOwnPropertyNames(t).includes("caller")&&!!t.name}const r=()=>`[prostojs/mate][${(new Date).toISOString().replace("T"," ").replace(/\.\d{3}z$/i,"")}] `;const a={},n={},s="object"==typeof global?global:"object"==typeof self?self:{};function i(t,o){const r=void 0!==o,s=r?n:a,i=Symbol.for(e(t));let p=s[i]=s[i]||{};return r&&(p=p[o]=p[o]||{}),p}const p={getOwnMetadata:(t,e,o)=>i(e,o)[t],defineMetadata(t,e,o,r){i(o,r)[t]=e},metadata:(t,e)=>(o,r)=>{f.defineMetadata(t,e,o,r)}};if(s.Reflect){const t=["getOwnMetadata","defineMetadata","metadata"],e=s.Reflect;let o=!0;for(const r of t)"function"!=typeof e[r]&&(Object.defineProperty(e,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 s.Reflect=p;var c;const f=p;function l(t){return function(t){console.error("[91m[1m"+r()+t+"[0m")}(t),new Error(t)}const d=(null===global||void 0===global?void 0:global.Reflect)||(null===self||void 0===self?void 0:self.Reflect)||f;const u=Object.getPrototypeOf(Function);return t.Mate=class{constructor(t,e={}){this.workspace=t,this.options=e}set(t,e,o,r){var a;let n=d.getOwnMetadata(this.workspace,t.target,t.propKey)||{};t.propKey&&this.options.readReturnType&&!n.returnType&&(n.returnType=d.getOwnMetadata("design:returntype",t.target,t.propKey)),t.propKey&&this.options.readType&&!n.type&&(n.type=d.getOwnMetadata("design:type",t.target,t.propKey));const{index:s}=t,i="function"==typeof e?e:void 0;let p=n;if(p.params||(p.params=null===(a=d.getOwnMetadata("design:paramtypes",t.target,t.propKey))||void 0===a?void 0:a.map((t=>({type:t})))),"number"==typeof s&&(p.params=p.params||[],p.params[s]=p.params[s]||{type:void 0},i?p.params[s]=i(p.params[s]):p=p.params[s]),"function"!=typeof e)if(r){const t=p[e]||[];Array.isArray(t)||l("Mate.add (isArray=true) called for non-array metadata"),t.unshift(o),p[e]=t}else p[e]=o;else i&&"number"!=typeof s&&(n=i(p));d.defineMetadata(this.workspace,n,t.target,t.propKey)}read(t,r){const a=o(t)?t:e(t);let n=d.getOwnMetadata(this.workspace,"string"==typeof r?a.prototype:a,r);if(this.options.inherit){const t="function"==typeof this.options.inherit?this.options.inherit:void 0;let e=this.options.inherit;if(t)if("string"==typeof r){e=t(d.getOwnMetadata(this.workspace,a),r,n)}else e=t(n);if(e){const t=Object.getPrototypeOf(a);if("function"==typeof t&&t!==u&&t!==a){n={...this.read(t,r),...n,params:null==n?void 0:n.params}}}}return n}apply(...t){return(e,o,r)=>{for(const a of t)a(e,o,r)}}decorate(t,e,o){return(r,a,n)=>{this.set({target:r,propKey:a,descriptor:"number"==typeof n?void 0:n,index:"number"==typeof n?n:void 0},t,e,o)}}},t.getConstructor=e,t.isConstructor=o,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
|
package/dist/src/mate.d.ts
CHANGED
package/dist/src/mate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mate.d.ts","sourceRoot":"","sources":["../../src/mate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mate.d.ts","sourceRoot":"","sources":["../../src/mate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAK,SAAS,CAAA;AAMjD,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB;IAC1F,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACrE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,KAAO,OAAO,CAAC,CAAA;CACtF;AAED,qBAAa,IAAI,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IAC7C,SAAS,CAAC,SAAS,EAAE,MAAM;IAAE,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;gBAArD,SAAS,EAAE,MAAM,EAAY,OAAO,GAAE,YAAY,CAAC,CAAC,CAAM;IAEhF,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpC,IAAI,EAAE,oBAAoB,EAC1B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAC/B,IAAI;IAEP,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpC,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EACvB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,GAC5D,IAAI;IAEP,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpC,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EACvB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,EAC3D,OAAO,EAAE,OAAO,GAAG,SAAS,GAC7B,IAAI;IAyDP,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS;IA+B5F,KAAK,CAAC,GAAG,UAAU,EAAE,CAAC,eAAe,GAAG,cAAc,GAAG,kBAAkB,CAAC,EAAE;IAQ9E,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAC/B,eAAe,GAAG,cAAc,GAAG,kBAAkB;IAExD,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzC,GAAG,EAAG,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EACrD,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,GAC5D,eAAe,GAAG,cAAc,GAAG,kBAAkB;IAExD,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzC,GAAG,EAAG,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EACrD,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,EAC3D,OAAO,EAAE,OAAO,GAAG,SAAS,GAC7B,eAAe,GAAG,cAAc,GAAG,kBAAkB;CAiB3D"}
|