@acorex-platform/framework-client 0.0.10

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 (112) hide show
  1. package/README.md +7 -0
  2. package/auth/README.md +3 -0
  3. package/common/README.md +3 -0
  4. package/core/README.md +4 -0
  5. package/fesm2022/acorex-platform-framework-client-auth.mjs +1383 -0
  6. package/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CbzOYCnI.mjs +190 -0
  8. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CbzOYCnI.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-framework-client-common.mjs +9467 -0
  10. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-framework-client-core.mjs +4655 -0
  12. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-framework-client-domain.mjs +3189 -0
  14. package/fesm2022/acorex-platform-framework-client-domain.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +3439 -0
  16. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CWVU3wXL.mjs +134 -0
  18. package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CWVU3wXL.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +9777 -0
  20. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +2799 -0
  22. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-framework-client-layout-entity-attachments-page.component-CxBxxpmA.mjs +376 -0
  24. package/fesm2022/acorex-platform-framework-client-layout-entity-attachments-page.component-CxBxxpmA.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-l0JAHKIH.mjs +100 -0
  26. package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-l0JAHKIH.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +26299 -0
  28. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +2960 -0
  30. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +4711 -0
  32. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CpkWwygb.mjs +72 -0
  34. package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CpkWwygb.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-C_EPAvCU.mjs +29 -0
  36. package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-framework-client-layout-widgets-page-widget-designer.component-CmtTq2Mt.mjs +172 -0
  38. package/fesm2022/acorex-platform-framework-client-layout-widgets-page-widget-designer.component-CmtTq2Mt.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DSx0E3NV.mjs +513 -0
  40. package/fesm2022/acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DSx0E3NV.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-DdfcGV1C.mjs +274 -0
  42. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-DdfcGV1C.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs +64 -0
  44. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-B5kSWxGk.mjs +34 -0
  46. package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-B5kSWxGk.mjs.map +1 -0
  47. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +28553 -0
  48. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-framework-client-native.mjs +155 -0
  50. package/fesm2022/acorex-platform-framework-client-native.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-framework-client-runtime.mjs +911 -0
  52. package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DnTHwsDJ.mjs +160 -0
  54. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DnTHwsDJ.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BpR9g6QS.mjs +121 -0
  56. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BpR9g6QS.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-D1a7UI71.mjs +236 -0
  58. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-D1a7UI71.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-D--_MIar.mjs +48 -0
  60. package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-D--_MIar.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-Byyqk8pH.mjs +42 -0
  62. package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-Byyqk8pH.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  64. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +4160 -0
  66. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CXSGiTCK.mjs +55 -0
  68. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CXSGiTCK.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BY5clQ1J.mjs +57 -0
  70. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BY5clQ1J.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-DEL2YOTP.mjs +234 -0
  72. package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-DEL2YOTP.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BXl8u4Yp.mjs +94 -0
  74. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BXl8u4Yp.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-i2sOOkVj.mjs +86 -0
  76. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-i2sOOkVj.mjs.map +1 -0
  77. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +2375 -0
  78. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-framework-client-workflow.mjs +2836 -0
  80. package/fesm2022/acorex-platform-framework-client-workflow.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-framework-client.mjs +6 -0
  82. package/fesm2022/acorex-platform-framework-client.mjs.map +1 -0
  83. package/layout/builder/README.md +1578 -0
  84. package/layout/components/README.md +3 -0
  85. package/layout/designer/README.md +4 -0
  86. package/layout/entity/README.md +4 -0
  87. package/layout/views/README.md +3 -0
  88. package/layout/widget-core/README.md +4 -0
  89. package/layout/widgets/README.md +3 -0
  90. package/native/README.md +4 -0
  91. package/package.json +98 -0
  92. package/runtime/README.md +3 -0
  93. package/themes/default/README.md +3 -0
  94. package/themes/shared/README.md +3 -0
  95. package/types/acorex-platform-framework-client-auth.d.ts +690 -0
  96. package/types/acorex-platform-framework-client-common.d.ts +3287 -0
  97. package/types/acorex-platform-framework-client-core.d.ts +1849 -0
  98. package/types/acorex-platform-framework-client-domain.d.ts +1968 -0
  99. package/types/acorex-platform-framework-client-layout-builder.d.ts +1058 -0
  100. package/types/acorex-platform-framework-client-layout-components.d.ts +3362 -0
  101. package/types/acorex-platform-framework-client-layout-designer.d.ts +501 -0
  102. package/types/acorex-platform-framework-client-layout-entity.d.ts +4374 -0
  103. package/types/acorex-platform-framework-client-layout-views.d.ts +975 -0
  104. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +1080 -0
  105. package/types/acorex-platform-framework-client-layout-widgets.d.ts +5263 -0
  106. package/types/acorex-platform-framework-client-native.d.ts +28 -0
  107. package/types/acorex-platform-framework-client-runtime.d.ts +301 -0
  108. package/types/acorex-platform-framework-client-themes-default.d.ts +889 -0
  109. package/types/acorex-platform-framework-client-themes-shared.d.ts +202 -0
  110. package/types/acorex-platform-framework-client-workflow.d.ts +1345 -0
  111. package/types/acorex-platform-framework-client.d.ts +2 -0
  112. package/workflow/README.md +4 -0
