taon 21.0.52 → 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 (193) hide show
  1. package/browser/package.json +1 -1
  2. package/browser-prod/package.json +1 -1
  3. package/icon-menu-taon.svg +15 -15
  4. package/lib/build-info._auto-generated_.d.ts +1 -1
  5. package/lib/build-info._auto-generated_.js +1 -1
  6. package/lib/package.json +1 -1
  7. package/lib/ui/index.js +2 -2
  8. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  9. package/lib-prod/base-classes/base-abstract-entity.js +19 -0
  10. package/lib-prod/base-classes/base-angular-service.js +84 -0
  11. package/lib-prod/base-classes/base-class.js +35 -0
  12. package/lib-prod/base-classes/{base-context.ts → base-context.js} +13 -15
  13. package/lib-prod/base-classes/base-controller.js +154 -0
  14. package/lib-prod/base-classes/base-crud-controller.js +264 -0
  15. package/lib-prod/base-classes/base-custom-repository.js +9 -0
  16. package/lib-prod/base-classes/{base-electron-service.ts → base-electron-service.js} +1 -12
  17. package/lib-prod/base-classes/base-entity.js +22 -0
  18. package/lib-prod/base-classes/base-file-upload.middleware.js +75 -0
  19. package/lib-prod/base-classes/base-injector.js +184 -0
  20. package/lib-prod/base-classes/base-middleware.js +9 -0
  21. package/lib-prod/base-classes/base-migration.js +20 -0
  22. package/lib-prod/base-classes/{base-provider.ts → base-provider.js} +2 -2
  23. package/lib-prod/base-classes/base-repository.js +617 -0
  24. package/lib-prod/base-classes/base-subscriber-for-entity.js +145 -0
  25. package/lib-prod/base-classes/{base.ts → base.js} +2 -15
  26. package/lib-prod/{build-info._auto-generated_.ts → build-info._auto-generated_.js} +1 -2
  27. package/lib-prod/config/controller-config.js +28 -0
  28. package/lib-prod/config/controller-options.js +3 -0
  29. package/lib-prod/config/method-config.js +7 -0
  30. package/lib-prod/config/param-config.js +3 -0
  31. package/lib-prod/constants.js +33 -0
  32. package/lib-prod/context-db-migrations.js +342 -0
  33. package/lib-prod/create-context.js +217 -0
  34. package/lib-prod/decorators/classes/controller-decorator.js +17 -0
  35. package/lib-prod/decorators/classes/entity-decorator.js +28 -0
  36. package/lib-prod/decorators/classes/middleware-decorator.js +16 -0
  37. package/lib-prod/decorators/classes/migration-decorator.js +15 -0
  38. package/lib-prod/decorators/classes/provider-decorator.js +15 -0
  39. package/lib-prod/decorators/classes/repository-decorator.js +15 -0
  40. package/lib-prod/decorators/classes/subscriber-decorator.js +15 -0
  41. package/lib-prod/decorators/decorator-abstract-opt.js +2 -0
  42. package/lib-prod/decorators/http/http-decorators.js +20 -0
  43. package/lib-prod/decorators/http/http-methods-decorators.js +102 -0
  44. package/lib-prod/decorators/http/http-params-decorators.js +42 -0
  45. package/lib-prod/dependency-injection/di-container.js +30 -0
  46. package/lib-prod/endpoint-context-storage.js +31 -0
  47. package/lib-prod/endpoint-context.js +2397 -0
  48. package/lib-prod/entity-process.js +225 -0
  49. package/lib-prod/env/{env.angular-node-app.ts → env.angular-node-app.js} +1 -1
  50. package/lib-prod/env/{env.docs-webapp.ts → env.docs-webapp.js} +1 -1
  51. package/lib-prod/env/{env.electron-app.ts → env.electron-app.js} +1 -1
  52. package/lib-prod/env/{env.mobile-app.ts → env.mobile-app.js} +1 -1
  53. package/lib-prod/env/{env.npm-lib-and-cli-tool.ts → env.npm-lib-and-cli-tool.js} +1 -1
  54. package/lib-prod/env/{env.vscode-plugin.ts → env.vscode-plugin.js} +1 -1
  55. package/lib-prod/express-types.js +1 -0
  56. package/lib-prod/formly/formly.models.js +1 -0
  57. package/lib-prod/formly/fromly.js +205 -0
  58. package/lib-prod/formly/type-from-entity.js +51 -0
  59. package/lib-prod/get-response-value.js +22 -0
  60. package/lib-prod/global-state/taon-global-state/{index.ts → index.js} +2 -2
  61. package/lib-prod/global-state/taon-global-state/{taon-global-state.abstract.context.ts → taon-global-state.abstract.context.js} +9 -11
  62. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +7 -0
  63. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +42 -0
  64. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +35 -0
  65. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +12 -0
  66. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +44 -0
  67. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +12 -0
  68. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +46 -0
  69. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +22 -0
  70. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +11 -0
  71. package/lib-prod/global-state/taon-transaction-registry/{index.ts → index.js} +2 -2
  72. package/lib-prod/global-state/taon-transaction-registry/{taon-transaction-registry.abstract.context.ts → taon-transaction-registry.abstract.context.js} +10 -12
  73. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +5 -0
  74. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +36 -0
  75. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +36 -0
  76. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +12 -0
  77. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +7 -0
  78. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +12 -0
  79. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +31 -0
  80. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +22 -0
  81. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +5 -0
  82. package/lib-prod/helpers/class-helpers.js +228 -0
  83. package/lib-prod/helpers/clone-obj.js +17 -0
  84. package/lib-prod/helpers/taon-helpers.js +147 -0
  85. package/lib-prod/{index._auto-generated_.ts → index._auto-generated_.js} +1 -1
  86. package/lib-prod/index.js +252 -0
  87. package/lib-prod/{inject.ts → inject.js} +35 -57
  88. package/lib-prod/migrations/index.js +2 -0
  89. package/lib-prod/migrations/{migrations_index._auto-generated_.ts → migrations_index._auto-generated_.js} +0 -2
  90. package/lib-prod/models.js +78 -0
  91. package/lib-prod/orm/columns.js +64 -0
  92. package/lib-prod/orm/index.js +56 -0
  93. package/lib-prod/package.json +1 -1
  94. package/lib-prod/realtime/realtime-client.js +198 -0
  95. package/lib-prod/realtime/realtime-core.js +81 -0
  96. package/lib-prod/realtime/realtime-server.js +237 -0
  97. package/lib-prod/realtime/realtime-strategy/{index.ts → index.js} +1 -1
  98. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +280 -0
  99. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +289 -0
  100. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +27 -0
  101. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +11 -0
  102. package/lib-prod/realtime/realtime-subs-manager.js +88 -0
  103. package/lib-prod/realtime/realtime.models.js +2 -0
  104. package/lib-prod/symbols.js +108 -0
  105. package/lib-prod/ui/index.js +1 -0
  106. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -0
  107. package/lib-prod/validators.js +80 -0
  108. package/lib-prod.split-namespaces.json +31 -91
  109. package/package.json +1 -1
  110. package/websql/package.json +1 -1
  111. package/websql-prod/package.json +1 -1
  112. package/lib-prod/base-classes/base-abstract-entity.ts +0 -34
  113. package/lib-prod/base-classes/base-angular-service.ts +0 -107
  114. package/lib-prod/base-classes/base-class.ts +0 -46
  115. package/lib-prod/base-classes/base-controller.ts +0 -240
  116. package/lib-prod/base-classes/base-crud-controller.ts +0 -298
  117. package/lib-prod/base-classes/base-custom-repository.ts +0 -10
  118. package/lib-prod/base-classes/base-entity.ts +0 -28
  119. package/lib-prod/base-classes/base-file-upload.middleware.ts +0 -92
  120. package/lib-prod/base-classes/base-injector.ts +0 -278
  121. package/lib-prod/base-classes/base-middleware.ts +0 -71
  122. package/lib-prod/base-classes/base-migration.ts +0 -26
  123. package/lib-prod/base-classes/base-repository.ts +0 -942
  124. package/lib-prod/base-classes/base-subscriber-for-entity.ts +0 -196
  125. package/lib-prod/config/controller-config.ts +0 -58
  126. package/lib-prod/config/controller-options.ts +0 -19
  127. package/lib-prod/config/method-config.ts +0 -55
  128. package/lib-prod/config/param-config.ts +0 -16
  129. package/lib-prod/constants.ts +0 -63
  130. package/lib-prod/context-db-migrations.ts +0 -488
  131. package/lib-prod/create-context.ts +0 -345
  132. package/lib-prod/decorators/classes/controller-decorator.ts +0 -25
  133. package/lib-prod/decorators/classes/entity-decorator.ts +0 -57
  134. package/lib-prod/decorators/classes/middleware-decorator.ts +0 -29
  135. package/lib-prod/decorators/classes/migration-decorator.ts +0 -27
  136. package/lib-prod/decorators/classes/provider-decorator.ts +0 -28
  137. package/lib-prod/decorators/classes/repository-decorator.ts +0 -26
  138. package/lib-prod/decorators/classes/subscriber-decorator.ts +0 -28
  139. package/lib-prod/decorators/decorator-abstract-opt.ts +0 -4
  140. package/lib-prod/decorators/http/http-decorators.ts +0 -26
  141. package/lib-prod/decorators/http/http-methods-decorators.ts +0 -275
  142. package/lib-prod/decorators/http/http-params-decorators.ts +0 -105
  143. package/lib-prod/dependency-injection/di-container.ts +0 -39
  144. package/lib-prod/endpoint-context-storage.ts +0 -47
  145. package/lib-prod/endpoint-context.ts +0 -3110
  146. package/lib-prod/entity-process.ts +0 -286
  147. package/lib-prod/express-types.ts +0 -4
  148. package/lib-prod/formly/formly.models.ts +0 -7
  149. package/lib-prod/formly/fromly.ts +0 -261
  150. package/lib-prod/formly/type-from-entity.ts +0 -80
  151. package/lib-prod/get-response-value.ts +0 -30
  152. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.ts +0 -9
  153. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.ts +0 -44
  154. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.ts +0 -40
  155. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.ts +0 -12
  156. package/lib-prod/global-state/taon-global-state/taon-global-state.models.ts +0 -48
  157. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.ts +0 -16
  158. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.ts +0 -47
  159. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.ts +0 -18
  160. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.ts +0 -21
  161. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.ts +0 -7
  162. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.ts +0 -38
  163. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.ts +0 -54
  164. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.ts +0 -12
  165. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.ts +0 -6
  166. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.ts +0 -16
  167. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.ts +0 -29
  168. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.ts +0 -20
  169. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.ts +0 -9
  170. package/lib-prod/helpers/class-helpers.ts +0 -315
  171. package/lib-prod/helpers/clone-obj.ts +0 -24
  172. package/lib-prod/helpers/taon-helpers.ts +0 -181
  173. package/lib-prod/index.ts +0 -323
  174. package/lib-prod/lib-info.md +0 -8
  175. package/lib-prod/migrations/index.ts +0 -2
  176. package/lib-prod/migrations/migrations-info.md +0 -6
  177. package/lib-prod/models.ts +0 -427
  178. package/lib-prod/orm/columns.ts +0 -121
  179. package/lib-prod/orm/index.ts +0 -62
  180. package/lib-prod/realtime/realtime-client.ts +0 -288
  181. package/lib-prod/realtime/realtime-core.ts +0 -134
  182. package/lib-prod/realtime/realtime-server.ts +0 -398
  183. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.ts +0 -344
  184. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.ts +0 -349
  185. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.ts +0 -30
  186. package/lib-prod/realtime/realtime-strategy/realtime-strategy.ts +0 -21
  187. package/lib-prod/realtime/realtime-subs-manager.ts +0 -127
  188. package/lib-prod/realtime/realtime.models.ts +0 -33
  189. package/lib-prod/symbols.ts +0 -136
  190. package/lib-prod/ui/index.ts +0 -1
  191. package/lib-prod/ui/taon-admin-mode-configuration/index.ts +0 -1
  192. package/lib-prod/validators.ts +0 -103
  193. /package/lib-prod/env/{index.ts → index.js} +0 -0
