taon 21.0.53 → 21.0.54
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/bin/taon +5 -5
- package/bin/taon-debug +5 -5
- package/bin/taon-debug-brk +4 -4
- package/browser/package.json +1 -1
- package/browser-prod/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib-prod/base-classes/base-abstract-entity.js +17 -31
- package/lib-prod/base-classes/base-angular-service.js +83 -55
- package/lib-prod/base-classes/base-class.js +33 -35
- package/lib-prod/base-classes/base-context.js +17 -19
- package/lib-prod/base-classes/base-controller.js +146 -154
- package/lib-prod/base-classes/base-crud-controller.js +250 -221
- package/lib-prod/base-classes/base-custom-repository.js +7 -18
- package/lib-prod/base-classes/base-electron-service.js +49 -0
- package/lib-prod/base-classes/base-entity.js +20 -30
- package/lib-prod/base-classes/base-file-upload.middleware.js +72 -75
- package/lib-prod/base-classes/base-injector.js +176 -194
- package/lib-prod/base-classes/base-middleware.js +8 -5
- package/lib-prod/base-classes/base-migration.js +19 -22
- package/lib-prod/base-classes/base-provider.js +7 -5
- package/lib-prod/base-classes/base-repository.js +601 -573
- package/lib-prod/base-classes/base-subscriber-for-entity.js +143 -152
- package/lib-prod/base-classes/base.js +18 -0
- package/lib-prod/build-info._auto-generated_.js +26 -14
- package/lib-prod/config/controller-config.js +24 -24
- package/lib-prod/config/controller-options.js +2 -5
- package/lib-prod/config/method-config.js +6 -8
- package/lib-prod/config/param-config.js +2 -8
- package/lib-prod/constants.js +29 -25
- package/lib-prod/context-db-migrations.js +327 -324
- package/lib-prod/create-context.js +211 -146
- package/lib-prod/decorators/classes/controller-decorator.js +16 -20
- package/lib-prod/decorators/classes/entity-decorator.js +26 -47
- package/lib-prod/decorators/classes/middleware-decorator.js +14 -24
- package/lib-prod/decorators/classes/migration-decorator.js +13 -22
- package/lib-prod/decorators/classes/provider-decorator.js +13 -23
- package/lib-prod/decorators/classes/repository-decorator.js +13 -22
- package/lib-prod/decorators/classes/subscriber-decorator.js +13 -23
- package/lib-prod/decorators/decorator-abstract-opt.js +1 -4
- package/lib-prod/decorators/http/http-decorators.js +20 -5
- package/lib-prod/decorators/http/http-methods-decorators.js +91 -133
- package/lib-prod/decorators/http/http-params-decorators.js +36 -62
- package/lib-prod/dependency-injection/di-container.js +28 -29
- package/lib-prod/endpoint-context-storage.js +27 -32
- package/lib-prod/endpoint-context.js +2294 -1930
- package/lib-prod/entity-process.js +209 -198
- package/lib-prod/env/env.angular-node-app.js +66 -130
- package/lib-prod/env/env.docs-webapp.js +66 -130
- package/lib-prod/env/env.electron-app.js +66 -130
- package/lib-prod/env/env.mobile-app.js +66 -130
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +66 -130
- package/lib-prod/env/env.vscode-plugin.js +66 -130
- package/lib-prod/env/index.js +6 -6
- package/lib-prod/express-types.js +1 -0
- package/lib-prod/formly/formly.models.js +1 -0
- package/lib-prod/formly/fromly.js +196 -175
- package/lib-prod/formly/type-from-entity.js +45 -52
- package/lib-prod/get-response-value.js +21 -18
- package/lib-prod/global-state/taon-global-state/index.js +6 -5
- package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +18 -19
- package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +6 -9
- package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +40 -46
- package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +33 -46
- package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +10 -20
- package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +43 -33
- package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +10 -20
- package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +43 -44
- package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +20 -27
- package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +10 -10
- package/lib-prod/global-state/taon-transaction-registry/index.js +11 -10
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +20 -21
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +4 -7
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +34 -39
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +34 -54
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +10 -20
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +7 -10
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +10 -20
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +29 -34
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +20 -27
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +4 -5
- package/lib-prod/helpers/class-helpers.js +210 -177
- package/lib-prod/helpers/clone-obj.js +16 -20
- package/lib-prod/helpers/taon-helpers.js +132 -114
- package/lib-prod/index._auto-generated_.js +5 -0
- package/lib-prod/index.js +248 -227
- package/lib-prod/inject.js +88 -33
- package/lib-prod/migrations/index.js +2 -1
- package/lib-prod/migrations/migrations_index._auto-generated_.js +3 -0
- package/lib-prod/models.js +72 -103
- package/lib-prod/orm/columns.js +58 -118
- package/lib-prod/orm/index.js +56 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/realtime/realtime-client.js +188 -186
- package/lib-prod/realtime/realtime-core.js +77 -78
- package/lib-prod/realtime/realtime-server.js +225 -240
- package/lib-prod/realtime/realtime-strategy/index.js +4 -4
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +273 -219
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +267 -240
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +26 -20
- package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +10 -13
- package/lib-prod/realtime/realtime-subs-manager.js +82 -90
- package/lib-prod/realtime/realtime.models.js +2 -0
- package/lib-prod/symbols.js +104 -105
- package/lib-prod/ui/index.js +1 -5
- package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -5
- package/lib-prod/validators.js +43 -37
- package/lib-prod.split-namespaces.json +31 -91
- package/package.json +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/package.json +1 -1
|
@@ -1,129 +1,147 @@
|
|
|
1
|
-
import * as JSON5 from
|
|
2
|
-
import { ___NS__cloneDeep, ___NS__first, ___NS__isObject, ___NS__times } from
|
|
3
|
-
import { ClassHelpers__NS__getName } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return p && typeof p === "string" && p.trim() !== "";
|
|
1
|
+
import * as JSON5 from 'json5';
|
|
2
|
+
import { ___NS__cloneDeep, ___NS__first, ___NS__isObject, ___NS__times } from 'tnp-core/lib-prod';
|
|
3
|
+
import { ClassHelpers__NS__getName } from './class-helpers';
|
|
4
|
+
//namespace TaonHelpers
|
|
5
|
+
//#region fillUpTo string
|
|
6
|
+
export const TaonHelpers__NS__fillUpTo = (s, nCharacters) => {
|
|
7
|
+
return ___NS__times(nCharacters, n => {
|
|
8
|
+
if (s.charAt(n)) {
|
|
9
|
+
return s.charAt(n);
|
|
10
|
+
}
|
|
11
|
+
return ' ';
|
|
12
|
+
}).join('');
|
|
14
13
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return stringOrArrayOfString;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region is good path
|
|
16
|
+
export const TaonHelpers__NS__isGoodPath = (p) => {
|
|
17
|
+
return p && typeof p === 'string' && p.trim() !== '';
|
|
20
18
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const bool = param.trim().toLowerCase();
|
|
26
|
-
if (bool === "true") {
|
|
27
|
-
return true;
|
|
19
|
+
//#endregion
|
|
20
|
+
export const TaonHelpers__NS__firstStringOrElemFromArray = (stringOrArrayOfString) => {
|
|
21
|
+
if (Array.isArray(stringOrArrayOfString)) {
|
|
22
|
+
return ___NS__first(stringOrArrayOfString);
|
|
28
23
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
24
|
+
return stringOrArrayOfString;
|
|
25
|
+
};
|
|
26
|
+
//#region try transform params
|
|
27
|
+
export const TaonHelpers__NS__tryTransformParam = param => {
|
|
28
|
+
if (typeof param === 'string') {
|
|
29
|
+
let n = Number(param);
|
|
30
|
+
if (!isNaN(n))
|
|
31
|
+
return n;
|
|
32
|
+
const bool = param.trim().toLowerCase();
|
|
33
|
+
if (bool === 'true') {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
if (bool === 'false') {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const t = JSON5.parse(param);
|
|
41
|
+
return t;
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
return param;
|
|
45
|
+
}
|
|
37
46
|
}
|
|
38
|
-
|
|
39
|
-
return param;
|
|
47
|
+
return param;
|
|
40
48
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region get expores path
|
|
51
|
+
export const TaonHelpers__NS__getExpressPath = (c, pathOrClassConfig) => {
|
|
52
|
+
if (typeof pathOrClassConfig === 'string')
|
|
53
|
+
return `${c.calculatedPath}${pathOrClassConfig}`.replace(/\/$/, '');
|
|
54
|
+
return `${c.calculatedPath}${pathOrClassConfig.path}`.replace(/\/$/, '');
|
|
45
55
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region get default value tyep
|
|
58
|
+
export const TaonHelpers__NS__defaultType = value => {
|
|
59
|
+
if (typeof value === 'string')
|
|
60
|
+
return '';
|
|
61
|
+
if (typeof value === 'boolean')
|
|
62
|
+
return false;
|
|
63
|
+
if (Array.isArray(value))
|
|
64
|
+
return {};
|
|
65
|
+
if (typeof value === 'object')
|
|
66
|
+
return {};
|
|
51
67
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region parse json with string jsons
|
|
70
|
+
export const TaonHelpers__NS__parseJSONwithStringJSONs = (object, waring = false) => {
|
|
71
|
+
// console.log('checking object', object)
|
|
72
|
+
if (!___NS__isObject(object)) {
|
|
73
|
+
if (waring) {
|
|
74
|
+
console.error(`
|
|
57
75
|
parseJSONwithStringJSONs(...)
|
|
58
76
|
Parameter should be a object, but is ${typeof object}
|
|
59
|
-
`,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
return object;
|
|
64
|
-
}
|
|
65
|
-
let res = ___NS__cloneDeep(object);
|
|
66
|
-
Object.keys(res).forEach((key) => {
|
|
67
|
-
let isJson = false;
|
|
68
|
-
try {
|
|
69
|
-
const possibleJSON = JSON.parse(res[key]);
|
|
70
|
-
res[key] = possibleJSON;
|
|
71
|
-
isJson = true;
|
|
72
|
-
} catch (e) {
|
|
73
|
-
isJson = false;
|
|
74
|
-
}
|
|
75
|
-
if (isJson) {
|
|
76
|
-
res[key] = TaonHelpers__NS__parseJSONwithStringJSONs(res[key], false);
|
|
77
|
+
`, object);
|
|
78
|
+
}
|
|
79
|
+
return object;
|
|
77
80
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
let res = ___NS__cloneDeep(object);
|
|
82
|
+
Object.keys(res).forEach(key => {
|
|
83
|
+
let isJson = false;
|
|
84
|
+
try {
|
|
85
|
+
const possibleJSON = JSON.parse(res[key]);
|
|
86
|
+
res[key] = possibleJSON;
|
|
87
|
+
isJson = true;
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
isJson = false;
|
|
91
|
+
}
|
|
92
|
+
// console.log(`key ${key} is json `, isJson)
|
|
93
|
+
if (isJson) {
|
|
94
|
+
res[key] = TaonHelpers__NS__parseJSONwithStringJSONs(res[key], false);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return res;
|
|
83
98
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
methodConfig.methodName,
|
|
89
|
-
methodConfig.type,
|
|
90
|
-
expressPath
|
|
91
|
-
].join("--");
|
|
99
|
+
//#endregion
|
|
100
|
+
//#region is plain file or folder
|
|
101
|
+
export const TaonHelpers__NS__isPlainFileOrFolder = filePath => {
|
|
102
|
+
return /^([a-zA-Z]|\-|\_|\@|\#|\$|\!|\^|\&|\*|\(|\))+$/.test(filePath);
|
|
92
103
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region ips key name repsonse
|
|
106
|
+
export const TaonHelpers__NS__ipcKeyNameResponse = (target, methodConfig, expressPath) => {
|
|
107
|
+
return [
|
|
108
|
+
'response',
|
|
109
|
+
ClassHelpers__NS__getName(target),
|
|
110
|
+
methodConfig.methodName,
|
|
111
|
+
methodConfig.type,
|
|
112
|
+
expressPath,
|
|
113
|
+
].join('--');
|
|
101
114
|
};
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
const request = {};
|
|
115
|
-
return { request, response };
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region ipc key name request
|
|
117
|
+
export const TaonHelpers__NS__ipcKeyNameRequest = (target, methodConfig, expressPath) => {
|
|
118
|
+
return [
|
|
119
|
+
'request',
|
|
120
|
+
ClassHelpers__NS__getName(target),
|
|
121
|
+
methodConfig.methodName,
|
|
122
|
+
methodConfig.type,
|
|
123
|
+
expressPath,
|
|
124
|
+
].join('--');
|
|
116
125
|
};
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region websql mocks
|
|
128
|
+
export const TaonHelpers__NS__websqlMocks = headers => {
|
|
129
|
+
const response = {
|
|
130
|
+
status(status) {
|
|
131
|
+
// console.log({status})
|
|
132
|
+
return {
|
|
133
|
+
send(send) {
|
|
134
|
+
// console.log({status})
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
},
|
|
138
|
+
setHeader(key, value) {
|
|
139
|
+
// console.log('Dummy set header', arguments)
|
|
140
|
+
headers[key] = value;
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
const request = {};
|
|
144
|
+
return { request, response };
|
|
129
145
|
};
|
|
146
|
+
//#endregion
|
|
147
|
+
//end of namespace TaonHelpers
|