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
package/lib-prod/index.js CHANGED
@@ -1,231 +1,252 @@
1
- import "reflect-metadata";
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
- export * from "./constants";
7
- export * from "./context-db-migrations";
8
- export * from "./create-context";
9
- export * from "./endpoint-context-storage";
10
- export * from "./endpoint-context";
11
- export * from "./entity-process";
12
- export * from "./get-response-value";
13
- export * from "./inject";
14
- export * from "./models";
15
- export * from "./symbols";
16
- export * from "./validators";
17
- export * from "./base-classes/base-abstract-entity";
18
- export * from "./base-classes/base-angular-service";
19
- export * from "./base-classes/base-class";
20
- export * from "./base-classes/base-context";
21
- export * from "./base-classes/base-controller";
22
- export * from "./base-classes/base-crud-controller";
23
- export * from "./base-classes/base-custom-repository";
24
- export * from "./base-classes/base-entity";
25
- export * from "./base-classes/base-file-upload.middleware";
26
- export * from "./base-classes/base-injector";
27
- export * from "./base-classes/base-middleware";
28
- export * from "./base-classes/base-migration";
29
- export * from "./base-classes/base-provider";
30
- export * from "./base-classes/base-repository";
31
- export * from "./base-classes/base-subscriber-for-entity";
32
- export * from "./config/controller-config";
33
- export * from "./config/controller-options";
34
- export * from "./config/method-config";
35
- export * from "./config/param-config";
36
- export * from "./decorators/decorator-abstract-opt";
37
- export * from "./dependency-injection/di-container";
38
- export * from "./helpers/class-helpers";
39
- export * from "./helpers/clone-obj";
40
- export * from "./helpers/taon-helpers";
41
- export * from "./orm/columns";
42
- export * from "./realtime/realtime-client";
43
- export * from "./realtime/realtime-core";
44
- export * from "./realtime/realtime-server";
45
- export * from "./realtime/realtime-subs-manager";
46
- export * from "./realtime/realtime.models";
47
- export * from "./decorators/classes/controller-decorator";
48
- export * from "./decorators/classes/entity-decorator";
49
- export * from "./decorators/classes/middleware-decorator";
50
- export * from "./decorators/classes/migration-decorator";
51
- export * from "./decorators/classes/provider-decorator";
52
- export * from "./decorators/classes/repository-decorator";
53
- export * from "./decorators/classes/subscriber-decorator";
54
- export * from "./decorators/http/http-methods-decorators";
55
- export * from "./decorators/http/http-params-decorators";
56
- export * from "./realtime/realtime-strategy/realtime-strategy-ipc";
57
- export * from "./realtime/realtime-strategy/realtime-strategy-mock";
58
- export * from "./realtime/realtime-strategy/realtime-strategy-socket-io";
59
- export * from "./realtime/realtime-strategy/realtime-strategy";
60
- const Taon__NS__removeLoader = (afterMS = 0) => {
61
- return new Promise((resolve) => {
62
- setTimeout(() => {
63
- globalThis?.window?.document?.getElementById("taonpreloadertoremove")?.remove();
64
- const body = globalThis?.window?.document?.body;
65
- if (body && body.style) {
66
- body.style.backgroundColor = "";
67
- }
68
- resolve();
69
- }, afterMS);
70
- });
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
+ });
71
86
  };
72
- const Taon__NS__error = (opt) => {
73
- throw () => {
74
- if (typeof opt === "string") {
75
- opt = {
76
- message: opt
77
- };
78
- }
79
- return opt;
80
- };
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
+ };
81
96
  };
