taon 21.0.53 → 21.0.55

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 (115) 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/icon-menu-taon.svg +15 -15
  7. package/lib/build-info._auto-generated_.d.ts +1 -1
  8. package/lib/build-info._auto-generated_.js +1 -1
  9. package/lib/package.json +1 -1
  10. package/lib/ui/index.js +2 -2
  11. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  12. package/lib-prod/base-classes/base-abstract-entity.js +17 -31
  13. package/lib-prod/base-classes/base-angular-service.js +83 -55
  14. package/lib-prod/base-classes/base-class.js +33 -35
  15. package/lib-prod/base-classes/base-context.js +17 -19
  16. package/lib-prod/base-classes/base-controller.js +146 -154
  17. package/lib-prod/base-classes/base-crud-controller.js +250 -221
  18. package/lib-prod/base-classes/base-custom-repository.js +7 -18
  19. package/lib-prod/base-classes/base-electron-service.js +49 -0
  20. package/lib-prod/base-classes/base-entity.js +20 -30
  21. package/lib-prod/base-classes/base-file-upload.middleware.js +72 -75
  22. package/lib-prod/base-classes/base-injector.js +176 -194
  23. package/lib-prod/base-classes/base-middleware.js +8 -5
  24. package/lib-prod/base-classes/base-migration.js +19 -22
  25. package/lib-prod/base-classes/base-provider.js +7 -5
  26. package/lib-prod/base-classes/base-repository.js +601 -573
  27. package/lib-prod/base-classes/base-subscriber-for-entity.js +143 -152
  28. package/lib-prod/base-classes/base.js +18 -0
  29. package/lib-prod/build-info._auto-generated_.js +26 -14
  30. package/lib-prod/config/controller-config.js +24 -24
  31. package/lib-prod/config/controller-options.js +2 -5
  32. package/lib-prod/config/method-config.js +6 -8
  33. package/lib-prod/config/param-config.js +2 -8
  34. package/lib-prod/constants.js +29 -25
  35. package/lib-prod/context-db-migrations.js +328 -324
  36. package/lib-prod/create-context.js +211 -146
  37. package/lib-prod/decorators/classes/controller-decorator.js +16 -20
  38. package/lib-prod/decorators/classes/entity-decorator.js +26 -47
  39. package/lib-prod/decorators/classes/middleware-decorator.js +14 -24
  40. package/lib-prod/decorators/classes/migration-decorator.js +13 -22
  41. package/lib-prod/decorators/classes/provider-decorator.js +13 -23
  42. package/lib-prod/decorators/classes/repository-decorator.js +13 -22
  43. package/lib-prod/decorators/classes/subscriber-decorator.js +13 -23
  44. package/lib-prod/decorators/decorator-abstract-opt.js +1 -4
  45. package/lib-prod/decorators/http/http-decorators.js +20 -5
  46. package/lib-prod/decorators/http/http-methods-decorators.js +91 -133
  47. package/lib-prod/decorators/http/http-params-decorators.js +36 -62
  48. package/lib-prod/dependency-injection/di-container.js +28 -29
  49. package/lib-prod/endpoint-context-storage.js +27 -32
  50. package/lib-prod/endpoint-context.js +2294 -1930
  51. package/lib-prod/entity-process.js +209 -198
  52. package/lib-prod/env/env.angular-node-app.js +66 -130
  53. package/lib-prod/env/env.docs-webapp.js +66 -130
  54. package/lib-prod/env/env.electron-app.js +66 -130
  55. package/lib-prod/env/env.mobile-app.js +66 -130
  56. package/lib-prod/env/env.npm-lib-and-cli-tool.js +66 -130
  57. package/lib-prod/env/env.vscode-plugin.js +66 -130
  58. package/lib-prod/env/index.js +6 -6
  59. package/lib-prod/express-types.js +1 -0
  60. package/lib-prod/formly/formly.models.js +1 -0
  61. package/lib-prod/formly/fromly.js +196 -175
  62. package/lib-prod/formly/type-from-entity.js +45 -52
  63. package/lib-prod/get-response-value.js +21 -18
  64. package/lib-prod/global-state/taon-global-state/index.js +6 -5
  65. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +18 -19
  66. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +6 -9
  67. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +40 -46
  68. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +33 -46
  69. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +10 -20
  70. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +43 -33
  71. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +10 -20
  72. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +43 -44
  73. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +20 -27
  74. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +10 -10
  75. package/lib-prod/global-state/taon-transaction-registry/index.js +11 -10
  76. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +20 -21
  77. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +4 -7
  78. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +34 -39
  79. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +34 -54
  80. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +10 -20
  81. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +7 -10
  82. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +10 -20
  83. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +29 -34
  84. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +20 -27
  85. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +4 -5
  86. package/lib-prod/helpers/class-helpers.js +210 -177
  87. package/lib-prod/helpers/clone-obj.js +16 -20
  88. package/lib-prod/helpers/taon-helpers.js +132 -114
  89. package/lib-prod/index._auto-generated_.js +5 -0
  90. package/lib-prod/index.js +248 -227
  91. package/lib-prod/inject.js +88 -33
  92. package/lib-prod/migrations/index.js +2 -1
  93. package/lib-prod/migrations/migrations_index._auto-generated_.js +3 -0
  94. package/lib-prod/models.js +72 -103
  95. package/lib-prod/orm/columns.js +58 -118
  96. package/lib-prod/orm/index.js +56 -1
  97. package/lib-prod/package.json +1 -1
  98. package/lib-prod/realtime/realtime-client.js +188 -186
  99. package/lib-prod/realtime/realtime-core.js +77 -78
  100. package/lib-prod/realtime/realtime-server.js +225 -240
  101. package/lib-prod/realtime/realtime-strategy/index.js +4 -4
  102. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +273 -219
  103. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +267 -240
  104. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +26 -20
  105. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +10 -13
  106. package/lib-prod/realtime/realtime-subs-manager.js +82 -90
  107. package/lib-prod/realtime/realtime.models.js +2 -0
  108. package/lib-prod/symbols.js +104 -105
  109. package/lib-prod/ui/index.js +1 -5
  110. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -5
  111. package/lib-prod/validators.js +43 -37
  112. package/lib-prod.split-namespaces.json +32 -86
  113. package/package.json +1 -1
  114. package/websql/package.json +1 -1
  115. package/websql-prod/package.json +1 -1
