taon 21.0.53 → 21.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/bin/taon +5 -5
  2. package/bin/taon-debug +5 -5
  3. package/bin/taon-debug-brk +4 -4
  4. package/browser/package.json +1 -1
  5. package/browser-prod/package.json +1 -1
  6. package/lib/build-info._auto-generated_.d.ts +1 -1
  7. package/lib/build-info._auto-generated_.js +1 -1
  8. package/lib/package.json +1 -1
  9. package/lib/ui/index.js +2 -2
  10. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  11. package/lib-prod/base-classes/base-abstract-entity.js +17 -31
  12. package/lib-prod/base-classes/base-angular-service.js +83 -55
  13. package/lib-prod/base-classes/base-class.js +33 -35
  14. package/lib-prod/base-classes/base-context.js +17 -19
  15. package/lib-prod/base-classes/base-controller.js +146 -154
  16. package/lib-prod/base-classes/base-crud-controller.js +250 -221
  17. package/lib-prod/base-classes/base-custom-repository.js +7 -18
  18. package/lib-prod/base-classes/base-electron-service.js +49 -0
  19. package/lib-prod/base-classes/base-entity.js +20 -30
  20. package/lib-prod/base-classes/base-file-upload.middleware.js +72 -75
  21. package/lib-prod/base-classes/base-injector.js +176 -194
  22. package/lib-prod/base-classes/base-middleware.js +8 -5
  23. package/lib-prod/base-classes/base-migration.js +19 -22
  24. package/lib-prod/base-classes/base-provider.js +7 -5
  25. package/lib-prod/base-classes/base-repository.js +601 -573
  26. package/lib-prod/base-classes/base-subscriber-for-entity.js +143 -152
  27. package/lib-prod/base-classes/base.js +18 -0
  28. package/lib-prod/build-info._auto-generated_.js +26 -14
  29. package/lib-prod/config/controller-config.js +24 -24
  30. package/lib-prod/config/controller-options.js +2 -5
  31. package/lib-prod/config/method-config.js +6 -8
  32. package/lib-prod/config/param-config.js +2 -8
  33. package/lib-prod/constants.js +29 -25
  34. package/lib-prod/context-db-migrations.js +327 -324
  35. package/lib-prod/create-context.js +211 -146
  36. package/lib-prod/decorators/classes/controller-decorator.js +16 -20
  37. package/lib-prod/decorators/classes/entity-decorator.js +26 -47
  38. package/lib-prod/decorators/classes/middleware-decorator.js +14 -24
  39. package/lib-prod/decorators/classes/migration-decorator.js +13 -22
  40. package/lib-prod/decorators/classes/provider-decorator.js +13 -23
  41. package/lib-prod/decorators/classes/repository-decorator.js +13 -22
  42. package/lib-prod/decorators/classes/subscriber-decorator.js +13 -23
  43. package/lib-prod/decorators/decorator-abstract-opt.js +1 -4
  44. package/lib-prod/decorators/http/http-decorators.js +20 -5
  45. package/lib-prod/decorators/http/http-methods-decorators.js +91 -133
  46. package/lib-prod/decorators/http/http-params-decorators.js +36 -62
  47. package/lib-prod/dependency-injection/di-container.js +28 -29
  48. package/lib-prod/endpoint-context-storage.js +27 -32
  49. package/lib-prod/endpoint-context.js +2294 -1930
  50. package/lib-prod/entity-process.js +209 -198
  51. package/lib-prod/env/env.angular-node-app.js +66 -130
  52. package/lib-prod/env/env.docs-webapp.js +66 -130
  53. package/lib-prod/env/env.electron-app.js +66 -130
  54. package/lib-prod/env/env.mobile-app.js +66 -130
  55. package/lib-prod/env/env.npm-lib-and-cli-tool.js +66 -130
  56. package/lib-prod/env/env.vscode-plugin.js +66 -130
  57. package/lib-prod/env/index.js +6 -6
  58. package/lib-prod/express-types.js +1 -0
  59. package/lib-prod/formly/formly.models.js +1 -0
  60. package/lib-prod/formly/fromly.js +196 -175
  61. package/lib-prod/formly/type-from-entity.js +45 -52
  62. package/lib-prod/get-response-value.js +21 -18
  63. package/lib-prod/global-state/taon-global-state/index.js +6 -5
  64. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +18 -19
  65. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +6 -9
  66. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +40 -46
  67. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +33 -46
  68. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +10 -20
  69. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +43 -33
  70. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +10 -20
  71. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +43 -44
  72. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +20 -27
  73. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +10 -10
  74. package/lib-prod/global-state/taon-transaction-registry/index.js +11 -10
  75. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +20 -21
  76. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +4 -7
  77. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +34 -39
  78. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +34 -54
  79. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +10 -20
  80. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +7 -10
  81. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +10 -20
  82. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +29 -34
  83. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +20 -27
  84. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +4 -5
  85. package/lib-prod/helpers/class-helpers.js +210 -177
  86. package/lib-prod/helpers/clone-obj.js +16 -20
  87. package/lib-prod/helpers/taon-helpers.js +132 -114
  88. package/lib-prod/index._auto-generated_.js +5 -0
  89. package/lib-prod/index.js +248 -227
  90. package/lib-prod/inject.js +88 -33
  91. package/lib-prod/migrations/index.js +2 -1
  92. package/lib-prod/migrations/migrations_index._auto-generated_.js +3 -0
  93. package/lib-prod/models.js +72 -103
  94. package/lib-prod/orm/columns.js +58 -118
  95. package/lib-prod/orm/index.js +56 -1
  96. package/lib-prod/package.json +1 -1
  97. package/lib-prod/realtime/realtime-client.js +188 -186
  98. package/lib-prod/realtime/realtime-core.js +77 -78
  99. package/lib-prod/realtime/realtime-server.js +225 -240
  100. package/lib-prod/realtime/realtime-strategy/index.js +4 -4
  101. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +273 -219
  102. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +267 -240
  103. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +26 -20
  104. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +10 -13
  105. package/lib-prod/realtime/realtime-subs-manager.js +82 -90
  106. package/lib-prod/realtime/realtime.models.js +2 -0
  107. package/lib-prod/symbols.js +104 -105
  108. package/lib-prod/ui/index.js +1 -5
  109. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -5
  110. package/lib-prod/validators.js +43 -37
  111. package/lib-prod.split-namespaces.json +31 -91
  112. package/package.json +1 -1
  113. package/websql/package.json +1 -1
  114. package/websql-prod/package.json +1 -1
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