82
- const Taon__NS__getResponseValue = getResponse.getResponseValue;
83
- const Taon__NS__isBrowser = UtilsOs__NS__isBrowser;
84
- const Taon__NS__isNode = UtilsOs__NS__isNode;
85
- const Taon__NS__isWebSQL = UtilsOs__NS__isWebSQL;
86
- const Taon__NS__isElectron = UtilsOs__NS__isElectron;
87
- const Taon__NS__createContext = createContextFn.createContext;
88
- const Taon__NS__createContextTemplate = createContextFn.createContextTemplate;
89
- const Taon__NS__inject = injectFn.inject;
90
- const Taon__NS__init = async (options) => {
91
- const TaonBaseContext = (await import("./base-classes/base-context")).TaonBaseContext;
92
- const context = Taon__NS__createContext(() => ({
93
- appId: "default-app-not-used-anymore",
94
- contextName: "default",
95
- host: options.host,
96
- contexts: { TaonBaseContext },
97
- database: true,
98
- entities: Array.from(options.entities),
99
- controllers: Array.from(options.controllers)
100
- }));
101
- await context.initialize();
102
- return context;
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;
103
135
  };
104
- const TAON_FLATTEN_MAPPING = {
105
- "taon/src": {
106
- // =====================
107
- // Taon.Http.*
108
- // =====================
109
- "Taon.Http.GET": "GET",
110
- "Taon.Http.POST": "POST",
111
- "Taon.Http.PUT": "PUT",
112
- "Taon.Http.DELETE": "DELETE",
113
- "Taon.Http.PATCH": "PATCH",
114
- "Taon.Http.HEAD": "HEAD",
115
- "Taon.Http.HTML": "HTML",
116
- "Taon.Http.Response": "HttpResponse",
117
- "Taon.Http.Param.Query": "Query",
118
- "Taon.Http.Param.Path": "Path",
119
- "Taon.Http.Param.Body": "Body",
120
- "Taon.Http.Param.Cookie": "Cookie",
121
- "Taon.Http.Param.Header": "Header",
122
- // =====================
123
- // Taon.Base.*
124
- // =====================
125
- "Taon.Base.Controller": "TaonBaseController",
126
- "Taon.Base.CrudController": "TaonBaseCrudController",
127
- "Taon.Base.Entity": "TaonBaseEntity",
128
- "Taon.Base.AbstractEntity": "TaonBaseAbstractEntity",
129
- "Taon.Base.AbstractEntityOmitKeys": "AbstractEntityOmitKeys",
130
- "Taon.Base.Provider": "TaonBaseProvider",
131
- "Taon.Base.Class": "TaonBaseClass",
132
- "Taon.Base.Repository": "TaonBaseRepository",
133
- "Taon.Base.CustomRepository": "TaonBaseCustomRepository",
134
- "Taon.Base.SubscriberForEntity": "TaonBaseSubscriberForEntity",
135
- "Taon.Base.Migration": "TaonBaseMigration",
136
- "Taon.Base.Middleware": "TaonBaseMiddleware",
137
- "Taon.Base.AngularService": "TaonBaseAngularService",
138
- "Taon.Base.Context": "TaonBaseContext",
139
- // =====================
140
- // Taon.Controller.* (decorators)
141
- // =====================
142
- "Taon.Controller": "TaonController",
143
- "Taon.Entity": "TaonEntity",
144
- "Taon.Provider": "TaonProvider",
145
- "Taon.Repository": "TaonRepository",
146
- "Taon.Subscriber": "TaonSubscriber",
147
- "Taon.Migration": "TaonMigration",
148
- "Taon.Middleware": "TaonMiddleware",
149
- // =====================
150
- // Taon.Orm.*
151
- // =====================
152
- "Taon.Orm.Repository": "Repository",
153
- "Taon.Orm.Connection": "Connection",
154
- // ListenEvent
155
- "Taon.Orm.ListenEvent.AfterInsert": "AfterInsert",
156
- "Taon.Orm.ListenEvent.AfterLoad": "AfterLoad",
157
- "Taon.Orm.ListenEvent.AfterRecover": "AfterRecover",
158
- "Taon.Orm.ListenEvent.AfterRemove": "AfterRemove",
159
- "Taon.Orm.ListenEvent.AfterSoftRemove": "AfterSoftRemove",
160
- "Taon.Orm.ListenEvent.AfterUpdate": "AfterUpdate",
161
- "Taon.Orm.ListenEvent.BeforeInsert": "BeforeInsert",
162
- "Taon.Orm.ListenEvent.BeforeRecover": "BeforeRecover",
163
- "Taon.Orm.ListenEvent.BeforeRemove": "BeforeRemove",
164
- "Taon.Orm.ListenEvent.BeforeSoftRemove": "BeforeSoftRemove",
165
- "Taon.Orm.ListenEvent.BeforeUpdate": "BeforeUpdate",
166
- // Tree
167
- "Taon.Orm.Tree.Children": "TreeChildren",
168
- "Taon.Orm.Tree.Parent": "TreeParent",
169
- // Column
170
- "Taon.Orm.Column.Generated": "Generated",
171
- "Taon.Orm.Column.Primary": "PrimaryColumn",
172
- "Taon.Orm.Column.Index": "Index",
173
- "Taon.Orm.Column.CreateDate": "CreateDateColumn",
174
- "Taon.Orm.Column.UpdateDate": "UpdateDateColumn",
175
- "Taon.Orm.Column.DeleteDate": "DeleteDateColumn",
176
- "Taon.Orm.Column.Custom": "Column",
177
- "Taon.Orm.Column.String": "StringColumn",
178
- "Taon.Orm.Column.String100": "String100Column",
179
- "Taon.Orm.Column.String45": "String45Column",
180
- "Taon.Orm.Column.String500": "String500Column",
181
- "Taon.Orm.Column.String200": "String200Column",
182
- "Taon.Orm.Column.Number": "NumberColumn",
183
- "Taon.Orm.Column.DecimalNumber": "DecimalNumberColumn",
184
- "Taon.Orm.Column.SimpleJson": "SimpleJsonColumn",
185
- "Taon.Orm.Column.Boolean": "BooleanColumn",
186
- "Taon.Orm.Column.DateTIme": "DateTimeColumn",
187
- "Taon.Orm.Column.Version": "VersionColumn",
188
- "Taon.Orm.Column.Virtual": "VirtualColumn",
189
- // Join
190
- "Taon.Orm.Join.Table": "JoinTable",
191
- "Taon.Orm.Join.Column": "JoinColumn",
192
- // Relation
193
- "Taon.Orm.Relation.OneToMany": "OneToMany",
194
- "Taon.Orm.Relation.OneToOne": "OneToOne",
195
- "Taon.Orm.Relation.ManyToMany": "ManyToMany",
196
- "Taon.Orm.Relation.ManyToOne": "ManyToOne"
197
- },
198
- "taon-storage/src": {
199
- // =====================
200
- // Stor.* (new clean API)
201
- // =====================
202
- "Stor.Property.In.LocalStorage": "StorPropertyInLocalStorage",
203
- "Stor.Property.In.IndexedDb": "StorPropertyInIndexedDb",
204
- // short alias style (if you prefer this pattern in some codebases)
205
- "Stor.In.LocalStorage": "StorPropertyInLocalStorage",
206
- "Stor.In.IndexedDb": "StorPropertyInIndexedDb",
207
- // =====================
208
- // Stor.property.in.* (back-compat chain you mentioned)
209
- // =====================
210
- "Stor.property.in.localstorage": "StorPropertyInLocalStorage",
211
- "Stor.property.in.indexedb": "StorPropertyInIndexedDb",
212
- "Stor.property.in.indexedDb": "StorPropertyInIndexedDb",
213
- // Optional: if your old code had Stor.proper... (typo)
214
- "Stor.proper.in.localstorage": "StorPropertyInLocalStorage",
215
- "Stor.proper.in.indexedb": "StorPropertyInIndexedDb"
216
- }
217
- };
218
- export {
219
- TAON_FLATTEN_MAPPING,
220
- Taon__NS__createContext,
221
- Taon__NS__createContextTemplate,
222
- Taon__NS__error,
223
- Taon__NS__getResponseValue,
224
- Taon__NS__init,
225
- Taon__NS__inject,
226
- Taon__NS__isBrowser,
227
- Taon__NS__isElectron,
228
- Taon__NS__isNode,
229
- Taon__NS__isWebSQL,
230
- Taon__NS__removeLoader
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
+ },
231
251
  };