@@ -1,96 +1,88 @@
1
- import { ___NS__isString } from "tnp-core/lib-prod";
2
- import { Symbols__NS__REALTIME } from "../symbols";
3
- class RealtimeSubsManager {
4
- constructor(options) {
5
- this.options = options;
6
- }
7
- isListening = false;
8
- observers = [];
9
- //#region methods & getters / start listen if not started
10
- startListenIfNotStarted(realtime) {
11
- if (this.options.core.ctx.disabledRealtime) {
12
- console.warn(`[Taon][startListenIfNotStarted] sockets are disabled`);
13
- return;
1
+ //#endregion
2
+ import { ___NS__isString } from 'tnp-core/lib-prod';
3
+ import { Symbols__NS__REALTIME } from '../symbols';
4
+ //#endregion
5
+ export class RealtimeSubsManager {
6
+ constructor(options) {
7
+ this.options = options;
8
+ this.isListening = false;
9
+ this.observers = [];
14
10
  }
15
- if (!realtime) {
16
- console.warn(`[Taon][startListenIfNotStarted] invalid socket connection`);
17
- return;
18
- }
19
- if (!this.isListening) {
20
- this.isListening = true;
21
- if (this.options.customEvent) {
22
- const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_CUSTOM(
23
- this.options.core.ctx.contextName
24
- );
25
- realtime.emit(subscribeEvent, this.options.roomName);
26
- } else {
27
- if (___NS__isString(this.options.property)) {
28
- const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(
29
- this.options.core.ctx.contextName
30
- );
31
- realtime.emit(subscribeEvent, this.options.roomName);
32
- } else {
33
- const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(
34
- this.options.core.ctx.contextName
35
- );
36
- realtime.emit(subscribeEvent, this.options.roomName);
11
+ //#region methods & getters / start listen if not started
12
+ startListenIfNotStarted(realtime) {
13
+ if (this.options.core.ctx.disabledRealtime) {
14
+ console.warn(`[Taon][startListenIfNotStarted] sockets are disabled`);
15
+ return;
16
+ }
17
+ if (!realtime) {
18
+ console.warn(`[Taon][startListenIfNotStarted] invalid socket connection`);
19
+ return;
20
+ }
21
+ if (!this.isListening) {
22
+ // console.info(`[BROWSER]][IPC] subscribe to "${this.options?.roomName}" by sending event: "${subscribeEvent}"`, this.options);
23
+ this.isListening = true;
24
+ if (this.options.customEvent) {
25
+ const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_CUSTOM(this.options.core.ctx.contextName);
26
+ // this means: send to current client custom event notification
27
+ realtime.emit(subscribeEvent, this.options.roomName);
28
+ }
29
+ else {
30
+ if (___NS__isString(this.options.property)) {
31
+ const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
32
+ // this means: send to current client entity property events updates
33
+ realtime.emit(subscribeEvent, this.options.roomName);
34
+ }
35
+ else {
36
+ const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName);
37
+ // this means: send to current client entity update events
38
+ realtime.emit(subscribeEvent, this.options.roomName);
39
+ }
40
+ }
41
+ // subPath -> SYMBOL - (customevnet|entityupdatebyid){..}{..}
42
+ realtime.on(this.options.roomName, data => {
43
+ this.update(data);
44
+ });
37
45
  }
38
- }
39
- realtime.on(this.options.roomName, (data) => {
40
- this.update(data);
41
- });
42
46
  }
43
- }
44
- //#endregion
45
- //#region methods & getters / add observer
46
- add(observer) {
47
- this.observers.push(observer);
48
- }
49
- //#endregion
50
- //#region methods & getters / remove observer
51
- remove(observer) {
52
- this.observers = this.observers.filter((obs) => obs !== observer);
53
- if (this.observers.length === 0) {
54
- this.isListening = false;
55
- const { core, customEvent, roomName, property } = this.options;
56
- const realtime = core.socketFE;
57
- if (customEvent) {
58
- realtime.emit(
59
- Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(
60
- this.options.core.ctx.contextName
61
- ),
62
- roomName
63
- );
64
- } else {
65
- if (___NS__isString(property)) {
66
- realtime.emit(
67
- Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(
68
- this.options.core.ctx.contextName
69
- ),
70
- roomName
71
- );
72
- } else {
73
- realtime.emit(
74
- Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(
75
- this.options.core.ctx.contextName
76
- ),
77
- roomName
78
- );
47
+ //#endregion
48
+ //#region methods & getters / add observer
49
+ add(observer) {
50
+ // log.info('Add observer')
51
+ this.observers.push(observer);
52
+ }
53
+ //#endregion
54
+ //#region methods & getters / remove observer
55
+ remove(observer) {
56
+ // log.info('Remove observer')
57
+ this.observers = this.observers.filter(obs => obs !== observer);
58
+ if (this.observers.length === 0) {
59
+ // log.info('Emit unsubscribe to server SERVER')
60
+ this.isListening = false;
61
+ const { core, customEvent, roomName, property } = this.options;
62
+ const realtime = core.socketFE;
63
+ if (customEvent) {
64
+ realtime.emit(Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
65
+ }
66
+ else {
67
+ if (___NS__isString(property)) {
68
+ realtime.emit(Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
69
+ }
70
+ else {
71
+ realtime.emit(Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
72
+ }
73
+ }
79
74
  }
80
- }
81
75
  }
82
- }
83
- //#endregion
84
- //#region methods & getters / update
85
- update(data) {
86
- this.observers.forEach((observer) => {
87
- if (!observer.closed) {
88
- observer.next(data);
89
- }
90
- });
91
- }
92
- //#endregion
76
+ //#endregion
77
+ //#region methods & getters / update
78
+ update(data) {
79
+ // log.data(`realtime update!!!!! observers=${this.observers?.length} `)
80
+ // console.log('updating', data);
81
+ this.observers.forEach(observer => {
82
+ // console.log(`observer closed: ${observer.closed}`,observer);
83
+ if (!observer.closed) {
84
+ observer.next(data);
85
+ }
86
+ });
87
+ }
93
88
  }
94
- export {
95
- RealtimeSubsManager
96
- };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //end of namespace RealtimeModels
@@ -1,109 +1,108 @@
1
- import { OrignalClassKey } from "taon-typeorm/lib-prod";
2
- import { ___NS__camelCase } from "tnp-core/lib-prod";
3
- import { SYMBOL } from "typescript-class-helpers/lib-prod";
1
+ import { OrignalClassKey } from 'taon-typeorm/lib-prod';
2
+ import { ___NS__camelCase } from 'tnp-core/lib-prod';
3
+ import { SYMBOL } from 'typescript-class-helpers/lib-prod';
4
+ /**
5
+ * for backendSocket.in(ROOM_NAME).emit(EVENT)
6
+ *
7
+ * Room names are uniqe..
8
+ * here I am limiting number of event for clients.
9
+ */
4
10
  class Realtime {
5
- NAMESPACE(contextName) {
6
- return `${contextName}-taonRealtimeNsp`;
7
- }
8
- TABLE_CHANGE(contextName, tableName) {
9
- return `${contextName}:listentablename${tableName}`;
10
- }
11
- KEYroomSubscribe = `roomSubscribe`;
12
- KEYroomUnsubscribe = `roomUnsubscribe`;
13
- // /**
14
- // * TODO use it or not?
15
- // * @deprecated
16
- // */
17
- // ROOM_NAME_SUBSCRIBER_EVENT(
18
- // contextName: string,
19
- // className: string,
20
- // propertyName: string,
21
- // ) {
22
- // return `${contextName}:room${___NS__camelCase(className)}${propertyName}`.toLowerCase();
23
- // }
24
- //#region custom events in rooms
25
- ROOM_NAME_CUSTOM(contextName, customEvent) {
26
- return `${contextName}:CustomRoomEvent${customEvent}`;
27
- }
28
- ROOM_SUBSCRIBE_CUSTOM(contextName) {
29
- return `${contextName}:${this.KEYroomSubscribe}CustomRoomEvent`;
30
- }
31
- ROOM_UNSUBSCRIBE_CUSTOM(contextName) {
32
- return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
33
- }
34
- //#endregion
35
- //#region entity events
36
- ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
37
- return `${contextName}:room${___NS__camelCase(className)}${entityId}`.toLowerCase();
38
- }
39
- ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
40
- return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
41
- }
42
- ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
43
- return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
44
- }
45
- //#endregion
46
- //#region entity property events
47
- ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
48
- return `${contextName}:room${___NS__camelCase(className)}${___NS__camelCase(property)}${entityId}`.toLowerCase();
49
- }
50
- ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
51
- return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
52
- }
53
- ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
54
- return `${contextName}:${this.KEYroomUnsubscribe}EntityPropertyEvents`;
55
- }
56
- //#endregion
11
+ constructor() {
12
+ this.KEYroomSubscribe = `roomSubscribe`;
13
+ this.KEYroomUnsubscribe = `roomUnsubscribe`;
14
+ //#endregion
15
+ }
16
+ NAMESPACE(contextName) {
17
+ return `${contextName}-taonRealtimeNsp`;
18
+ }
19
+ TABLE_CHANGE(contextName, tableName) {
20
+ return `${contextName}:listentablename${tableName}`;
21
+ }
22
+ // /**
23
+ // * TODO use it or not?
24
+ // * @deprecated
25
+ // */
26
+ // ROOM_NAME_SUBSCRIBER_EVENT(
27
+ // contextName: string,
28
+ // className: string,
29
+ // propertyName: string,
30
+ // ) {
31
+ // return `${contextName}:room${___NS__camelCase(className)}${propertyName}`.toLowerCase();
32
+ // }
33
+ //#region custom events in rooms
34
+ ROOM_NAME_CUSTOM(contextName, customEvent) {
35
+ return `${contextName}:CustomRoomEvent${customEvent}`;
36
+ }
37
+ ROOM_SUBSCRIBE_CUSTOM(contextName) {
38
+ return `${contextName}:${this.KEYroomSubscribe}CustomRoomEvent`;
39
+ }
40
+ ROOM_UNSUBSCRIBE_CUSTOM(contextName) {
41
+ return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
42
+ }
43
+ //#endregion
44
+ //#region entity events
45
+ ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
46
+ return `${contextName}:room${___NS__camelCase(className)}${entityId}`.toLowerCase();
47
+ }
48
+ ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
49
+ return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
50
+ }
51
+ ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
52
+ return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
53
+ }
54
+ //#endregion
55
+ //#region entity property events
56
+ ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
57
+ return `${contextName}:room${___NS__camelCase(className)}${___NS__camelCase(property)}${entityId}`.toLowerCase();
58
+ }
59
+ ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
60
+ return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
61
+ }
62
+ ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
63
+ return `${contextName}:${this.KEYroomUnsubscribe}EntityPropertyEvents`;
64
+ }
57
65
  }