@@ -0,0 +1,911 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable, InjectionToken, EnvironmentInjector, runInInjectionContext, makeEnvironmentProviders, input, ElementRef, effect, Directive, isDevMode, NgModule } from '@angular/core';
3
+ import { AXPBroadcastEventService, AXPDistributedEventListenerService } from '@acorex-platform/framework-client/core';
4
+ import { castArray } from 'lodash-es';
5
+
6
+ //#region ---- Imports ----
7
+ //#endregion
8
+ const COMMAND_EXECUTION_EVENT_KEY = '@commands:execution';
9
+ class AXPCommandEventsService {
10
+ constructor() {
11
+ //#region ---- Services & Dependencies ----
12
+ this.broadcast = inject(AXPBroadcastEventService);
13
+ this.distributedEvents = inject(AXPDistributedEventListenerService, { optional: true });
14
+ }
15
+ //#endregion
16
+ //#region ---- Public API ----
17
+ listen(handler) {
18
+ const subscription = this.broadcast
19
+ .listen(COMMAND_EXECUTION_EVENT_KEY)
20
+ .subscribe(({ data }) => handler(data));
21
+ return () => subscription.unsubscribe();
22
+ }
23
+ async emit(event) {
24
+ const safePayload = this.serializeForBroadcast(event);
25
+ this.broadcast.publish(COMMAND_EXECUTION_EVENT_KEY, safePayload);
26
+ await this.distributedEvents?.dispatch(COMMAND_EXECUTION_EVENT_KEY, safePayload);
27
+ }
28
+ //#endregion
29
+ //#region ---- Broadcast payload (structured-clone safe) ----
30
+ /**
31
+ * Removes functions, symbols, and cycles so {@link AXPBroadcastEventService.publish}
32
+ * can use `BroadcastChannel.postMessage` without DataCloneError (e.g. command input with `dialogRef`).
33
+ */
34
+ serializeForBroadcast(event) {
35
+ return {
36
+ stage: event.stage,
37
+ key: event.key,
38
+ success: event.success,
39
+ input: this.stripNonSerializable(event.input),
40
+ result: event.result === undefined || event.result === null
41
+ ? event.result
42
+ : this.stripNonSerializable(event.result),
43
+ error: event.error instanceof Error
44
+ ? { name: event.error.name, message: event.error.message }
45
+ : this.stripNonSerializable(event.error),
46
+ };
47
+ }
48
+ stripNonSerializable(value) {
49
+ const seen = new WeakSet();
50
+ const walk = (v) => {
51
+ if (v === null || v === undefined) {
52
+ return v;
53
+ }
54
+ const t = typeof v;
55
+ if (t === 'function' || t === 'symbol') {
56
+ return undefined;
57
+ }
58
+ if (t === 'bigint') {
59
+ return v.toString();
60
+ }
61
+ if (t !== 'object') {
62
+ return v;
63
+ }
64
+ if (v instanceof Date) {
65
+ return v.toISOString();
66
+ }
67
+ if (Array.isArray(v)) {
68
+ if (seen.has(v)) {
69
+ return '[Circular]';
70
+ }
71
+ seen.add(v);
72
+ return v.map((item) => walk(item)).filter((item) => item !== undefined);
73
+ }
74
+ if (seen.has(v)) {
75
+ return '[Circular]';
76
+ }
77
+ seen.add(v);
78
+ const obj = v;
79
+ const out = {};
80
+ for (const key of Object.keys(obj)) {
81
+ const child = walk(obj[key]);
82
+ if (child !== undefined) {
83
+ out[key] = child;
84
+ }
85
+ }
86
+ return out;
87
+ };
88
+ return walk(value);
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
91
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandEventsService, providedIn: 'root' }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandEventsService, decorators: [{
94
+ type: Injectable,
95
+ args: [{ providedIn: 'root' }]
96
+ }] });
97
+
98
+ //#endregion
99
+ //#region ---- Middleware Composition ----
100
+ /**
101
+ * Creates a composed handler by chaining the provided command middlewares.
102
+ */
103
+ function composeCommandMiddlewares(middlewares) {
104
+ return (handler) => {
105
+ let composed = handler;
106
+ for (let i = middlewares.length - 1; i >= 0; i--) {
107
+ const mw = middlewares[i];
108
+ const next = composed;
109
+ composed = (input) => mw(input, next);
110
+ }
111
+ return composed;
112
+ };
113
+ }
114
+ //#endregion
115
+
116
+ class AXPCommandRegistry {
117
+ constructor() {
118
+ this.registry = new Map();
119
+ this.middlewares = [];
120
+ }
121
+ register(key, loader) {
122
+ this.registry.set(key, loader);
123
+ }
124
+ unregister(key) {
125
+ return this.registry.delete(key);
126
+ }
127
+ use(middleware) {
128
+ this.middlewares.push(middleware);
129
+ }
130
+ exists(key) {
131
+ return this.registry.has(key);
132
+ }
133
+ getLoader(key) {
134
+ return this.registry.get(key);
135
+ }
136
+ getMiddlewares() {
137
+ return [...this.middlewares];
138
+ }
139
+ getRegisteredKeys() {
140
+ return Array.from(this.registry.keys());
141
+ }
142
+ clear() {
143
+ this.registry.clear();
144
+ this.middlewares.length = 0;
145
+ }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandRegistry, providedIn: 'root' }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandRegistry, decorators: [{
150
+ type: Injectable,
151
+ args: [{ providedIn: 'root' }]
152
+ }] });
153
+
154
+ // plugins/command.extension.token.ts
155
+ const AXP_COMMAND_EXTENSION = new InjectionToken('AXP_COMMAND_EXTENSION');
156
+
157
+ class AXPCommandExecutor {
158
+ constructor() {
159
+ this.injector = inject(EnvironmentInjector);
160
+ this.registry = inject(AXPCommandRegistry);
161
+ this.extensions = inject(AXP_COMMAND_EXTENSION, { optional: true });
162
+ this.commandEvents = inject(AXPCommandEventsService);
163
+ }
164
+ async execute(key, input) {
165
+ const loader = this.registry.getLoader(key);
166
+ if (!loader) {
167
+ throw new Error(`Command '${key}' is not registered`);
168
+ }
169
+ const command = await loader();
170
+ const handler = (i) => command.execute(i);
171
+ const pluginMiddlewares = this.getPluginMiddlewares(key);
172
+ const globalMiddlewares = this.registry.getMiddlewares();
173
+ const wrappedMiddlewares = [
174
+ ...globalMiddlewares,
175
+ ...pluginMiddlewares,
176
+ ].map(middleware => {
177
+ return (input, next) => runInInjectionContext(this.injector, () => middleware(input, next));
178
+ });
179
+ const composed = composeCommandMiddlewares(wrappedMiddlewares)(handler);
180
+ const beforeEvent = {
181
+ stage: 'before',
182
+ key,
183
+ input,
184
+ };
185
+ await this.commandEvents.emit(beforeEvent);
186
+ try {
187
+ const result = await composed(input);
188
+ const afterEvent = {
189
+ stage: 'after',
190
+ key,
191
+ input,
192
+ success: true,
193
+ result,
194
+ };
195
+ await this.commandEvents.emit(afterEvent);
196
+ return result;
197
+ }
198
+ catch (error) {
199
+ const afterEvent = {
200
+ stage: 'after',
201
+ key,
202
+ input,
203
+ success: false,
204
+ error,
205
+ };
206
+ await this.commandEvents.emit(afterEvent);
207
+ throw error;
208
+ }
209
+ }
210
+ getPluginMiddlewares(key) {
211
+ return this.extensions
212
+ ?.filter(ext => ext.target instanceof RegExp ? ext.target.test(key) : ext.target === key)
213
+ .map(ext => ext.middleware) ?? [];
214
+ }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandExecutor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
216
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandExecutor, providedIn: 'root' }); }
217
+ }
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandExecutor, decorators: [{
219
+ type: Injectable,
220
+ args: [{ providedIn: 'root' }]
221
+ }] });
222
+
223
+ class AXPCommandService {
224
+ constructor() {
225
+ this.registry = inject(AXPCommandRegistry);
226
+ this.executor = inject(AXPCommandExecutor);
227
+ }
228
+ // Registry methods
229
+ register(key, loader) {
230
+ this.registry.register(key, loader);
231
+ }
232
+ unregister(key) {
233
+ return this.registry.unregister(key);
234
+ }
235
+ use(middleware) {
236
+ this.registry.use(middleware);
237
+ }
238
+ exists(key) {
239
+ return this.registry.exists(key);
240
+ }
241
+ getRegisteredKeys() {
242
+ return this.registry.getRegisteredKeys();
243
+ }
244
+ clear() {
245
+ this.registry.clear();
246
+ }
247
+ // Executor methods
248
+ async execute(key, input) {
249
+ return this.executor.execute(key, input);
250
+ }
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
252
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandService, providedIn: 'root' }); }
253
+ }
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCommandService, decorators: [{
255
+ type: Injectable,
256
+ args: [{ providedIn: 'root' }]
257
+ }] });
258
+
259
+ const AXP_COMMAND_MIDDLEWARE_SETUP = new InjectionToken('AXP_COMMAND_MIDDLEWARE_SETUP');
260
+ function provideCommandMiddleware(entries) {
261
+ const global = [];
262
+ const extensions = [];
263
+ for (const entry of entries) {
264
+ if (typeof entry === 'function') {
265
+ global.push(entry);
266
+ }
267
+ else {
268
+ extensions.push(entry);
269
+ }
270
+ }
271
+ return makeEnvironmentProviders([
272
+ // Plugin middleware entries
273
+ ...extensions.map(ext => ({
274
+ provide: AXP_COMMAND_EXTENSION,
275
+ useValue: ext,
276
+ multi: true
277
+ })),
278
+ // Global middleware setup (triggered via this token)
279
+ {
280
+ provide: AXP_COMMAND_MIDDLEWARE_SETUP,
281
+ useFactory: () => {
282
+ const registry = inject(AXPCommandRegistry);
283
+ for (const mw of global) {
284
+ registry.use(mw);
285
+ }
286
+ return true;
287
+ }
288
+ }
289
+ ]);
290
+ }
291
+
292
+ const AXP_COMMAND_SETUP = new InjectionToken('AXP_COMMAND_SETUP');
293
+ function provideCommandSetups(entries) {
294
+ return makeEnvironmentProviders([
295
+ {
296
+ provide: AXP_COMMAND_SETUP,
297
+ useFactory: () => {
298
+ const registry = inject(AXPCommandRegistry);
299
+ const injector = inject(EnvironmentInjector);
300
+ for (const entry of entries) {
301
+ registry.register(entry.key, async () => {
302
+ const CommandType = await entry.command();
303
+ // Try to get from DI first, if fails create new instance
304
+ try {
305
+ return injector.get(CommandType);
306
+ }
307
+ catch (e) {
308
+ // If not in DI (e.g., for activities), create new instance
309
+ return runInInjectionContext(injector, () => new CommandType());
310
+ }
311
+ });
312
+ }
313
+ return true;
314
+ },
315
+ multi: true
316
+ }
317
+ ]);
318
+ }
319
+ function provideCommand(key, loader) {
320
+ return provideCommandSetups([
321
+ {
322
+ key,
323
+ command: loader
324
+ }
325
+ ]);
326
+ }
327
+
328
+ // queries/query.registry.ts
329
+ class AXPQueryRegistry {
330
+ constructor() {
331
+ this.registry = new Map();
332
+ this.middlewares = [];
333
+ }
334
+ register(key, loader) {
335
+ this.registry.set(key, loader);
336
+ }
337
+ unregister(key) {
338
+ return this.registry.delete(key);
339
+ }
340
+ use(middleware) {
341
+ this.middlewares.push(middleware);
342
+ }
343
+ exists(key) {
344
+ return this.registry.has(key);
345
+ }
346
+ getLoader(key) {
347
+ return this.registry.get(key);
348
+ }
349
+ getMiddlewares() {
350
+ return [...this.middlewares];
351
+ }
352
+ getRegisteredKeys() {
353
+ return Array.from(this.registry.keys());
354
+ }
355
+ clear() {
356
+ this.registry.clear();
357
+ this.middlewares.length = 0;
358
+ }
359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
360
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryRegistry, providedIn: 'root' }); }
361
+ }
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryRegistry, decorators: [{
363
+ type: Injectable,
364
+ args: [{ providedIn: 'root' }]
365
+ }] });
366
+
367
+ // plugins/query.extension.token.ts
368
+ const AXP_QUERY_EXTENSION = new InjectionToken('AXP_QUERY_EXTENSION');
369
+
370
+ const AXP_QUERY_MIDDLEWARE_SETUP = new InjectionToken('AXP_QUERY_MIDDLEWARE_SETUP');
371
+ function provideQueryMiddleware(entries) {
372
+ const global = [];
373
+ const extensions = [];
374
+ for (const entry of entries) {
375
+ if (typeof entry === 'function') {
376
+ global.push(entry);
377
+ }
378
+ else {
379
+ extensions.push(entry);
380
+ }
381
+ }
382
+ return makeEnvironmentProviders([
383
+ // Plugin middleware entries
384
+ ...extensions.map(ext => ({
385
+ provide: AXP_QUERY_EXTENSION,
386
+ useValue: ext,
387
+ multi: true
388
+ })),
389
+ // Global middleware setup (triggered via this token)
390
+ {
391
+ provide: AXP_QUERY_MIDDLEWARE_SETUP,
392
+ useFactory: () => {
393
+ const registry = inject(AXPQueryRegistry);
394
+ for (const mw of global) {
395
+ registry.use(mw);
396
+ }
397
+ return true;
398
+ }
399
+ }
400
+ ]);
401
+ }
402
+
403
+ const AXP_QUERY_SETUP = new InjectionToken('AXP_QUERY_SETUP');
404
+ function provideQuerySetups(entries) {
405
+ return makeEnvironmentProviders([
406
+ {
407
+ provide: AXP_QUERY_SETUP,
408
+ useFactory: () => {
409
+ const registry = inject(AXPQueryRegistry);
410
+ const injector = inject(EnvironmentInjector);
411
+ for (const entry of entries) {
412
+ registry.register(entry.key, async () => {
413
+ const CommandType = await entry.loader();
414
+ return injector.get(CommandType);
415
+ });
416
+ }
417
+ return true;
418
+ },
419
+ multi: true
420
+ }
421
+ ]);
422
+ }
423
+
424
+ function composeQueryMiddlewares(middlewares) {
425
+ return (handler) => {
426
+ let composed = handler;
427
+ for (let i = middlewares.length - 1; i >= 0; i--) {
428
+ const mw = middlewares[i];
429
+ const next = composed;
430
+ composed = (input) => mw(input, next);
431
+ }
432
+ return composed;
433
+ };
434
+ }
435
+
436
+ class AXPQueryExecutor {
437
+ constructor() {
438
+ this.injector = inject(EnvironmentInjector);
439
+ this.registry = inject(AXPQueryRegistry);
440
+ this.extensions = inject(AXP_QUERY_EXTENSION, { optional: true });
441
+ }
442
+ async fetch(key, input) {
443
+ const loader = this.registry.getLoader(key);
444
+ if (!loader) {
445
+ return null;
446
+ }
447
+ const query = await loader();
448
+ const handler = (i) => query.fetch(i);
449
+ const pluginMiddlewares = this.getPluginMiddlewares(key);
450
+ const globalMiddlewares = this.registry.getMiddlewares();
451
+ const wrappedMiddlewares = [...globalMiddlewares, ...pluginMiddlewares].map(middleware => {
452
+ return (input, next) => runInInjectionContext(this.injector, () => middleware(input, next));
453
+ });
454
+ const composed = composeQueryMiddlewares(wrappedMiddlewares)(handler);
455
+ return composed(input);
456
+ }
457
+ getPluginMiddlewares(key) {
458
+ return this.extensions
459
+ ?.filter(ext => ext.target instanceof RegExp ? ext.target.test(key) : ext.target === key)
460
+ .map(ext => ext.middleware) ?? [];
461
+ }
462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryExecutor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
463
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryExecutor, providedIn: 'root' }); }
464
+ }
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryExecutor, decorators: [{
466
+ type: Injectable,
467
+ args: [{ providedIn: 'root' }]
468
+ }] });
469
+
470
+ class AXPQueryService {
471
+ constructor() {
472
+ this.registry = inject(AXPQueryRegistry);
473
+ this.executor = inject(AXPQueryExecutor);
474
+ }
475
+ // Registry methods
476
+ register(key, loader) {
477
+ this.registry.register(key, loader);
478
+ }
479
+ unregister(key) {
480
+ return this.registry.unregister(key);
481
+ }
482
+ use(middleware) {
483
+ this.registry.use(middleware);
484
+ }
485
+ exists(key) {
486
+ return this.registry.exists(key);
487
+ }
488
+ getRegisteredKeys() {
489
+ return this.registry.getRegisteredKeys();
490
+ }
491
+ clear() {
492
+ this.registry.clear();
493
+ }
494
+ // Executor methods
495
+ async fetch(key, input) {
496
+ return this.executor.fetch(key, input);
497
+ }
498
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
499
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryService, providedIn: 'root' }); }
500
+ }
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPQueryService, decorators: [{
502
+ type: Injectable,
503
+ args: [{ providedIn: 'root' }]
504
+ }] });
505
+
506
+ function composeViewMiddlewares(middlewares) {
507
+ return (handler) => {
508
+ let composed = handler;
509
+ for (let i = middlewares.length - 1; i >= 0; i--) {
510
+ const mw = middlewares[i];
511
+ const next = composed;
512
+ composed = (input) => mw(input, next);
513
+ }
514
+ return composed;
515
+ };
516
+ }
517
+
518
+ class AXPViewRegistry {
519
+ constructor() {
520
+ this.registry = new Map();
521
+ this.middlewares = [];
522
+ }
523
+ register(key, loader) {
524
+ this.registry.set(key, loader);
525
+ }
526
+ unregister(key) {
527
+ return this.registry.delete(key);
528
+ }
529
+ use(middleware) {
530
+ this.middlewares.push(middleware);
531
+ }
532
+ exists(key) {
533
+ return this.registry.has(key);
534
+ }
535
+ getLoader(key) {
536
+ return this.registry.get(key);
537
+ }
538
+ getMiddlewares() {
539
+ return [...this.middlewares];
540
+ }
541
+ getRegisteredKeys() {
542
+ return Array.from(this.registry.keys());
543
+ }
544
+ clear() {
545
+ this.registry.clear();
546
+ this.middlewares.length = 0;
547
+ }
548
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
549
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewRegistry, providedIn: 'root' }); }
550
+ }
551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewRegistry, decorators: [{
552
+ type: Injectable,
553
+ args: [{ providedIn: 'root' }]
554
+ }] });
555
+
556
+ const AXP_VIEW_EXTENSION = new InjectionToken('AXP_VIEW_EXTENSION');
557
+
558
+ class AXPViewExecutor {
559
+ constructor() {
560
+ this.injector = inject(EnvironmentInjector);
561
+ this.registry = inject(AXPViewRegistry);
562
+ this.extensions = inject(AXP_VIEW_EXTENSION, { optional: true });
563
+ }
564
+ async provide(key, input) {
565
+ const loader = this.registry.getLoader(key);
566
+ if (!loader) {
567
+ return null;
568
+ }
569
+ const provider = await loader();
570
+ const handler = (i) => provider.provide(i);
571
+ const pluginMiddlewares = this.getPluginMiddlewares(key);
572
+ const globalMiddlewares = this.registry.getMiddlewares();
573
+ const wrappedMiddlewares = [...globalMiddlewares, ...pluginMiddlewares].map(middleware => {
574
+ return (input, next) => runInInjectionContext(this.injector, () => middleware(input, next));
575
+ });
576
+ const composed = composeViewMiddlewares(wrappedMiddlewares)(handler);
577
+ return composed(input);
578
+ }
579
+ getPluginMiddlewares(key) {
580
+ return this.extensions
581
+ ?.filter(ext => ext.target instanceof RegExp ? ext.target.test(key) : ext.target === key)
582
+ .map(ext => ext.middleware) ?? [];
583
+ }
584
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewExecutor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
585
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewExecutor, providedIn: 'root' }); }
586
+ }
587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewExecutor, decorators: [{
588
+ type: Injectable,
589
+ args: [{ providedIn: 'root' }]
590
+ }] });
591
+
592
+ class AXPViewService {
593
+ constructor() {
594
+ this.registry = inject(AXPViewRegistry);
595
+ this.executor = inject(AXPViewExecutor);
596
+ }
597
+ //#region ---- Registry Methods ----
598
+ register(key, loader) {
599
+ this.registry.register(key, loader);
600
+ }
601
+ unregister(key) {
602
+ return this.registry.unregister(key);
603
+ }
604
+ use(middleware) {
605
+ this.registry.use(middleware);
606
+ }
607
+ exists(key) {
608
+ return this.registry.exists(key);
609
+ }
610
+ getRegisteredKeys() {
611
+ return this.registry.getRegisteredKeys();
612
+ }
613
+ clear() {
614
+ this.registry.clear();
615
+ }
616
+ //#endregion
617
+ //#region ---- Executor Methods ----
618
+ async provide(key, input) {
619
+ return this.executor.provide(key, input);
620
+ }
621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
622
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewService, providedIn: 'root' }); }
623
+ }
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPViewService, decorators: [{
625
+ type: Injectable,
626
+ args: [{ providedIn: 'root' }]
627
+ }] });
628
+
629
+ const AXP_VIEW_SETUP = new InjectionToken('AXP_VIEW_SETUP');
630
+ function provideViewSetups(providers) {
631
+ return makeEnvironmentProviders([
632
+ ...providers,
633
+ {
634
+ provide: AXP_VIEW_SETUP,
635
+ useFactory: () => {
636
+ const registry = inject(AXPViewRegistry);
637
+ // Setup will be handled by the provided registration functions
638
+ return;
639
+ },
640
+ multi: true
641
+ }
642
+ ]);
643
+ }
644
+ function provideViewSetup(key, loader) {
645
+ return {
646
+ provide: AXP_VIEW_SETUP,
647
+ useFactory: () => {
648
+ const registry = inject(AXPViewRegistry);
649
+ registry.register(key, loader);
650
+ return;
651
+ },
652
+ multi: true
653
+ };
654
+ }
655
+
656
+ function composePolicyEngineMiddlewares(middlewares) {
657
+ return (handler) => {
658
+ let composed = handler;
659
+ for (let i = middlewares.length - 1; i >= 0; i--) {
660
+ const mw = middlewares[i];
661
+ const next = composed;
662
+ composed = (context) => mw(context, next);
663
+ }
664
+ return composed;
665
+ };
666
+ }
667
+
668
+ class AXPPolicyEngineContext {
669
+ constructor(options) {
670
+ this._visible = true;
671
+ this._enabled = true;
672
+ this._id = options.id;
673
+ this._sender = options.sender;
674
+ }
675
+ get sender() {
676
+ return this._sender;
677
+ }
678
+ get id() {
679
+ return this._id;
680
+ }
681
+ get visible() {
682
+ return this._visible;
683
+ }
684
+ get enabled() {
685
+ return this._enabled;
686
+ }
687
+ setVisible(visible) {
688
+ this._visible = visible;
689
+ return this;
690
+ }
691
+ setEnabled(enabled) {
692
+ this._enabled = enabled;
693
+ return this;
694
+ }
695
+ }
696
+
697
+ // plugins/command.extension.token.ts
698
+ const AXP_POLICY_EXTENSION = new InjectionToken('AXP_POLICY_EXTENSION');
699
+
700
+ class AXPPolicyEngineRegistry {
701
+ constructor() {
702
+ this.registry = new Map();
703
+ this.middlewares = [];
704
+ this.extensions = inject(AXP_POLICY_EXTENSION, { optional: true });
705
+ this.injector = inject(EnvironmentInjector);
706
+ }
707
+ use(mw) {
708
+ this.middlewares.push(mw);
709
+ }
710
+ exists(key) {
711
+ return this.registry.has(key);
712
+ }
713
+ getPolicies() {
714
+ return Array.from(this.registry.keys());
715
+ }
716
+ register(key, loader) {
717
+ this.registry.set(key, loader);
718
+ }
719
+ getPluginMiddlewares(key) {
720
+ return this.extensions
721
+ ?.filter(ext => ext.key === key)
722
+ .map(ext => ext.middleware) ?? [];
723
+ }
724
+ async execute(policy, instance) {
725
+ const loader = this.registry.get(policy);
726
+ if (!loader) {
727
+ throw new Error(`${policy} not implemented`);
728
+ }
729
+ const context = new AXPPolicyEngineContext(instance);
730
+ const applier = await loader();
731
+ const handler = (i) => applier.apply(i);
732
+ const pluginMws = this.getPluginMiddlewares(policy);
733
+ const wrappedMws = [...this.middlewares, ...pluginMws].map(mw => {
734
+ return (input, next) => runInInjectionContext(this.injector, () => mw(input, next));
735
+ });
736
+ const composed = composePolicyEngineMiddlewares(wrappedMws)(handler);
737
+ await composed(context);
738
+ return context;
739
+ }
740
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
741
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineRegistry, providedIn: 'root' }); }
742
+ }
743
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineRegistry, decorators: [{
744
+ type: Injectable,
745
+ args: [{ providedIn: 'root' }]
746
+ }] });
747
+
748
+ class AXPPolicyEngineService {
749
+ constructor() {
750
+ this.registry = inject(AXPPolicyEngineRegistry);
751
+ }
752
+ async apply(options) {
753
+ const allPolicies = this.registry.getPolicies().filter(p => (options.policies?.length ?? 0) == 0 || options.policies?.includes(p));
754
+ await Promise.all(allPolicies.map(async (policy) => {
755
+ const context = await this.registry.execute(policy, options);
756
+ return context;
757
+ }));
758
+ //
759
+ // if (instance instanceof HTMLElement) {
760
+ // if (context.visible === false) {
761
+ // instance.style.display = 'none';
762
+ // } else {
763
+ // instance.style.display = '';
764
+ // }
765
+ // }
766
+ // //
767
+ // if (instance instanceof MXBaseComponent) {
768
+ // if (context.visible === false) {
769
+ // instance.getHostElement().style.display = 'none';
770
+ // } else {
771
+ // instance.getHostElement().style.display = '';
772
+ // }
773
+ // }
774
+ // // Handle disabled state for interactive components
775
+ // if (instance instanceof MXInteractiveComponent) {
776
+ // if (context.enabled === false) {
777
+ // instance.disabled = true;
778
+ // } else {
779
+ // instance.disabled = false;
780
+ // }
781
+ // }
782
+ // // TODO: Handle object properties
783
+ // if (instance instanceof Object) {
784
+ // if (context.visible === false) {
785
+ // set(instance, 'visible', false);
786
+ // }
787
+ // if (context.enabled === false) {
788
+ // set(instance, 'disabled', true);
789
+ // }
790
+ // }
791
+ }
792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
793
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineService, providedIn: 'root' }); }
794
+ }
795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineService, decorators: [{
796
+ type: Injectable,
797
+ args: [{
798
+ providedIn: 'root'
799
+ }]
800
+ }] });
801
+
802
+ class AXPPolicyEngineDirective {
803
+ constructor() {
804
+ this.policy = input.required({ ...(ngDevMode ? { debugName: "policy" } : /* istanbul ignore next */ {}), alias: 'axp-apply-policy' });
805
+ this.service = inject(AXPPolicyEngineService);
806
+ this.elementRef = inject((ElementRef));
807
+ this.#eff = effect(async () => {
808
+ const policy = this.policy();
809
+ if (!policy) {
810
+ return;
811
+ }
812
+ await this.service.apply({
813
+ id: this.elementRef.nativeElement.id,
814
+ policies: castArray(policy),
815
+ sender: this.elementRef.nativeElement
816
+ });
817
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
818
+ }
819
+ #eff;
820
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
821
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: AXPPolicyEngineDirective, isStandalone: true, selector: "[axp-apply-policy]", inputs: { policy: { classPropertyName: "policy", publicName: "axp-apply-policy", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
822
+ }
823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPolicyEngineDirective, decorators: [{
824
+ type: Directive,
825
+ args: [{
826
+ selector: '[axp-apply-policy]',
827
+ standalone: true
828
+ }]
829
+ }], propDecorators: { policy: [{ type: i0.Input, args: [{ isSignal: true, alias: "axp-apply-policy", required: true }] }] } });
830
+
831
+ const AXP_POLICY_ENGINE_MIDDLEWARE_SETUP = new InjectionToken('AXP_POLICY_ENGINE_MIDDLEWARE_SETUP');
832
+ function providePolicySetups(entries) {
833
+ return makeEnvironmentProviders([
834
+ {
835
+ provide: AXP_POLICY_ENGINE_MIDDLEWARE_SETUP,
836
+ useFactory: () => {
837
+ const registry = inject(AXPPolicyEngineRegistry);
838
+ const injector = inject(EnvironmentInjector);
839
+ for (const entry of entries) {
840
+ registry.register(entry.key, async () => {
841
+ const PolicyType = await entry.policy();
842
+ return injector.get(PolicyType);
843
+ });
844
+ }
845
+ return true;
846
+ }
847
+ }
848
+ ]);
849
+ }
850
+
851
+ const AXP_VIEW_MIDDLEWARE_SETUP = new InjectionToken('AXP_VIEW_MIDDLEWARE_SETUP');
852
+ function provideViewMiddleware(middlewares) {
853
+ return makeEnvironmentProviders([
854
+ {
855
+ provide: AXP_VIEW_MIDDLEWARE_SETUP,
856
+ useFactory: () => {
857
+ const registry = inject(AXPViewRegistry);
858
+ middlewares.forEach(middleware => registry.use(middleware));
859
+ return;
860
+ },
861
+ multi: true
862
+ }
863
+ ]);
864
+ }
865
+ function provideViewMiddlewareSetup(middleware) {
866
+ return {
867
+ provide: AXP_VIEW_MIDDLEWARE_SETUP,
868
+ useFactory: () => {
869
+ const registry = inject(AXPViewRegistry);
870
+ registry.use(middleware);
871
+ return;
872
+ },
873
+ multi: true
874
+ };
875
+ }
876
+
877
+ class AXPRuntimeModule {
878
+ constructor() {
879
+ this._commandSetup = inject(AXP_COMMAND_SETUP, { optional: true });
880
+ this._commandMiddlewareSetup = inject(AXP_COMMAND_MIDDLEWARE_SETUP, { optional: true });
881
+ this._querySetup = inject(AXP_QUERY_SETUP, { optional: true });
882
+ this._queryMiddlewareSetup = inject(AXP_QUERY_MIDDLEWARE_SETUP, { optional: true });
883
+ this._viewSetup = inject(AXP_VIEW_SETUP, { optional: true });
884
+ this._viewMiddlewareSetup = inject(AXP_VIEW_MIDDLEWARE_SETUP, { optional: true });
885
+ this._policyEngineSetup = inject(AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, { optional: true });
886
+ if (isDevMode() && false) {
887
+ console.log('[AXPRuntimeModule] Command Setup:', this._commandSetup);
888
+ console.log('[AXPRuntimeModule] Command Middleware Setup:', this._commandMiddlewareSetup);
889
+ console.log('[AXPRuntimeModule] Query Setup:', this._querySetup);
890
+ console.log('[AXPRuntimeModule] Query Middleware Setup:', this._queryMiddlewareSetup);
891
+ console.log('[AXPRuntimeModule] View Setup:', this._viewSetup);
892
+ console.log('[AXPRuntimeModule] View Middleware Setup:', this._viewMiddlewareSetup);
893
+ console.log('[AXPRuntimeModule] Policy Engine Setup:', this._policyEngineSetup);
894
+ }
895
+ }
896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPRuntimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
897
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPRuntimeModule }); }
898
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPRuntimeModule }); }
899
+ }
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPRuntimeModule, decorators: [{
901
+ type: NgModule
902
+ }], ctorParameters: () => [] });
903
+
904
+ // Commands
905
+
906
+ /**
907
+ * Generated bundle index. Do not edit.
908
+ */
909
+
910
+ export { AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composeCommandMiddlewares, composePolicyEngineMiddlewares, composeQueryMiddlewares, composeViewMiddlewares, provideCommand, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
911
+ //# sourceMappingURL=acorex-platform-framework-client-runtime.mjs.map