252
+ //#endregion
@@ -1,34 +1,89 @@
1
- import { Symbols__NS__classMethodsNames, Symbols__NS__ctxInClassOrClassObj } from "./symbols";
2
- const inject = (entity) => {
3
- return new Proxy(
4
- {},
5
- {
6
- get: (_, propName) => {
7
- if (propName === "hasOwnProperty") {
8
- return () => false;
9
- }
10
- const ctor = entity();
11
- const contextFromClass = ctor[Symbols__NS__ctxInClassOrClassObj];
12
- const resultContext = contextFromClass;
13
- if (resultContext) {
14
- let instance = resultContext.inject(ctor, {
15
- parentInstanceThatWillGetInjectedStuff: void 0
16
- });
17
- if (propName === "getOriginalPrototype") {
18
- return () => Object.getPrototypeOf(instance);
19
- }
20
- if (propName === "getOriginalConstructor") {
21
- return () => instance.constructor;
22
- }
23
- const methods = ctor[Symbols__NS__classMethodsNames] || [];
24
- const isMethods = methods.includes(propName);
25
- const methodOrProperty = isMethods ? instance[propName].bind(instance) : instance[propName];
26
- return methodOrProperty;
27
- }
28
- }
29
- }
30
- );
31
- };
32
- export {
33
- inject
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
+ });
34
35
  };