@@ -0,0 +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
+ //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('');
13
+ };
14
+ //#endregion
15
+ //#region is good path
16
+ export const TaonHelpers__NS__isGoodPath = (p) => {
17
+ return p && typeof p === 'string' && p.trim() !== '';
18
+ };
19
+ //#endregion
20
+ export const TaonHelpers__NS__firstStringOrElemFromArray = (stringOrArrayOfString) => {
21
+ if (Array.isArray(stringOrArrayOfString)) {
22
+ return ___NS__first(stringOrArrayOfString);
23
+ }
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
+ }
46
+ }
47
+ return param;
48
+ };
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(/\/$/, '');
55
+ };
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 {};
67
+ };
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(`
75
+ parseJSONwithStringJSONs(...)
76
+ Parameter should be a object, but is ${typeof object}
77
+ `, object);
78
+ }
79
+ return object;
80
+ }
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;
98
+ };
99
+ //#endregion
100
+ //#region is plain file or folder
101
+ export const TaonHelpers__NS__isPlainFileOrFolder = filePath => {
102
+ return /^([a-zA-Z]|\-|\_|\@|\#|\$|\!|\^|\&|\*|\(|\))+$/.test(filePath);
103
+ };
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('--');
114
+ };
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('--');
125
+ };
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 };
145
+ };
146
+ //#endregion
147
+ //end of namespace TaonHelpers
@@ -2,4 +2,4 @@
2
2
  // This file is auto-generated during init process. Do not modify.
