typescript-class-helpers 13.2.10 → 13.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/esm2020/lib/classname.mjs +150 -150
- package/browser/esm2020/lib/describe-class.mjs +71 -71
- package/browser/esm2020/lib/errors-messages.mjs +3 -3
- package/browser/esm2020/lib/index.mjs +134 -134
- package/browser/esm2020/lib/models.mjs +26 -26
- package/browser/esm2020/lib/registerd-db.mjs +5 -5
- package/browser/esm2020/lib/set-class-name.mjs +89 -89
- package/browser/esm2020/lib/storage.mjs +23 -23
- package/browser/esm2020/lib/symbols.mjs +7 -7
- package/browser/esm2020/public-api.mjs +1 -1
- package/browser/esm2020/typescript-class-helpers.mjs +4 -4
- package/browser/fesm2015/typescript-class-helpers.mjs +476 -476
- package/browser/fesm2020/typescript-class-helpers.mjs +476 -476
- package/browser/lib/classname.d.ts +15 -15
- package/browser/lib/describe-class.d.ts +5 -5
- package/browser/lib/index.d.ts +32 -32
- package/browser/lib/models.d.ts +66 -66
- package/browser/lib/registerd-db.d.ts +4 -4
- package/browser/lib/set-class-name.d.ts +1 -1
- package/browser/lib/symbols.d.ts +5 -5
- package/browser/typescript-class-helpers.d.ts +4 -4
- package/client/README.md +24 -24
- package/client/esm2020/lib/classname.mjs +150 -150
- package/client/esm2020/lib/describe-class.mjs +71 -71
- package/client/esm2020/lib/errors-messages.mjs +3 -3
- package/client/esm2020/lib/index.mjs +134 -134
- package/client/esm2020/lib/models.mjs +26 -26
- package/client/esm2020/lib/registerd-db.mjs +5 -5
- package/client/esm2020/lib/set-class-name.mjs +89 -89
- package/client/esm2020/lib/storage.mjs +23 -23
- package/client/esm2020/lib/symbols.mjs +7 -7
- package/client/esm2020/public-api.mjs +1 -1
- package/client/esm2020/typescript-class-helpers.mjs +4 -4
- package/client/fesm2015/typescript-class-helpers.mjs +476 -476
- package/client/fesm2020/typescript-class-helpers.mjs +476 -476
- package/client/lib/classname.d.ts +15 -15
- package/client/lib/describe-class.d.ts +5 -5
- package/client/lib/index.d.ts +32 -32
- package/client/lib/models.d.ts +66 -66
- package/client/lib/registerd-db.d.ts +4 -4
- package/client/lib/set-class-name.d.ts +1 -1
- package/client/lib/symbols.d.ts +5 -5
- package/client/package.json +37 -42
- package/client/typescript-class-helpers.d.ts +4 -4
- package/index.d.ts +1 -1
- package/index.js.map +1 -1
- package/lib/classname.d.ts +16 -16
- package/lib/classname.js.map +1 -1
- package/lib/describe-class.d.ts +6 -6
- package/lib/describe-class.js.map +1 -1
- package/lib/errors-messages.d.ts +1 -1
- package/lib/errors-messages.js.map +1 -1
- package/lib/index.d.ts +33 -33
- package/lib/index.js.map +1 -1
- package/lib/models.d.ts +68 -68
- package/lib/models.js.map +1 -1
- package/lib/registerd-db.d.ts +5 -5
- package/lib/registerd-db.js.map +1 -1
- package/lib/set-class-name.d.ts +2 -2
- package/lib/set-class-name.js.map +1 -1
- package/lib/storage.d.ts +1 -1
- package/lib/storage.js.map +1 -1
- package/lib/symbols.d.ts +6 -6
- package/lib/symbols.js.map +1 -1
- package/package.json +3 -3
- package/package.json_devDependencies.json +223 -223
- package/package.json_tnp.json5 +51 -48
- package/tmp-environment.json +44 -47
- package/websql/README.md +24 -24
- package/websql/esm2020/lib/classname.mjs +150 -150
- package/websql/esm2020/lib/describe-class.mjs +71 -71
- package/websql/esm2020/lib/errors-messages.mjs +3 -3
- package/websql/esm2020/lib/index.mjs +134 -134
- package/websql/esm2020/lib/models.mjs +24 -24
- package/websql/esm2020/lib/registerd-db.mjs +5 -5
- package/websql/esm2020/lib/set-class-name.mjs +89 -89
- package/websql/esm2020/lib/storage.mjs +23 -23
- package/websql/esm2020/lib/symbols.mjs +7 -7
- package/websql/esm2020/public-api.mjs +1 -1
- package/websql/esm2020/typescript-class-helpers.mjs +4 -4
- package/websql/fesm2015/typescript-class-helpers.mjs +474 -474
- package/websql/fesm2020/typescript-class-helpers.mjs +474 -474
- package/websql/lib/classname.d.ts +15 -15
- package/websql/lib/describe-class.d.ts +5 -5
- package/websql/lib/index.d.ts +32 -32
- package/websql/lib/models.d.ts +67 -67
- package/websql/lib/registerd-db.d.ts +4 -4
- package/websql/lib/set-class-name.d.ts +1 -1
- package/websql/lib/symbols.d.ts +5 -5
- package/websql/typescript-class-helpers.d.ts +4 -4
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/websql';
|
|
2
|
-
import { SYMBOL } from './symbols';
|
|
3
|
-
/**
|
|
4
|
-
* @DEPRECATED
|
|
5
|
-
* Describe fields assigned in class
|
|
6
|
-
*/
|
|
7
|
-
const FRegEx = new RegExp(/(?:this\.)(.+?(?= ))/g);
|
|
8
|
-
export function describeFromClassStringify(target, parent = false) {
|
|
9
|
-
// @ts-ignore
|
|
10
|
-
var result = [];
|
|
11
|
-
if (parent) {
|
|
12
|
-
var proto = Object.getPrototypeOf(target.prototype);
|
|
13
|
-
if (proto) {
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
result = result.concat(describeFromClassStringify(proto.constructor, parent));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
const classString = target.toString();
|
|
19
|
-
const matches = classString.match(FRegEx) || [];
|
|
20
|
-
result = result.concat(matches);
|
|
21
|
-
return result.map(prop => prop
|
|
22
|
-
.replace('this.', '')
|
|
23
|
-
.replace('.', '')
|
|
24
|
-
.replace(')', '')
|
|
25
|
-
.replace('(', ''));
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Describe fields assigne through @DefaultModelWithMapping decorator
|
|
29
|
-
* without functions
|
|
30
|
-
*/
|
|
31
|
-
export function describeByDefaultModelsAndMapping(target) {
|
|
32
|
-
let res = {};
|
|
33
|
-
if (target) {
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
if (target[SYMBOL.DEFAULT_MODEL]) {
|
|
36
|
-
// @ts-ignore
|
|
37
|
-
Object.keys(target[SYMBOL.DEFAULT_MODEL])
|
|
38
|
-
.filter(key => {
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);
|
|
41
|
-
})
|
|
42
|
-
.forEach(key => {
|
|
43
|
-
// @ts-ignore
|
|
44
|
-
return res[key] = null;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
// @ts-ignore
|
|
48
|
-
let mapping = target[SYMBOL.MODELS_MAPPING];
|
|
49
|
-
if (_.isArray(mapping)) {
|
|
50
|
-
mapping.forEach(m => {
|
|
51
|
-
Object.keys(m)
|
|
52
|
-
.forEach(key => {
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
res[key] = null;
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
else if (mapping) {
|
|
59
|
-
Object.keys(mapping)
|
|
60
|
-
.forEach(key => {
|
|
61
|
-
// @ts-ignore
|
|
62
|
-
res[key] = null;
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
let propNames = Object.keys(res).filter(f => !!f);
|
|
67
|
-
propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);
|
|
68
|
-
return propNames;
|
|
69
|
-
}
|
|
70
|
-
;
|
|
71
|
-
({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts
|
|
1
|
+
import { _ } from 'tnp-core/websql';
|
|
2
|
+
import { SYMBOL } from './symbols';
|
|
3
|
+
/**
|
|
4
|
+
* @DEPRECATED
|
|
5
|
+
* Describe fields assigned in class
|
|
6
|
+
*/
|
|
7
|
+
const FRegEx = new RegExp(/(?:this\.)(.+?(?= ))/g);
|
|
8
|
+
export function describeFromClassStringify(target, parent = false) {
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
var result = [];
|
|
11
|
+
if (parent) {
|
|
12
|
+
var proto = Object.getPrototypeOf(target.prototype);
|
|
13
|
+
if (proto) {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
result = result.concat(describeFromClassStringify(proto.constructor, parent));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const classString = target.toString();
|
|
19
|
+
const matches = classString.match(FRegEx) || [];
|
|
20
|
+
result = result.concat(matches);
|
|
21
|
+
return result.map(prop => prop
|
|
22
|
+
.replace('this.', '')
|
|
23
|
+
.replace('.', '')
|
|
24
|
+
.replace(')', '')
|
|
25
|
+
.replace('(', ''));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Describe fields assigne through @DefaultModelWithMapping decorator
|
|
29
|
+
* without functions
|
|
30
|
+
*/
|
|
31
|
+
export function describeByDefaultModelsAndMapping(target) {
|
|
32
|
+
let res = {};
|
|
33
|
+
if (target) {
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
if (target[SYMBOL.DEFAULT_MODEL]) {
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
Object.keys(target[SYMBOL.DEFAULT_MODEL])
|
|
38
|
+
.filter(key => {
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);
|
|
41
|
+
})
|
|
42
|
+
.forEach(key => {
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
return res[key] = null;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
let mapping = target[SYMBOL.MODELS_MAPPING];
|
|
49
|
+
if (_.isArray(mapping)) {
|
|
50
|
+
mapping.forEach(m => {
|
|
51
|
+
Object.keys(m)
|
|
52
|
+
.forEach(key => {
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
res[key] = null;
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else if (mapping) {
|
|
59
|
+
Object.keys(mapping)
|
|
60
|
+
.forEach(key => {
|
|
61
|
+
// @ts-ignore
|
|
62
|
+
res[key] = null;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
let propNames = Object.keys(res).filter(f => !!f);
|
|
67
|
+
propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);
|
|
68
|
+
return propNames;
|
|
69
|
+
}
|
|
70
|
+
;
|
|
71
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts
|
|
72
72
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvcHJvamVjdHMvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3NyYy9saWIvZGVzY3JpYmUtY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJbkM7OztJQUdJO0FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUNuRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsTUFBZ0IsRUFBRSxNQUFNLEdBQUcsS0FBSztJQUN6RSxhQUFhO0lBQ2IsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksTUFBTSxFQUFFO1FBQ1YsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxhQUFhO1lBQ2IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQy9FO0tBQ0Y7SUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFLL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSTtTQUMzQixPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUNwQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUNsQixDQUFBO0FBRUgsQ0FBQztBQUVEOzs7S0FHSztBQUNMLE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxNQUFnQjtJQUNoRSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUE7SUFDWixJQUFJLE1BQU0sRUFBRTtRQUNWLGFBQWE7UUFDYixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDaEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNaLGFBQWE7Z0JBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQztpQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsYUFBYTtnQkFDYixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELGFBQWE7UUFDYixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztxQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2IsYUFBYTtvQkFDYixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFBO1NBQ0g7YUFBTSxJQUFJLE9BQU8sRUFBRTtZQUVsQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLGFBQWE7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztTQUNOO0tBQ0Y7SUFFRCxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRCxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyRUFBMkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IFNZTUJPTCB9IGZyb20gJy4vc3ltYm9scyc7XG5cblxuXG4vKipcbiAgKiBAREVQUkVDQVRFRFxuICAqIERlc2NyaWJlIGZpZWxkcyBhc3NpZ25lZCBpbiBjbGFzc1xuICAqL1xuY29uc3QgRlJlZ0V4ID0gbmV3IFJlZ0V4cCgvKD86dGhpc1xcLikoLis/KD89ICkpL2cpO1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlRnJvbUNsYXNzU3RyaW5naWZ5KHRhcmdldDogRnVuY3Rpb24sIHBhcmVudCA9IGZhbHNlKTogc3RyaW5nW10ge1xuICAvLyBAdHMtaWdub3JlXG4gIHZhciByZXN1bHQgPSBbXTtcbiAgaWYgKHBhcmVudCkge1xuICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0YXJnZXQucHJvdG90eXBlKTtcbiAgICBpZiAocHJvdG8pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoZGVzY3JpYmVGcm9tQ2xhc3NTdHJpbmdpZnkocHJvdG8uY29uc3RydWN0b3IsIHBhcmVudCkpO1xuICAgIH1cbiAgfVxuICBjb25zdCBjbGFzc1N0cmluZyA9IHRhcmdldC50b1N0cmluZygpO1xuICBjb25zdCBtYXRjaGVzID0gY2xhc3NTdHJpbmcubWF0Y2goRlJlZ0V4KSB8fCBbXVxuXG5cblxuXG4gIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQobWF0Y2hlcyk7XG4gIHJldHVybiByZXN1bHQubWFwKHByb3AgPT4gcHJvcFxuICAgIC5yZXBsYWNlKCd0aGlzLicsICcnKVxuICAgIC5yZXBsYWNlKCcuJywgJycpXG4gICAgLnJlcGxhY2UoJyknLCAnJylcbiAgICAucmVwbGFjZSgnKCcsICcnKVxuICApXG5cbn1cblxuLyoqXG4gICAqIERlc2NyaWJlIGZpZWxkcyBhc3NpZ25lIHRocm91Z2ggQERlZmF1bHRNb2RlbFdpdGhNYXBwaW5nIGRlY29yYXRvclxuICAgKiB3aXRob3V0IGZ1bmN0aW9uc1xuICAgKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNjcmliZUJ5RGVmYXVsdE1vZGVsc0FuZE1hcHBpbmcodGFyZ2V0OiBGdW5jdGlvbik6IHN0cmluZ1tdIHtcbiAgbGV0IHJlcyA9IHt9XG4gIGlmICh0YXJnZXQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHRhcmdldFtTWU1CT0wuREVGQVVMVF9NT0RFTF0pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIE9iamVjdC5rZXlzKHRhcmdldFtTWU1CT0wuREVGQVVMVF9NT0RFTF0pXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcmV0dXJuICFfLmlzRnVuY3Rpb24odGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXVtrZXldKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcmV0dXJuIHJlc1trZXldID0gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBsZXQgbWFwcGluZyA9IHRhcmdldFtTWU1CT0wuTU9ERUxTX01BUFBJTkddO1xuICAgIGlmIChfLmlzQXJyYXkobWFwcGluZykpIHtcbiAgICAgIG1hcHBpbmcuZm9yRWFjaChtID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMobSlcbiAgICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgcmVzW2tleV0gPSBudWxsO1xuICAgICAgICAgIH0pO1xuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKG1hcHBpbmcpIHtcblxuICAgICAgT2JqZWN0LmtleXMobWFwcGluZylcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcmVzW2tleV0gPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBsZXQgcHJvcE5hbWVzID0gT2JqZWN0LmtleXMocmVzKS5maWx0ZXIoZiA9PiAhIWYpO1xuICBwcm9wTmFtZXMgPSAoIXByb3BOYW1lcy5pbmNsdWRlcygnaWQnKSA/IFsnaWQnXSA6IFtdKS5jb25jYXQocHJvcE5hbWVzKTtcbiAgcmV0dXJuIHByb3BOYW1lcztcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXR5cGVzY3JpcHQtY2xhc3MtaGVscGVycyBsaWIvZGVzY3JpYmUtY2xhc3MudHMiXX0=
|
|
@@ -8,7 +8,7 @@ import { CLASS } from 'typescript-class-helpers/websql';
|
|
|
8
8
|
class ExampleClass {
|
|
9
9
|
...
|
|
10
10
|
}
|
|
11
|
-
`;
|
|
12
|
-
;
|
|
13
|
-
({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts
|
|
11
|
+
`;
|
|
12
|
+
;
|
|
13
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts
|
|
14
14
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1lc3NhZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL2Vycm9ycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRzs7Ozs7Ozs7OztDQVVoRCxDQUFDO0FBRUQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0RUFBNEUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjb25zdCBFUlJPUl9NU0dfQ0xBU1NfV0lUSE9VVF9ERUNPUkFUT1IgPSBgW3R5cGVzY3JpcHQtY2xhc3MtaGVscGVyc11bZ2V0Q2xhc3NOYW1lKC4uLildKFBST0RVQ1RJT04gTU9ERSBFUlJPUilcblBsZWFzZSB1c2UgZGVjb2FydG9yIEBDTEFTU05BTUUgZm9yIGVhY2ggZW50aXR5IG9yIGNvbnRyb2xsZXJcblRoaXMgaXMgcHJldmVudGluZyBjbGFzcyBuYW1lIHByb2JsZW0gaW4gbWluaWZpZWQgY29kZS5cblxuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvd2Vic3FsJztcblxuQENMQVNTLk5BTUUoJ0V4YW1wbGVDbGFzcycpXG5jbGFzcyBFeGFtcGxlQ2xhc3Mge1xuICAuLi5cbn1cbmA7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMgbGliL2Vycm9ycy1tZXNzYWdlcy50cyJdfQ==
|
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/websql';
|
|
2
|
-
import { CLASSNAME } from './classname';
|
|
3
|
-
import { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';
|
|
4
|
-
import { setClassName } from './set-class-name';
|
|
5
|
-
export { Models } from './models';
|
|
6
|
-
export { SYMBOL } from './symbols';
|
|
7
|
-
export class TchHelpers {
|
|
8
|
-
static getBy(className) {
|
|
9
|
-
return CLASSNAME.getClassBy(className);
|
|
10
|
-
}
|
|
11
|
-
static getFromObject(o) {
|
|
12
|
-
if (_.isUndefined(o) || _.isNull(o)) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
if (o.constructor) {
|
|
16
|
-
return o.constructor;
|
|
17
|
-
}
|
|
18
|
-
const p = Object.getPrototypeOf(o);
|
|
19
|
-
return p && p.constructor;
|
|
20
|
-
}
|
|
21
|
-
static getName(target, production = false) {
|
|
22
|
-
return CLASSNAME.getClassName(target, production);
|
|
23
|
-
}
|
|
24
|
-
static getNameFromObject(o) {
|
|
25
|
-
const fnCLass = this.getFromObject(o);
|
|
26
|
-
return this.getName(fnCLass);
|
|
27
|
-
}
|
|
28
|
-
static getConfigs(target) {
|
|
29
|
-
return CLASSNAME.getClassConfig(target);
|
|
30
|
-
}
|
|
31
|
-
static describeProperites(target) {
|
|
32
|
-
const d1 = describeFromClassStringify(target);
|
|
33
|
-
const d2 = describeByDefaultModelsAndMapping(target);
|
|
34
|
-
let uniq = {};
|
|
35
|
-
// @ts-ignore
|
|
36
|
-
d1.concat(d2).forEach(p => uniq[p] = p);
|
|
37
|
-
return Object.keys(uniq)
|
|
38
|
-
.filter(d => !!d)
|
|
39
|
-
.filter(d => typeof target.prototype[d] !== 'function');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export const CLASS = {
|
|
43
|
-
NAME: CLASSNAME.CLASSNAME,
|
|
44
|
-
setName: setClassName,
|
|
45
|
-
getBy: TchHelpers.getBy,
|
|
46
|
-
getSingleton(target) {
|
|
47
|
-
if (typeof target !== 'function') {
|
|
48
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const config = TchHelpers.getConfigs(target)[0];
|
|
52
|
-
return config.singleton;
|
|
53
|
-
},
|
|
54
|
-
setSingletonObj(target, singletonObject) {
|
|
55
|
-
if (typeof target !== 'function') {
|
|
56
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
if (Array.isArray(singletonObject)) {
|
|
60
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
if (typeof singletonObject !== 'object') {
|
|
64
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const className = CLASS.getName(target);
|
|
68
|
-
const config = TchHelpers.getConfigs(target)[0];
|
|
69
|
-
if (config.singleton) {
|
|
70
|
-
console.warn(`[typescript-class-helpers] You are trying to set singleton of "${className}" second time with different object.`);
|
|
71
|
-
}
|
|
72
|
-
config.singleton = singletonObject;
|
|
73
|
-
},
|
|
74
|
-
getConfigs: TchHelpers.getConfigs,
|
|
75
|
-
getConfig: (target) => {
|
|
76
|
-
return _.first(TchHelpers.getConfigs(target));
|
|
77
|
-
},
|
|
78
|
-
getFromObject: TchHelpers.getFromObject,
|
|
79
|
-
getName: TchHelpers.getName,
|
|
80
|
-
getNameFromObject: TchHelpers.getNameFromObject,
|
|
81
|
-
describeProperites: TchHelpers.describeProperites,
|
|
82
|
-
OBJECT: (obj) => {
|
|
83
|
-
return {
|
|
84
|
-
get indexValue() {
|
|
85
|
-
return CLASSNAME.getObjectIndexValue(obj);
|
|
86
|
-
},
|
|
87
|
-
get indexProperty() {
|
|
88
|
-
return CLASSNAME.getObjectIndexPropertyValue(obj);
|
|
89
|
-
},
|
|
90
|
-
get isClassObject() {
|
|
91
|
-
if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||
|
|
92
|
-
_.isBuffer(obj) || _.isArrayBuffer(obj)) {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
if (_.isDate(obj)) {
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
const className = CLASS.getNameFromObject(obj);
|
|
99
|
-
return _.isString(className) && className !== 'Object';
|
|
100
|
-
},
|
|
101
|
-
isEqual: (anotherObj, compareDeep = false) => {
|
|
102
|
-
if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
if (obj === anotherObj) {
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
const v1 = CLASSNAME.getObjectIndexValue(obj);
|
|
109
|
-
const v2 = CLASSNAME.getObjectIndexValue(anotherObj);
|
|
110
|
-
const f1 = CLASSNAME.getObjectClassFamily(obj);
|
|
111
|
-
const f2 = CLASSNAME.getObjectClassFamily(anotherObj);
|
|
112
|
-
const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));
|
|
113
|
-
if (isFamilyDiff) {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {
|
|
120
|
-
const res = (v1 === v2);
|
|
121
|
-
// @ts-ignore
|
|
122
|
-
return res;
|
|
123
|
-
}
|
|
124
|
-
if (compareDeep) {
|
|
125
|
-
return _.isEqual(v1, v2);
|
|
126
|
-
}
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
export * from 'enum-values';
|
|
133
|
-
;
|
|
134
|
-
({}); // @--end-of-file-for-module=typescript-class-helpers lib/index.ts
|
|
1
|
+
import { _ } from 'tnp-core/websql';
|
|
2
|
+
import { CLASSNAME } from './classname';
|
|
3
|
+
import { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';
|
|
4
|
+
import { setClassName } from './set-class-name';
|
|
5
|
+
export { Models } from './models';
|
|
6
|
+
export { SYMBOL } from './symbols';
|
|
7
|
+
export class TchHelpers {
|
|
8
|
+
static getBy(className) {
|
|
9
|
+
return CLASSNAME.getClassBy(className);
|
|
10
|
+
}
|
|
11
|
+
static getFromObject(o) {
|
|
12
|
+
if (_.isUndefined(o) || _.isNull(o)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (o.constructor) {
|
|
16
|
+
return o.constructor;
|
|
17
|
+
}
|
|
18
|
+
const p = Object.getPrototypeOf(o);
|
|
19
|
+
return p && p.constructor;
|
|
20
|
+
}
|
|
21
|
+
static getName(target, production = false) {
|
|
22
|
+
return CLASSNAME.getClassName(target, production);
|
|
23
|
+
}
|
|
24
|
+
static getNameFromObject(o) {
|
|
25
|
+
const fnCLass = this.getFromObject(o);
|
|
26
|
+
return this.getName(fnCLass);
|
|
27
|
+
}
|
|
28
|
+
static getConfigs(target) {
|
|
29
|
+
return CLASSNAME.getClassConfig(target);
|
|
30
|
+
}
|
|
31
|
+
static describeProperites(target) {
|
|
32
|
+
const d1 = describeFromClassStringify(target);
|
|
33
|
+
const d2 = describeByDefaultModelsAndMapping(target);
|
|
34
|
+
let uniq = {};
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
d1.concat(d2).forEach(p => uniq[p] = p);
|
|
37
|
+
return Object.keys(uniq)
|
|
38
|
+
.filter(d => !!d)
|
|
39
|
+
.filter(d => typeof target.prototype[d] !== 'function');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export const CLASS = {
|
|
43
|
+
NAME: CLASSNAME.CLASSNAME,
|
|
44
|
+
setName: setClassName,
|
|
45
|
+
getBy: TchHelpers.getBy,
|
|
46
|
+
getSingleton(target) {
|
|
47
|
+
if (typeof target !== 'function') {
|
|
48
|
+
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const config = TchHelpers.getConfigs(target)[0];
|
|
52
|
+
return config.singleton;
|
|
53
|
+
},
|
|
54
|
+
setSingletonObj(target, singletonObject) {
|
|
55
|
+
if (typeof target !== 'function') {
|
|
56
|
+
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (Array.isArray(singletonObject)) {
|
|
60
|
+
console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (typeof singletonObject !== 'object') {
|
|
64
|
+
console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const className = CLASS.getName(target);
|
|
68
|
+
const config = TchHelpers.getConfigs(target)[0];
|
|
69
|
+
if (config.singleton) {
|
|
70
|
+
console.warn(`[typescript-class-helpers] You are trying to set singleton of "${className}" second time with different object.`);
|
|
71
|
+
}
|
|
72
|
+
config.singleton = singletonObject;
|
|
73
|
+
},
|
|
74
|
+
getConfigs: TchHelpers.getConfigs,
|
|
75
|
+
getConfig: (target) => {
|
|
76
|
+
return _.first(TchHelpers.getConfigs(target));
|
|
77
|
+
},
|
|
78
|
+
getFromObject: TchHelpers.getFromObject,
|
|
79
|
+
getName: TchHelpers.getName,
|
|
80
|
+
getNameFromObject: TchHelpers.getNameFromObject,
|
|
81
|
+
describeProperites: TchHelpers.describeProperites,
|
|
82
|
+
OBJECT: (obj) => {
|
|
83
|
+
return {
|
|
84
|
+
get indexValue() {
|
|
85
|
+
return CLASSNAME.getObjectIndexValue(obj);
|
|
86
|
+
},
|
|
87
|
+
get indexProperty() {
|
|
88
|
+
return CLASSNAME.getObjectIndexPropertyValue(obj);
|
|
89
|
+
},
|
|
90
|
+
get isClassObject() {
|
|
91
|
+
if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||
|
|
92
|
+
_.isBuffer(obj) || _.isArrayBuffer(obj)) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (_.isDate(obj)) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
const className = CLASS.getNameFromObject(obj);
|
|
99
|
+
return _.isString(className) && className !== 'Object';
|
|
100
|
+
},
|
|
101
|
+
isEqual: (anotherObj, compareDeep = false) => {
|
|
102
|
+
if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (obj === anotherObj) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
const v1 = CLASSNAME.getObjectIndexValue(obj);
|
|
109
|
+
const v2 = CLASSNAME.getObjectIndexValue(anotherObj);
|
|
110
|
+
const f1 = CLASSNAME.getObjectClassFamily(obj);
|
|
111
|
+
const f2 = CLASSNAME.getObjectClassFamily(anotherObj);
|
|
112
|
+
const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));
|
|
113
|
+
if (isFamilyDiff) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {
|
|
120
|
+
const res = (v1 === v2);
|
|
121
|
+
// @ts-ignore
|
|
122
|
+
return res;
|
|
123
|
+
}
|
|
124
|
+
if (compareDeep) {
|
|
125
|
+
return _.isEqual(v1, v2);
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
export * from 'enum-values';
|
|
133
|
+
;
|
|
134
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/index.ts
|
|
135
135
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvcHJvamVjdHMvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuQyxNQUFNLE9BQU8sVUFBVTtJQUVyQixNQUFNLENBQUMsS0FBSyxDQUFDLFNBQTRCO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFTO1FBQzVCLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25DLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNqQixPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDdEI7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMs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QUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFFNUUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7b0JBQ3hCLGFBQWE7b0JBQ2IsT0FBTyxHQUFHLENBQUM7aUJBQ1o7Z0JBQ0QsSUFBSSxXQUFXLEVBQUU7b0JBQ2YsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtpQkFDekI7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsY0FBYyxhQUFhLENBQUM7QUFFM0IsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRUFBa0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IENMQVNTTkFNRSB9IGZyb20gJy4vY2xhc3NuYW1lJztcbmltcG9ydCB7IGRlc2NyaWJlRnJvbUNsYXNzU3RyaW5naWZ5LCBkZXNjcmliZUJ5RGVmYXVsdE1vZGVsc0FuZE1hcHBpbmcgfSBmcm9tICcuL2Rlc2NyaWJlLWNsYXNzJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IHNldENsYXNzTmFtZSB9IGZyb20gJy4vc2V0LWNsYXNzLW5hbWUnO1xuXG5leHBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgeyBTWU1CT0wgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5leHBvcnQgY2xhc3MgVGNoSGVscGVycyB7XG5cbiAgc3RhdGljIGdldEJ5KGNsYXNzTmFtZTogc3RyaW5nIHwgRnVuY3Rpb24pIHtcbiAgICByZXR1cm4gQ0xBU1NOQU1FLmdldENsYXNzQnkoY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRGcm9tT2JqZWN0KG86IE9iamVjdCkge1xuICAgIGlmIChfLmlzVW5kZWZpbmVkKG8pIHx8IF8uaXNOdWxsKG8pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChvLmNvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gby5jb25zdHJ1Y3RvcjtcbiAgICB9XG4gICAgY29uc3QgcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKVxuICAgIHJldHVybiBwICYmIHAuY29uc3RydWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0TmFtZSh0YXJnZXQ6IEZ1bmN0aW9uLCBwcm9kdWN0aW9uID0gZmFsc2UpIHtcbiAgICByZXR1cm4gQ0xBU1NOQU1FLmdldENsYXNzTmFtZSh0YXJnZXQsIHByb2R1Y3Rpb24pIGFzIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBnZXROYW1lRnJvbU9iamVjdChvOiBPYmplY3QpIHtcbiAgICBjb25zdCBmbkNMYXNzID0gdGhpcy5nZXRGcm9tT2JqZWN0KG8pO1xuICAgIHJldHVybiB0aGlzLmdldE5hbWUoZm5DTGFzcyk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29uZmlncyh0YXJnZXQ6IEZ1bmN0aW9uKTogTW9kZWxzLkNsYXNzQ29uZmlnW10ge1xuICAgIHJldHVybiBDTEFTU05BTUUuZ2V0Q2xhc3NDb25maWcodGFyZ2V0KVxuICB9XG5cbiAgc3RhdGljIGRlc2NyaWJlUHJvcGVyaXRlcyh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgZDEgPSBkZXNjcmliZUZyb21DbGFzc1N0cmluZ2lmeSh0YXJnZXQpO1xuICAgIGNvbnN0IGQyID0gZGVzY3JpYmVCeURlZmF1bHRNb2RlbHNBbmRNYXBwaW5nKHRhcmdldCk7XG4gICAgbGV0IHVuaXEgPSB7fTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZDEuY29uY2F0KGQyKS5mb3JFYWNoKHAgPT4gdW5pcVtwXSA9IHApO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh1bmlxKVxuICAgICAgLmZpbHRlcihkID0+ICEhZClcbiAgICAgIC5maWx0ZXIoZCA9PiB0eXBlb2YgdGFyZ2V0LnByb3RvdHlwZVtkXSAhPT0gJ2Z1bmN0aW9uJylcbiAgfVxuXG59XG5cblxuZXhwb3J0IGNvbnN0IENMQVNTID0ge1xuICBOQU1FOiBDTEFTU05BTUUuQ0xBU1NOQU1FLFxuICBzZXROYW1lOiBzZXRDbGFzc05hbWUsXG4gIGdldEJ5OiBUY2hIZWxwZXJzLmdldEJ5LFxuICBnZXRTaW5nbGV0b248VCA9IGFueT4odGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICh0eXBlb2YgdGFyZ2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtzZXRTaW5nbGV0b25PYmpdIFR5cGUgb2YgdGFyZ2V0IGlzIG5vdCBhIGZ1bmN0aW9uYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBjb25maWcgPSBUY2hIZWxwZXJzLmdldENvbmZpZ3ModGFyZ2V0KVswXVxuXG5cbiAgICByZXR1cm4gY29uZmlnLnNpbmdsZXRvbiBhcyBUO1xuICB9LFxuICBzZXRTaW5nbGV0b25PYmoodGFyZ2V0OiBGdW5jdGlvbiwgc2luZ2xldG9uT2JqZWN0OiBhbnkpIHtcblxuICAgIGlmICh0eXBlb2YgdGFyZ2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtzZXRTaW5nbGV0b25PYmpdIFR5cGUgb2YgdGFyZ2V0IGlzIG5vdCBhIGZ1bmN0aW9uYClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHNpbmdsZXRvbk9iamVjdCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnNdW3NldFNpbmdsZXRvbk9ial0gU2luZ2xldG9uIGluc3RhbmNlIGNhbnQgYmUgYW4gYXJyYXlgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBzaW5nbGV0b25PYmplY3QgIT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtzZXRTaW5nbGV0b25PYmpdIFNpbmdsZXRvbiBpbnN0YW5jZSBjYW50IG11c3QgYmUgYSBvYmplY3RgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2xhc3NOYW1lID0gQ0xBU1MuZ2V0TmFtZSh0YXJnZXQpO1xuXG5cblxuICAgIGNvbnN0IGNvbmZpZyA9IFRjaEhlbHBlcnMuZ2V0Q29uZmlncyh0YXJnZXQpWzBdXG5cbiAgICBpZiAoY29uZmlnLnNpbmdsZXRvbikge1xuICAgICAgY29uc29sZS53YXJuKGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXSBZb3UgYXJlIHRyeWluZyB0byBzZXQgc2luZ2xldG9uIG9mIFwiJHtjbGFzc05hbWV9XCIgc2Vjb25kIHRpbWUgd2l0aCBkaWZmZXJlbnQgb2JqZWN0LmApXG4gICAgfVxuXG4gICAgY29uZmlnLnNpbmdsZXRvbiA9IHNpbmdsZXRvbk9iamVjdDtcbiAgfSxcbiAgZ2V0Q29uZmlnczogVGNoSGVscGVycy5nZXRDb25maWdzLFxuICBnZXRDb25maWc6ICh0YXJnZXQ6IEZ1bmN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIF8uZmlyc3QoVGNoSGVscGVycy5nZXRDb25maWdzKHRhcmdldCkpO1xuICB9LFxuICBnZXRGcm9tT2JqZWN0OiBUY2hIZWxwZXJzLmdldEZyb21PYmplY3QsXG4gIGdldE5hbWU6IFRjaEhlbHBlcnMuZ2V0TmFtZSxcbiAgZ2V0TmFtZUZyb21PYmplY3Q6IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3QsXG4gIGRlc2NyaWJlUHJvcGVyaXRlczogVGNoSGVscGVycy5kZXNjcmliZVByb3Blcml0ZXMsXG4gIE9CSkVDVDogKG9iajogYW55KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBpbmRleFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gQ0xBU1NOQU1FLmdldE9iamVjdEluZGV4VmFsdWUob2JqKTtcbiAgICAgIH0sXG4gICAgICBnZXQgaW5kZXhQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIENMQVNTTkFNRS5nZXRPYmplY3RJbmRleFByb3BlcnR5VmFsdWUob2JqKTtcbiAgICAgIH0sXG4gICAgICBnZXQgaXNDbGFzc09iamVjdCgpIHtcblxuICAgICAgICBpZiAoIV8uaXNPYmplY3Qob2JqKSB8fCBfLmlzQXJyYXkob2JqKSB8fCBfLmlzUmVnRXhwKG9iaikgfHxcbiAgICAgICAgICBfLmlzQnVmZmVyKG9iaikgfHwgXy5pc0FycmF5QnVmZmVyKG9iaikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNEYXRlKG9iaikpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBDTEFTUy5nZXROYW1lRnJvbU9iamVjdChvYmopXG4gICAgICAgIHJldHVybiBfLmlzU3RyaW5nKGNsYXNzTmFtZSkgJiYgY2xhc3NOYW1lICE9PSAnT2JqZWN0JztcbiAgICAgIH0sXG4gICAgICBpc0VxdWFsOiAoYW5vdGhlck9iajogYW55LCBjb21wYXJlRGVlcCA9IGZhbHNlKSA9PiB7XG4gICAgICAgIGlmICghQ0xBU1MuT0JKRUNUKG9iaikuaXNDbGFzc09iamVjdCB8fCAhQ0xBU1MuT0JKRUNUKGFub3RoZXJPYmopLmlzQ2xhc3NPYmplY3QpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9iaiA9PT0gYW5vdGhlck9iaikge1xuXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdjEgPSBDTEFTU05BTUUuZ2V0T2JqZWN0SW5kZXhWYWx1ZShvYmopO1xuICAgICAgICBjb25zdCB2MiA9IENMQVNTTkFNRS5nZXRPYmplY3RJbmRleFZhbHVlKGFub3RoZXJPYmopO1xuICAgICAgICBjb25zdCBmMSA9IENMQVNTTkFNRS5nZXRPYmplY3RDbGFzc0ZhbWlseShvYmopXG4gICAgICAgIGNvbnN0IGYyID0gQ0xBU1NOQU1FLmdldE9iamVjdENsYXNzRmFtaWx5KGFub3RoZXJPYmopXG4gICAgICAgIGNvbnN0IGlzRmFtaWx5RGlmZiA9ICghXy5pc1N0cmluZyhmMSkgfHwgIV8uaXNTdHJpbmcoZjIpIHx8IChmMSAhPT0gZjIpKTtcblxuICAgICAgICBpZiAoaXNGYW1pbHlEaWZmKSB7XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFDTEFTUy5PQkpFQ1Qob2JqKS5pc0NsYXNzT2JqZWN0IHx8ICFDTEFTUy5PQkpFQ1QoYW5vdGhlck9iaikuaXNDbGFzc09iamVjdCkge1xuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cblxuXG5cblxuXG4gICAgICAgIGlmICgoXy5pc051bWJlcih2MSkgJiYgXy5pc051bWJlcih2MikpIHx8IChfLmlzU3RyaW5nKHYxKSAmJiBfLmlzU3RyaW5nKHYyKSkpIHtcblxuICAgICAgICAgIGNvbnN0IHJlcyA9ICh2MSA9PT0gdjIpO1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb21wYXJlRGVlcCkge1xuICAgICAgICAgIHJldHVybiBfLmlzRXF1YWwodjEsIHYyKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0ICogZnJvbSAnZW51bS12YWx1ZXMnO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzIGxpYi9pbmRleC50cyJdfQ==
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
export var Models;
|
|
2
|
-
(function (Models) {
|
|
3
|
-
class ParamConfig {
|
|
4
|
-
}
|
|
5
|
-
Models.ParamConfig = ParamConfig;
|
|
6
|
-
class MethodConfig {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.parameters = {};
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
Models.MethodConfig = MethodConfig;
|
|
12
|
-
class ClassConfig {
|
|
13
|
-
constructor() {
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
this.singleton = void 0;
|
|
16
|
-
this.injections = [];
|
|
17
|
-
this.vChildren = [];
|
|
18
|
-
this.methods = {};
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
Models.ClassConfig = ClassConfig;
|
|
22
|
-
})(Models || (Models = {}));
|
|
23
|
-
;
|
|
24
|
-
({}); // @--end-of-file-for-module=typescript-class-helpers lib/models.ts
|
|
1
|
+
export var Models;
|
|
2
|
+
(function (Models) {
|
|
3
|
+
class ParamConfig {
|
|
4
|
+
}
|
|
5
|
+
Models.ParamConfig = ParamConfig;
|
|
6
|
+
class MethodConfig {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.parameters = {};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
Models.MethodConfig = MethodConfig;
|
|
12
|
+
class ClassConfig {
|
|
13
|
+
constructor() {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
this.singleton = void 0;
|
|
16
|
+
this.injections = [];
|
|
17
|
+
this.vChildren = [];
|
|
18
|
+
this.methods = {};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
Models.ClassConfig = ClassConfig;
|
|
22
|
+
})(Models || (Models = {}));
|
|
23
|
+
;
|
|
24
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/models.ts
|
|
25
25
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEtBQVcsTUFBTSxDQXFFdEI7QUFyRUQsV0FBaUIsTUFBTTtJQWNyQixNQUFhLFdBQVc7S0FNdkI7SUFOWSxrQkFBVyxjQU12QixDQUFBO0lBRUQsTUFBYSxZQUFZO1FBQXpCO1lBb0JFLGVBQVUsR0FBeUMsRUFBRSxDQUFDO1FBQ3hELENBQUM7S0FBQTtJQXJCWSxtQkFBWSxlQXFCeEIsQ0FBQTtJQVVELE1BQWEsV0FBVztRQUF4QjtZQUVFLGFBQWE7WUFDYixjQUFTLEdBQVcsS0FBSyxDQUFDLENBQUM7WUFDM0IsZUFBVSxHQUFrRCxFQUFFLENBQUM7WUFHL0QsY0FBUyxHQUFtQixFQUFFLENBQUM7WUFNL0IsWUFBTyxHQUEyQyxFQUFFLENBQUM7UUFDdkQsQ0FBQztLQUFBO0lBZFksa0JBQVcsY0FjdkIsQ0FBQTtBQUVILENBQUMsRUFyRWdCLE1BQU0sS0FBTixNQUFNLFFBcUV0QjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUVBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnTW9kZWxzIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG5cblxuICBleHBvcnQgdHlwZSBDTEFTU05BTUVPcHRpb25zID0ge1xuICAgIHVuaXF1ZUtleT86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBhdXRvaW5zdGFuY2UgLSBjcmVhdGUgaW5zdGFuY2Ugb2Ygc2luZ2xldG9uIGF1dG9tYXRpY2x5IGluc2lkZSBkZWNvcmF0b3JcbiAgICAgKiBmaXJzdC1pbnN0YW5jZSAtIHVzZSBmaXJzdCBpbnN0YWNlIG9mIGNyZWF0ZWQgY2xhc3MgYXMgZGVjb3JhdG9yXG4gICAgICovXG4gICAgc2luZ2xldG9uPzogJ2F1dG9pbnN0YW5jZScgfCAnZmlyc3QtaW5zdGFuY2UnIHwgJ2xhc3QtaW5zdGFuY2UnIHwgYm9vbGVhbixcbiAgICBjbGFzc0ZhbWlseT86IHN0cmluZyxcbiAgICBjbGFzc05hbWVJbkJyb3dzZXI/OiBzdHJpbmcsXG4gIH1cblxuICBleHBvcnQgY2xhc3MgUGFyYW1Db25maWcge1xuICAgIHBhcmFtTmFtZTogc3RyaW5nO1xuICAgIHBhcmFtVHlwZTogQ29uZmlnTW9kZWxzLlBhcmFtVHlwZTtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGRlZmF1bHRUeXBlOiBhbnk7XG4gICAgZXhwaXJlSW5TZWNvbmRzPzogbnVtYmVyO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIE1ldGhvZENvbmZpZyB7XG4gICAgbWV0aG9kTmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIHBhdGggaXMgZ2xvYmFsIGluIGV4cHJlc3MgYXBwXG4gICAgICovXG4gICAgZ2xvYmFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBvdmVycmlkZSBkZWZhdWx0IGNvbnRlbnQgdHlwZVxuICAgICAqL1xuICAgIGNvbnRlbnRUeXBlPzogYW55O1xuICAgIC8qKlxuICAgICAqIG92ZXJyaWRlIGRlZmF1bHQgYXhpc28gcmVzcG9uc2UgdHlwZVxuICAgICAqL1xuICAgIHJlc3BvbnNlVHlwZT86IGFueTtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yO1xuICAgIHR5cGU6IENvbmZpZ01vZGVscy5IdHRwTWV0aG9kO1xuXG4gICAgcmVxdWVzdEhhbmRsZXI6IGFueTtcblxuICAgIHBhcmFtZXRlcnM6IHsgW3BhcmFtTmFtZTogc3RyaW5nXTogUGFyYW1Db25maWcgfSA9IHt9O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBDbGFzc01ldGEge1xuICAgIHVuaXF1ZUtleT86IHN0cmluZztcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgY2xhc3NGYW1pbHk/OiBzdHJpbmc7XG4gICAgY2xhc3NOYW1lSW5Ccm93c2VyPzogc3RyaW5nO1xuICAgIHRhcmdldD86IEZ1bmN0aW9uO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIENsYXNzQ29uZmlnIHtcbiAgICBicm93c2VyVHJhbnNmb3JtRm4/OiAoZW50aXR5OiBhbnkpID0+IGFueTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc2luZ2xldG9uOiBPYmplY3QgPSB2b2lkIDA7XG4gICAgaW5qZWN0aW9uczogeyBnZXR0ZXI6IEZ1bmN0aW9uLCBwcm9wZXJ0eU5hbWU6IHN0cmluZzsgfVtdID0gW107XG4gICAgY2FsY3VsYXRlZFBhdGg6IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgdkNoaWxkcmVuPzogQ2xhc3NDb25maWdbXSA9IFtdO1xuICAgIHZQYXJlbnQ/OiBDbGFzc0NvbmZpZztcbiAgICBjbGFzc1JlZmVyZW5jZTogRnVuY3Rpb247XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIHVuaXF1ZUtleT86IHN0cmluZztcbiAgICBjbGFzc05hbWVJbkJyb3dzZXI/OiBzdHJpbmc7XG4gICAgbWV0aG9kczogeyBbbWV0aG9kTmFtZTogc3RyaW5nXTogTWV0aG9kQ29uZmlnIH0gPSB7fTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMgbGliL21vZGVscy50cyJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const registerd = {
|
|
2
|
-
configs: [],
|
|
3
|
-
classes: [],
|
|
4
|
-
};
|
|
5
|
-
({}); // @--end-of-file-for-module=typescript-class-helpers lib/registerd-db.ts
|
|
1
|
+
export const registerd = {
|
|
2
|
+
configs: [],
|
|
3
|
+
classes: [],
|
|
4
|
+
};
|
|
5
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/registerd-db.ts
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJkLWRiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL3JlZ2lzdGVyZC1kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsT0FBTyxFQUFFLEVBQTBCO0lBQ25DLE9BQU8sRUFBRSxFQUFnQjtDQUMxQixDQUVDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlFQUF5RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCBjb25zdCByZWdpc3RlcmQgPSB7XG4gIGNvbmZpZ3M6IFtdIGFzIE1vZGVscy5DbGFzc0NvbmZpZ1tdLFxuICBjbGFzc2VzOiBbXSBhcyBGdW5jdGlvbltdLFxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzIGxpYi9yZWdpc3RlcmQtZGIudHMiXX0=
|