36
+ // export const injectController = inject;
37
+ // export type SubscriptionEvent<T> = {
38
+ // name: keyof T;
39
+ // data: any;
40
+ // };
41
+ /**
42
+ * TODO
43
+ */
44
+ // export const injectEntityEvents = <T>(
45
+ // subscriberClassResolveFn: () => new (...args: any[]) => T,
46
+ // eventName?: keyof Omit<EntitySubscriberInterface,'listenTo'> ,
47
+ // ): Observable<SubscriptionEvent<T>> => {
48
+ // const eventsSrc = new Subject<SubscriptionEvent<T>>();
49
+ // const obs = eventsSrc.asObservable();
50
+ // let isFirstSubscription = true;
51
+ // const proxyObservable = new Proxy(obs, {
52
+ // get(target, prop, receiver) {
53
+ // if (prop === 'subscribe') {
54
+ // return (...args: any[]) => {
55
+ // if (isFirstSubscription) {
56
+ // isFirstSubscription = false;
57
+ // const subscriberClassFN: typeof TaonBaseClass =
58
+ // subscriberClassResolveFn() as any;
59
+ // const ctx = subscriberClassFN[
60
+ // Symbols__NS__ctxInClassOrClassObj
61
+ // ] as EndpointContext;
62
+ // if (!ctx) {
63
+ // throw new Error(
64
+ // `You are trying to inject class without context. Use context like this:
65
+ // class MyClassSubscriber extends BaseSubscriber {
66
+ // ${eventName as any}() {
67
+ // \/\/ your code here
68
+ // }
69
+ // }
70
+ // Taon.injectSubscriberEvents( MyContext.getInstance(()=> MyClassSubscriber), '${eventName as any}' )
71
+ // `,
72
+ // );
73
+ // }
74
+ // const subscriberInstance = ctx.getInstanceBy(subscriberClassFN);
75
+ // // subscriberInstance TODO @LAST subscriber event from instance
76
+ // // const entity = subscriberClassFN.prototype.listenTo();
77
+ // console.log('First subscription, you can access arguments here:', {
78
+ // subscriberClassFN,
79
+ // eventName,
80
+ // });
81
+ // }
82
+ // return target.subscribe(...args);
83
+ // };
84
+ // }
85
+ // return Reflect.get(target, prop, receiver);
86
+ // },
87
+ // });
88
+ // return proxyObservable as Observable<SubscriptionEvent<T>>;
89
+ // };
@@ -1 +1,2 @@
1
- export * from "./migrations_index._auto-generated_";
1
+ //@ts-nocheck
2
+ export * from './migrations_index._auto-generated_';
@@ -0,0 +1,3 @@
1
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2
+ // THIS FILE IS GENERATED - DO NOT MODIFY
3
+ // THIS FILE IS GENERATED - DO NOT MODIFY