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