3
3
  // This is only placeholder.
4
4
  // Use property "shouldGenerateAutogenIndexFile: true"
5
- // in taon.jsonc to enable ts exports auto generation.
5
+ // in taon.jsonc to enable ts exports auto generation.
@@ -0,0 +1,252 @@
1
+ import 'reflect-metadata'; // TODO this is needed for my decorators to work
2
+ import { UtilsOs__NS__isBrowser, UtilsOs__NS__isElectron, UtilsOs__NS__isNode, UtilsOs__NS__isWebSQL } from 'tnp-core/lib-prod';
3
+ import * as createContextFn from './create-context';
4
+ import * as getResponse from './get-response-value';
5
+ import * as injectFn from './inject';
6
+ // import * as allSymbols from './symbols';
7
+ // export * from './build-info._auto-generated_';
8
+ export * from './constants';
9
+ export * from './context-db-migrations';
10
+ export * from './create-context';
11
+ export * from './endpoint-context-storage';
12
+ export * from './endpoint-context';
13
+ export * from './entity-process';
14
+ export * from './get-response-value';
15
+ // export * from './index';
16
+ export * from './inject';
17
+ export * from './models';
18
+ export * from './symbols';
19
+ export * from './validators';
20
+ export * from './base-classes/base-abstract-entity';
21
+ export * from './base-classes/base-angular-service';
22
+ export * from './base-classes/base-class';
23
+ export * from './base-classes/base-context';
24
+ export * from './base-classes/base-controller';
25
+ export * from './base-classes/base-crud-controller';
26
+ export * from './base-classes/base-custom-repository';
27
+ export * from './base-classes/base-entity';
28
+ export * from './base-classes/base-file-upload.middleware';
29
+ export * from './base-classes/base-injector';
30
+ export * from './base-classes/base-middleware';
31
+ export * from './base-classes/base-migration';
32
+ export * from './base-classes/base-provider';
33
+ export * from './base-classes/base-repository';
34
+ export * from './base-classes/base-subscriber-for-entity';
35
+ export * from './config/controller-config';
36
+ export * from './config/controller-options';
37
+ export * from './config/method-config';
38
+ export * from './config/param-config';
39
+ export * from './decorators/decorator-abstract-opt';
40
+ export * from './dependency-injection/di-container';
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ export * from './helpers/class-helpers';
47
+ export * from './helpers/clone-obj';
48
+ export * from './helpers/taon-helpers';
49
+ export * from './orm/columns';
50
+ export * from './realtime/realtime-client';
51
+ export * from './realtime/realtime-core';
52
+ export * from './realtime/realtime-server';
53
+ export * from './realtime/realtime-subs-manager';
54
+ export * from './realtime/realtime.models';
55
+ export * from './decorators/classes/controller-decorator';
56
+ export * from './decorators/classes/entity-decorator';
57
+ export * from './decorators/classes/middleware-decorator';
58
+ export * from './decorators/classes/migration-decorator';
59
+ export * from './decorators/classes/provider-decorator';
60
+ export * from './decorators/classes/repository-decorator';
61
+ export * from './decorators/classes/subscriber-decorator';
62
+ export * from './decorators/http/http-methods-decorators';
63
+ export * from './decorators/http/http-params-decorators';
64
+ export * from './realtime/realtime-strategy/realtime-strategy-ipc';
65
+ export * from './realtime/realtime-strategy/realtime-strategy-mock';
66
+ export * from './realtime/realtime-strategy/realtime-strategy-socket-io';
67
+ export * from './realtime/realtime-strategy/realtime-strategy';
68
+ // TODO export all things
69
+ //namespace Taon
70
+ /**
71
+ * Remove global taon loader from env.ts [loading.preAngularBootstrap]
72
+ */
73
+ export const Taon__NS__removeLoader = (afterMS = 0) => {
74
+ return new Promise(resolve => {
75
+ setTimeout(() => {
76
+ globalThis?.window?.document
77
+ ?.getElementById('taonpreloadertoremove')
78
+ ?.remove();
79
+ const body = globalThis?.window?.document?.body;
80
+ if (body && body.style) {
81
+ body.style.backgroundColor = '';
82
+ }
83
+ resolve();
84
+ }, afterMS);
85
+ });
86
+ };
87
+ export const Taon__NS__error = (opt) => {
88
+ throw () => {
89
+ if (typeof opt === 'string') {
90
+ opt = {
91
+ message: opt,
92
+ };
93
+ }
94
+ return opt;
95
+ };
96
+ };
97
+ export const Taon__NS__getResponseValue = getResponse.getResponseValue;
98
+ //#region class decorators
99
+ // TODO new 5.8 typescript is not allowing this
100
+ // export import Controller = controllerDecorator.TaonController;
101
+ // export import Entity = entityDecorator.TaonEntity;
102
+ // export import Provider = providerDecorator.TaonProvider;
103
+ // export import Repository = repositoryDecorator.TaonRepository;
104
+ // export import Subscriber = subscriberDecorator.TaonSubscriber;
105
+ // export import Migration = migrationDecorator.TaonMigration;
106
+ // export import Middleware = middlewareDecorator.TaonMiddleware;
107
+ //#endregion
108
+ //#region aliases to helpers
109
+ export const Taon__NS__isBrowser = UtilsOs__NS__isBrowser;
110
+ export const Taon__NS__isNode = UtilsOs__NS__isNode;
111
+ export const Taon__NS__isWebSQL = UtilsOs__NS__isWebSQL;
112
+ export const Taon__NS__isElectron = UtilsOs__NS__isElectron;
113
+ //#endregion
114
+ export const Taon__NS__createContext = createContextFn.createContext;
115
+ export const Taon__NS__createContextTemplate = createContextFn.createContextTemplate;
116
+ export const Taon__NS__inject = injectFn.inject;
117
+ /**
118
+ * @deprecated
119
+ * use createContext instead
120
+ */
121
+ export const Taon__NS__init = async (options) => {
122
+ const TaonBaseContext = (await import('./base-classes/base-context'))
123
+ .TaonBaseContext;
124
+ const context = Taon__NS__createContext(() => ({
125
+ appId: 'default-app-not-used-anymore',
126
+ contextName: 'default',
127
+ host: options.host,
128
+ contexts: { TaonBaseContext },
129
+ database: true,
130
+ entities: Array.from(options.entities),
131
+ controllers: Array.from(options.controllers),
132
+ }));
133
+ await context.initialize();
134
+ return context;
135
+ };
136
+ //end of namespace Taon
137
+ //#region taon flattening map
138
+ export const TAON_FLATTEN_MAPPING = {
139
+ 'taon/src': {
140
+ // =====================
141
+ // Taon.Http.*
142
+ // =====================
143
+ 'Taon.Http.GET': 'GET',
144
+ 'Taon.Http.POST': 'POST',
145
+ 'Taon.Http.PUT': 'PUT',
146
+ 'Taon.Http.DELETE': 'DELETE',
147
+ 'Taon.Http.PATCH': 'PATCH',
148
+ 'Taon.Http.HEAD': 'HEAD',
149
+ 'Taon.Http.HTML': 'HTML',
150
+ 'Taon.Http.Response': 'HttpResponse',
151
+ 'Taon.Http.Param.Query': 'Query',
152
+ 'Taon.Http.Param.Path': 'Path',
153
+ 'Taon.Http.Param.Body': 'Body',
154
+ 'Taon.Http.Param.Cookie': 'Cookie',
155
+ 'Taon.Http.Param.Header': 'Header',
156
+ // =====================
157
+ // Taon.Base.*
158
+ // =====================
159
+ 'Taon.Base.Controller': 'TaonBaseController',
160
+ 'Taon.Base.CrudController': 'TaonBaseCrudController',
161
+ 'Taon.Base.Entity': 'TaonBaseEntity',
162
+ 'Taon.Base.AbstractEntity': 'TaonBaseAbstractEntity',
163
+ 'Taon.Base.AbstractEntityOmitKeys': 'AbstractEntityOmitKeys',
164
+ 'Taon.Base.Provider': 'TaonBaseProvider',
165
+ 'Taon.Base.Class': 'TaonBaseClass',
166
+ 'Taon.Base.Repository': 'TaonBaseRepository',
167
+ 'Taon.Base.CustomRepository': 'TaonBaseCustomRepository',
168
+ 'Taon.Base.SubscriberForEntity': 'TaonBaseSubscriberForEntity',
169
+ 'Taon.Base.Migration': 'TaonBaseMigration',
170
+ 'Taon.Base.Middleware': 'TaonBaseMiddleware',
171
+ 'Taon.Base.AngularService': 'TaonBaseAngularService',
172
+ 'Taon.Base.Context': 'TaonBaseContext',
173
+ // =====================
174
+ // Taon.Controller.* (decorators)
175
+ // =====================
176
+ 'Taon.Controller': 'TaonController',
177
+ 'Taon.Entity': 'TaonEntity',
178
+ 'Taon.Provider': 'TaonProvider',
179
+ 'Taon.Repository': 'TaonRepository',
180
+ 'Taon.Subscriber': 'TaonSubscriber',
181
+ 'Taon.Migration': 'TaonMigration',
182
+ 'Taon.Middleware': 'TaonMiddleware',
183
+ // =====================
184
+ // Taon.Orm.*
185
+ // =====================
186
+ 'Taon.Orm.Repository': 'Repository',
187
+ 'Taon.Orm.Connection': 'Connection',
188
+ // ListenEvent
189
+ 'Taon.Orm.ListenEvent.AfterInsert': 'AfterInsert',
190
+ 'Taon.Orm.ListenEvent.AfterLoad': 'AfterLoad',
191
+ 'Taon.Orm.ListenEvent.AfterRecover': 'AfterRecover',
192
+ 'Taon.Orm.ListenEvent.AfterRemove': 'AfterRemove',
193
+ 'Taon.Orm.ListenEvent.AfterSoftRemove': 'AfterSoftRemove',
194
+ 'Taon.Orm.ListenEvent.AfterUpdate': 'AfterUpdate',
195
+ 'Taon.Orm.ListenEvent.BeforeInsert': 'BeforeInsert',
196
+ 'Taon.Orm.ListenEvent.BeforeRecover': 'BeforeRecover',
197
+ 'Taon.Orm.ListenEvent.BeforeRemove': 'BeforeRemove',
198
+ 'Taon.Orm.ListenEvent.BeforeSoftRemove': 'BeforeSoftRemove',
199
+ 'Taon.Orm.ListenEvent.BeforeUpdate': 'BeforeUpdate',
200
+ // Tree
201
+ 'Taon.Orm.Tree.Children': 'TreeChildren',
202
+ 'Taon.Orm.Tree.Parent': 'TreeParent',
203
+ // Column
204
+ 'Taon.Orm.Column.Generated': 'Generated',
205
+ 'Taon.Orm.Column.Primary': 'PrimaryColumn',
206
+ 'Taon.Orm.Column.Index': 'Index',
207
+ 'Taon.Orm.Column.CreateDate': 'CreateDateColumn',
208
+ 'Taon.Orm.Column.UpdateDate': 'UpdateDateColumn',
209
+ 'Taon.Orm.Column.DeleteDate': 'DeleteDateColumn',
210
+ 'Taon.Orm.Column.Custom': 'Column',
211
+ 'Taon.Orm.Column.String': 'StringColumn',
212
+ 'Taon.Orm.Column.String100': 'String100Column',
213
+ 'Taon.Orm.Column.String45': 'String45Column',
214
+ 'Taon.Orm.Column.String500': 'String500Column',
215
+ 'Taon.Orm.Column.String200': 'String200Column',
216
+ 'Taon.Orm.Column.Number': 'NumberColumn',
217
+ 'Taon.Orm.Column.DecimalNumber': 'DecimalNumberColumn',
218
+ 'Taon.Orm.Column.SimpleJson': 'SimpleJsonColumn',
219
+ 'Taon.Orm.Column.Boolean': 'BooleanColumn',
220
+ 'Taon.Orm.Column.DateTIme': 'DateTimeColumn',
221
+ 'Taon.Orm.Column.Version': 'VersionColumn',
222
+ 'Taon.Orm.Column.Virtual': 'VirtualColumn',
223
+ // Join
224
+ 'Taon.Orm.Join.Table': 'JoinTable',
225
+ 'Taon.Orm.Join.Column': 'JoinColumn',
226
+ // Relation
227
+ 'Taon.Orm.Relation.OneToMany': 'OneToMany',
228
+ 'Taon.Orm.Relation.OneToOne': 'OneToOne',
229
+ 'Taon.Orm.Relation.ManyToMany': 'ManyToMany',
230
+ 'Taon.Orm.Relation.ManyToOne': 'ManyToOne',
231
+ },
232
+ 'taon-storage/src': {
233
+ // =====================
234
+ // Stor.* (new clean API)
235
+ // =====================
236
+ 'Stor.Property.In.LocalStorage': 'StorPropertyInLocalStorage',
237
+ 'Stor.Property.In.IndexedDb': 'StorPropertyInIndexedDb',
238
+ // short alias style (if you prefer this pattern in some codebases)
239
+ 'Stor.In.LocalStorage': 'StorPropertyInLocalStorage',
240
+ 'Stor.In.IndexedDb': 'StorPropertyInIndexedDb',
241
+ // =====================
242
+ // Stor.property.in.* (back-compat chain you mentioned)
243
+ // =====================
244
+ 'Stor.property.in.localstorage': 'StorPropertyInLocalStorage',
245
+ 'Stor.property.in.indexedb': 'StorPropertyInIndexedDb',
246
+ 'Stor.property.in.indexedDb': 'StorPropertyInIndexedDb',
247
+ // Optional: if your old code had Stor.proper... (typo)
248
+ 'Stor.proper.in.localstorage': 'StorPropertyInLocalStorage',
249
+ 'Stor.proper.in.indexedb': 'StorPropertyInIndexedDb',
250
+ },
251
+ };
252
+ //#endregion
@@ -1,59 +1,43 @@
1
- import type { TaonBaseInjector } from './base-classes/base-injector';
2
- import type { EndpointContext } from './endpoint-context';
3
- import { Symbols__NS__classMethodsNames, Symbols__NS__classNameStaticProperty, Symbols__NS__ctxInClassOrClassObj, Symbols__NS__fullClassNameStaticProperty, Symbols__NS__metadata, Symbols__NS__old, Symbols__NS__orignalClass, Symbols__NS__orignalClassClonesObj, Symbols__NS__REALTIME } from './symbols';
4
-
5
- export const inject = <T>(entity: () => new (...args: any[]) => T): T => {
6
- return new Proxy(
7
- {},
8
- {
9
- get: (_, propName) => {
10
- if (propName === 'hasOwnProperty') {
11
- return () => false;
12
- }
13
-
14
- const ctor = entity();
15
- const contextFromClass = ctor[
16
- Symbols__NS__ctxInClassOrClassObj
17
- ] as EndpointContext;
18
- const resultContext = contextFromClass;
19
- if (resultContext) {
20
- let instance = resultContext.inject(ctor, {
21
- parentInstanceThatWillGetInjectedStuff: this,
22
- }) as TaonBaseInjector;
23
- // console.log('instance', instance);
24
-
25
- if (propName === 'getOriginalPrototype') {
26
- return () => Object.getPrototypeOf(instance);
27
- }
28
- if (propName === 'getOriginalConstructor') {
29
- return () => instance.constructor;
30
- }
31
-
32
- const methods = ctor[Symbols__NS__classMethodsNames] || [];
33
- const isMethods = methods.includes(propName);
34
-
35
- const methodOrProperty = isMethods
36
- ? instance[propName].bind(instance)
37
- : instance[propName];
38
-
39
- // console.log(
40
- // `methodOrProperty from proxy ${propName?.toString()} = isMethods:${isMethods}`,
41
- // methods,
42
- // );
43
- return methodOrProperty;
44
- }
45
- },
46
- },
47
- ) as T;
1
+ import { Symbols__NS__classMethodsNames, Symbols__NS__ctxInClassOrClassObj } from './symbols';
2
+ export const inject = (entity) => {
3
+ return new Proxy({}, {
4
+ get: (_, propName) => {
5
+ if (propName === 'hasOwnProperty') {
6
+ return () => false;
7
+ }
8
+ const ctor = entity();
9
+ const contextFromClass = ctor[Symbols__NS__ctxInClassOrClassObj];
10
+ const resultContext = contextFromClass;
11
+ if (resultContext) {
12
+ let instance = resultContext.inject(ctor, {
13
+ parentInstanceThatWillGetInjectedStuff: this,
14
+ });
15
+ // console.log('instance', instance);
16
+ if (propName === 'getOriginalPrototype') {
17
+ return () => Object.getPrototypeOf(instance);
18
+ }
19
+ if (propName === 'getOriginalConstructor') {
20
+ return () => instance.constructor;
21
+ }
22
+ const methods = ctor[Symbols__NS__classMethodsNames] || [];
23
+ const isMethods = methods.includes(propName);
24
+ const methodOrProperty = isMethods
25
+ ? instance[propName].bind(instance)
26
+ : instance[propName];
27
+ // console.log(
28
+ // `methodOrProperty from proxy ${propName?.toString()} = isMethods:${isMethods}`,
29
+ // methods,
30
+ // );
31
+ return methodOrProperty;
32
+ }
33
+ },
34
+ });
48
35
  };
49
-
50
36
  // export const injectController = inject;
51
-
52
37
  // export type SubscriptionEvent<T> = {
53
38
  // name: keyof T;
54
39
  // data: any;
55
40
  // };
56
-
57
41
  /**
58
42
  * TODO
59
43
  */
@@ -63,9 +47,7 @@ export const inject = <T>(entity: () => new (...args: any[]) => T): T => {
63
47
  // ): Observable<SubscriptionEvent<T>> => {
64
48
  // const eventsSrc = new Subject<SubscriptionEvent<T>>();
65
49
  // const obs = eventsSrc.asObservable();
66
-
67
50
  // let isFirstSubscription = true;
68
-
69
51
  // const proxyObservable = new Proxy(obs, {
70
52
  // get(target, prop, receiver) {
71
53
  // if (prop === 'subscribe') {
@@ -80,15 +62,12 @@ export const inject = <T>(entity: () => new (...args: any[]) => T): T => {
80
62
  // if (!ctx) {
81
63
  // throw new Error(
82
64
  // `You are trying to inject class without context. Use context like this:
83
-
84
65
  // class MyClassSubscriber extends BaseSubscriber {
85
66
  // ${eventName as any}() {
86
67
  // \/\/ your code here
87
68
  // }
88
69
  // }
89
-
90
70
  // Taon.injectSubscriberEvents( MyContext.getInstance(()=> MyClassSubscriber), '${eventName as any}' )
91
-
92
71
  // `,
93
72
  // );
94
73
  // }
@@ -106,6 +85,5 @@ export const inject = <T>(entity: () => new (...args: any[]) => T): T => {
106
85
  // return Reflect.get(target, prop, receiver);
107
86
  // },
108
87
  // });
109
-
110
88
  // return proxyObservable as Observable<SubscriptionEvent<T>>;
111
- // };
89
+ // };
@@ -0,0 +1,2 @@
1
+ //@ts-nocheck
2
+ export * from './migrations_index._auto-generated_';
@@ -1,5 +1,3 @@
1
1
  // THIS FILE IS GENERATED - DO NOT MODIFY
2
-
3
2
  // THIS FILE IS GENERATED - DO NOT MODIFY
4
-
5
3
  // THIS FILE IS GENERATED - DO NOT MODIFY
@@ -0,0 +1,78 @@
1
+ import { RestResponseWrapper, } from 'ng2-rest/lib-prod';
2
+ import { ___NS__cloneDeep, ___NS__merge } from 'tnp-core/lib-prod';
3
+ // ! TODO make it as a nice way to wrap normal request
4
+ export class TaonRestResponseWrapper extends RestResponseWrapper {
5
+ }
6
+ export const BaseTaonClassesNames = [
7
+ 'BaseCrudController',
8
+ 'BaseController',
9
+ 'BaseAbstractEntity',
10
+ 'BaseEntity',
11
+ 'BaseContext',
12
+ 'BaseCustomRepository',
13
+ 'BaseFileUploadMiddleware',
14
+ 'BaseMiddleware',
15
+ 'BaseClass',
16
+ 'BaseInjector',
17
+ 'BaseMigration',
18
+ 'BaseProvider',
19
+ 'BaseRepository',
20
+ 'BaseSubscriberForEntity',
21
+ 'BaseCliWorkerController',
22
+ 'PortsController',
23
+ 'PortsContext',
24
+ ];
25
+ export const TaonTempDatabasesFolder = 'databases';
26
+ export const TaonTempRoutesFolder = 'routes';
27
+ //namespace Models
28
+ export const Models__NS__DatabasesFolder = TaonTempDatabasesFolder;
29
+ //#region models / class types
30
+ export var Models__NS__ClassType;
31
+ (function (Models__NS__ClassType) {
32
+ Models__NS__ClassType["ENTITY"] = "ENTITY";
33
+ Models__NS__ClassType["CONTROLLER"] = "CONTROLLER";
34
+ Models__NS__ClassType["REPOSITORY"] = "REPOSITORY";
35
+ Models__NS__ClassType["PROVIDER"] = "PROVIDER";
36
+ Models__NS__ClassType["SUBSCRIBER"] = "SUBSCRIBER";
37
+ Models__NS__ClassType["MIGRATION"] = "MIGRATION";
38
+ Models__NS__ClassType["MIDDLEWARE"] = "MIDDLEWARE";
39
+ })(Models__NS__ClassType || (Models__NS__ClassType = {}));
40
+ export const Models__NS__ClassTypeKey = {
41
+ [Models__NS__ClassType.ENTITY]: 'entities',
42
+ [Models__NS__ClassType.CONTROLLER]: 'controllers',
43
+ [Models__NS__ClassType.REPOSITORY]: 'repositories',
44
+ [Models__NS__ClassType.PROVIDER]: 'providers',
45
+ [Models__NS__ClassType.SUBSCRIBER]: 'subscribers',
46
+ [Models__NS__ClassType.MIGRATION]: 'migrations',
47
+ [Models__NS__ClassType.MIDDLEWARE]: 'middlewares',
48
+ };
49
+ //#endregion
50
+ //#region models / database connection options
51
+ export class Models__NS__DatabaseConfigTypeOrm {
52
+ }
53
+ //#endregion
54
+ //#region models / database config
55
+ export class Models__NS__DatabaseConfig extends Models__NS__DatabaseConfigTypeOrm {
56
+ static from(databasePartialConfig) {
57
+ return ___NS__merge(new Models__NS__DatabaseConfig(), databasePartialConfig);
58
+ }
59
+ get databaseConfigTypeORM() {
60
+ //#region @websqlFunc
61
+ const result = ___NS__cloneDeep(this);
62
+ if (result.recreateMode) {
63
+ if (result.recreateMode === 'DROP_DB+MIGRATIONS') {
64
+ result.synchronize = true;
65
+ result.dropSchema = true;
66
+ }
67
+ else if (result.recreateMode === 'PRESERVE_DATA+MIGRATIONS') {
68
+ result.synchronize = false;
69
+ result.dropSchema = false;
70
+ }
71
+ }
72
+ delete result.recreateMode;
73
+ return result;
74
+ //#endregion
75
+ }
76
+ }
77
+ //#endregion
78
+ //end of namespace Models