typescript-class-helpers 21.0.32 → 21.0.35
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/browser/fesm2022/typescript-class-helpers-browser.mjs +119 -559
- package/browser/fesm2022/typescript-class-helpers-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser/types/typescript-class-helpers-browser.d.ts +13 -148
- package/browser-prod/fesm2022/typescript-class-helpers-browser.mjs +94 -529
- package/browser-prod/fesm2022/typescript-class-helpers-browser.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/typescript-class-helpers-browser.d.ts +12 -139
- package/browser-prod.split-namespaces.json +19 -29
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/index.d.ts +1 -48
- package/lib/index.js +15 -197
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/typescript-class-helpers.d.ts +18 -0
- package/lib/typescript-class-helpers.js +182 -0
- package/lib/typescript-class-helpers.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/index.d.ts +1 -48
- package/lib-prod/index.js +1 -193
- package/lib-prod/index.js.map +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/typescript-class-helpers.d.ts +16 -0
- package/lib-prod/typescript-class-helpers.js +168 -0
- package/lib-prod/typescript-class-helpers.js.map +1 -0
- package/lib-prod.split-namespaces.json +19 -29
- package/package.json +1 -1
- package/websql/fesm2022/typescript-class-helpers-websql.mjs +119 -558
- package/websql/fesm2022/typescript-class-helpers-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql/types/typescript-class-helpers-websql.d.ts +13 -149
- package/websql-prod/fesm2022/typescript-class-helpers-websql.mjs +94 -528
- package/websql-prod/fesm2022/typescript-class-helpers-websql.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/typescript-class-helpers-websql.d.ts +12 -140
- package/websql-prod.split-namespaces.json +19 -29
- package/lib/classname.d.ts +0 -16
- package/lib/classname.js +0 -198
- package/lib/classname.js.map +0 -1
- package/lib/describe-class.d.ts +0 -6
- package/lib/describe-class.js +0 -77
- package/lib/describe-class.js.map +0 -1
- package/lib/errors-messages.d.ts +0 -1
- package/lib/errors-messages.js +0 -15
- package/lib/errors-messages.js.map +0 -1
- package/lib/models.d.ts +0 -83
- package/lib/models.js +0 -63
- package/lib/models.js.map +0 -1
- package/lib/registerd-db.d.ts +0 -5
- package/lib/registerd-db.js +0 -8
- package/lib/registerd-db.js.map +0 -1
- package/lib/set-class-name.d.ts +0 -2
- package/lib/set-class-name.js +0 -100
- package/lib/set-class-name.js.map +0 -1
- package/lib/storage.d.ts +0 -1
- package/lib/storage.js +0 -27
- package/lib/storage.js.map +0 -1
- package/lib/symbols.d.ts +0 -7
- package/lib/symbols.js +0 -12
- package/lib/symbols.js.map +0 -1
- package/lib-prod/classname.d.ts +0 -14
- package/lib-prod/classname.js +0 -186
- package/lib-prod/classname.js.map +0 -1
- package/lib-prod/describe-class.d.ts +0 -6
- package/lib-prod/describe-class.js +0 -73
- package/lib-prod/describe-class.js.map +0 -1
- package/lib-prod/errors-messages.d.ts +0 -1
- package/lib-prod/errors-messages.js +0 -12
- package/lib-prod/errors-messages.js.map +0 -1
- package/lib-prod/models.d.ts +0 -81
- package/lib-prod/models.js +0 -55
- package/lib-prod/models.js.map +0 -1
- package/lib-prod/registerd-db.d.ts +0 -5
- package/lib-prod/registerd-db.js +0 -5
- package/lib-prod/registerd-db.js.map +0 -1
- package/lib-prod/set-class-name.d.ts +0 -2
- package/lib-prod/set-class-name.js +0 -97
- package/lib-prod/set-class-name.js.map +0 -1
- package/lib-prod/storage.d.ts +0 -1
- package/lib-prod/storage.js +0 -24
- package/lib-prod/storage.js.map +0 -1
- package/lib-prod/symbols.d.ts +0 -7
- package/lib-prod/symbols.js +0 -9
- package/lib-prod/symbols.js.map +0 -1
package/lib/index.js
CHANGED
|
@@ -1,200 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
static getFromObject(o) {
|
|
17
|
-
if (lib_1._.isUndefined(o) || lib_1._.isNull(o)) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (o.constructor) {
|
|
21
|
-
return o.constructor;
|
|
22
|
-
}
|
|
23
|
-
const p = Object.getPrototypeOf(o);
|
|
24
|
-
return p && p.constructor;
|
|
25
|
-
}
|
|
26
|
-
static getName(target, production = false) {
|
|
27
|
-
return classname_1.CLASSNAME.getClassName(target, production);
|
|
28
|
-
}
|
|
29
|
-
static getNameFromObject(o) {
|
|
30
|
-
const fnCLass = this.getFromObject(o);
|
|
31
|
-
return this.getName(fnCLass);
|
|
32
|
-
}
|
|
33
|
-
static getConfigs(target) {
|
|
34
|
-
return classname_1.CLASSNAME.getClassConfig(target);
|
|
35
|
-
}
|
|
36
|
-
static describeProperites(target) {
|
|
37
|
-
const d1 = (0, describe_class_1.describeFromClassStringify)(target);
|
|
38
|
-
const d2 = (0, describe_class_1.describeByDefaultModelsAndMapping)(target);
|
|
39
|
-
let uniq = {};
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
d1.concat(d2).forEach(p => uniq[p] = p);
|
|
42
|
-
return Object.keys(uniq)
|
|
43
|
-
.filter(d => !!d)
|
|
44
|
-
.filter(d => typeof target.prototype[d] !== 'function');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.TchHelpers = TchHelpers;
|
|
48
|
-
const notAllowedAsMethodName = [
|
|
49
|
-
'length', 'name',
|
|
50
|
-
'arguments', 'caller',
|
|
51
|
-
'constructor', 'apply',
|
|
52
|
-
'bind', 'call',
|
|
53
|
-
'toString',
|
|
54
|
-
'__defineGetter__',
|
|
55
|
-
'__defineSetter__', 'hasOwnProperty',
|
|
56
|
-
'__lookupGetter__', '__lookupSetter__',
|
|
57
|
-
'isPrototypeOf', 'propertyIsEnumerable',
|
|
58
|
-
'valueOf', '__proto__', 'toLocaleString',
|
|
59
|
-
];
|
|
60
|
-
const getMethodsNames = (classOrClassInstance, allMethodsNames = []) => {
|
|
61
|
-
if (!classOrClassInstance) {
|
|
62
|
-
return allMethodsNames;
|
|
63
|
-
}
|
|
64
|
-
const isClassFunction = lib_1._.isFunction(classOrClassInstance);
|
|
65
|
-
const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));
|
|
66
|
-
const objectToCheck = isClassFunction ? classOrClassInstance?.prototype : classOrClassInstance;
|
|
67
|
-
const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
|
|
68
|
-
const properties = lib_1._.uniq([
|
|
69
|
-
...Object.getOwnPropertyNames(objectToCheck || {}),
|
|
70
|
-
...Object.getOwnPropertyNames(prototypeObj || {}),
|
|
71
|
-
...Object.keys(objectToCheck || {}),
|
|
72
|
-
...Object.keys(prototypeObj || {}),
|
|
73
|
-
])
|
|
74
|
-
.filter(f => !!f && !notAllowedAsMethodName.includes(f));
|
|
75
|
-
properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));
|
|
76
|
-
if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {
|
|
77
|
-
return allMethodsNames;
|
|
78
|
-
}
|
|
79
|
-
return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
|
|
80
|
-
};
|
|
81
|
-
exports.CLASS = {
|
|
82
|
-
NAME: classname_1.CLASSNAME.CLASSNAME,
|
|
83
|
-
setName: set_class_name_1.setClassName,
|
|
84
|
-
getBy: TchHelpers.getBy,
|
|
85
|
-
/**
|
|
86
|
-
* @deprecated
|
|
87
|
-
*/
|
|
88
|
-
getSingleton(target) {
|
|
89
|
-
if (typeof target !== 'function') {
|
|
90
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const config = TchHelpers.getConfigs(target)[0];
|
|
94
|
-
// console.log(`getSingleton for ${target.name}: `, config.singleton)
|
|
95
|
-
return config.singleton;
|
|
96
|
-
},
|
|
97
|
-
/**
|
|
98
|
-
* @deprecated
|
|
99
|
-
*/
|
|
100
|
-
setSingletonObj(target, singletonObject) {
|
|
101
|
-
// console.log('SET SINGLETON', singletonObject)
|
|
102
|
-
if (typeof target !== 'function') {
|
|
103
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
if (Array.isArray(singletonObject)) {
|
|
107
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
if (typeof singletonObject !== 'object') {
|
|
111
|
-
console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const className = exports.CLASS.getName(target);
|
|
115
|
-
// console.log(`SINGLETON SET for TARGET ${className}`)
|
|
116
|
-
const config = TchHelpers.getConfigs(target)[0];
|
|
117
|
-
if (config.singleton) {
|
|
118
|
-
console.warn(`[typescript-class-helpers] You are trying to set singleton of "${className}" second time with different object.`);
|
|
119
|
-
}
|
|
120
|
-
config.singleton = singletonObject;
|
|
121
|
-
},
|
|
122
|
-
/**
|
|
123
|
-
* @deprecated
|
|
124
|
-
*/
|
|
125
|
-
getConfigs: TchHelpers.getConfigs,
|
|
126
|
-
/**
|
|
127
|
-
* @deprecated
|
|
128
|
-
*/
|
|
129
|
-
getConfig: (target) => {
|
|
130
|
-
return lib_1._.first(TchHelpers.getConfigs(target));
|
|
131
|
-
},
|
|
132
|
-
getMethodsNames(classOrClassInstance) {
|
|
133
|
-
return getMethodsNames(classOrClassInstance);
|
|
134
|
-
},
|
|
135
|
-
getFromObject: TchHelpers.getFromObject,
|
|
136
|
-
getName: TchHelpers.getName,
|
|
137
|
-
getNameFromObject: TchHelpers.getNameFromObject,
|
|
138
|
-
describeProperites: TchHelpers.describeProperites,
|
|
139
|
-
/**
|
|
140
|
-
* @deprecated
|
|
141
|
-
*/
|
|
142
|
-
OBJECT: (obj) => {
|
|
143
|
-
return {
|
|
144
|
-
get indexValue() {
|
|
145
|
-
return classname_1.CLASSNAME.getObjectIndexValue(obj);
|
|
146
|
-
},
|
|
147
|
-
get indexProperty() {
|
|
148
|
-
return classname_1.CLASSNAME.getObjectIndexPropertyValue(obj);
|
|
149
|
-
},
|
|
150
|
-
get isClassObject() {
|
|
151
|
-
if (!lib_1._.isObject(obj) || lib_1._.isArray(obj) || lib_1._.isRegExp(obj) ||
|
|
152
|
-
lib_1._.isBuffer(obj) || lib_1._.isArrayBuffer(obj)) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
if (lib_1._.isDate(obj)) {
|
|
156
|
-
return true;
|
|
157
|
-
}
|
|
158
|
-
const className = exports.CLASS.getNameFromObject(obj);
|
|
159
|
-
return lib_1._.isString(className) && className !== 'Object';
|
|
160
|
-
},
|
|
161
|
-
isEqual: (anotherObj, compareDeep = false) => {
|
|
162
|
-
if (!exports.CLASS.OBJECT(obj).isClassObject || !exports.CLASS.OBJECT(anotherObj).isClassObject) {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
if (obj === anotherObj) {
|
|
166
|
-
// console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)
|
|
167
|
-
return true;
|
|
168
|
-
}
|
|
169
|
-
const v1 = classname_1.CLASSNAME.getObjectIndexValue(obj);
|
|
170
|
-
const v2 = classname_1.CLASSNAME.getObjectIndexValue(anotherObj);
|
|
171
|
-
const f1 = classname_1.CLASSNAME.getObjectClassFamily(obj);
|
|
172
|
-
const f2 = classname_1.CLASSNAME.getObjectClassFamily(anotherObj);
|
|
173
|
-
const isFamilyDiff = (!lib_1._.isString(f1) || !lib_1._.isString(f2) || (f1 !== f2));
|
|
174
|
-
// console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME.getObjectClassFamily(obj)}, v2: ${CLASSNAME.getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
|
|
175
|
-
if (isFamilyDiff) {
|
|
176
|
-
// console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
if (!exports.CLASS.OBJECT(obj).isClassObject || !exports.CLASS.OBJECT(anotherObj).isClassObject) {
|
|
180
|
-
// console.log(`NOT CLASS v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
// console.log(`v1: ${v1} ,class ${CLASS.getNameFromObject(obj)} ,prop: ${CLASS.OBJECT(obj).indexProperty}`)
|
|
184
|
-
// console.log(`v2: ${v2} ,class ${CLASS.getNameFromObject(anotherObj)} ,prop: ${CLASS.OBJECT(anotherObj).indexProperty}`)
|
|
185
|
-
// console.log(`v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
|
|
186
|
-
// console.log('')
|
|
187
|
-
if ((lib_1._.isNumber(v1) && lib_1._.isNumber(v2)) || (lib_1._.isString(v1) && lib_1._.isString(v2))) {
|
|
188
|
-
const res = (v1 === v2);
|
|
189
|
-
// @ts-ignore
|
|
190
|
-
return res;
|
|
191
|
-
}
|
|
192
|
-
if (compareDeep) {
|
|
193
|
-
return lib_1._.isEqual(v1, v2);
|
|
194
|
-
}
|
|
195
|
-
return false;
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
}
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
199
15
|
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./typescript-class-helpers"), exports);
|
|
200
18
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
|
package/lib/package.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function getClassName(target: Function): string | undefined;
|
|
2
|
+
export declare function getFromObject(o: Object): any;
|
|
3
|
+
export declare namespace CLASS {
|
|
4
|
+
/**
|
|
5
|
+
* PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
|
|
6
|
+
* Decorator requred for production mode
|
|
7
|
+
* @param name Name of class
|
|
8
|
+
*/
|
|
9
|
+
function NAME(className: string): any;
|
|
10
|
+
function setName(target: Function, className: string): void;
|
|
11
|
+
function getClassNameFromObjInstanceOrClassFn(target: any): string | undefined;
|
|
12
|
+
function setClassName(target: Function, className: string): void;
|
|
13
|
+
function getBy(className: string | Function): Function;
|
|
14
|
+
function getFromObject(o: Object): Function | undefined;
|
|
15
|
+
function getName(target: Function): string | undefined;
|
|
16
|
+
function getNameFromObject(o: Object): string | undefined;
|
|
17
|
+
const getMethodsNames: (classOrClassInstance: any, allMethodsNames?: any[]) => string[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CLASS = void 0;
|
|
4
|
+
exports.getClassName = getClassName;
|
|
5
|
+
exports.getFromObject = getFromObject;
|
|
6
|
+
const FormData = require("form-data"); // @backend
|
|
7
|
+
const lib_1 = require("tnp-core/lib");
|
|
8
|
+
const lib_2 = require("tnp-core/lib");
|
|
9
|
+
const REGISTRY_SYMBOL = Symbol.for('TAON.CLASS_REGISTRY');
|
|
10
|
+
function getRegistry() {
|
|
11
|
+
const g = globalThis;
|
|
12
|
+
if (!g[REGISTRY_SYMBOL]) {
|
|
13
|
+
g[REGISTRY_SYMBOL] = new Map();
|
|
14
|
+
}
|
|
15
|
+
return g[REGISTRY_SYMBOL];
|
|
16
|
+
}
|
|
17
|
+
const classes = getRegistry();
|
|
18
|
+
function getClassName(target) {
|
|
19
|
+
if (lib_1._.isNil(target)) {
|
|
20
|
+
return void 0;
|
|
21
|
+
}
|
|
22
|
+
if (lib_1._.isString(target)) {
|
|
23
|
+
return target;
|
|
24
|
+
}
|
|
25
|
+
if (target === Date) {
|
|
26
|
+
return 'Date';
|
|
27
|
+
}
|
|
28
|
+
if (target === FormData) {
|
|
29
|
+
return 'FormData';
|
|
30
|
+
}
|
|
31
|
+
if (!lib_1._.isFunction(target)) {
|
|
32
|
+
// console.log(target);
|
|
33
|
+
lib_2.Helpers.log(`[typescript-class-helpers][getClassName] target is not a class`);
|
|
34
|
+
return void 0;
|
|
35
|
+
}
|
|
36
|
+
if (!lib_1._.isNil(target[lib_1.CoreModels.ClassNameStaticProperty])) {
|
|
37
|
+
return target[lib_1.CoreModels.ClassNameStaticProperty];
|
|
38
|
+
}
|
|
39
|
+
// special thing when cloning classes
|
|
40
|
+
if (target.name?.startsWith('class_')) {
|
|
41
|
+
return '';
|
|
42
|
+
}
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
function getFromObject(o) {
|
|
46
|
+
if (lib_1._.isUndefined(o) || lib_1._.isNull(o)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (o.constructor) {
|
|
50
|
+
return o.constructor;
|
|
51
|
+
}
|
|
52
|
+
const p = Object.getPrototypeOf(o);
|
|
53
|
+
return p && p.constructor;
|
|
54
|
+
}
|
|
55
|
+
const notAllowedAsMethodName = [
|
|
56
|
+
'length',
|
|
57
|
+
'name',
|
|
58
|
+
'arguments',
|
|
59
|
+
'caller',
|
|
60
|
+
'constructor',
|
|
61
|
+
'apply',
|
|
62
|
+
'bind',
|
|
63
|
+
'call',
|
|
64
|
+
'toString',
|
|
65
|
+
'__defineGetter__',
|
|
66
|
+
'__defineSetter__',
|
|
67
|
+
'hasOwnProperty',
|
|
68
|
+
'__lookupGetter__',
|
|
69
|
+
'__lookupSetter__',
|
|
70
|
+
'isPrototypeOf',
|
|
71
|
+
'propertyIsEnumerable',
|
|
72
|
+
'valueOf',
|
|
73
|
+
'__proto__',
|
|
74
|
+
'toLocaleString',
|
|
75
|
+
];
|
|
76
|
+
var CLASS;
|
|
77
|
+
(function (CLASS) {
|
|
78
|
+
/**
|
|
79
|
+
* PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
|
|
80
|
+
* Decorator requred for production mode
|
|
81
|
+
* @param name Name of class
|
|
82
|
+
*/
|
|
83
|
+
function NAME(className) {
|
|
84
|
+
return function (target) {
|
|
85
|
+
return setClassName(target, className);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
CLASS.NAME = NAME;
|
|
89
|
+
function setName(target, className) {
|
|
90
|
+
setClassName(target, className);
|
|
91
|
+
}
|
|
92
|
+
CLASS.setName = setName;
|
|
93
|
+
function getClassNameFromObjInstanceOrClassFn(target) {
|
|
94
|
+
if (typeof target === 'object') {
|
|
95
|
+
return getNameFromObject(target);
|
|
96
|
+
}
|
|
97
|
+
return getClassName(target);
|
|
98
|
+
}
|
|
99
|
+
CLASS.getClassNameFromObjInstanceOrClassFn = getClassNameFromObjInstanceOrClassFn;
|
|
100
|
+
function setClassName(target, className) {
|
|
101
|
+
target[lib_1.CoreModels.ClassNameStaticProperty] = className;
|
|
102
|
+
classes.set(className, target);
|
|
103
|
+
}
|
|
104
|
+
CLASS.setClassName = setClassName;
|
|
105
|
+
function getBy(className) {
|
|
106
|
+
let res;
|
|
107
|
+
if (Array.isArray(className)) {
|
|
108
|
+
if (className.length !== 1) {
|
|
109
|
+
throw `Mapping error... please use proper class names:
|
|
110
|
+
{
|
|
111
|
+
propertyObject: 'MyClassName',
|
|
112
|
+
propertyWithArray: ['MyClassName']
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
`;
|
|
116
|
+
}
|
|
117
|
+
className = className[0];
|
|
118
|
+
}
|
|
119
|
+
if (typeof className === 'function') {
|
|
120
|
+
// TODO QUICK_FIX
|
|
121
|
+
res = className;
|
|
122
|
+
}
|
|
123
|
+
if (className === 'Date') {
|
|
124
|
+
res = Date;
|
|
125
|
+
}
|
|
126
|
+
if (className === 'FormData') {
|
|
127
|
+
res = FormData;
|
|
128
|
+
}
|
|
129
|
+
const classFromMap = classes.get(className);
|
|
130
|
+
return classFromMap ? classFromMap : res;
|
|
131
|
+
}
|
|
132
|
+
CLASS.getBy = getBy;
|
|
133
|
+
function getFromObject(o) {
|
|
134
|
+
if (lib_1._.isUndefined(o) || lib_1._.isNull(o)) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (o.constructor) {
|
|
138
|
+
return o.constructor;
|
|
139
|
+
}
|
|
140
|
+
const p = Object.getPrototypeOf(o);
|
|
141
|
+
return p && p.constructor;
|
|
142
|
+
}
|
|
143
|
+
CLASS.getFromObject = getFromObject;
|
|
144
|
+
function getName(target) {
|
|
145
|
+
return getClassName(target);
|
|
146
|
+
}
|
|
147
|
+
CLASS.getName = getName;
|
|
148
|
+
function getNameFromObject(o) {
|
|
149
|
+
const fnCLass = getFromObject(o);
|
|
150
|
+
return getName(fnCLass);
|
|
151
|
+
}
|
|
152
|
+
CLASS.getNameFromObject = getNameFromObject;
|
|
153
|
+
CLASS.getMethodsNames = (classOrClassInstance, allMethodsNames = []) => {
|
|
154
|
+
if (!classOrClassInstance) {
|
|
155
|
+
return allMethodsNames;
|
|
156
|
+
}
|
|
157
|
+
const isClassFunction = lib_1._.isFunction(classOrClassInstance);
|
|
158
|
+
const classFun = isClassFunction
|
|
159
|
+
? classOrClassInstance
|
|
160
|
+
: Object.getPrototypeOf(classOrClassInstance);
|
|
161
|
+
const objectToCheck = isClassFunction
|
|
162
|
+
? classOrClassInstance?.prototype
|
|
163
|
+
: classOrClassInstance;
|
|
164
|
+
const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
|
|
165
|
+
const properties = lib_1._.uniq([
|
|
166
|
+
...Object.getOwnPropertyNames(objectToCheck || {}),
|
|
167
|
+
...Object.getOwnPropertyNames(prototypeObj || {}),
|
|
168
|
+
...Object.keys(objectToCheck || {}),
|
|
169
|
+
...Object.keys(prototypeObj || {}),
|
|
170
|
+
]).filter(f => !!f && !notAllowedAsMethodName.includes(f));
|
|
171
|
+
properties
|
|
172
|
+
.filter(methodName => typeof objectToCheck[methodName] === 'function')
|
|
173
|
+
.forEach(p => allMethodsNames.push(p));
|
|
174
|
+
if (!classFun ||
|
|
175
|
+
!classFun.constructor ||
|
|
176
|
+
classFun?.constructor?.name === 'Object') {
|
|
177
|
+
return allMethodsNames;
|
|
178
|
+
}
|
|
179
|
+
return CLASS.getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
|
|
180
|
+
};
|
|
181
|
+
})(CLASS || (exports.CLASS = CLASS = {}));
|
|
182
|
+
//# sourceMappingURL=typescript-class-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript-class-helpers.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,6 @@ export const CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
|
22
22
|
/**
|
|
23
23
|
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
24
24
|
*/
|
|
25
|
-
export const CURRENT_PACKAGE_VERSION = '21.0.
|
|
25
|
+
export const CURRENT_PACKAGE_VERSION = '21.0.35';
|
|
26
26
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
27
27
|
//# sourceMappingURL=build-info._auto-generated_.js.map
|
package/lib-prod/index.d.ts
CHANGED
|
@@ -1,48 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Models__NS__ClassConfig } from './models';
|
|
3
|
-
import { setClassName } from './set-class-name';
|
|
4
|
-
export { Models__NS__ClassConfig, Models__NS__ClassMeta, Models__NS__CLASSNAMEOptions, Models__NS__MethodConfig, Models__NS__ParamConfig } from './models';
|
|
5
|
-
export { SYMBOL } from './symbols';
|
|
6
|
-
export declare class TchHelpers {
|
|
7
|
-
static getBy(className: string | Function): Function;
|
|
8
|
-
static getFromObject(o: Object): any;
|
|
9
|
-
static getName(target: Function, production?: boolean): string;
|
|
10
|
-
static getNameFromObject(o: Object): string;
|
|
11
|
-
static getConfigs(target: Function): Models__NS__ClassConfig[];
|
|
12
|
-
static describeProperites(target: Function): string[];
|
|
13
|
-
}
|
|
14
|
-
export declare const CLASS: {
|
|
15
|
-
NAME: typeof CLASSNAME__NS__CLASSNAME;
|
|
16
|
-
setName: typeof setClassName;
|
|
17
|
-
getBy: typeof TchHelpers.getBy;
|
|
18
|
-
/**
|
|
19
|
-
* @deprecated
|
|
20
|
-
*/
|
|
21
|
-
getSingleton<T = any>(target: Function): T;
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated
|
|
24
|
-
*/
|
|
25
|
-
setSingletonObj(target: Function, singletonObject: any): void;
|
|
26
|
-
/**
|
|
27
|
-
* @deprecated
|
|
28
|
-
*/
|
|
29
|
-
getConfigs: typeof TchHelpers.getConfigs;
|
|
30
|
-
/**
|
|
31
|
-
* @deprecated
|
|
32
|
-
*/
|
|
33
|
-
getConfig: (target: Function) => Models__NS__ClassConfig;
|
|
34
|
-
getMethodsNames(classOrClassInstance: any): string[];
|
|
35
|
-
getFromObject: typeof TchHelpers.getFromObject;
|
|
36
|
-
getName: typeof TchHelpers.getName;
|
|
37
|
-
getNameFromObject: typeof TchHelpers.getNameFromObject;
|
|
38
|
-
describeProperites: typeof TchHelpers.describeProperites;
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated
|
|
41
|
-
*/
|
|
42
|
-
OBJECT: (obj: any) => {
|
|
43
|
-
readonly indexValue: any;
|
|
44
|
-
readonly indexProperty: string;
|
|
45
|
-
readonly isClassObject: boolean;
|
|
46
|
-
isEqual: (anotherObj: any, compareDeep?: boolean) => boolean;
|
|
47
|
-
};
|
|
48
|
-
};
|
|
1
|
+
export * from './typescript-class-helpers';
|