@decaf-ts/for-angular 0.0.4 → 0.0.6
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.
- package/LICENSE.md +646 -144
- package/README.md +37 -242
- package/dist/lib/README.md +92 -0
- package/dist/lib/assets/i18n/en.json +131 -0
- package/dist/lib/assets/images/angular-logo.svg +45 -0
- package/dist/lib/assets/images/decaf-logo-black.svg +22 -0
- package/dist/lib/assets/images/decaf-logo-lw.svg +50 -0
- package/dist/lib/assets/images/decaf-logo-white.svg +22 -0
- package/dist/lib/assets/images/decaf-logo.svg +54 -0
- package/dist/lib/components/component-renderer/component-renderer.component.d.ts +267 -0
- package/dist/lib/components/crud-field/crud-field.component.d.ts +445 -0
- package/dist/{for-angular/components/decaf-crud-form → lib/components/crud-form}/constants.d.ts +0 -0
- package/dist/lib/components/crud-form/crud-form.component.d.ts +102 -0
- package/dist/{for-angular/components/decaf-crud-form → lib/components/crud-form}/types.d.ts +0 -0
- package/dist/lib/components/model-renderer/model-renderer.component.d.ts +96 -0
- package/dist/lib/engine/DynamicModule.d.ts +17 -0
- package/dist/{for-angular → lib}/engine/NgxCrudFormField.d.ts +21 -17
- package/dist/lib/engine/NgxFormService.d.ts +167 -0
- package/dist/lib/engine/NgxRenderingEngine.d.ts +127 -0
- package/dist/lib/engine/NgxRenderingEngine2.d.ts +250 -0
- package/dist/lib/engine/ValidatorFactory.d.ts +15 -0
- package/dist/lib/engine/constants.d.ts +151 -0
- package/dist/lib/engine/decorators.d.ts +25 -0
- package/dist/lib/engine/index.d.ts +15 -0
- package/dist/lib/engine/types.d.ts +294 -0
- package/dist/lib/esm2022/components/component-renderer/component-renderer.component.mjs +312 -0
- package/dist/lib/esm2022/components/crud-field/crud-field.component.mjs +297 -0
- package/dist/lib/esm2022/components/crud-form/constants.mjs +14 -0
- package/dist/lib/esm2022/components/crud-form/crud-form.component.mjs +139 -0
- package/dist/lib/esm2022/components/crud-form/types.mjs +2 -0
- package/dist/lib/esm2022/components/model-renderer/model-renderer.component.mjs +138 -0
- package/dist/{for-angular → lib}/esm2022/decaf-ts-for-angular.mjs +0 -0
- package/dist/lib/esm2022/engine/DynamicModule.mjs +18 -0
- package/dist/lib/esm2022/engine/NgxCrudFormField.mjs +123 -0
- package/dist/lib/esm2022/engine/NgxFormService.mjs +315 -0
- package/dist/lib/esm2022/engine/NgxRenderingEngine.mjs +192 -0
- package/dist/lib/esm2022/engine/NgxRenderingEngine2.mjs +332 -0
- package/dist/lib/esm2022/engine/ValidatorFactory.mjs +102 -0
- package/dist/lib/esm2022/engine/constants.mjs +160 -0
- package/dist/lib/esm2022/engine/decorators.mjs +38 -0
- package/dist/lib/esm2022/engine/index.mjs +16 -0
- package/dist/lib/esm2022/engine/types.mjs +2 -0
- package/dist/lib/esm2022/for-angular.module.mjs +118 -0
- package/dist/lib/esm2022/interfaces.mjs +2 -0
- package/dist/lib/esm2022/public-apis.mjs +13 -0
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs +2152 -0
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs.map +1 -0
- package/dist/lib/for-angular.module.d.ts +45 -0
- package/dist/{for-angular → lib}/index.d.ts +0 -0
- package/dist/lib/interfaces.d.ts +28 -0
- package/dist/lib/public-apis.d.ts +12 -0
- package/package.json +71 -26
- package/dist/for-angular/README.md +0 -297
- package/dist/for-angular/assets/i18n/en.json +0 -21
- package/dist/for-angular/components/decaf-crud-field/decaf-crud-field.component.d.ts +0 -49
- package/dist/for-angular/components/decaf-crud-form/decaf-crud-form.component.d.ts +0 -28
- package/dist/for-angular/components/decaf-model-renderer/decaf-model-renderer.component.d.ts +0 -20
- package/dist/for-angular/engine/DynamicModule.d.ts +0 -2
- package/dist/for-angular/engine/NgxFormService.d.ts +0 -119
- package/dist/for-angular/engine/NgxRenderingEngine.d.ts +0 -18
- package/dist/for-angular/engine/ValidatorFactory.d.ts +0 -4
- package/dist/for-angular/engine/constants.d.ts +0 -13
- package/dist/for-angular/engine/decorators.d.ts +0 -1
- package/dist/for-angular/engine/index.d.ts +0 -5
- package/dist/for-angular/engine/types.d.ts +0 -44
- package/dist/for-angular/esm2022/components/decaf-crud-field/decaf-crud-field.component.mjs +0 -129
- package/dist/for-angular/esm2022/components/decaf-crud-form/constants.mjs +0 -14
- package/dist/for-angular/esm2022/components/decaf-crud-form/decaf-crud-form.component.mjs +0 -80
- package/dist/for-angular/esm2022/components/decaf-crud-form/types.mjs +0 -2
- package/dist/for-angular/esm2022/components/decaf-model-renderer/decaf-model-renderer.component.mjs +0 -47
- package/dist/for-angular/esm2022/engine/DynamicModule.mjs +0 -3
- package/dist/for-angular/esm2022/engine/NgxCrudFormField.mjs +0 -115
- package/dist/for-angular/esm2022/engine/NgxFormService.mjs +0 -235
- package/dist/for-angular/esm2022/engine/NgxRenderingEngine.mjs +0 -84
- package/dist/for-angular/esm2022/engine/ValidatorFactory.mjs +0 -48
- package/dist/for-angular/esm2022/engine/constants.mjs +0 -15
- package/dist/for-angular/esm2022/engine/decorators.mjs +0 -14
- package/dist/for-angular/esm2022/engine/index.mjs +0 -6
- package/dist/for-angular/esm2022/engine/types.mjs +0 -2
- package/dist/for-angular/esm2022/interfaces.mjs +0 -2
- package/dist/for-angular/esm2022/public-apis.mjs +0 -6
- package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs +0 -759
- package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs.map +0 -1
- package/dist/for-angular/interfaces.d.ts +0 -8
- package/dist/for-angular/public-apis.d.ts +0 -5
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { UIKeys } from '@decaf-ts/ui-decorators';
|
|
2
|
+
import { VALIDATION_PARENT_KEY } from '@decaf-ts/decorator-validation';
|
|
3
|
+
/**
|
|
4
|
+
* @description Angular engine key constants
|
|
5
|
+
* @summary Contains key strings used by the Angular rendering engine for reflection,
|
|
6
|
+
* dynamic component creation, and other engine operations.
|
|
7
|
+
* @typedef {Object} AngularEngineKeys
|
|
8
|
+
* @property {string} REFLECT - Prefix for reflection metadata keys
|
|
9
|
+
* @property {string} DYNAMIC - Key for dynamic component identification
|
|
10
|
+
* @property {string} ANNOTATIONS - Key for component annotations
|
|
11
|
+
* @property {string} ECMP - Key for embedded components
|
|
12
|
+
* @property {string} NG_REFLECT - Prefix for Angular reflection attributes
|
|
13
|
+
* @property {string} RENDERED - Prefix for rendered component markers
|
|
14
|
+
* @property {string} MAPPER - Key for property mappers
|
|
15
|
+
* @property {string} CHILDREN - Key for child components
|
|
16
|
+
* @property {string} LISTABLE - Key for listable components
|
|
17
|
+
* @property {string} RENDER - Key for renderable components
|
|
18
|
+
* @property {string} RENDERED_ID - Template for rendered component IDs
|
|
19
|
+
* @property {string} PARENT - Key for comparison decorators and validators
|
|
20
|
+
* @const AngularEngineKeys
|
|
21
|
+
* @memberOf module:engine
|
|
22
|
+
*/
|
|
23
|
+
export const AngularEngineKeys = {
|
|
24
|
+
REFLECT: `${UIKeys.REFLECT}.angular.`,
|
|
25
|
+
DYNAMIC: 'dynamic-component',
|
|
26
|
+
ANNOTATIONS: '__annotations__',
|
|
27
|
+
ECMP: 'ecmp',
|
|
28
|
+
NG_REFLECT: 'ng-reflect-',
|
|
29
|
+
RENDERED: 'rendered-as-',
|
|
30
|
+
MAPPER: 'mapper',
|
|
31
|
+
CHILDREN: 'children',
|
|
32
|
+
LISTABLE: 'listable',
|
|
33
|
+
RENDER: 'render',
|
|
34
|
+
RENDERED_ID: 'rendered-as-{0}',
|
|
35
|
+
PARENT: '_parent',
|
|
36
|
+
VALIDATION_PARENT_KEY: VALIDATION_PARENT_KEY
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @description Form validation state constants
|
|
40
|
+
* @summary Contains constants representing the possible validation states of a form.
|
|
41
|
+
* These are used to check and handle form validation throughout the application.
|
|
42
|
+
* @typedef {Object} FormConstants
|
|
43
|
+
* @property {string} VALID - Constant representing a valid form state
|
|
44
|
+
* @property {string} INVALID - Constant representing an invalid form state
|
|
45
|
+
* @const FormConstants
|
|
46
|
+
* @memberOf module:engine
|
|
47
|
+
*/
|
|
48
|
+
export const FormConstants = {
|
|
49
|
+
VALID: 'VALID',
|
|
50
|
+
INVALID: 'INVALID',
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* @description Event name constants
|
|
54
|
+
* @summary Enum containing constants for event names used throughout the application.
|
|
55
|
+
* These are used to standardize event naming and handling.
|
|
56
|
+
* @enum {string}
|
|
57
|
+
* @readonly
|
|
58
|
+
* @property {string} BACK_BUTTON_NAVIGATION - Event fired when back button navigation ends
|
|
59
|
+
* @property {string} REFRESH_EVENT - Event fired when a refresh action occurs
|
|
60
|
+
* @property {string} CLICK_EVENT - Event fired when a click action occurs
|
|
61
|
+
* @property {string} SUBMIT_EVENT - Event fired when a form submission occurs
|
|
62
|
+
* @memberOf module:engine
|
|
63
|
+
*/
|
|
64
|
+
export var EventConstants;
|
|
65
|
+
(function (EventConstants) {
|
|
66
|
+
EventConstants["BACK_BUTTON_NAVIGATION"] = "backButtonNavigationEndEvent";
|
|
67
|
+
EventConstants["REFRESH_EVENT"] = "RefreshEvent";
|
|
68
|
+
EventConstants["CLICK_EVENT"] = "ClickEvent";
|
|
69
|
+
EventConstants["SUBMIT_EVENT"] = "SubmitEvent";
|
|
70
|
+
})(EventConstants || (EventConstants = {}));
|
|
71
|
+
/**
|
|
72
|
+
* @description Logger level constants
|
|
73
|
+
* @summary Enum defining the logging levels used in the application's logging system.
|
|
74
|
+
* Lower values represent more verbose logging, while higher values represent more critical logs.
|
|
75
|
+
* @enum {number}
|
|
76
|
+
* @readonly
|
|
77
|
+
* @property {number} ALL - Log everything (most verbose)
|
|
78
|
+
* @property {number} DEBUG - Log debug information
|
|
79
|
+
* @property {number} INFO - Log informational messages
|
|
80
|
+
* @property {number} WARN - Log warnings
|
|
81
|
+
* @property {number} ERROR - Log errors
|
|
82
|
+
* @property {number} CRITICAL - Log critical errors (least verbose)
|
|
83
|
+
* @memberOf module:engine
|
|
84
|
+
*/
|
|
85
|
+
export var LoggerLevels;
|
|
86
|
+
(function (LoggerLevels) {
|
|
87
|
+
LoggerLevels[LoggerLevels["ALL"] = 0] = "ALL";
|
|
88
|
+
LoggerLevels[LoggerLevels["DEBUG"] = 1] = "DEBUG";
|
|
89
|
+
LoggerLevels[LoggerLevels["INFO"] = 2] = "INFO";
|
|
90
|
+
LoggerLevels[LoggerLevels["WARN"] = 3] = "WARN";
|
|
91
|
+
LoggerLevels[LoggerLevels["ERROR"] = 4] = "ERROR";
|
|
92
|
+
LoggerLevels[LoggerLevels["CRITICAL"] = 5] = "CRITICAL";
|
|
93
|
+
})(LoggerLevels || (LoggerLevels = {}));
|
|
94
|
+
;
|
|
95
|
+
/**
|
|
96
|
+
* @description Route direction constants
|
|
97
|
+
* @summary Enum defining the possible navigation directions in the application.
|
|
98
|
+
* Used for controlling navigation flow and animation directions.
|
|
99
|
+
* @enum {string}
|
|
100
|
+
* @readonly
|
|
101
|
+
* @property {string} BACK - Navigate back to the previous page
|
|
102
|
+
* @property {string} FORWARD - Navigate forward to the next page
|
|
103
|
+
* @property {string} ROOT - Navigate to the root/home page
|
|
104
|
+
* @memberOf module:engine
|
|
105
|
+
*/
|
|
106
|
+
export var RouteDirections;
|
|
107
|
+
(function (RouteDirections) {
|
|
108
|
+
RouteDirections["BACK"] = "back";
|
|
109
|
+
RouteDirections["FORWARD"] = "forward";
|
|
110
|
+
RouteDirections["ROOT"] = "root";
|
|
111
|
+
})(RouteDirections || (RouteDirections = {}));
|
|
112
|
+
/**
|
|
113
|
+
* @description Component tag name constants
|
|
114
|
+
* @summary Enum defining the tag names for custom components used in the application.
|
|
115
|
+
* These tag names are used for component registration and rendering.
|
|
116
|
+
* @enum {string}
|
|
117
|
+
* @readonly
|
|
118
|
+
* @property {string} LIST_ITEM - Tag name for list item component
|
|
119
|
+
* @property {string} LIST_INFINITE - Tag name for infinite scrolling list component
|
|
120
|
+
* @property {string} LIST_PAGINATED - Tag name for paginated list component
|
|
121
|
+
* @memberOf module:engine
|
|
122
|
+
*/
|
|
123
|
+
export var ComponentsTagNames;
|
|
124
|
+
(function (ComponentsTagNames) {
|
|
125
|
+
ComponentsTagNames["LIST_ITEM"] = "ngx-decaf-list-item";
|
|
126
|
+
ComponentsTagNames["LIST_INFINITE"] = "ngx-decaf-list-infinite";
|
|
127
|
+
ComponentsTagNames["LIST_PAGINATED"] = "ngx-decaf-list-paginated";
|
|
128
|
+
})(ComponentsTagNames || (ComponentsTagNames = {}));
|
|
129
|
+
/**
|
|
130
|
+
* @description Base component property name constants
|
|
131
|
+
* @summary Enum defining the standard property names used by base components in the application.
|
|
132
|
+
* These property names are used for consistent property access across components.
|
|
133
|
+
* @enum {string}
|
|
134
|
+
* @readonly
|
|
135
|
+
* @property {string} MODEL - Property name for the component's data model
|
|
136
|
+
* @property {string} LOCALE - Property name for localization settings
|
|
137
|
+
* @property {string} PK - Property name for primary key
|
|
138
|
+
* @property {string} ITEMS - Property name for collection items
|
|
139
|
+
* @property {string} ROUTE - Property name for routing information
|
|
140
|
+
* @property {string} OPERATIONS - Property name for available operations
|
|
141
|
+
* @property {string} UID - Property name for unique identifier
|
|
142
|
+
* @property {string} TRANSLATABLE - Property name for translation flag
|
|
143
|
+
* @property {string} MAPPER - Property name for property mapper
|
|
144
|
+
* @property {string} INITIALIZED - Property name for initialization state
|
|
145
|
+
* @memberOf module:engine
|
|
146
|
+
*/
|
|
147
|
+
export var BaseComponentProps;
|
|
148
|
+
(function (BaseComponentProps) {
|
|
149
|
+
BaseComponentProps["MODEL"] = "model";
|
|
150
|
+
BaseComponentProps["LOCALE"] = "locale";
|
|
151
|
+
BaseComponentProps["PK"] = "pk";
|
|
152
|
+
BaseComponentProps["ITEMS"] = "items";
|
|
153
|
+
BaseComponentProps["ROUTE"] = "route";
|
|
154
|
+
BaseComponentProps["OPERATIONS"] = "operations";
|
|
155
|
+
BaseComponentProps["UID"] = "uid";
|
|
156
|
+
BaseComponentProps["TRANSLATABLE"] = "translatable";
|
|
157
|
+
BaseComponentProps["MAPPER"] = "mapper";
|
|
158
|
+
BaseComponentProps["INITIALIZED"] = "initialized";
|
|
159
|
+
})(BaseComponentProps || (BaseComponentProps = {}));
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLFdBQVc7SUFDckMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLGFBQWE7SUFDekIsUUFBUSxFQUFFLGNBQWM7SUFDeEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixNQUFNLEVBQUUsU0FBUztJQUNqQixxQkFBcUIsRUFBRSxxQkFBcUI7Q0FDN0MsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIseUVBQXVELENBQUE7SUFDdkQsZ0RBQThCLENBQUE7SUFDOUIsNENBQTBCLENBQUE7SUFDMUIsOENBQTRCLENBQUE7QUFDOUIsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sQ0FBTixJQUFZLFlBT1g7QUFQRCxXQUFZLFlBQVk7SUFDdEIsNkNBQU8sQ0FBQTtJQUNQLGlEQUFTLENBQUE7SUFDVCwrQ0FBUSxDQUFBO0lBQ1IsK0NBQVEsQ0FBQTtJQUNSLGlEQUFTLENBQUE7SUFDVCx1REFBWSxDQUFBO0FBQ2QsQ0FBQyxFQVBXLFlBQVksS0FBWixZQUFZLFFBT3ZCO0FBQUEsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLGdDQUFhLENBQUE7SUFDYixzQ0FBbUIsQ0FBQTtJQUNuQixnQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBR0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsdURBQWlDLENBQUE7SUFDakMsK0RBQXlDLENBQUE7SUFDekMsaUVBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFXWDtBQVhELFdBQVksa0JBQWtCO0lBQzVCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQiwrQkFBUyxDQUFBO0lBQ1QscUNBQWUsQ0FBQTtJQUNmLHFDQUFlLENBQUE7SUFDZiwrQ0FBeUIsQ0FBQTtJQUN6QixpQ0FBVyxDQUFBO0lBQ1gsbURBQTZCLENBQUE7SUFDN0IsdUNBQWlCLENBQUE7SUFDakIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFXN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUtleXMgfSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBWQUxJREFUSU9OX1BBUkVOVF9LRVkgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBbmd1bGFyIGVuZ2luZSBrZXkgY29uc3RhbnRzXG4gKiBAc3VtbWFyeSBDb250YWlucyBrZXkgc3RyaW5ncyB1c2VkIGJ5IHRoZSBBbmd1bGFyIHJlbmRlcmluZyBlbmdpbmUgZm9yIHJlZmxlY3Rpb24sXG4gKiBkeW5hbWljIGNvbXBvbmVudCBjcmVhdGlvbiwgYW5kIG90aGVyIGVuZ2luZSBvcGVyYXRpb25zLlxuICogQHR5cGVkZWYge09iamVjdH0gQW5ndWxhckVuZ2luZUtleXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRUZMRUNUIC0gUHJlZml4IGZvciByZWZsZWN0aW9uIG1ldGFkYXRhIGtleXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBEWU5BTUlDIC0gS2V5IGZvciBkeW5hbWljIGNvbXBvbmVudCBpZGVudGlmaWNhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IEFOTk9UQVRJT05TIC0gS2V5IGZvciBjb21wb25lbnQgYW5ub3RhdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBFQ01QIC0gS2V5IGZvciBlbWJlZGRlZCBjb21wb25lbnRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTkdfUkVGTEVDVCAtIFByZWZpeCBmb3IgQW5ndWxhciByZWZsZWN0aW9uIGF0dHJpYnV0ZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRU5ERVJFRCAtIFByZWZpeCBmb3IgcmVuZGVyZWQgY29tcG9uZW50IG1hcmtlcnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNQVBQRVIgLSBLZXkgZm9yIHByb3BlcnR5IG1hcHBlcnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBDSElMRFJFTiAtIEtleSBmb3IgY2hpbGQgY29tcG9uZW50c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1RBQkxFIC0gS2V5IGZvciBsaXN0YWJsZSBjb21wb25lbnRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVOREVSIC0gS2V5IGZvciByZW5kZXJhYmxlIGNvbXBvbmVudHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRU5ERVJFRF9JRCAtIFRlbXBsYXRlIGZvciByZW5kZXJlZCBjb21wb25lbnQgSURzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUEFSRU5UIC0gS2V5IGZvciBjb21wYXJpc29uIGRlY29yYXRvcnMgYW5kIHZhbGlkYXRvcnNcbiAqIEBjb25zdCBBbmd1bGFyRW5naW5lS2V5c1xuICogQG1lbWJlck9mIG1vZHVsZTplbmdpbmVcbiAqL1xuZXhwb3J0IGNvbnN0IEFuZ3VsYXJFbmdpbmVLZXlzID0ge1xuICBSRUZMRUNUOiBgJHtVSUtleXMuUkVGTEVDVH0uYW5ndWxhci5gLFxuICBEWU5BTUlDOiAnZHluYW1pYy1jb21wb25lbnQnLFxuICBBTk5PVEFUSU9OUzogJ19fYW5ub3RhdGlvbnNfXycsXG4gIEVDTVA6ICdlY21wJyxcbiAgTkdfUkVGTEVDVDogJ25nLXJlZmxlY3QtJyxcbiAgUkVOREVSRUQ6ICdyZW5kZXJlZC1hcy0nLFxuICBNQVBQRVI6ICdtYXBwZXInLFxuICBDSElMRFJFTjogJ2NoaWxkcmVuJyxcbiAgTElTVEFCTEU6ICdsaXN0YWJsZScsXG4gIFJFTkRFUjogJ3JlbmRlcicsXG4gIFJFTkRFUkVEX0lEOiAncmVuZGVyZWQtYXMtezB9JyxcbiAgUEFSRU5UOiAnX3BhcmVudCcsXG4gIFZBTElEQVRJT05fUEFSRU5UX0tFWTogVkFMSURBVElPTl9QQVJFTlRfS0VZXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGb3JtIHZhbGlkYXRpb24gc3RhdGUgY29uc3RhbnRzXG4gKiBAc3VtbWFyeSBDb250YWlucyBjb25zdGFudHMgcmVwcmVzZW50aW5nIHRoZSBwb3NzaWJsZSB2YWxpZGF0aW9uIHN0YXRlcyBvZiBhIGZvcm0uXG4gKiBUaGVzZSBhcmUgdXNlZCB0byBjaGVjayBhbmQgaGFuZGxlIGZvcm0gdmFsaWRhdGlvbiB0aHJvdWdob3V0IHRoZSBhcHBsaWNhdGlvbi5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IEZvcm1Db25zdGFudHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBWQUxJRCAtIENvbnN0YW50IHJlcHJlc2VudGluZyBhIHZhbGlkIGZvcm0gc3RhdGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJTlZBTElEIC0gQ29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGludmFsaWQgZm9ybSBzdGF0ZVxuICogQGNvbnN0IEZvcm1Db25zdGFudHNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCBjb25zdCBGb3JtQ29uc3RhbnRzID0ge1xuICBWQUxJRDogJ1ZBTElEJyxcbiAgSU5WQUxJRDogJ0lOVkFMSUQnLFxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXZlbnQgbmFtZSBjb25zdGFudHNcbiAqIEBzdW1tYXJ5IEVudW0gY29udGFpbmluZyBjb25zdGFudHMgZm9yIGV2ZW50IG5hbWVzIHVzZWQgdGhyb3VnaG91dCB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGVzZSBhcmUgdXNlZCB0byBzdGFuZGFyZGl6ZSBldmVudCBuYW1pbmcgYW5kIGhhbmRsaW5nLlxuICogQGVudW0ge3N0cmluZ31cbiAqIEByZWFkb25seVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEJBQ0tfQlVUVE9OX05BVklHQVRJT04gLSBFdmVudCBmaXJlZCB3aGVuIGJhY2sgYnV0dG9uIG5hdmlnYXRpb24gZW5kc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFJFRlJFU0hfRVZFTlQgLSBFdmVudCBmaXJlZCB3aGVuIGEgcmVmcmVzaCBhY3Rpb24gb2NjdXJzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQ0xJQ0tfRVZFTlQgLSBFdmVudCBmaXJlZCB3aGVuIGEgY2xpY2sgYWN0aW9uIG9jY3Vyc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFNVQk1JVF9FVkVOVCAtIEV2ZW50IGZpcmVkIHdoZW4gYSBmb3JtIHN1Ym1pc3Npb24gb2NjdXJzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgZW51bSBFdmVudENvbnN0YW50cyB7XG4gIEJBQ0tfQlVUVE9OX05BVklHQVRJT04gPSAnYmFja0J1dHRvbk5hdmlnYXRpb25FbmRFdmVudCcsXG4gIFJFRlJFU0hfRVZFTlQgPSAnUmVmcmVzaEV2ZW50JyxcbiAgQ0xJQ0tfRVZFTlQgPSAnQ2xpY2tFdmVudCcsXG4gIFNVQk1JVF9FVkVOVCA9ICdTdWJtaXRFdmVudCcsXG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIExvZ2dlciBsZXZlbCBjb25zdGFudHNcbiAqIEBzdW1tYXJ5IEVudW0gZGVmaW5pbmcgdGhlIGxvZ2dpbmcgbGV2ZWxzIHVzZWQgaW4gdGhlIGFwcGxpY2F0aW9uJ3MgbG9nZ2luZyBzeXN0ZW0uXG4gKiBMb3dlciB2YWx1ZXMgcmVwcmVzZW50IG1vcmUgdmVyYm9zZSBsb2dnaW5nLCB3aGlsZSBoaWdoZXIgdmFsdWVzIHJlcHJlc2VudCBtb3JlIGNyaXRpY2FsIGxvZ3MuXG4gKiBAZW51bSB7bnVtYmVyfVxuICogQHJlYWRvbmx5XG4gKiBAcHJvcGVydHkge251bWJlcn0gQUxMIC0gTG9nIGV2ZXJ5dGhpbmcgKG1vc3QgdmVyYm9zZSlcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBERUJVRyAtIExvZyBkZWJ1ZyBpbmZvcm1hdGlvblxuICogQHByb3BlcnR5IHtudW1iZXJ9IElORk8gLSBMb2cgaW5mb3JtYXRpb25hbCBtZXNzYWdlc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFdBUk4gLSBMb2cgd2FybmluZ3NcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBFUlJPUiAtIExvZyBlcnJvcnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBDUklUSUNBTCAtIExvZyBjcml0aWNhbCBlcnJvcnMgKGxlYXN0IHZlcmJvc2UpXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgZW51bSBMb2dnZXJMZXZlbHMge1xuICBBTEwgPSAwLFxuICBERUJVRyA9IDEsXG4gIElORk8gPSAyLFxuICBXQVJOID0gMyxcbiAgRVJST1IgPSA0LFxuICBDUklUSUNBTCA9IDVcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJvdXRlIGRpcmVjdGlvbiBjb25zdGFudHNcbiAqIEBzdW1tYXJ5IEVudW0gZGVmaW5pbmcgdGhlIHBvc3NpYmxlIG5hdmlnYXRpb24gZGlyZWN0aW9ucyBpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBVc2VkIGZvciBjb250cm9sbGluZyBuYXZpZ2F0aW9uIGZsb3cgYW5kIGFuaW1hdGlvbiBkaXJlY3Rpb25zLlxuICogQGVudW0ge3N0cmluZ31cbiAqIEByZWFkb25seVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEJBQ0sgLSBOYXZpZ2F0ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRk9SV0FSRCAtIE5hdmlnYXRlIGZvcndhcmQgdG8gdGhlIG5leHQgcGFnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFJPT1QgLSBOYXZpZ2F0ZSB0byB0aGUgcm9vdC9ob21lIHBhZ2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCBlbnVtIFJvdXRlRGlyZWN0aW9ucyB7XG4gIEJBQ0sgPSAnYmFjaycsXG4gIEZPUldBUkQgPSAnZm9yd2FyZCcsXG4gIFJPT1QgPSAncm9vdCcsXG59XG5cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50IHRhZyBuYW1lIGNvbnN0YW50c1xuICogQHN1bW1hcnkgRW51bSBkZWZpbmluZyB0aGUgdGFnIG5hbWVzIGZvciBjdXN0b20gY29tcG9uZW50cyB1c2VkIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIFRoZXNlIHRhZyBuYW1lcyBhcmUgdXNlZCBmb3IgY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhbmQgcmVuZGVyaW5nLlxuICogQGVudW0ge3N0cmluZ31cbiAqIEByZWFkb25seVxuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1RfSVRFTSAtIFRhZyBuYW1lIGZvciBsaXN0IGl0ZW0gY29tcG9uZW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElTVF9JTkZJTklURSAtIFRhZyBuYW1lIGZvciBpbmZpbml0ZSBzY3JvbGxpbmcgbGlzdCBjb21wb25lbnRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBMSVNUX1BBR0lOQVRFRCAtIFRhZyBuYW1lIGZvciBwYWdpbmF0ZWQgbGlzdCBjb21wb25lbnRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCBlbnVtIENvbXBvbmVudHNUYWdOYW1lcyB7XG4gIExJU1RfSVRFTSA9ICduZ3gtZGVjYWYtbGlzdC1pdGVtJyxcbiAgTElTVF9JTkZJTklURSA9ICduZ3gtZGVjYWYtbGlzdC1pbmZpbml0ZScsXG4gIExJU1RfUEFHSU5BVEVEID0gJ25neC1kZWNhZi1saXN0LXBhZ2luYXRlZCcsXG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEJhc2UgY29tcG9uZW50IHByb3BlcnR5IG5hbWUgY29uc3RhbnRzXG4gKiBAc3VtbWFyeSBFbnVtIGRlZmluaW5nIHRoZSBzdGFuZGFyZCBwcm9wZXJ0eSBuYW1lcyB1c2VkIGJ5IGJhc2UgY29tcG9uZW50cyBpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGVzZSBwcm9wZXJ0eSBuYW1lcyBhcmUgdXNlZCBmb3IgY29uc2lzdGVudCBwcm9wZXJ0eSBhY2Nlc3MgYWNyb3NzIGNvbXBvbmVudHMuXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gTU9ERUwgLSBQcm9wZXJ0eSBuYW1lIGZvciB0aGUgY29tcG9uZW50J3MgZGF0YSBtb2RlbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IExPQ0FMRSAtIFByb3BlcnR5IG5hbWUgZm9yIGxvY2FsaXphdGlvbiBzZXR0aW5nc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFBLIC0gUHJvcGVydHkgbmFtZSBmb3IgcHJpbWFyeSBrZXlcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJVEVNUyAtIFByb3BlcnR5IG5hbWUgZm9yIGNvbGxlY3Rpb24gaXRlbXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBST1VURSAtIFByb3BlcnR5IG5hbWUgZm9yIHJvdXRpbmcgaW5mb3JtYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBPUEVSQVRJT05TIC0gUHJvcGVydHkgbmFtZSBmb3IgYXZhaWxhYmxlIG9wZXJhdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBVSUQgLSBQcm9wZXJ0eSBuYW1lIGZvciB1bmlxdWUgaWRlbnRpZmllclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFRSQU5TTEFUQUJMRSAtIFByb3BlcnR5IG5hbWUgZm9yIHRyYW5zbGF0aW9uIGZsYWdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNQVBQRVIgLSBQcm9wZXJ0eSBuYW1lIGZvciBwcm9wZXJ0eSBtYXBwZXJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJTklUSUFMSVpFRCAtIFByb3BlcnR5IG5hbWUgZm9yIGluaXRpYWxpemF0aW9uIHN0YXRlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgZW51bSBCYXNlQ29tcG9uZW50UHJvcHMge1xuICBNT0RFTCA9ICdtb2RlbCcsXG4gIExPQ0FMRSA9ICdsb2NhbGUnLFxuICBQSyA9ICdwaycsXG4gIElURU1TID0gJ2l0ZW1zJyxcbiAgUk9VVEUgPSAncm91dGUnLFxuICBPUEVSQVRJT05TID0gJ29wZXJhdGlvbnMnLFxuICBVSUQgPSAndWlkJyxcbiAgVFJBTlNMQVRBQkxFID0gJ3RyYW5zbGF0YWJsZScsXG4gIE1BUFBFUiA9ICdtYXBwZXInLFxuICBJTklUSUFMSVpFRCA9ICdpbml0aWFsaXplZCcsXG59XG5cblxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { apply, metadata } from '@decaf-ts/reflection';
|
|
2
|
+
import { NgxRenderingEngine2 } from './NgxRenderingEngine2';
|
|
3
|
+
import { AngularEngineKeys } from './constants';
|
|
4
|
+
import { InternalError } from '@decaf-ts/db-decorators';
|
|
5
|
+
import { reflectComponentType } from '@angular/core';
|
|
6
|
+
/**
|
|
7
|
+
* @description Marks an Angular component as dynamically loadable
|
|
8
|
+
* @summary Decorator that registers an Angular component with the NgxRenderingEngine2 for dynamic loading.
|
|
9
|
+
* This decorator must be applied before the @Component decorator to properly extract component metadata.
|
|
10
|
+
* It adds metadata to the component class and registers it with the rendering engine using its selector.
|
|
11
|
+
* @function Dynamic
|
|
12
|
+
* @return {Function} A decorator function that can be applied to Angular component classes
|
|
13
|
+
* @mermaid
|
|
14
|
+
* sequenceDiagram
|
|
15
|
+
* participant C as Component Class
|
|
16
|
+
* participant D as Dynamic Decorator
|
|
17
|
+
* participant R as NgxRenderingEngine2
|
|
18
|
+
* participant M as Angular Metadata
|
|
19
|
+
* C->>D: Apply decorator
|
|
20
|
+
* D->>M: reflectComponentType()
|
|
21
|
+
* M-->>D: Return component metadata
|
|
22
|
+
* alt No metadata found
|
|
23
|
+
* D->>D: Throw InternalError
|
|
24
|
+
* else Metadata found
|
|
25
|
+
* D->>R: registerComponent(selector, constructor)
|
|
26
|
+
* D->>C: Apply metadata
|
|
27
|
+
* end
|
|
28
|
+
* @category Decorators
|
|
29
|
+
*/
|
|
30
|
+
export function Dynamic() {
|
|
31
|
+
return apply((original) => {
|
|
32
|
+
const metadata = reflectComponentType(original);
|
|
33
|
+
if (!metadata)
|
|
34
|
+
throw new InternalError(`Could not find Component metadata. @Dynamic decorator must come above @Component`);
|
|
35
|
+
NgxRenderingEngine2.registerComponent(metadata.selector, original);
|
|
36
|
+
}, metadata(NgxRenderingEngine2.key(AngularEngineKeys.DYNAMIC), true));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUUzRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPLEtBQUssQ0FDVixDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUF5QixDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFFBQVE7WUFDWCxNQUFNLElBQUksYUFBYSxDQUNyQixrRkFBa0YsQ0FDbkYsQ0FBQztRQUVKLG1CQUFtQixDQUFDLGlCQUFpQixDQUNuQyxRQUFRLENBQUMsUUFBUSxFQUNqQixRQUEyQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQyxFQUNELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ25FLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHksIG1ldGFkYXRhIH0gZnJvbSAnQGRlY2FmLXRzL3JlZmxlY3Rpb24nO1xuaW1wb3J0IHsgTmd4UmVuZGVyaW5nRW5naW5lMiB9IGZyb20gJy4vTmd4UmVuZGVyaW5nRW5naW5lMic7XG5pbXBvcnQgeyBBbmd1bGFyRW5naW5lS2V5cyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uJztcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tICdAZGVjYWYtdHMvZGItZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyByZWZsZWN0Q29tcG9uZW50VHlwZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNYXJrcyBhbiBBbmd1bGFyIGNvbXBvbmVudCBhcyBkeW5hbWljYWxseSBsb2FkYWJsZVxuICogQHN1bW1hcnkgRGVjb3JhdG9yIHRoYXQgcmVnaXN0ZXJzIGFuIEFuZ3VsYXIgY29tcG9uZW50IHdpdGggdGhlIE5neFJlbmRlcmluZ0VuZ2luZTIgZm9yIGR5bmFtaWMgbG9hZGluZy5cbiAqIFRoaXMgZGVjb3JhdG9yIG11c3QgYmUgYXBwbGllZCBiZWZvcmUgdGhlIEBDb21wb25lbnQgZGVjb3JhdG9yIHRvIHByb3Blcmx5IGV4dHJhY3QgY29tcG9uZW50IG1ldGFkYXRhLlxuICogSXQgYWRkcyBtZXRhZGF0YSB0byB0aGUgY29tcG9uZW50IGNsYXNzIGFuZCByZWdpc3RlcnMgaXQgd2l0aCB0aGUgcmVuZGVyaW5nIGVuZ2luZSB1c2luZyBpdHMgc2VsZWN0b3IuXG4gKiBAZnVuY3Rpb24gRHluYW1pY1xuICogQHJldHVybiB7RnVuY3Rpb259IEEgZGVjb3JhdG9yIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gQW5ndWxhciBjb21wb25lbnQgY2xhc3Nlc1xuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDIGFzIENvbXBvbmVudCBDbGFzc1xuICogICBwYXJ0aWNpcGFudCBEIGFzIER5bmFtaWMgRGVjb3JhdG9yXG4gKiAgIHBhcnRpY2lwYW50IFIgYXMgTmd4UmVuZGVyaW5nRW5naW5lMlxuICogICBwYXJ0aWNpcGFudCBNIGFzIEFuZ3VsYXIgTWV0YWRhdGFcbiAqICAgQy0+PkQ6IEFwcGx5IGRlY29yYXRvclxuICogICBELT4+TTogcmVmbGVjdENvbXBvbmVudFR5cGUoKVxuICogICBNLS0+PkQ6IFJldHVybiBjb21wb25lbnQgbWV0YWRhdGFcbiAqICAgYWx0IE5vIG1ldGFkYXRhIGZvdW5kXG4gKiAgICAgRC0+PkQ6IFRocm93IEludGVybmFsRXJyb3JcbiAqICAgZWxzZSBNZXRhZGF0YSBmb3VuZFxuICogICAgIEQtPj5SOiByZWdpc3RlckNvbXBvbmVudChzZWxlY3RvciwgY29uc3RydWN0b3IpXG4gKiAgICAgRC0+PkM6IEFwcGx5IG1ldGFkYXRhXG4gKiAgIGVuZFxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIER5bmFtaWMoKSB7XG4gIHJldHVybiBhcHBseShcbiAgICAob3JpZ2luYWw6IG9iamVjdCkgPT4ge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSByZWZsZWN0Q29tcG9uZW50VHlwZShvcmlnaW5hbCBhcyBUeXBlPHVua25vd24+KTtcblxuICAgICAgaWYgKCFtZXRhZGF0YSlcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYENvdWxkIG5vdCBmaW5kIENvbXBvbmVudCBtZXRhZGF0YS4gQER5bmFtaWMgZGVjb3JhdG9yIG11c3QgY29tZSBhYm92ZSBAQ29tcG9uZW50YFxuICAgICAgICApO1xuXG4gICAgICBOZ3hSZW5kZXJpbmdFbmdpbmUyLnJlZ2lzdGVyQ29tcG9uZW50KFxuICAgICAgICBtZXRhZGF0YS5zZWxlY3RvcixcbiAgICAgICAgb3JpZ2luYWwgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3Rvcjx1bmtub3duPlxuICAgICAgKTtcbiAgICB9LFxuICAgIG1ldGFkYXRhKE5neFJlbmRlcmluZ0VuZ2luZTIua2V5KEFuZ3VsYXJFbmdpbmVLZXlzLkRZTkFNSUMpLCB0cnVlKVxuICApO1xufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module engine
|
|
3
|
+
* @description Angular rendering engine for Decaf applications
|
|
4
|
+
* @summary The engine module provides core functionality for rendering Angular components
|
|
5
|
+
* in Decaf applications. It includes constants, decorators, rendering engines, and utility types
|
|
6
|
+
* that enable dynamic component creation, property mapping, and component lifecycle management.
|
|
7
|
+
* Key exports include {@link NgxRenderingEngine}, {@link DynamicModule}, and various decorators
|
|
8
|
+
* for component configuration.
|
|
9
|
+
*/
|
|
10
|
+
export * from './constants';
|
|
11
|
+
export * from './decorators';
|
|
12
|
+
export * from './DynamicModule';
|
|
13
|
+
export * from './NgxRenderingEngine';
|
|
14
|
+
export * from './NgxRenderingEngine2';
|
|
15
|
+
export * from './types';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGVuZ2luZVxuICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgcmVuZGVyaW5nIGVuZ2luZSBmb3IgRGVjYWYgYXBwbGljYXRpb25zXG4gKiBAc3VtbWFyeSBUaGUgZW5naW5lIG1vZHVsZSBwcm92aWRlcyBjb3JlIGZ1bmN0aW9uYWxpdHkgZm9yIHJlbmRlcmluZyBBbmd1bGFyIGNvbXBvbmVudHNcbiAqIGluIERlY2FmIGFwcGxpY2F0aW9ucy4gSXQgaW5jbHVkZXMgY29uc3RhbnRzLCBkZWNvcmF0b3JzLCByZW5kZXJpbmcgZW5naW5lcywgYW5kIHV0aWxpdHkgdHlwZXNcbiAqIHRoYXQgZW5hYmxlIGR5bmFtaWMgY29tcG9uZW50IGNyZWF0aW9uLCBwcm9wZXJ0eSBtYXBwaW5nLCBhbmQgY29tcG9uZW50IGxpZmVjeWNsZSBtYW5hZ2VtZW50LlxuICogS2V5IGV4cG9ydHMgaW5jbHVkZSB7QGxpbmsgTmd4UmVuZGVyaW5nRW5naW5lfSwge0BsaW5rIER5bmFtaWNNb2R1bGV9LCBhbmQgdmFyaW91cyBkZWNvcmF0b3JzXG4gKiBmb3IgY29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL0R5bmFtaWNNb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9OZ3hSZW5kZXJpbmdFbmdpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9OZ3hSZW5kZXJpbmdFbmdpbmUyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW9uQ2hlY2tib3gsIElvbklucHV0LCBJb25TZWxlY3QsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVGV4dEZpZWxkVHlwZXMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudEluamVjdG9yLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkUHJvcGVydGllcyB9IGZyb20gJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCB0eXBlIEtleVZhbHVlID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCB0eXBlIEZ1bmN0aW9uTGlrZSA9ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFbGVtZW50IHNpemUgb3B0aW9ucyBmb3IgVUkgY29tcG9uZW50c1xuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgcG9zc2libGUgc2l6ZSB2YWx1ZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBVSSBlbGVtZW50cy5cbiAqIFRoZXNlIHNpemVzIGNvbnRyb2wgdGhlIGRpbWVuc2lvbnMgYW5kIGxheW91dCBiZWhhdmlvciBvZiBjb21wb25lbnRzLlxuICogQHR5cGVkZWYgeygnc21hbGwnfCdtZWRpdW0nfCdsYXJnZSd8J3hsYXJnZSd8JzJ4bGFyZ2UnfCdhdXRvJ3wnZXhwYW5kJ3wnYmxvY2snKX0gRWxlbWVudFNpemVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgdHlwZSBFbGVtZW50U2l6ZXMgPVxuICB8ICdzbWFsbCdcbiAgfCAnbWVkaXVtJ1xuICB8ICdsYXJnZSdcbiAgfCAneGxhcmdlJ1xuICB8ICcyeGxhcmdlJ1xuICB8ICdhdXRvJ1xuICB8ICdleHBhbmQnXG4gIHwgJ2Jsb2NrJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQmFzaWMgcG9zaXRpb24gb3B0aW9ucyBmb3IgVUkgZWxlbWVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHBvc3NpYmxlIHBvc2l0aW9uIHZhbHVlcyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIFVJIGVsZW1lbnRzLlxuICogVGhlc2UgcG9zaXRpb25zIGNvbnRyb2wgdGhlIGFsaWdubWVudCBhbmQgcGxhY2VtZW50IG9mIGNvbXBvbmVudHMuXG4gKiBAdHlwZWRlZiB7KCdsZWZ0J3wnY2VudGVyJ3wncmlnaHQnfCd0b3AnfCdib3R0b20nKX0gRWxlbWVudFBvc2l0aW9uc1xuICogQG1lbWJlck9mIG1vZHVsZTplbmdpbmVcbiAqL1xuZXhwb3J0IHR5cGUgRWxlbWVudFBvc2l0aW9ucyA9ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEV4dGVuZGVkIHBvc2l0aW9uIG9wdGlvbnMgZm9yIGZsZXggbGF5b3V0c1xuICogQHN1bW1hcnkgRXh0ZW5kcyB0aGUgYmFzaWMgRWxlbWVudFBvc2l0aW9ucyB3aXRoIGFkZGl0aW9uYWwgZmxleC1zcGVjaWZpYyBwb3NpdGlvbiB2YWx1ZXMuXG4gKiBUaGVzZSBwb3NpdGlvbnMgYXJlIHVzZWQgZm9yIGNvbnRyb2xsaW5nIGFsaWdubWVudCBhbmQgZGlzdHJpYnV0aW9uIGluIGZsZXggY29udGFpbmVycy5cbiAqIEB0eXBlZGVmIHsoRWxlbWVudFBvc2l0aW9uc3wnc3RyZXRjaCd8J21pZGRsZSd8J2Fyb3VuZCd8J2JldHdlZW4nKX0gRmxleFBvc2l0aW9uc1xuICogQG1lbWJlck9mIG1vZHVsZTplbmdpbmVcbiAqL1xuZXhwb3J0IHR5cGUgRmxleFBvc2l0aW9ucyA9XG4gIHwgRWxlbWVudFBvc2l0aW9uc1xuICB8ICdzdHJldGNoJ1xuICB8ICdtaWRkbGUnXG4gIHwgJ2Fyb3VuZCdcbiAgfCAnYmV0d2Vlbic7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFVwZGF0ZSBtb2RlIG9wdGlvbnMgZm9yIGZvcm0gZmllbGRzXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgc2hvdWxkIGJlIHVwZGF0ZWQgaW4gdGhlIG1vZGVsLlxuICogLSAnY2hhbmdlJzogVXBkYXRlIG9uIGV2ZXJ5IGNoYW5nZSBldmVudFxuICogLSAnYmx1cic6IFVwZGF0ZSB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1c1xuICogLSAnc3VibWl0JzogVXBkYXRlIG9ubHkgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWRcbiAqIEB0eXBlZGVmIHsoJ2NoYW5nZSd8J2JsdXInfCdzdWJtaXQnKX0gRmllbGRVcGRhdGVNb2RlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgdHlwZSBGaWVsZFVwZGF0ZU1vZGUgPSAnY2hhbmdlJyB8ICdibHVyJyB8ICdzdWJtaXQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNZXRhZGF0YSBzdHJ1Y3R1cmUgZm9yIEFuZ3VsYXIgY29tcG9uZW50c1xuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIG1ldGFkYXRhIGZvciBBbmd1bGFyIGNvbXBvbmVudHMsIGluY2x1ZGluZ1xuICogY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneSwgc2VsZWN0b3IsIHN0YW5kYWxvbmUgc3RhdHVzLCBpbXBvcnRzLCB0ZW1wbGF0ZSwgYW5kIHN0eWxlcy5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgcmVmbGVjdGlvbiBhbmQgZHluYW1pYyBjb21wb25lbnQgY3JlYXRpb24uXG4gKiBAaW50ZXJmYWNlIENvbXBvbmVudE1ldGFkYXRhXG4gKiBAcHJvcGVydHkge251bWJlcn0gY2hhbmdlRGV0ZWN0aW9uIC0gVGhlIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgbnVtYmVyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0b3IgLSBUaGUgQ1NTIHNlbGVjdG9yIGZvciB0aGUgY29tcG9uZW50XG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHN0YW5kYWxvbmUgLSBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgc3RhbmRhbG9uZVxuICogQHByb3BlcnR5IGltcG9ydHMgLSBBcnJheSBvZiBpbXBvcnRlZCBtb2R1bGVzL2NvbXBvbmVudHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0ZW1wbGF0ZSAtIFRoZSBIVE1MIHRlbXBsYXRlIGZvciB0aGUgY29tcG9uZW50XG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBzdHlsZXMgLSBBcnJheSBvZiBDU1Mgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudE1ldGFkYXRhIHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBudW1iZXI7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIHN0YW5kYWxvbmU6IGJvb2xlYW47XG4gIGltcG9ydHM6IChuZXcgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bilbXTtcbiAgdGVtcGxhdGU6IHN0cmluZztcbiAgc3R5bGVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT3V0cHV0IHN0cnVjdHVyZSBmcm9tIHRoZSBBbmd1bGFyIHJlbmRlcmluZyBlbmdpbmVcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiB0aGUgb3V0cHV0IHByb2R1Y2VkIGJ5IHRoZSBOZ3hSZW5kZXJpbmdFbmdpbmVcbiAqIHdoZW4gcmVuZGVyaW5nIGEgY29tcG9uZW50LiBDb250YWlucyB0aGUgY29tcG9uZW50IHR5cGUsIGlucHV0cywgaW5qZWN0b3IsXG4gKiBjb250ZW50IG5vZGVzLCBhbmQgY2hpbGQgY29tcG9uZW50cy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IEFuZ3VsYXJEeW5hbWljT3V0cHV0XG4gKiBAcHJvcGVydHkge1R5cGU8dW5rbm93bj59IGNvbXBvbmVudCAtIFRoZSBBbmd1bGFyIGNvbXBvbmVudCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3JlbmRlcmVySWRdIC0gT3B0aW9uYWwgdW5pcXVlIElEIGZvciB0aGUgcmVuZGVyZWQgY29tcG9uZW50XG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbaW5wdXRzXSAtIE9wdGlvbmFsIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoZSBjb21wb25lbnRcbiAqIEBwcm9wZXJ0eSB7SW5qZWN0b3J9IFtpbmplY3Rvcl0gLSBPcHRpb25hbCBBbmd1bGFyIGluamVjdG9yIGZvciBkZXBlbmRlbmN5IGluamVjdGlvblxuICogQHByb3BlcnR5IHtOb2RlW11bXX0gW2NvbnRlbnRdIC0gT3B0aW9uYWwgY29udGVudCBub2RlcyBmb3IgcHJvamVjdGlvblxuICogQHByb3BlcnR5IHtBbmd1bGFyRHluYW1pY091dHB1dFtdfSBbY2hpbGRyZW5dIC0gT3B0aW9uYWwgY2hpbGQgY29tcG9uZW50c1xuICogQHByb3BlcnR5IHtUeXBlPHVua25vd24+fSBbaW5zdGFuY2VdIC0gT3B0aW9uYWwgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcHJvcGVydHkge0Zvcm1Hcm91cH0gW2Zvcm1Hcm91cF0gLSBPcHRpb25hbCBjb21wb25lbnQgRm9ybUdyb3VwXG4gKiBAcHJvcGVydHkge0Zvcm1Db250cm9sfSBbZm9ybUNvbnRyb2xdIC0gT3B0aW9uYWwgY29tcG9uZW50IEZvcm1Db250cm9sXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJEeW5hbWljT3V0cHV0IHtcbiAgY29tcG9uZW50OiBUeXBlPHVua25vd24+O1xuICByZW5kZXJlcklkPzogc3RyaW5nO1xuICBpbnB1dHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgaW5qZWN0b3I/OiBJbmplY3RvcjtcbiAgY29udGVudD86IE5vZGVbXVtdO1xuICBjaGlsZHJlbj86IEFuZ3VsYXJEeW5hbWljT3V0cHV0W107XG4gIGluc3RhbmNlPzogVHlwZTx1bmtub3duPjtcbiAgZm9ybUdyb3VwPzogRm9ybUdyb3VwO1xuICBmb3JtQ29udHJvbD86IEZvcm1Db250cm9sO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIG1vZGVscyB0aGF0IGNhbiBiZSByZW5kZXJlZFxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgYmFzaWMgc3RydWN0dXJlIGZvciBtb2RlbHMgdGhhdCBjYW4gYmUgcmVuZGVyZWQgYnkgdGhlIGVuZ2luZS5cbiAqIENvbnRhaW5zIGFuIG9wdGlvbmFsIHJlbmRlcmVySWQgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSByZW5kZXJlZCBpbnN0YW5jZS5cbiAqIEBpbnRlcmZhY2UgUmVuZGVyZWRNb2RlbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtyZW5kZXJlcklkXSAtIE9wdGlvbmFsIHVuaXF1ZSBJRCBmb3IgdGhlIHJlbmRlcmVkIG1vZGVsIGluc3RhbmNlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlcmVkTW9kZWwge1xuICByZW5kZXJlcklkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBQb3NzaWJsZSBpbnB1dCB0eXBlcyBmb3IgZm9ybSBmaWVsZHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHBvc3NpYmxlIGlucHV0IHR5cGVzIHRoYXQgY2FuIGJlIHVzZWQgaW4gZm9ybSBmaWVsZHMuXG4gKiBJbmNsdWRlcyBzdGFuZGFyZCBIVE1MIGlucHV0IHR5cGVzIGxpa2UgY2hlY2tib3gsIHJhZGlvLCBhbmQgc2VsZWN0LFxuICogYXMgd2VsbCBhcyBJb25pYydzIFRleHRGaWVsZFR5cGVzIGFuZCB0ZXh0YXJlYS5cbiAqIEB0eXBlZGVmIHsoJ2NoZWNrYm94J3wncmFkaW8nfCdzZWxlY3QnfFRleHRGaWVsZFR5cGVzfCd0ZXh0YXJlYScpfSBQb3NzaWJsZUlucHV0VHlwZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCB0eXBlIFBvc3NpYmxlSW5wdXRUeXBlcyA9XG4gIHwgJ2NoZWNrYm94J1xuICB8ICdyYWRpbydcbiAgfCAnc2VsZWN0J1xuICB8IFRleHRGaWVsZFR5cGVzXG4gIHwgJ3RleHRhcmVhJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmllbGQgZGVmaW5pdGlvbiBmb3IgQW5ndWxhciBjb21wb25lbnRzXG4gKiBAc3VtbWFyeSBBIGNvbXByZWhlbnNpdmUgdHlwZSB0aGF0IGNvbWJpbmVzIHByb3BlcnRpZXMgZnJvbSB2YXJpb3VzIElvbmljIGNvbXBvbmVudHNcbiAqIHRvIGRlZmluZSB0aGUgc3RydWN0dXJlIG9mIGEgZmllbGQgaW4gYW4gQW5ndWxhciBmb3JtLiBJdCBvbWl0cyBjZXJ0YWluIHByb3BlcnRpZXNcbiAqIGZyb20gSW9uSW5wdXQsIHBpY2tzIHNwZWNpZmljIHByb3BlcnRpZXMgZnJvbSBJb25TZWxlY3QsIElvblRleHRhcmVhLCBhbmQgSW9uQ2hlY2tib3gsXG4gKiBhbmQgYWRkcyBjdXN0b20gcHJvcGVydGllcyBsaWtlIHR5cGUgYW5kIGNsYXNzTmFtZS5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IEFuZ3VsYXJGaWVsZERlZmluaXRpb25cbiAqIEBwcm9wZXJ0eSB7UG9zc2libGVJbnB1dFR5cGVzfSB0eXBlIC0gVGhlIHR5cGUgb2YgaW5wdXQgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHN0cmluZ1tdfSBjbGFzc05hbWUgLSBDU1MgY2xhc3MgbmFtZShzKSBmb3IgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NhbmNlbFRleHRdIC0gVGV4dCBmb3IgdGhlIGNhbmNlbCBidXR0b24gKGZyb20gSW9uU2VsZWN0KVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpbnRlcmZhY2VdIC0gSW50ZXJmYWNlIHN0eWxlIGZvciBzZWxlY3QgKGZyb20gSW9uU2VsZWN0KVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzZWxlY3RlZFRleHRdIC0gVGV4dCBmb3Igc2VsZWN0ZWQgb3B0aW9uIChmcm9tIElvblNlbGVjdClcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBbaW50ZXJmYWNlT3B0aW9uc10gLSBPcHRpb25zIGZvciB0aGUgaW50ZXJmYWNlIChmcm9tIElvblNlbGVjdClcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcm93c10gLSBOdW1iZXIgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKGZyb20gSW9uVGV4dGFyZWEpXG4gKiBAcHJvcGVydHkge251bWJlcn0gW2NvbHNdIC0gTnVtYmVyIG9mIGNvbHVtbnMgZm9yIHRleHRhcmVhIChmcm9tIElvblRleHRhcmVhKVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthbGlnbm1lbnRdIC0gQWxpZ25tZW50IG9mIGNoZWNrYm94IChmcm9tIElvbkNoZWNrYm94KVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtqdXN0aWZ5XSAtIEp1c3RpZmljYXRpb24gb2YgY2hlY2tib3ggKGZyb20gSW9uQ2hlY2tib3gpXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtjaGVja2VkXSAtIFdoZXRoZXIgY2hlY2tib3ggaXMgY2hlY2tlZCAoZnJvbSBJb25DaGVja2JveClcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCB0eXBlIEFuZ3VsYXJGaWVsZERlZmluaXRpb24gPSBPbWl0PFxuICBJb25JbnB1dCxcbiAgfCAnaW9uSW5wdXQnXG4gIHwgJ2lvbkZvY3VzJ1xuICB8ICdpb25DaGFuZ2UnXG4gIHwgJ2lvbkJsdXInXG4gIHwgJ2dldElucHV0RWxlbWVudCdcbiAgfCAnc2V0Rm9jdXMnXG4gIHwgJ2xhYmVsJ1xuICB8ICdlbCdcbiAgfCAneidcbiAgfCAndHlwZSdcbj4gJlxuICBQaWNrPFxuICAgIElvblNlbGVjdCxcbiAgICAnY2FuY2VsVGV4dCcgfCAnaW50ZXJmYWNlJyB8ICdzZWxlY3RlZFRleHQnIHwgJ2ludGVyZmFjZU9wdGlvbnMnXG4gID4gJlxuICBQaWNrPElvblRleHRhcmVhLCAncm93cycgfCAnY29scyc+ICZcbiAgUGljazxJb25DaGVja2JveCwgJ2FsaWdubWVudCcgfCAnanVzdGlmeScgfCAnY2hlY2tlZCc+ICYge1xuICB0eXBlOiBQb3NzaWJsZUlucHV0VHlwZXM7XG4gIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG59ICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFN0cmluZyBvciBib29sZWFuIHJlcHJlc2VudGF0aW9uIG9mIGEgYm9vbGVhbiB2YWx1ZVxuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIHZhbHVlIHRoYXQgY2FuIGJlIGVpdGhlciBhIGJvb2xlYW4gb3IgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBib29sZWFuLlxuICogVGhpcyBpcyB1c2VmdWwgZm9yIGhhbmRsaW5nIGF0dHJpYnV0ZSB2YWx1ZXMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIGFzIGVpdGhlciBzdHJpbmdzIG9yIGJvb2xlYW5zLlxuICogQHR5cGVkZWYgeygndHJ1ZSd8J2ZhbHNlJ3xib29sZWFuKX0gU3RyaW5nT3JCb29sZWFuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgdHlwZSBTdHJpbmdPckJvb2xlYW4gPSAndHJ1ZScgfCAnZmFsc2UnIHwgYm9vbGVhbjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT3B0aW9uIHR5cGUgZm9yIHNlbGVjdCBpbnB1dHNcbiAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIElucHV0T3B0aW9uIGludGVyZmFjZSB3aXRoIGEgc2VsZWN0ZWQgcHJvcGVydHkgdG8gaW5kaWNhdGVcbiAqIHdoZXRoZXIgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0LlxuICogQG1lbWJlck9mIG1vZHVsZTplbmdpbmVcbiAqL1xuZXhwb3J0IHR5cGUgU2VsZWN0T3B0aW9uID0gSW5wdXRPcHRpb24gJiB7IHNlbGVjdGVkPzogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBPcHRpb24gdHlwZSBmb3IgcmFkaW8gaW5wdXRzXG4gKiBAc3VtbWFyeSBFeHRlbmRzIHRoZSBJbnB1dE9wdGlvbiBpbnRlcmZhY2Ugd2l0aCBhIGNoZWNrZWQgcHJvcGVydHkgdG8gaW5kaWNhdGVcbiAqIHdoZXRoZXIgdGhlIG9wdGlvbiBpcyBjaGVja2VkIGJ5IGRlZmF1bHQuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgdHlwZSBSYWRpb09wdGlvbiA9IElucHV0T3B0aW9uICYgeyBjaGVja2VkPzogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBPcHRpb24gdHlwZSBmb3IgY2hlY2tib3ggaW5wdXRzXG4gKiBAc3VtbWFyeSBBbGlhcyBmb3IgUmFkaW9PcHRpb24sIGFzIGNoZWNrYm94IG9wdGlvbnMgaGF2ZSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgcmFkaW8gb3B0aW9ucy5cbiAqIEB0eXBlZGVmIHtSYWRpb09wdGlvbn0gQ2hlY2tib3hPcHRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCB0eXBlIENoZWNrYm94T3B0aW9uID0gUmFkaW9PcHRpb247XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEJhc2Ugb3B0aW9uIHR5cGUgZm9yIGlucHV0IGNvbXBvbmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGNvbW1vbiBzdHJ1Y3R1cmUgZm9yIG9wdGlvbnMgdXNlZCBpbiBzZWxlY3QsIHJhZGlvLCBhbmQgY2hlY2tib3ggaW5wdXRzLlxuICogQ29udGFpbnMgcHJvcGVydGllcyBmb3IgdGhlIGRpc3BsYXkgdGV4dCwgdmFsdWUsIGRpc2FibGVkIHN0YXRlLCBDU1MgY2xhc3MsIGFuZCBpY29uLlxuICogQGludGVyZmFjZSBJbnB1dE9wdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRleHQgLSBUaGUgZGlzcGxheSB0ZXh0IGZvciB0aGUgb3B0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ3xudW1iZXJ9IHZhbHVlIC0gVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3B0aW9uXG4gKiBAcHJvcGVydHkge1N0cmluZ09yQm9vbGVhbn0gW2Rpc2FibGVkXSAtIFdoZXRoZXIgdGhlIG9wdGlvbiBpcyBkaXNhYmxlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjbGFzc05hbWVdIC0gQ1NTIGNsYXNzIG5hbWUgZm9yIHN0eWxpbmcgdGhlIG9wdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpY29uXSAtIEljb24gdG8gZGlzcGxheSB3aXRoIHRoZSBvcHRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRPcHRpb24ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIGRpc2FibGVkPzogU3RyaW5nT3JCb29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRhcmdldCBvcHRpb25zIGZvciBIVE1MIGZvcm1zXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBwb3NzaWJsZSB0YXJnZXQgdmFsdWVzIGZvciBIVE1MIGZvcm1zLCBpbmNsdWRpbmcgc3RhbmRhcmQgdGFyZ2V0c1xuICogbGlrZSAnX2JsYW5rJywgJ19zZWxmJywgJ19wYXJlbnQnLCBhbmQgJ190b3AnLCBhcyB3ZWxsIGFzIGN1c3RvbSBzdHJpbmcgdmFsdWVzLlxuICogQHR5cGVkZWYgeygnX2JsYW5rJ3wnX3NlbGYnfCdfcGFyZW50J3wnX3RvcCd8c3RyaW5nKX0gSFRNTEZvcm1UYXJnZXRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCB0eXBlIEhUTUxGb3JtVGFyZ2V0ID0gJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnIHwgc3RyaW5nO1xuXG4vLyBleHBvcnQgaW50ZXJmYWNlIElMaXN0SXRlbVByb3Age1xuLy8gICByZW5kZXI/OiBzdHJpbmcgfCBib29sZWFuO1xuLy8gICB0cmFuc2xhdGVQcm9wcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuLy8gICBidXR0b24/OiBTdHJpbmdPckJvb2xlYW47XG4vLyAgIGljb24/OiBzdHJpbmc7XG4vLyAgIGljb25TbG90PzogJ3N0YXJ0JyB8ICdlbmQnO1xuLy8gICB0aXRsZT86IHN0cmluZztcbi8vICAgZGVzY3JpdHBpb24/OiBzdHJpbmc7XG4vLyAgIGluZm8/OiBzdHJpbmc7XG4vLyAgIHN1YmluZm8/OiBzdHJpbmc7XG4vLyB9XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgbGlzdCBjb21wb25lbnQgcmVmcmVzaCBldmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIHJlZnJlc2ggZXZlbnQgZm9yIGxpc3QgY29tcG9uZW50cy5cbiAqIENvbnRhaW5zIGFuIGFycmF5IG9mIGtleS12YWx1ZSBwYWlycyByZXByZXNlbnRpbmcgdGhlIG5ldyBkYXRhIGZvciB0aGUgbGlzdC5cbiAqIEBpbnRlcmZhY2UgSUxpc3RDb21wb25lbnRSZWZyZXNoRXZlbnRcbiAqIEBwcm9wZXJ0eSB7S2V5VmFsdWVbXX0gZGF0YSAtIEFycmF5IG9mIGtleS12YWx1ZSBwYWlycyByZXByZXNlbnRpbmcgdGhlIG5ldyBkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29tcG9uZW50UmVmcmVzaEV2ZW50IHtcbiAgZGF0YTogS2V5VmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2VydmljZUNvbnRyb2wge1xuICBjb250cm9sOiBGb3JtR3JvdXA7XG4gIHByb3BzOiBBbmd1bGFyRmllbGREZWZpbml0aW9uO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGZvciBmb3JtIHNlcnZpY2UgY29udHJvbHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBmb3JtIGNvbnRyb2xzIG1hbmFnZWQgYnkgdGhlIGZvcm0gc2VydmljZS5cbiAqIEl0J3MgYSBuZXN0ZWQgcmVjb3JkIHdoZXJlIHRoZSBvdXRlciBrZXkgaXMgdGhlIGZvcm0gZ3JvdXAgbmFtZSwgdGhlIGlubmVyIGtleVxuICogaXMgdGhlIGNvbnRyb2wgbmFtZSwgYW5kIHRoZSB2YWx1ZSBjb250YWlucyB0aGUgZm9ybSBncm91cCBhbmQgZmllbGQgcHJvcGVydGllcy5cbiAqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB7IGNvbnRyb2w6IEZvcm1Hcm91cDsgcHJvcHM6IEFuZ3VsYXJGaWVsZERlZmluaXRpb24gfT4+fSBGb3JtU2VydmljZUNvbnRyb2xzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgdHlwZSBGb3JtU2VydmljZUNvbnRyb2xzID0gUmVjb3JkPFxuICBzdHJpbmcsXG4gIFJlY29yZDxzdHJpbmcsIEZvcm1TZXJ2aWNlQ29udHJvbD5cbj47XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgbW9kZWwgcmVuZGVyIGN1c3RvbSBldmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBjdXN0b20gZXZlbnRzIHRyaWdnZXJlZCBkdXJpbmcgbW9kZWwgcmVuZGVyaW5nLlxuICogQ29udGFpbnMgdGhlIGV2ZW50IGRldGFpbCwgY29tcG9uZW50IG5hbWUsIGFuZCBldmVudCBuYW1lLlxuICogQGludGVyZmFjZSBNb2RlbFJlbmRlckN1c3RvbUV2ZW50XG4gKiBAcHJvcGVydHkge0Jhc2VDdXN0b21FdmVudH0gZGV0YWlsIC0gVGhlIGRldGFpbGVkIGV2ZW50IGluZm9ybWF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsUmVuZGVyQ3VzdG9tRXZlbnQge1xuICBkZXRhaWw6IEJhc2VDdXN0b21FdmVudDtcbiAgY29tcG9uZW50OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBsaXN0IGl0ZW0gY3VzdG9tIGV2ZW50c1xuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIGN1c3RvbSBldmVudHMgdHJpZ2dlcmVkIGJ5IGxpc3QgaXRlbXMuXG4gKiBFeHRlbmRzIEJhc2VDdXN0b21FdmVudCB3aXRoIGFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgdGhlIGFjdGlvbiBhbmQgcHJpbWFyeSBrZXkuXG4gKiBAaW50ZXJmYWNlIExpc3RJdGVtQ3VzdG9tRXZlbnRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhY3Rpb24gLSBUaGUgYWN0aW9uIHBlcmZvcm1lZCBvbiB0aGUgbGlzdCBpdGVtXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3BrXSAtIE9wdGlvbmFsIHByaW1hcnkga2V5IG9mIHRoZSBhZmZlY3RlZCBpdGVtXG4gKiBAcHJvcGVydHkge2FueX0gZGF0YSAtIFRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnQgKGluaGVyaXRlZCBmcm9tIEJhc2VDdXN0b21FdmVudClcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IFt0YXJnZXRdIC0gVGhlIHRhcmdldCBlbGVtZW50IChpbmhlcml0ZWQgZnJvbSBCYXNlQ3VzdG9tRXZlbnQpXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50IChpbmhlcml0ZWQgZnJvbSBCYXNlQ3VzdG9tRXZlbnQpXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQgKGluaGVyaXRlZCBmcm9tIEJhc2VDdXN0b21FdmVudClcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEl0ZW1DdXN0b21FdmVudCBleHRlbmRzIEJhc2VDdXN0b21FdmVudCB7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBwaz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQmFzZSBpbnRlcmZhY2UgZm9yIGN1c3RvbSBldmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGJhc2Ugc3RydWN0dXJlIGZvciBjdXN0b20gZXZlbnRzIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIENvbnRhaW5zIHByb3BlcnRpZXMgZm9yIHRoZSBldmVudCBkYXRhLCB0YXJnZXQgZWxlbWVudCwgbmFtZSwgYW5kIGNvbXBvbmVudC5cbiAqIEBpbnRlcmZhY2UgQmFzZUN1c3RvbUV2ZW50XG4gKiBAcHJvcGVydHkge2FueX0gZGF0YSAtIFRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnRcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IFt0YXJnZXRdIC0gVGhlIHRhcmdldCBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtuYW1lXSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VDdXN0b21FdmVudCB7XG4gIGRhdGE6IHVua25vd247XG4gIHRhcmdldD86IEhUTUxFbGVtZW50O1xuICBuYW1lPzogc3RyaW5nO1xuICBjb21wb25lbnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQmFzZSBpbnRlcmZhY2UgZm9yIGN1c3RvbSBldmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGJhc2Ugc3RydWN0dXJlIGZvciBjdXN0b20gZXZlbnRzIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIENvbnRhaW5zIHByb3BlcnRpZXMgZm9yIHRoZSBldmVudCBkYXRhLCB0YXJnZXQgZWxlbWVudCwgbmFtZSwgYW5kIGNvbXBvbmVudC5cbiAqIEBpbnRlcmZhY2UgQmFzZUN1c3RvbUV2ZW50XG4gKiBAcHJvcGVydHkge2FueX0gZGF0YSAtIFRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnRcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IFt0YXJnZXRdIC0gVGhlIHRhcmdldCBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtuYW1lXSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmVuZ2luZVxuICovXG5leHBvcnQgdHlwZSBDcnVkRm9ybUV2ZW50ID0gQmFzZUN1c3RvbUV2ZW50ICYge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBoYW5kbGVycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRJbnB1dCBleHRlbmRzIEZpZWxkUHJvcGVydGllcyB7XG4gIHVwZGF0ZU1vZGU/OiBGaWVsZFVwZGF0ZU1vZGU7XG4gIGZvcm1Hcm91cD86IEZvcm1Hcm91cDtcbiAgZm9ybUNvbnRyb2w/OiBGb3JtQ29udHJvbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRDb25maWcge1xuICBjb21wb25lbnQ6IHN0cmluZztcbiAgaW5wdXRzOiBDb21wb25lbnRJbnB1dDtcbiAgaW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IgfCBJbmplY3RvcjtcbiAgY2hpbGRyZW4/OiBDb21wb25lbnRDb25maWdbXTtcbn1cblxuZXhwb3J0IHR5cGUgRm9ybVBhcmVudEdyb3VwID0gW0Zvcm1Hcm91cCwgIHN0cmluZ107XG5cblxuXG4iXX0=
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { IonApp, IonRouterOutlet, IonSplitPane, IonImg, IonContent, IonText, IonButton, IonRouterLink, IonTitle } from '@ionic/angular/standalone';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
|
|
6
|
+
import { Logging } from '@decaf-ts/logging';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
const ComponentsAndModules = [
|
|
9
|
+
IonApp,
|
|
10
|
+
IonRouterOutlet,
|
|
11
|
+
IonSplitPane,
|
|
12
|
+
IonImg,
|
|
13
|
+
IonText,
|
|
14
|
+
IonTitle,
|
|
15
|
+
IonButton,
|
|
16
|
+
IonRouterLink,
|
|
17
|
+
IonContent,
|
|
18
|
+
CommonModule,
|
|
19
|
+
FormsModule,
|
|
20
|
+
ReactiveFormsModule,
|
|
21
|
+
TranslateModule,
|
|
22
|
+
TranslatePipe,
|
|
23
|
+
];
|
|
24
|
+
const log = Logging.for("for-angular");
|
|
25
|
+
export function getLogger(instance) {
|
|
26
|
+
return log.for(instance);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @description Main Angular module for the Decaf framework
|
|
30
|
+
* @summary The ForAngularModule provides the core functionality for integrating Decaf with Angular applications.
|
|
31
|
+
* It imports and exports common Angular and Ionic components and modules needed for Decaf applications,
|
|
32
|
+
* including form handling, translation support, and Ionic UI components. This module can be imported
|
|
33
|
+
* directly or via the forRoot() method for proper initialization in the application's root module.
|
|
34
|
+
*
|
|
35
|
+
* @class ForAngularModule
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* // In your app module:
|
|
39
|
+
* @NgModule({
|
|
40
|
+
* imports: [
|
|
41
|
+
* ForAngularModule.forRoot(),
|
|
42
|
+
* // other imports
|
|
43
|
+
* ],
|
|
44
|
+
* // ...
|
|
45
|
+
* })
|
|
46
|
+
* export class AppModule {}
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export class ForAngularModule {
|
|
50
|
+
/**
|
|
51
|
+
* @description Creates a module with providers for root module import
|
|
52
|
+
* @summary This static method provides the proper way to import the ForAngularModule in the application's
|
|
53
|
+
* root module. It returns a ModuleWithProviders object that includes the ForAngularModule itself.
|
|
54
|
+
* Using forRoot() ensures that the module and its providers are properly initialized and only
|
|
55
|
+
* instantiated once in the application.
|
|
56
|
+
*
|
|
57
|
+
* @return {ModuleWithProviders<ForAngularModule>} The module with its providers
|
|
58
|
+
*/
|
|
59
|
+
static forRoot() {
|
|
60
|
+
return {
|
|
61
|
+
ngModule: ForAngularModule,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
65
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, imports: [IonApp,
|
|
66
|
+
IonRouterOutlet,
|
|
67
|
+
IonSplitPane,
|
|
68
|
+
IonImg,
|
|
69
|
+
IonText,
|
|
70
|
+
IonTitle,
|
|
71
|
+
IonButton,
|
|
72
|
+
IonRouterLink,
|
|
73
|
+
IonContent,
|
|
74
|
+
CommonModule,
|
|
75
|
+
FormsModule,
|
|
76
|
+
ReactiveFormsModule,
|
|
77
|
+
TranslateModule,
|
|
78
|
+
TranslatePipe], exports: [IonApp,
|
|
79
|
+
IonRouterOutlet,
|
|
80
|
+
IonSplitPane,
|
|
81
|
+
IonImg,
|
|
82
|
+
IonText,
|
|
83
|
+
IonTitle,
|
|
84
|
+
IonButton,
|
|
85
|
+
IonRouterLink,
|
|
86
|
+
IonContent,
|
|
87
|
+
CommonModule,
|
|
88
|
+
FormsModule,
|
|
89
|
+
ReactiveFormsModule,
|
|
90
|
+
TranslateModule,
|
|
91
|
+
TranslatePipe] }); }
|
|
92
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, imports: [IonApp,
|
|
93
|
+
IonRouterOutlet,
|
|
94
|
+
IonSplitPane,
|
|
95
|
+
IonImg,
|
|
96
|
+
IonText,
|
|
97
|
+
IonTitle,
|
|
98
|
+
IonButton,
|
|
99
|
+
IonContent,
|
|
100
|
+
CommonModule,
|
|
101
|
+
FormsModule,
|
|
102
|
+
ReactiveFormsModule,
|
|
103
|
+
TranslateModule,
|
|
104
|
+
CommonModule,
|
|
105
|
+
FormsModule,
|
|
106
|
+
ReactiveFormsModule,
|
|
107
|
+
TranslateModule] }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, decorators: [{
|
|
110
|
+
type: NgModule,
|
|
111
|
+
args: [{
|
|
112
|
+
imports: ComponentsAndModules,
|
|
113
|
+
declarations: [],
|
|
114
|
+
exports: ComponentsAndModules,
|
|
115
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
|
|
116
|
+
}]
|
|
117
|
+
}] });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWFuZ3VsYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9mb3ItYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBdUIsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUNmLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLE9BQU8sRUFDUCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDVCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBVSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHcEQsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixNQUFNO0lBQ04sZUFBZTtJQUNmLFlBQVk7SUFDWixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsYUFBYTtJQUNiLFVBQVU7SUFDVixZQUFZO0lBQ1osV0FBVztJQUNYLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsYUFBYTtDQUNkLENBQUM7QUFFRixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0sVUFBVSxTQUFTLENBQUMsUUFBeUM7SUFDakUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQWlDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBT0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQztJQUNKLENBQUM7K0dBZFUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsWUFoRDNCLE1BQU07WUFDTixlQUFlO1lBQ2YsWUFBWTtZQUNaLE1BQU07WUFDTixPQUFPO1lBQ1AsUUFBUTtZQUNSLFNBQVM7WUFDVCxhQUFhO1lBQ2IsVUFBVTtZQUNWLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixhQUFhLGFBYmIsTUFBTTtZQUNOLGVBQWU7WUFDZixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsU0FBUztZQUNULGFBQWE7WUFDYixVQUFVO1lBQ1YsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7Z0hBbUNGLGdCQUFnQixZQWhEM0IsTUFBTTtZQUNOLGVBQWU7WUFDZixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsU0FBUztZQUVULFVBQVU7WUFDVixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBSGYsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTs7NEZBb0NKLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIElvbkFwcCxcbiAgSW9uUm91dGVyT3V0bGV0LFxuICBJb25TcGxpdFBhbmUsXG4gIElvbkltZyxcbiAgSW9uQ29udGVudCxcbiAgSW9uVGV4dCxcbiAgSW9uQnV0dG9uLFxuICBJb25Sb3V0ZXJMaW5rLFxuICBJb25UaXRsZVxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmcgfSBmcm9tICdAZGVjYWYtdHMvbG9nZ2luZyc7XG5pbXBvcnQgeyBGdW5jdGlvbkxpa2UgfSBmcm9tICcuL2VuZ2luZSc7XG5cbmNvbnN0IENvbXBvbmVudHNBbmRNb2R1bGVzID0gW1xuICBJb25BcHAsXG4gIElvblJvdXRlck91dGxldCxcbiAgSW9uU3BsaXRQYW5lLFxuICBJb25JbWcsXG4gIElvblRleHQsXG4gIElvblRpdGxlLFxuICBJb25CdXR0b24sXG4gIElvblJvdXRlckxpbmssXG4gIElvbkNvbnRlbnQsXG4gIENvbW1vbk1vZHVsZSxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFRyYW5zbGF0ZU1vZHVsZSxcbiAgVHJhbnNsYXRlUGlwZSxcbl07XG5cbmNvbnN0IGxvZyA9IExvZ2dpbmcuZm9yKFwiZm9yLWFuZ3VsYXJcIik7XG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9nZ2VyKGluc3RhbmNlOiBzdHJpbmcgfCBGdW5jdGlvbkxpa2UgfCB1bmtub3duKTogTG9nZ2VyIHtcbiAgcmV0dXJuIGxvZy5mb3IoaW5zdGFuY2UgYXMgc3RyaW5nIHwgRnVuY3Rpb25MaWtlKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWFpbiBBbmd1bGFyIG1vZHVsZSBmb3IgdGhlIERlY2FmIGZyYW1ld29ya1xuICogQHN1bW1hcnkgVGhlIEZvckFuZ3VsYXJNb2R1bGUgcHJvdmlkZXMgdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSBmb3IgaW50ZWdyYXRpbmcgRGVjYWYgd2l0aCBBbmd1bGFyIGFwcGxpY2F0aW9ucy5cbiAqIEl0IGltcG9ydHMgYW5kIGV4cG9ydHMgY29tbW9uIEFuZ3VsYXIgYW5kIElvbmljIGNvbXBvbmVudHMgYW5kIG1vZHVsZXMgbmVlZGVkIGZvciBEZWNhZiBhcHBsaWNhdGlvbnMsXG4gKiBpbmNsdWRpbmcgZm9ybSBoYW5kbGluZywgdHJhbnNsYXRpb24gc3VwcG9ydCwgYW5kIElvbmljIFVJIGNvbXBvbmVudHMuIFRoaXMgbW9kdWxlIGNhbiBiZSBpbXBvcnRlZFxuICogZGlyZWN0bHkgb3IgdmlhIHRoZSBmb3JSb290KCkgbWV0aG9kIGZvciBwcm9wZXIgaW5pdGlhbGl6YXRpb24gaW4gdGhlIGFwcGxpY2F0aW9uJ3Mgcm9vdCBtb2R1bGUuXG4gKlxuICogQGNsYXNzIEZvckFuZ3VsYXJNb2R1bGVcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiB5b3VyIGFwcCBtb2R1bGU6XG4gKiBATmdNb2R1bGUoe1xuICogICBpbXBvcnRzOiBbXG4gKiAgICAgRm9yQW5ndWxhck1vZHVsZS5mb3JSb290KCksXG4gKiAgICAgLy8gb3RoZXIgaW1wb3J0c1xuICogICBdLFxuICogICAvLyAuLi5cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogQ29tcG9uZW50c0FuZE1vZHVsZXMsXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IENvbXBvbmVudHNBbmRNb2R1bGVzLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvckFuZ3VsYXJNb2R1bGUge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBtb2R1bGUgd2l0aCBwcm92aWRlcnMgZm9yIHJvb3QgbW9kdWxlIGltcG9ydFxuICAgKiBAc3VtbWFyeSBUaGlzIHN0YXRpYyBtZXRob2QgcHJvdmlkZXMgdGhlIHByb3BlciB3YXkgdG8gaW1wb3J0IHRoZSBGb3JBbmd1bGFyTW9kdWxlIGluIHRoZSBhcHBsaWNhdGlvbidzXG4gICAqIHJvb3QgbW9kdWxlLiBJdCByZXR1cm5zIGEgTW9kdWxlV2l0aFByb3ZpZGVycyBvYmplY3QgdGhhdCBpbmNsdWRlcyB0aGUgRm9yQW5ndWxhck1vZHVsZSBpdHNlbGYuXG4gICAqIFVzaW5nIGZvclJvb3QoKSBlbnN1cmVzIHRoYXQgdGhlIG1vZHVsZSBhbmQgaXRzIHByb3ZpZGVycyBhcmUgcHJvcGVybHkgaW5pdGlhbGl6ZWQgYW5kIG9ubHlcbiAgICogaW5zdGFudGlhdGVkIG9uY2UgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJuIHtNb2R1bGVXaXRoUHJvdmlkZXJzPEZvckFuZ3VsYXJNb2R1bGU+fSBUaGUgbW9kdWxlIHdpdGggaXRzIHByb3ZpZGVyc1xuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGb3JBbmd1bGFyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGb3JBbmd1bGFyTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGNvbXBvbmVudHMgdGhhdCBob2xkIGFuIEVsZW1lbnRSZWZcbiAqIEBzdW1tYXJ5IERlZmluZXMgYSBjb21wb25lbnQgaG9sZGVyIGludGVyZmFjZSB0aGF0IHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgdW5kZXJseWluZyBET00gZWxlbWVudCB0aHJvdWdoIEVsZW1lbnRSZWZcbiAqIEBpbnRlcmZhY2UgQ29tcG9uZW50SG9sZGVyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1hbmd1bGFyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50SG9sZGVyIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCdzIERPTSBlbGVtZW50XG4gICAqIEBwcm9wZXJ0eSB7RWxlbWVudFJlZn0gY29tcG9uZW50IC0gVGhlIEVsZW1lbnRSZWYgaW5zdGFuY2UgcHJvdmlkaW5nIGFjY2VzcyB0byB0aGUgbmF0aXZlIERPTSBlbGVtZW50XG4gICAqL1xuICBjb21wb25lbnQ6IEVsZW1lbnRSZWY7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgZm9ybSBjb21wb25lbnRzIHRoYXQgaG9sZCBib3RoIGFuIEVsZW1lbnRSZWYgYW5kIGEgRm9ybUdyb3VwXG4gKiBAc3VtbWFyeSBFeHRlbmRzIENvbXBvbmVudEhvbGRlciB0byBpbmNsdWRlIGEgRm9ybUdyb3VwIGZvciBmb3JtIGhhbmRsaW5nIGNhcGFiaWxpdGllc1xuICogQGludGVyZmFjZSBGb3JtRWxlbWVudFxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItYW5ndWxhclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FbGVtZW50IGV4dGVuZHMgQ29tcG9uZW50SG9sZGVyIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgQW5ndWxhciBGb3JtR3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZm9ybSBlbGVtZW50XG4gICAqIEBwcm9wZXJ0eSB7Rm9ybUdyb3VwfHVuZGVmaW5lZH0gZm9ybUdyb3VwIC0gVGhlIGZvcm0gZ3JvdXAgaW5zdGFuY2UgZm9yIG1hbmFnaW5nIGZvcm0gY29udHJvbHMgYW5kIHZhbGlkYXRpb25cbiAgICovXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import '@decaf-ts/ui-decorators';
|
|
2
|
+
export * from './components/model-renderer/model-renderer.component';
|
|
3
|
+
export * from './components/crud-field/crud-field.component';
|
|
4
|
+
export * from './components/crud-form/crud-form.component';
|
|
5
|
+
export * from './engine';
|
|
6
|
+
/**
|
|
7
|
+
* @description Angular integration for the Decaf framework
|
|
8
|
+
* @summary This module provides Angular components and services for integrating with the Decaf framework.
|
|
9
|
+
* It includes components for rendering models, CRUD operations, and form handling, as well as
|
|
10
|
+
* rendering engines and utility functions to facilitate Angular application development with Decaf.
|
|
11
|
+
* @module for-angular
|
|
12
|
+
*/
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3B1YmxpYy1hcGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8seUJBQXlCLENBQUM7QUFDakMsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxVQUFVLENBQUM7QUFFekI7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kZWwtcmVuZGVyZXIvbW9kZWwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jcnVkLWZpZWxkL2NydWQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jcnVkLWZvcm0vY3J1ZC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VuZ2luZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgaW50ZWdyYXRpb24gZm9yIHRoZSBEZWNhZiBmcmFtZXdvcmtcbiAqIEBzdW1tYXJ5IFRoaXMgbW9kdWxlIHByb3ZpZGVzIEFuZ3VsYXIgY29tcG9uZW50cyBhbmQgc2VydmljZXMgZm9yIGludGVncmF0aW5nIHdpdGggdGhlIERlY2FmIGZyYW1ld29yay5cbiAqIEl0IGluY2x1ZGVzIGNvbXBvbmVudHMgZm9yIHJlbmRlcmluZyBtb2RlbHMsIENSVUQgb3BlcmF0aW9ucywgYW5kIGZvcm0gaGFuZGxpbmcsIGFzIHdlbGwgYXNcbiAqIHJlbmRlcmluZyBlbmdpbmVzIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIEFuZ3VsYXIgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQgd2l0aCBEZWNhZi5cbiAqIEBtb2R1bGUgZm9yLWFuZ3VsYXJcbiAqL1xuIl19
|