58
- const Symbols__NS__ctxInClassOrClassObj = Symbol();
59
- const Symbols__NS__classNameStaticProperty = SYMBOL.ClassNameStaticProperty;
60
- const Symbols__NS__fullClassNameStaticProperty = `$$fullclassName$$`;
61
- const Symbols__NS__orignalClass = OrignalClassKey;
62
- const Symbols__NS__orignalClassClonesObj = `$$originalClassClonesObj$$`;
63
- const Symbols__NS__classMethodsNames = `$$classMethodsNames$$`;
64
- const Symbols__NS__REALTIME = new Realtime();
65
- const Symbols__NS__metadata = {
66
- className: `class:realname`,
67
- options: {
68
- controller: `controller:options`,
69
- entity: `entity:options`,
70
- repository: `repository:options`,
71
- provider: `provider:options`,
72
- subscriber: `subscriber:options`,
73
- migration: `migration:options`
74
- }
66
+ //namespace Symbols
67
+ export const Symbols__NS__ctxInClassOrClassObj = Symbol();
68
+ export const Symbols__NS__classNameStaticProperty = SYMBOL.ClassNameStaticProperty;
69
+ export const Symbols__NS__fullClassNameStaticProperty = `$$fullclassName$$`;
70
+ export const Symbols__NS__orignalClass = OrignalClassKey;
71
+ export const Symbols__NS__orignalClassClonesObj = `$$originalClassClonesObj$$`;
72
+ export const Symbols__NS__classMethodsNames = `$$classMethodsNames$$`;
73
+ export const Symbols__NS__REALTIME = new Realtime();
74
+ export const Symbols__NS__metadata = {
75
+ className: `class:realname`,
76
+ options: {
77
+ controller: `controller:options`,
78
+ entity: `entity:options`,
79
+ repository: `repository:options`,
80
+ provider: `provider:options`,
81
+ subscriber: `subscriber:options`,
82
+ migration: `migration:options`,
83
+ },
75
84
  };
76
- const Symbols__NS__old = {
77
- HAS_TABLE_IN_DB: Symbol(),
78
- MDC_KEY: `modeldataconfig`,
79
- WEBSQL_REST_PROGRESS_FUN: Symbol(),
80
- WEBSQL_REST_PROGRESS_FUN_START: Symbol(),
81
- WEBSQL_REST_PROGRESS_FUN_DONE: Symbol(),
82
- WEBSQL_REST_PROGRESS_TIMEOUT: Symbol(),
83
- X_TOTAL_COUNT: `x-total-count`,
84
- CIRCURAL_OBJECTS_MAP_BODY: `circuralmapbody`,
85
- CIRCURAL_OBJECTS_MAP_QUERY_PARAM: `circuralmapbody`,
86
- MAPPING_CONFIG_HEADER: `mappingheader`,
87
- MAPPING_CONFIG_HEADER_BODY_PARAMS: `mhbodyparams`,
88
- MAPPING_CONFIG_HEADER_QUERY_PARAMS: `mhqueryparams`,
89
- ENDPOINT_META_CONFIG: `ng2_rest_endpoint_config`,
90
- CLASS_DECORATOR_CONTEXT: `$$ng2_rest_class_context`,
91
- SOCKET_MSG: `socketmessageng2rest`,
92
- ANGULAR: {
93
- INPUT_NAMES: Symbol()
94
- },
95
- ERROR_MESSAGES: {
96
- CLASS_NAME_MATCH: `Please check if your "class name" matches @Controller( className ) or @Entity( className )`
97
- }
98
- };
99
- export {
100
- Symbols__NS__REALTIME,
101
- Symbols__NS__classMethodsNames,
102
- Symbols__NS__classNameStaticProperty,
103
- Symbols__NS__ctxInClassOrClassObj,
104
- Symbols__NS__fullClassNameStaticProperty,
105
- Symbols__NS__metadata,
106
- Symbols__NS__old,
107
- Symbols__NS__orignalClass,
108
- Symbols__NS__orignalClassClonesObj
85
+ export const Symbols__NS__old = {
86
+ HAS_TABLE_IN_DB: Symbol(),
87
+ MDC_KEY: `modeldataconfig`,
88
+ WEBSQL_REST_PROGRESS_FUN: Symbol(),
89
+ WEBSQL_REST_PROGRESS_FUN_START: Symbol(),
90
+ WEBSQL_REST_PROGRESS_FUN_DONE: Symbol(),
91
+ WEBSQL_REST_PROGRESS_TIMEOUT: Symbol(),
92
+ X_TOTAL_COUNT: `x-total-count`,
93
+ CIRCURAL_OBJECTS_MAP_BODY: `circuralmapbody`,
94
+ CIRCURAL_OBJECTS_MAP_QUERY_PARAM: `circuralmapbody`,
95
+ MAPPING_CONFIG_HEADER: `mappingheader`,
96
+ MAPPING_CONFIG_HEADER_BODY_PARAMS: `mhbodyparams`,
97
+ MAPPING_CONFIG_HEADER_QUERY_PARAMS: `mhqueryparams`,
98
+ ENDPOINT_META_CONFIG: `ng2_rest_endpoint_config`,
99
+ CLASS_DECORATOR_CONTEXT: `$$ng2_rest_class_context`,
100
+ SOCKET_MSG: `socketmessageng2rest`,
101
+ ANGULAR: {
102
+ INPUT_NAMES: Symbol(),
103
+ },
104
+ ERROR_MESSAGES: {
105
+ CLASS_NAME_MATCH: `Please check if your "class name" matches @Controller( className ) or @Entity( className )`,
106
+ },
109
107
  };
108
+ //end of namespace Symbols
@@ -1,5 +1 @@
1
- function dummy1769816172730() {
2
- }
3
- export {
4
- dummy1769816172730
5
- };
1
+ export function dummy1769912413518() { }
@@ -1,5 +1 @@
1
- function dummy1769816173545() {
2
- }
3
- export {
4
- dummy1769816173545
5
- };
1
+ export function dummy1769912414560() { }
@@ -1,8 +1,11 @@
1
- import { ___NS__isArray, ___NS__isFunction, ___NS__isUndefined } from "tnp-core/lib-prod";
2
- const Validators__NS__classNameVlidation = (className, target) => {
3
- setTimeout(() => {
4
- if (___NS__isUndefined(className)) {
5
- throw `[Taon]
1
+ import { ___NS__isArray, ___NS__isFunction, ___NS__isUndefined } from 'tnp-core/lib-prod';
2
+ //namespace Validators
3
+ //#region vlidate class name
4
+ export const Validators__NS__classNameVlidation = (className, target) => {
5
+ setTimeout(() => {
6
+ // console.log(`check after timeout ${className} , production mode: ${FrameworkContext.isProductionMode}`)
7
+ if (___NS__isUndefined(className)) {
8
+ throw `[Taon]
6
9
  Please provide "className" property for each Controller and Entity:
7
10
 
8
11
  @Taon.Controller({ className: 'MyExampleCtrl' })
@@ -19,19 +22,21 @@ const Validators__NS__classNameVlidation = (className, target) => {
19
22
  Functions/Classes names -this is only solution to preserve classes names.
20
23
 
21
24
  `;
22
- }
23
- });
24
- return ___NS__isUndefined(className) ? target.name : className;
25
+ }
26
+ });
27
+ return ___NS__isUndefined(className) ? target.name : className;
25
28
  };
26
- const Validators__NS__checkIfMethodsWithReponseTYpeAlowed = (methods, current) => {
27
- const defaultResponseType = "text or JSON";
28
- if (!current.responseType) {
29
- return;
30
- }
31
- for (let index = 0; index < methods.length; index++) {
32
- const m = methods[index];
33
- if (m.path === current.path && m.responseType !== current.responseType) {
34
- throw new Error(`
29
+ //#endregion
30
+ //#region validate method config
31
+ export const Validators__NS__checkIfMethodsWithReponseTYpeAlowed = (methods, current) => {
32
+ const defaultResponseType = 'text or JSON';
33
+ if (!current.responseType) {
34
+ return;
35
+ }
36
+ for (let index = 0; index < methods.length; index++) {
37
+ const m = methods[index];
38
+ if (m.path === current.path && m.responseType !== current.responseType) {
39
+ throw new Error(`
35
40
  [taon] you can have 2 methods with same path but differetn reponseType-s
36
41
 
37
42
  ${m.methodName}( ... path: ${m.path} ) -> responseType: ${m.responseType || defaultResponseType}
@@ -40,35 +45,36 @@ const Validators__NS__checkIfMethodsWithReponseTYpeAlowed = (methods, current) =
40
45
  Please change path name on of the methods.
41
46
 
42
47
  `);
48
+ }
43
49
  }
44
- }
45
50
  };
46
- const Validators__NS__validateClassFunctions = (controllers, entities, proviers, repositories) => {
47
- if (___NS__isArray(controllers) && controllers.filter((f) => !___NS__isFunction(f)).length > 0) {
48
- console.error("controllers", controllers);
49
- throw `
51
+ //#endregion
52
+ //#region validate class functions
53
+ // TODO
54
+ export const Validators__NS__validateClassFunctions = (controllers, entities, proviers, repositories) => {
55
+ if (___NS__isArray(controllers) &&
56
+ controllers.filter(f => !___NS__isFunction(f)).length > 0) {
57
+ console.error('controllers', controllers);
58
+ throw `
50
59
 
51
60
  Incorect value for property "controllers" inside Taon.Init(...)
52
61
 
53
62
  `;
54
- }
55
- if (___NS__isArray(entities) && entities.filter((f) => !___NS__isFunction(f)).length > 0) {
56
- console.error("entites", entities);
57
- throw `
63
+ }
64
+ if (___NS__isArray(entities) &&
65
+ entities.filter(f => !___NS__isFunction(f)).length > 0) {
66
+ console.error('entites', entities);
67
+ throw `
58
68
 
59
69
  Incorect value for property "entities" inside Taon.Init(...)
60
70
 
61
71
  `;
62
- }
63
- };
64
- const Validators__NS__preventUndefinedModel = (model, id) => {
65
- if (___NS__isUndefined(model)) {
66
- throw `Bad update by id, config, id: ${id}`;
67
- }
72
+ }
68
73
  };
69
- export {
70
- Validators__NS__checkIfMethodsWithReponseTYpeAlowed,
71
- Validators__NS__classNameVlidation,
72
- Validators__NS__preventUndefinedModel,
73
- Validators__NS__validateClassFunctions
74
+ //#endregion
75
+ export const Validators__NS__preventUndefinedModel = (model, id) => {
76
+ if (___NS__isUndefined(model)) {
77
+ throw `Bad update by id, config, id: ${id}`;
78
+ }
74
79
  };
80
+ //end of namespace Validators