@decaf-ts/ui-decorators 0.5.9 → 0.5.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.
- package/README.md +422 -12
- package/dist/ui-decorators.cjs +497 -51
- package/dist/ui-decorators.esm.cjs +497 -51
- package/lib/esm/index.d.ts +7 -3
- package/lib/esm/index.js +8 -4
- package/lib/esm/model/Renderable.d.ts +15 -0
- package/lib/esm/model/Renderable.js +1 -1
- package/lib/esm/model/decorators.d.ts +92 -14
- package/lib/esm/model/decorators.js +94 -16
- package/lib/esm/model/index.d.ts +0 -4
- package/lib/esm/model/index.js +1 -5
- package/lib/esm/model/model.d.ts +156 -50
- package/lib/esm/model/model.js +1 -1
- package/lib/esm/model/overrides.d.ts +8 -0
- package/lib/esm/model/overrides.js +19 -1
- package/lib/esm/ui/Rendering.js +15 -4
- package/lib/esm/ui/constants.d.ts +147 -4
- package/lib/esm/ui/constants.js +148 -5
- package/lib/esm/ui/decorators.d.ts +185 -21
- package/lib/esm/ui/decorators.js +189 -25
- package/lib/esm/ui/errors.d.ts +28 -0
- package/lib/esm/ui/errors.js +29 -1
- package/lib/esm/ui/index.d.ts +0 -4
- package/lib/esm/ui/index.js +1 -5
- package/lib/esm/ui/interfaces.d.ts +25 -0
- package/lib/esm/ui/interfaces.js +9 -1
- package/lib/esm/ui/types.d.ts +63 -5
- package/lib/esm/ui/types.js +9 -1
- package/lib/esm/ui/utils.d.ts +1 -1
- package/lib/esm/ui/utils.js +2 -2
- package/lib/index.cjs +8 -4
- package/lib/index.d.ts +7 -3
- package/lib/model/Renderable.cjs +1 -1
- package/lib/model/Renderable.d.ts +15 -0
- package/lib/model/decorators.cjs +94 -16
- package/lib/model/decorators.d.ts +92 -14
- package/lib/model/index.cjs +1 -5
- package/lib/model/index.d.ts +0 -4
- package/lib/model/model.cjs +1 -1
- package/lib/model/model.d.ts +156 -50
- package/lib/model/overrides.cjs +19 -1
- package/lib/model/overrides.d.ts +8 -0
- package/lib/ui/Rendering.cjs +15 -4
- package/lib/ui/constants.cjs +148 -5
- package/lib/ui/constants.d.ts +147 -4
- package/lib/ui/decorators.cjs +189 -25
- package/lib/ui/decorators.d.ts +185 -21
- package/lib/ui/errors.cjs +29 -1
- package/lib/ui/errors.d.ts +28 -0
- package/lib/ui/index.cjs +1 -5
- package/lib/ui/index.d.ts +0 -4
- package/lib/ui/interfaces.cjs +9 -1
- package/lib/ui/interfaces.d.ts +25 -0
- package/lib/ui/types.cjs +9 -1
- package/lib/ui/types.d.ts +63 -5
- package/lib/ui/utils.cjs +2 -2
- package/lib/ui/utils.d.ts +1 -1
- package/package.json +1 -1
package/lib/esm/ui/decorators.js
CHANGED
|
@@ -4,50 +4,177 @@ import { propMetadata } from "@decaf-ts/decorator-validation";
|
|
|
4
4
|
import { RenderingEngine } from "./Rendering";
|
|
5
5
|
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
6
6
|
/**
|
|
7
|
-
* @
|
|
8
|
-
* @
|
|
7
|
+
* @description Decorator that hides a property during specific CRUD operations
|
|
8
|
+
* @summary Controls property visibility based on operation type
|
|
9
|
+
* This decorator allows you to specify which CRUD operations should hide a property
|
|
10
|
+
* in the UI. The property will only be visible during operations not specified.
|
|
11
|
+
*
|
|
12
|
+
* @param operations - The CRUD operations during which the property should be hidden
|
|
13
|
+
* @return {Function} A property decorator function
|
|
14
|
+
*
|
|
15
|
+
* @function hideOn
|
|
16
|
+
* @category Property Decorators
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Hide the password field during READ operations
|
|
20
|
+
* class User {
|
|
21
|
+
* @attribute()
|
|
22
|
+
* username: string;
|
|
23
|
+
*
|
|
24
|
+
* @attribute()
|
|
25
|
+
* @hideOn(OperationKeys.READ)
|
|
26
|
+
* password: string;
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* @mermaid
|
|
30
|
+
* sequenceDiagram
|
|
31
|
+
* participant Model
|
|
32
|
+
* participant hideOn
|
|
33
|
+
* participant RenderingEngine
|
|
34
|
+
* participant UI
|
|
35
|
+
* Model->>hideOn: Apply to property
|
|
36
|
+
* hideOn->>Model: Add hidden metadata
|
|
37
|
+
* RenderingEngine->>Model: Check if property should be hidden
|
|
38
|
+
* Model->>RenderingEngine: Return hidden operations
|
|
39
|
+
* RenderingEngine->>UI: Render or hide based on current operation
|
|
9
40
|
*/
|
|
10
41
|
export function hideOn(...operations) {
|
|
11
42
|
return propMetadata(RenderingEngine.key(UIKeys.HIDDEN), operations);
|
|
12
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* @description Decorator that completely hides a property in all UI operations
|
|
46
|
+
* @summary Makes a property invisible in all CRUD operations
|
|
47
|
+
* This decorator is a convenience wrapper around hideOn that hides a property
|
|
48
|
+
* during all CRUD operations (CREATE, READ, UPDATE, DELETE).
|
|
49
|
+
*
|
|
50
|
+
* @return {Function} A property decorator function
|
|
51
|
+
*
|
|
52
|
+
* @function hidden
|
|
53
|
+
* @category Property Decorators
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* // Completely hide the internalId field in the UI
|
|
57
|
+
* class Product {
|
|
58
|
+
* @attribute()
|
|
59
|
+
* name: string;
|
|
60
|
+
*
|
|
61
|
+
* @attribute()
|
|
62
|
+
* @hidden()
|
|
63
|
+
* internalId: string;
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* @mermaid
|
|
67
|
+
* sequenceDiagram
|
|
68
|
+
* participant Model
|
|
69
|
+
* participant hidden
|
|
70
|
+
* participant hideOn
|
|
71
|
+
* participant RenderingEngine
|
|
72
|
+
* Model->>hidden: Apply to property
|
|
73
|
+
* hidden->>hideOn: Call with all operations
|
|
74
|
+
* hideOn->>Model: Add hidden metadata
|
|
75
|
+
* RenderingEngine->>Model: Check if property should be hidden
|
|
76
|
+
* Model->>RenderingEngine: Return all operations
|
|
77
|
+
* RenderingEngine->>UI: Always hide property
|
|
78
|
+
*/
|
|
13
79
|
export function hidden() {
|
|
14
80
|
return hideOn(OperationKeys.CREATE, OperationKeys.READ, OperationKeys.UPDATE, OperationKeys.DELETE);
|
|
15
81
|
}
|
|
16
82
|
/**
|
|
17
|
-
*
|
|
83
|
+
* @description Decorator that specifies how a property should be rendered as a UI element
|
|
84
|
+
* @summary Maps a model property to a specific UI element with custom properties
|
|
85
|
+
* This decorator allows you to define which HTML element or component should be used
|
|
86
|
+
* to render a specific property, along with any additional properties to pass to that element.
|
|
87
|
+
*
|
|
88
|
+
* @param {string} tag The HTML element or component tag name to use for rendering
|
|
89
|
+
* @param {Record<string, any>} [props] Additional properties to pass to the element
|
|
90
|
+
* @param {boolean} [serialize=false] Whether the property should be serialized
|
|
91
|
+
* @return {Function} A property decorator function
|
|
92
|
+
*
|
|
93
|
+
* @function uielement
|
|
94
|
+
* @category Property Decorators
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* // Render a property as a text input
|
|
98
|
+
* class LoginForm {
|
|
99
|
+
* @attribute()
|
|
100
|
+
* @uielement('input', { type: 'text', placeholder: 'Enter username' })
|
|
101
|
+
* username: string;
|
|
18
102
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
103
|
+
* @attribute()
|
|
104
|
+
* @uielement('input', { type: 'password', placeholder: 'Enter password' })
|
|
105
|
+
* password: string;
|
|
22
106
|
*
|
|
23
|
-
*
|
|
107
|
+
* @attribute()
|
|
108
|
+
* @uielement('button', { class: 'btn-primary' })
|
|
109
|
+
* submit: string = 'Login';
|
|
110
|
+
* }
|
|
24
111
|
*
|
|
25
|
-
* @
|
|
26
|
-
*
|
|
112
|
+
* @mermaid
|
|
113
|
+
* sequenceDiagram
|
|
114
|
+
* participant Model
|
|
115
|
+
* participant uielement
|
|
116
|
+
* participant RenderingEngine
|
|
117
|
+
* participant UI
|
|
118
|
+
* Model->>uielement: Apply to property
|
|
119
|
+
* uielement->>Model: Add element metadata
|
|
120
|
+
* RenderingEngine->>Model: Get element metadata
|
|
121
|
+
* Model->>RenderingEngine: Return tag and props
|
|
122
|
+
* RenderingEngine->>UI: Render with specified element
|
|
27
123
|
*/
|
|
28
124
|
export function uielement(tag, props, serialize = false) {
|
|
29
125
|
return (original, propertyKey) => {
|
|
30
126
|
const metadata = {
|
|
31
127
|
tag: tag,
|
|
32
128
|
serialize: serialize,
|
|
33
|
-
props: Object.assign({
|
|
129
|
+
props: Object.assign({}, props || {}, {
|
|
34
130
|
name: propertyKey,
|
|
35
|
-
}
|
|
131
|
+
}),
|
|
36
132
|
};
|
|
37
133
|
return propMetadata(RenderingEngine.key(UIKeys.ELEMENT), metadata)(original, propertyKey);
|
|
38
134
|
};
|
|
39
135
|
}
|
|
40
136
|
/**
|
|
41
|
-
*
|
|
137
|
+
* @description Decorator that maps a model property to a UI component property
|
|
138
|
+
* @summary Specifies how a property should be passed to a UI component
|
|
139
|
+
* This decorator allows you to define how a model property should be mapped to
|
|
140
|
+
* a property of the UI component when rendering. It requires the class to be
|
|
141
|
+
* decorated with @uimodel.
|
|
42
142
|
*
|
|
43
|
-
*
|
|
143
|
+
* @param {string} [propName] The name of the property to pass to the component (defaults to the property key)
|
|
144
|
+
* @param {boolean} [stringify=false] Whether to stringify the property value
|
|
145
|
+
* @return {Function} A property decorator function
|
|
44
146
|
*
|
|
45
|
-
* @
|
|
147
|
+
* @function uiprop
|
|
148
|
+
* @category Property Decorators
|
|
46
149
|
*
|
|
47
|
-
* @
|
|
150
|
+
* @example
|
|
151
|
+
* // Map model properties to component properties
|
|
152
|
+
* @uimodel('user-profile')
|
|
153
|
+
* class UserProfile {
|
|
154
|
+
* @attribute()
|
|
155
|
+
* @uiprop() // Will be passed as 'fullName' to the component
|
|
156
|
+
* fullName: string;
|
|
48
157
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
158
|
+
* @attribute()
|
|
159
|
+
* @uiprop('userEmail') // Will be passed as 'userEmail' to the component
|
|
160
|
+
* email: string;
|
|
161
|
+
*
|
|
162
|
+
* @attribute()
|
|
163
|
+
* @uiprop('userData', true) // Will be passed as stringified JSON
|
|
164
|
+
* userData: Record<string, any>;
|
|
165
|
+
* }
|
|
166
|
+
*
|
|
167
|
+
* @mermaid
|
|
168
|
+
* sequenceDiagram
|
|
169
|
+
* participant Model
|
|
170
|
+
* participant uiprop
|
|
171
|
+
* participant RenderingEngine
|
|
172
|
+
* participant Component
|
|
173
|
+
* Model->>uiprop: Apply to property
|
|
174
|
+
* uiprop->>Model: Add prop metadata
|
|
175
|
+
* RenderingEngine->>Model: Get prop metadata
|
|
176
|
+
* Model->>RenderingEngine: Return prop name and stringify flag
|
|
177
|
+
* RenderingEngine->>Component: Pass property with specified name
|
|
51
178
|
*/
|
|
52
179
|
export function uiprop(propName = undefined, stringify = false) {
|
|
53
180
|
return (target, propertyKey) => {
|
|
@@ -59,24 +186,61 @@ export function uiprop(propName = undefined, stringify = false) {
|
|
|
59
186
|
};
|
|
60
187
|
}
|
|
61
188
|
/**
|
|
62
|
-
*
|
|
189
|
+
* @description Decorator that maps a model property to a list item component
|
|
190
|
+
* @summary Specifies how a property should be rendered in a list context
|
|
191
|
+
* This decorator allows you to define how a model property containing a list
|
|
192
|
+
* should be rendered. It requires the class to be decorated with @uilistitem.
|
|
193
|
+
*
|
|
194
|
+
* @param {string} [propName] The name of the property to pass to the list component (defaults to the property key)
|
|
195
|
+
* @param {Record<string, any>} [props] Additional properties to pass to the list container
|
|
196
|
+
* @return {Function} A property decorator function
|
|
197
|
+
*
|
|
198
|
+
* @function uilistprop
|
|
199
|
+
* @category Property Decorators
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* // Define a list property with custom rendering
|
|
203
|
+
* @uimodel('todo-list')
|
|
204
|
+
* class TodoList {
|
|
205
|
+
* @attribute()
|
|
206
|
+
* title: string;
|
|
63
207
|
*
|
|
64
|
-
*
|
|
208
|
+
* @attribute()
|
|
209
|
+
* @uilistprop('items', { class: 'todo-items-container' })
|
|
210
|
+
* items: TodoItem[];
|
|
211
|
+
* }
|
|
65
212
|
*
|
|
66
|
-
* @
|
|
213
|
+
* @uilistitem('li', { class: 'todo-item' })
|
|
214
|
+
* class TodoItem extends Model {
|
|
215
|
+
* @attribute()
|
|
216
|
+
* text: string;
|
|
67
217
|
*
|
|
68
|
-
*
|
|
218
|
+
* @attribute()
|
|
219
|
+
* completed: boolean;
|
|
220
|
+
* }
|
|
69
221
|
*
|
|
70
|
-
* @
|
|
71
|
-
*
|
|
222
|
+
* @mermaid
|
|
223
|
+
* sequenceDiagram
|
|
224
|
+
* participant Model
|
|
225
|
+
* participant uilistprop
|
|
226
|
+
* participant RenderingEngine
|
|
227
|
+
* participant ListContainer
|
|
228
|
+
* participant ListItems
|
|
229
|
+
* Model->>uilistprop: Apply to property
|
|
230
|
+
* uilistprop->>Model: Add list prop metadata
|
|
231
|
+
* RenderingEngine->>Model: Get list prop metadata
|
|
232
|
+
* Model->>RenderingEngine: Return prop name and container props
|
|
233
|
+
* RenderingEngine->>ListContainer: Create container with props
|
|
234
|
+
* RenderingEngine->>ListItems: Render each item using @uilistitem
|
|
235
|
+
* ListContainer->>RenderingEngine: Return rendered list
|
|
72
236
|
*/
|
|
73
237
|
export function uilistprop(propName = undefined, props) {
|
|
74
238
|
return (target, propertyKey) => {
|
|
75
239
|
const metadata = {
|
|
76
240
|
name: propName || propertyKey,
|
|
77
|
-
props: props || {}
|
|
241
|
+
props: props || {},
|
|
78
242
|
};
|
|
79
243
|
propMetadata(RenderingEngine.key(UIKeys.UILISTPROP), metadata)(target, propertyKey);
|
|
80
244
|
};
|
|
81
245
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQ7OztHQUdHO0FBRUgsTUFBTSxVQUFVLE1BQU0sQ0FBQyxHQUFHLFVBQStCO0lBQ3ZELE9BQU8sWUFBWSxDQUNqQixlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDbEMsVUFBVSxDQUNYLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU07SUFDcEIsT0FBTyxNQUFNLENBQ1gsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLElBQUksRUFDbEIsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEdBQVcsRUFDWCxLQUEyQixFQUMzQixZQUFxQixLQUFLO0lBRTFCLE9BQU8sQ0FBQyxRQUFhLEVBQUUsV0FBaUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFzQjtZQUNsQyxHQUFHLEVBQUUsR0FBRztZQUNSLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNsQjtnQkFDRSxJQUFJLEVBQUUsV0FBVzthQUNsQixFQUNELEtBQUssSUFBSSxFQUFFLENBQ1o7U0FDRixDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ2hFLFFBQVEsRUFDUixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQ3BCLFdBQStCLFNBQVMsRUFDeEMsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBbUI7WUFDL0IsSUFBSSxFQUFFLFFBQVEsSUFBSSxXQUFXO1lBQzdCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFDRixZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ3RELE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFHRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQStCLFNBQVMsRUFDeEMsS0FBMkI7SUFFM0IsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDeEMsTUFBTSxRQUFRLEdBQWdDO1lBQzlDLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDbkIsQ0FBQztRQUNGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDNUQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcHJvcE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ3J1ZE9wZXJhdGlvbktleXMsIFVJRWxlbWVudE1ldGFkYXRhLCBVSUxpc3RQcm9wTWV0YWRhdGEsIFVJUHJvcE1ldGFkYXRhIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gXCIuL1JlbmRlcmluZ1wiO1xuaW1wb3J0IHsgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBuYW1lc3BhY2UgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBoaWRlT24oLi4ub3BlcmF0aW9uczogQ3J1ZE9wZXJhdGlvbktleXNbXSkge1xuICByZXR1cm4gcHJvcE1ldGFkYXRhPENydWRPcGVyYXRpb25LZXlzW10+KFxuICAgIFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkhJRERFTiksXG4gICAgb3BlcmF0aW9uc1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGlkZGVuKCkge1xuICByZXR1cm4gaGlkZU9uKFxuICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgIE9wZXJhdGlvbktleXMuUkVBRCxcbiAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICBPcGVyYXRpb25LZXlzLkRFTEVURVxuICApO1xufVxuXG4vKipcbiAqIEFkZHMgdGhlIFVJRWxlbWVudCBkZWZpbml0aW9uIGFzIG1ldGFkYXRhIHRvIHRoZSBwcm9wZXJ0eSwgYWxsb3dpbmcgaXQgdG8gYmUgcmVhZCBieSBhbnkge0BsaW5rIFJlbmRlclN0cmF0ZWd5fVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIGNvbXBvbmVudC9IVE1MIGVsZW1lbnQgdGFnIG5hbWVcbiAqIEBwYXJhbSB7e319IFtwcm9wc10gVGhlIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGF0IGNvbXBvbmVudC9IVE1MIEVsZW1lbnRcbiAqIEBwYXJhbSBzZXJpYWxpemVcbiAqXG4gKiBAZGVjb3JhdG9yIHVpZWxlbWVudFxuICpcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKiBAc3ViY2F0ZWdvcnkgdWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdWllbGVtZW50KFxuICB0YWc6IHN0cmluZyxcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBzZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAgICB0YWc6IHRhZyxcbiAgICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplLFxuICAgICAgcHJvcHM6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBwcm9wZXJ0eUtleSxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcHMgfHwge31cbiAgICAgICksXG4gICAgfTtcblxuICAgIHJldHVybiBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuRUxFTUVOVCksIG1ldGFkYXRhKShcbiAgICAgIG9yaWdpbmFsLFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEFkZHMgdGhlIFVJUHJvcCBkZWZpbml0aW9uIGFzIG1ldGFkYXRhIHRvIHRoZSBwcm9wZXJ0eSwgYWxsb3dpbmcgaXQgdG8gYmUgcmVhZCBieSBhbnkge0BsaW5rIFJlbmRlclN0cmF0ZWd5fVxuICpcbiAqIHRoaXMgcmVxdWlyZXMgYSAnQHVpbW9kZWwnIHdpdGggYSBkZWZpbmVkIHRhZ1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIHRoZSBwcm9wZXJ0eSBuYW1lIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC4gZGVmYXVsdHMgdG8gdGhlIFByb3BlcnR5S2V5XG4gKlxuICogQGRlY29yYXRvciB1aXByb3BcbiAqXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICogQHN1YmNhdGVnb3J5IHVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpcHJvcChcbiAgcHJvcE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgc3RyaW5naWZ5OiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJUHJvcE1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogcHJvcE5hbWUgfHwgcHJvcGVydHlLZXksXG4gICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5QUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG5cbi8qKlxuICogQWRkcyB0aGUgVUlMaXN0UHJvcCBkZWZpbml0aW9uIGFzIG1ldGFkYXRhIHRvIHRoZSBwcm9wZXJ0eSwgYWxsb3dpbmcgaXQgdG8gYmUgcmVhZCBieSBhbnkge0BsaW5rIFJlbmRlclN0cmF0ZWd5fVxuICpcbiAqIHRoaXMgcmVxdWlyZXMgYSAnQHVpbGlzdGl0ZW0nIHdpdGggYSBkZWZpbmVkIHRhZ1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIHRoZSBwcm9wZXJ0eSBuYW1lIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC4gZGVmYXVsdHMgdG8gdGhlIFByb3BlcnR5S2V5XG4gKlxuICogQGRlY29yYXRvciB1aXByb3BcbiAqXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICogQHN1YmNhdGVnb3J5IHVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpbGlzdHByb3AoXG4gIHByb3BOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55Pixcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtZXRhZGF0YTogUGFydGlhbDxVSUxpc3RQcm9wTWV0YWRhdGE+ID0ge1xuICAgICAgbmFtZTogcHJvcE5hbWUgfHwgcHJvcGVydHlLZXksXG4gICAgICBwcm9wczogcHJvcHMgfHwge31cbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5VSUxJU1RQUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuIl19
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFDLEdBQUcsVUFBK0I7SUFDdkQsT0FBTyxZQUFZLENBQ2pCLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUNsQyxVQUFVLENBQ1gsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxNQUFNO0lBQ3BCLE9BQU8sTUFBTSxDQUNYLGFBQWEsQ0FBQyxNQUFNLEVBQ3BCLGFBQWEsQ0FBQyxJQUFJLEVBQ2xCLGFBQWEsQ0FBQyxNQUFNLEVBQ3BCLGFBQWEsQ0FBQyxNQUFNLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBVyxFQUNYLEtBQTJCLEVBQzNCLFlBQXFCLEtBQUs7SUFFMUIsT0FBTyxDQUFDLFFBQWEsRUFBRSxXQUFpQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQXNCO1lBQ2xDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxXQUFXO2FBQ2xCLENBQUM7U0FDSCxDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ2hFLFFBQVEsRUFDUixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsV0FBK0IsU0FBUyxFQUN4QyxZQUFxQixLQUFLO0lBRTFCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFtQjtZQUMvQixJQUFJLEVBQUUsUUFBUSxJQUFJLFdBQVc7WUFDN0IsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUNGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDdEQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnREc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixXQUErQixTQUFTLEVBQ3hDLEtBQTJCO0lBRTNCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFnQztZQUM1QyxJQUFJLEVBQUUsUUFBUSxJQUFJLFdBQVc7WUFDN0IsS0FBSyxFQUFFLEtBQUssSUFBSSxFQUFFO1NBQ25CLENBQUM7UUFDRixZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQzVELE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHByb3BNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIENydWRPcGVyYXRpb25LZXlzLFxuICBVSUVsZW1lbnRNZXRhZGF0YSxcbiAgVUlMaXN0UHJvcE1ldGFkYXRhLFxuICBVSVByb3BNZXRhZGF0YSxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gXCIuL1JlbmRlcmluZ1wiO1xuaW1wb3J0IHsgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBoaWRlcyBhIHByb3BlcnR5IGR1cmluZyBzcGVjaWZpYyBDUlVEIG9wZXJhdGlvbnNcbiAqIEBzdW1tYXJ5IENvbnRyb2xzIHByb3BlcnR5IHZpc2liaWxpdHkgYmFzZWQgb24gb3BlcmF0aW9uIHR5cGVcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gc3BlY2lmeSB3aGljaCBDUlVEIG9wZXJhdGlvbnMgc2hvdWxkIGhpZGUgYSBwcm9wZXJ0eVxuICogaW4gdGhlIFVJLiBUaGUgcHJvcGVydHkgd2lsbCBvbmx5IGJlIHZpc2libGUgZHVyaW5nIG9wZXJhdGlvbnMgbm90IHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gb3BlcmF0aW9ucyAtIFRoZSBDUlVEIG9wZXJhdGlvbnMgZHVyaW5nIHdoaWNoIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gaGlkZU9uXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIaWRlIHRoZSBwYXNzd29yZCBmaWVsZCBkdXJpbmcgUkVBRCBvcGVyYXRpb25zXG4gKiBjbGFzcyBVc2VyIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQGhpZGVPbihPcGVyYXRpb25LZXlzLlJFQUQpXG4gKiAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBoaWRlT25cbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IFVJXG4gKiAgIE1vZGVsLT4+aGlkZU9uOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICBoaWRlT24tPj5Nb2RlbDogQWRkIGhpZGRlbiBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogQ2hlY2sgaWYgcHJvcGVydHkgc2hvdWxkIGJlIGhpZGRlblxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIGhpZGRlbiBvcGVyYXRpb25zXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlVJOiBSZW5kZXIgb3IgaGlkZSBiYXNlZCBvbiBjdXJyZW50IG9wZXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZU9uKC4uLm9wZXJhdGlvbnM6IENydWRPcGVyYXRpb25LZXlzW10pIHtcbiAgcmV0dXJuIHByb3BNZXRhZGF0YTxDcnVkT3BlcmF0aW9uS2V5c1tdPihcbiAgICBSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5ISURERU4pLFxuICAgIG9wZXJhdGlvbnNcbiAgKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgY29tcGxldGVseSBoaWRlcyBhIHByb3BlcnR5IGluIGFsbCBVSSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBNYWtlcyBhIHByb3BlcnR5IGludmlzaWJsZSBpbiBhbGwgQ1JVRCBvcGVyYXRpb25zXG4gKiBUaGlzIGRlY29yYXRvciBpcyBhIGNvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIGhpZGVPbiB0aGF0IGhpZGVzIGEgcHJvcGVydHlcbiAqIGR1cmluZyBhbGwgQ1JVRCBvcGVyYXRpb25zIChDUkVBVEUsIFJFQUQsIFVQREFURSwgREVMRVRFKS5cbiAqXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gaGlkZGVuXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb21wbGV0ZWx5IGhpZGUgdGhlIGludGVybmFsSWQgZmllbGQgaW4gdGhlIFVJXG4gKiBjbGFzcyBQcm9kdWN0IHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIG5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAaGlkZGVuKClcbiAqICAgaW50ZXJuYWxJZDogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgaGlkZGVuXG4gKiAgIHBhcnRpY2lwYW50IGhpZGVPblxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgTW9kZWwtPj5oaWRkZW46IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIGhpZGRlbi0+PmhpZGVPbjogQ2FsbCB3aXRoIGFsbCBvcGVyYXRpb25zXG4gKiAgIGhpZGVPbi0+Pk1vZGVsOiBBZGQgaGlkZGVuIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBDaGVjayBpZiBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gYWxsIG9wZXJhdGlvbnNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IEFsd2F5cyBoaWRlIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRkZW4oKSB7XG4gIHJldHVybiBoaWRlT24oXG4gICAgT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gICAgT3BlcmF0aW9uS2V5cy5SRUFELFxuICAgIE9wZXJhdGlvbktleXMuVVBEQVRFLFxuICAgIE9wZXJhdGlvbktleXMuREVMRVRFXG4gICk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHNwZWNpZmllcyBob3cgYSBwcm9wZXJ0eSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgYSBVSSBlbGVtZW50XG4gKiBAc3VtbWFyeSBNYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBzcGVjaWZpYyBVSSBlbGVtZW50IHdpdGggY3VzdG9tIHByb3BlcnRpZXNcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gZGVmaW5lIHdoaWNoIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWRcbiAqIHRvIHJlbmRlciBhIHNwZWNpZmljIHByb3BlcnR5LCBhbG9uZyB3aXRoIGFueSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGF0IGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRhZyBUaGUgSFRNTCBlbGVtZW50IG9yIGNvbXBvbmVudCB0YWcgbmFtZSB0byB1c2UgZm9yIHJlbmRlcmluZ1xuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSBlbGVtZW50XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzZXJpYWxpemU9ZmFsc2VdIFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBzZXJpYWxpemVkXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWllbGVtZW50XG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBSZW5kZXIgYSBwcm9wZXJ0eSBhcyBhIHRleHQgaW5wdXRcbiAqIGNsYXNzIExvZ2luRm9ybSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWllbGVtZW50KCdpbnB1dCcsIHsgdHlwZTogJ3RleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIHVzZXJuYW1lJyB9KVxuICogICB1c2VybmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2lucHV0JywgeyB0eXBlOiAncGFzc3dvcmQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIHBhc3N3b3JkJyB9KVxuICogICBwYXNzd29yZDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2J1dHRvbicsIHsgY2xhc3M6ICdidG4tcHJpbWFyeScgfSlcbiAqICAgc3VibWl0OiBzdHJpbmcgPSAnTG9naW4nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWllbGVtZW50XG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBVSVxuICogICBNb2RlbC0+PnVpZWxlbWVudDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWllbGVtZW50LT4+TW9kZWw6IEFkZCBlbGVtZW50IG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgZWxlbWVudCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHRhZyBhbmQgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IFJlbmRlciB3aXRoIHNwZWNpZmllZCBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWVsZW1lbnQoXG4gIHRhZzogc3RyaW5nLFxuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHNlcmlhbGl6ZTogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgcmV0dXJuIChvcmlnaW5hbDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgICAgIHRhZzogdGFnLFxuICAgICAgc2VyaWFsaXplOiBzZXJpYWxpemUsXG4gICAgICBwcm9wczogT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMgfHwge30sIHtcbiAgICAgICAgbmFtZTogcHJvcGVydHlLZXksXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5FTEVNRU5UKSwgbWV0YWRhdGEpKFxuICAgICAgb3JpZ2luYWwsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IG1hcHMgYSBtb2RlbCBwcm9wZXJ0eSB0byBhIFVJIGNvbXBvbmVudCBwcm9wZXJ0eVxuICogQHN1bW1hcnkgU3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSBwYXNzZWQgdG8gYSBVSSBjb21wb25lbnRcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gZGVmaW5lIGhvdyBhIG1vZGVsIHByb3BlcnR5IHNob3VsZCBiZSBtYXBwZWQgdG9cbiAqIGEgcHJvcGVydHkgb2YgdGhlIFVJIGNvbXBvbmVudCB3aGVuIHJlbmRlcmluZy4gSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlXG4gKiBkZWNvcmF0ZWQgd2l0aCBAdWltb2RlbC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3Byb3BOYW1lXSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50IChkZWZhdWx0cyB0byB0aGUgcHJvcGVydHkga2V5KVxuICogQHBhcmFtIHtib29sZWFufSBbc3RyaW5naWZ5PWZhbHNlXSBXaGV0aGVyIHRvIHN0cmluZ2lmeSB0aGUgcHJvcGVydHkgdmFsdWVcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aXByb3BcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1hcCBtb2RlbCBwcm9wZXJ0aWVzIHRvIGNvbXBvbmVudCBwcm9wZXJ0aWVzXG4gKiBAdWltb2RlbCgndXNlci1wcm9maWxlJylcbiAqIGNsYXNzIFVzZXJQcm9maWxlIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXByb3AoKSAvLyBXaWxsIGJlIHBhc3NlZCBhcyAnZnVsbE5hbWUnIHRvIHRoZSBjb21wb25lbnRcbiAqICAgZnVsbE5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwcm9wKCd1c2VyRW1haWwnKSAvLyBXaWxsIGJlIHBhc3NlZCBhcyAndXNlckVtYWlsJyB0byB0aGUgY29tcG9uZW50XG4gKiAgIGVtYWlsOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcHJvcCgndXNlckRhdGEnLCB0cnVlKSAvLyBXaWxsIGJlIHBhc3NlZCBhcyBzdHJpbmdpZmllZCBKU09OXG4gKiAgIHVzZXJEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWlwcm9wXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBDb21wb25lbnRcbiAqICAgTW9kZWwtPj51aXByb3A6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpcHJvcC0+Pk1vZGVsOiBBZGQgcHJvcCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IHByb3AgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBwcm9wIG5hbWUgYW5kIHN0cmluZ2lmeSBmbGFnXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PkNvbXBvbmVudDogUGFzcyBwcm9wZXJ0eSB3aXRoIHNwZWNpZmllZCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aXByb3AoXG4gIHByb3BOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHN0cmluZ2lmeTogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSVByb3BNZXRhZGF0YSA9IHtcbiAgICAgIG5hbWU6IHByb3BOYW1lIHx8IHByb3BlcnR5S2V5LFxuICAgICAgc3RyaW5naWZ5OiBzdHJpbmdpZnksXG4gICAgfTtcbiAgICBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuUFJPUCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgbWFwcyBhIG1vZGVsIHByb3BlcnR5IHRvIGEgbGlzdCBpdGVtIGNvbXBvbmVudFxuICogQHN1bW1hcnkgU3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGxpc3QgY29udGV4dFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgaG93IGEgbW9kZWwgcHJvcGVydHkgY29udGFpbmluZyBhIGxpc3RcbiAqIHNob3VsZCBiZSByZW5kZXJlZC4gSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlIGRlY29yYXRlZCB3aXRoIEB1aWxpc3RpdGVtLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBwYXNzIHRvIHRoZSBsaXN0IGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgbGlzdCBjb250YWluZXJcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWxpc3Rwcm9wXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBEZWZpbmUgYSBsaXN0IHByb3BlcnR5IHdpdGggY3VzdG9tIHJlbmRlcmluZ1xuICogQHVpbW9kZWwoJ3RvZG8tbGlzdCcpXG4gKiBjbGFzcyBUb2RvTGlzdCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0aXRsZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxpc3Rwcm9wKCdpdGVtcycsIHsgY2xhc3M6ICd0b2RvLWl0ZW1zLWNvbnRhaW5lcicgfSlcbiAqICAgaXRlbXM6IFRvZG9JdGVtW107XG4gKiB9XG4gKlxuICogQHVpbGlzdGl0ZW0oJ2xpJywgeyBjbGFzczogJ3RvZG8taXRlbScgfSlcbiAqIGNsYXNzIFRvZG9JdGVtIGV4dGVuZHMgTW9kZWwge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdGV4dDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpbGlzdHByb3BcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IExpc3RDb250YWluZXJcbiAqICAgcGFydGljaXBhbnQgTGlzdEl0ZW1zXG4gKiAgIE1vZGVsLT4+dWlsaXN0cHJvcDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWlsaXN0cHJvcC0+Pk1vZGVsOiBBZGQgbGlzdCBwcm9wIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgbGlzdCBwcm9wIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lIGFuZCBjb250YWluZXIgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TGlzdENvbnRhaW5lcjogQ3JlYXRlIGNvbnRhaW5lciB3aXRoIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pkxpc3RJdGVtczogUmVuZGVyIGVhY2ggaXRlbSB1c2luZyBAdWlsaXN0aXRlbVxuICogICBMaXN0Q29udGFpbmVyLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcmVuZGVyZWQgbGlzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlsaXN0cHJvcChcbiAgcHJvcE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBQYXJ0aWFsPFVJTGlzdFByb3BNZXRhZGF0YT4gPSB7XG4gICAgICBuYW1lOiBwcm9wTmFtZSB8fCBwcm9wZXJ0eUtleSxcbiAgICAgIHByb3BzOiBwcm9wcyB8fCB7fSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5VSUxJU1RQUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuIl19
|
package/lib/esm/ui/errors.d.ts
CHANGED
|
@@ -1,4 +1,32 @@
|
|
|
1
1
|
import { BaseError } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* @description Error thrown when a rendering operation fails
|
|
4
|
+
* @summary Specialized error for rendering failures in UI components
|
|
5
|
+
* This error is thrown when the rendering engine encounters an error while
|
|
6
|
+
* attempting to render a UI component or model.
|
|
7
|
+
*
|
|
8
|
+
* @param {string|Error} msg The error message or original error
|
|
9
|
+
*
|
|
10
|
+
* @class RenderingError
|
|
11
|
+
* @extends BaseError
|
|
12
|
+
* @category Errors
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Throwing a rendering error
|
|
16
|
+
* try {
|
|
17
|
+
* // Rendering code that might fail
|
|
18
|
+
* if (!component.canRender()) {
|
|
19
|
+
* throw new RenderingError('Component cannot be rendered');
|
|
20
|
+
* }
|
|
21
|
+
* } catch (error) {
|
|
22
|
+
* console.error('Rendering failed:', error.message);
|
|
23
|
+
* }
|
|
24
|
+
*/
|
|
2
25
|
export declare class RenderingError extends BaseError {
|
|
26
|
+
/**
|
|
27
|
+
* @description Creates a new RenderingError instance
|
|
28
|
+
* @summary Initializes the error with a message or original error
|
|
29
|
+
* @param {string|Error} msg The error message or original error
|
|
30
|
+
*/
|
|
3
31
|
constructor(msg: string | Error);
|
|
4
32
|
}
|
package/lib/esm/ui/errors.js
CHANGED
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
import { BaseError } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* @description Error thrown when a rendering operation fails
|
|
4
|
+
* @summary Specialized error for rendering failures in UI components
|
|
5
|
+
* This error is thrown when the rendering engine encounters an error while
|
|
6
|
+
* attempting to render a UI component or model.
|
|
7
|
+
*
|
|
8
|
+
* @param {string|Error} msg The error message or original error
|
|
9
|
+
*
|
|
10
|
+
* @class RenderingError
|
|
11
|
+
* @extends BaseError
|
|
12
|
+
* @category Errors
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Throwing a rendering error
|
|
16
|
+
* try {
|
|
17
|
+
* // Rendering code that might fail
|
|
18
|
+
* if (!component.canRender()) {
|
|
19
|
+
* throw new RenderingError('Component cannot be rendered');
|
|
20
|
+
* }
|
|
21
|
+
* } catch (error) {
|
|
22
|
+
* console.error('Rendering failed:', error.message);
|
|
23
|
+
* }
|
|
24
|
+
*/
|
|
2
25
|
export class RenderingError extends BaseError {
|
|
26
|
+
/**
|
|
27
|
+
* @description Creates a new RenderingError instance
|
|
28
|
+
* @summary Initializes the error with a message or original error
|
|
29
|
+
* @param {string|Error} msg The error message or original error
|
|
30
|
+
*/
|
|
3
31
|
constructor(msg) {
|
|
4
32
|
super(RenderingError.name, msg);
|
|
5
33
|
}
|
|
6
34
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFDM0M7Ozs7T0FJRztJQUNILFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVycm9yIHRocm93biB3aGVuIGEgcmVuZGVyaW5nIG9wZXJhdGlvbiBmYWlsc1xuICogQHN1bW1hcnkgU3BlY2lhbGl6ZWQgZXJyb3IgZm9yIHJlbmRlcmluZyBmYWlsdXJlcyBpbiBVSSBjb21wb25lbnRzXG4gKiBUaGlzIGVycm9yIGlzIHRocm93biB3aGVuIHRoZSByZW5kZXJpbmcgZW5naW5lIGVuY291bnRlcnMgYW4gZXJyb3Igd2hpbGVcbiAqIGF0dGVtcHRpbmcgdG8gcmVuZGVyIGEgVUkgY29tcG9uZW50IG9yIG1vZGVsLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfEVycm9yfSBtc2cgVGhlIGVycm9yIG1lc3NhZ2Ugb3Igb3JpZ2luYWwgZXJyb3JcbiAqXG4gKiBAY2xhc3MgUmVuZGVyaW5nRXJyb3JcbiAqIEBleHRlbmRzIEJhc2VFcnJvclxuICogQGNhdGVnb3J5IEVycm9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaHJvd2luZyBhIHJlbmRlcmluZyBlcnJvclxuICogdHJ5IHtcbiAqICAgLy8gUmVuZGVyaW5nIGNvZGUgdGhhdCBtaWdodCBmYWlsXG4gKiAgIGlmICghY29tcG9uZW50LmNhblJlbmRlcigpKSB7XG4gKiAgICAgdGhyb3cgbmV3IFJlbmRlcmluZ0Vycm9yKCdDb21wb25lbnQgY2Fubm90IGJlIHJlbmRlcmVkJyk7XG4gKiAgIH1cbiAqIH0gY2F0Y2ggKGVycm9yKSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoJ1JlbmRlcmluZyBmYWlsZWQ6JywgZXJyb3IubWVzc2FnZSk7XG4gKiB9XG4gKi9cbmV4cG9ydCBjbGFzcyBSZW5kZXJpbmdFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBSZW5kZXJpbmdFcnJvciBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyB0aGUgZXJyb3Igd2l0aCBhIG1lc3NhZ2Ugb3Igb3JpZ2luYWwgZXJyb3JcbiAgICogQHBhcmFtIHtzdHJpbmd8RXJyb3J9IG1zZyBUaGUgZXJyb3IgbWVzc2FnZSBvciBvcmlnaW5hbCBlcnJvclxuICAgKi9cbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcgfCBFcnJvcikge1xuICAgIHN1cGVyKFJlbmRlcmluZ0Vycm9yLm5hbWUsIG1zZyk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/esm/ui/index.d.ts
CHANGED
package/lib/esm/ui/index.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @namespace ui-decorators.ui
|
|
3
|
-
* @memberOf ui-decorators
|
|
4
|
-
*/
|
|
5
1
|
export * from "./constants";
|
|
6
2
|
export * from "./decorators";
|
|
7
3
|
export * from "./errors";
|
|
@@ -9,4 +5,4 @@ export * from "./interfaces";
|
|
|
9
5
|
export * from "./Rendering";
|
|
10
6
|
export * from "./types";
|
|
11
7
|
export * from "./utils";
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
|
|
@@ -1,5 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Interfaces for UI form components
|
|
3
|
+
* @summary Defines interfaces for form fields with CRUD operations
|
|
4
|
+
* This module contains interfaces that extend basic field properties with
|
|
5
|
+
* CRUD operation information for form generation.
|
|
6
|
+
* @module ui/interfaces
|
|
7
|
+
* @memberOf module:ui-decorators
|
|
8
|
+
*/
|
|
1
9
|
import { FieldProperties } from "./types";
|
|
2
10
|
import { CrudOperations } from "@decaf-ts/db-decorators";
|
|
11
|
+
/**
|
|
12
|
+
* @description Form field interface with CRUD operation information
|
|
13
|
+
* @summary Extends basic field properties with a specific CRUD operation
|
|
14
|
+
* This interface represents a form field that is associated with a specific
|
|
15
|
+
* CRUD operation (Create, Read, Update, Delete). It combines all the standard
|
|
16
|
+
* field properties with an operation property.
|
|
17
|
+
*
|
|
18
|
+
* @interface CrudFormField
|
|
19
|
+
* @extends FieldProperties
|
|
20
|
+
* @memberOf module:ui-decorators
|
|
21
|
+
*
|
|
22
|
+
* @property {CrudOperations} operation - The CRUD operation associated with this field
|
|
23
|
+
*/
|
|
3
24
|
export interface CrudFormField extends FieldProperties {
|
|
25
|
+
/**
|
|
26
|
+
* @description The CRUD operation associated with this field
|
|
27
|
+
* @summary Specifies which operation (Create, Read, Update, Delete) this field is for
|
|
28
|
+
*/
|
|
4
29
|
operation: CrudOperations;
|
|
5
30
|
}
|
package/lib/esm/ui/interfaces.js
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Interfaces for UI form components
|
|
3
|
+
* @summary Defines interfaces for form fields with CRUD operations
|
|
4
|
+
* This module contains interfaces that extend basic field properties with
|
|
5
|
+
* CRUD operation information for form generation.
|
|
6
|
+
* @module ui/interfaces
|
|
7
|
+
* @memberOf module:ui-decorators
|
|
8
|
+
*/
|
|
1
9
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2VzIGZvciBVSSBmb3JtIGNvbXBvbmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgaW50ZXJmYWNlcyBmb3IgZm9ybSBmaWVsZHMgd2l0aCBDUlVEIG9wZXJhdGlvbnNcbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIGludGVyZmFjZXMgdGhhdCBleHRlbmQgYmFzaWMgZmllbGQgcHJvcGVydGllcyB3aXRoXG4gKiBDUlVEIG9wZXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgZm9ybSBnZW5lcmF0aW9uLlxuICogQG1vZHVsZSB1aS9pbnRlcmZhY2VzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuXG5pbXBvcnQgeyBGaWVsZFByb3BlcnRpZXMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQ3J1ZE9wZXJhdGlvbnMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRm9ybSBmaWVsZCBpbnRlcmZhY2Ugd2l0aCBDUlVEIG9wZXJhdGlvbiBpbmZvcm1hdGlvblxuICogQHN1bW1hcnkgRXh0ZW5kcyBiYXNpYyBmaWVsZCBwcm9wZXJ0aWVzIHdpdGggYSBzcGVjaWZpYyBDUlVEIG9wZXJhdGlvblxuICogVGhpcyBpbnRlcmZhY2UgcmVwcmVzZW50cyBhIGZvcm0gZmllbGQgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpY1xuICogQ1JVRCBvcGVyYXRpb24gKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUpLiBJdCBjb21iaW5lcyBhbGwgdGhlIHN0YW5kYXJkXG4gKiBmaWVsZCBwcm9wZXJ0aWVzIHdpdGggYW4gb3BlcmF0aW9uIHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcmZhY2UgQ3J1ZEZvcm1GaWVsZFxuICogQGV4dGVuZHMgRmllbGRQcm9wZXJ0aWVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge0NydWRPcGVyYXRpb25zfSBvcGVyYXRpb24gLSBUaGUgQ1JVRCBvcGVyYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgZmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcnVkRm9ybUZpZWxkIGV4dGVuZHMgRmllbGRQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgQ1JVRCBvcGVyYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgZmllbGRcbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHdoaWNoIG9wZXJhdGlvbiAoQ3JlYXRlLCBSZWFkLCBVcGRhdGUsIERlbGV0ZSkgdGhpcyBmaWVsZCBpcyBmb3JcbiAgICovXG4gIG9wZXJhdGlvbjogQ3J1ZE9wZXJhdGlvbnM7XG59XG4iXX0=
|
package/lib/esm/ui/types.d.ts
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Type definitions for UI components and rendering
|
|
3
|
+
* @summary Defines types and interfaces used throughout the UI decorators library
|
|
4
|
+
* This module contains type definitions for field properties, UI metadata,
|
|
5
|
+
* and other structures used in rendering UI components.
|
|
6
|
+
* @module ui/types
|
|
7
|
+
* @memberOf module:ui-decorators
|
|
8
|
+
*/
|
|
1
9
|
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
2
10
|
import { UIKeys } from "./constants";
|
|
11
|
+
/**
|
|
12
|
+
* @description Interface for defining a UI field or component
|
|
13
|
+
* @summary Represents a renderable UI element with properties and children
|
|
14
|
+
* This interface defines the structure of a UI field or component, including
|
|
15
|
+
* its tag name, properties, and optional children elements.
|
|
16
|
+
*
|
|
17
|
+
* @interface FieldDefinition
|
|
18
|
+
* @template T Additional properties type (defaults to void)
|
|
19
|
+
* @memberOf module:ui-decorators
|
|
20
|
+
*
|
|
21
|
+
* @property {string} tag - The HTML element or component tag name
|
|
22
|
+
* @property {string} [rendererId] - Optional ID of the renderer to use
|
|
23
|
+
* @property props - Combined properties for the field
|
|
24
|
+
* @property {FieldDefinition[]} [children] - Optional child elements
|
|
25
|
+
* @property {UIListItemElementMetadata} [item] - Optional list item metadata
|
|
26
|
+
*/
|
|
3
27
|
export interface FieldDefinition<T = void> {
|
|
4
28
|
tag: string;
|
|
5
29
|
rendererId?: string;
|
|
@@ -7,8 +31,42 @@ export interface FieldDefinition<T = void> {
|
|
|
7
31
|
children?: FieldDefinition<T>[];
|
|
8
32
|
item?: UIListItemElementMetadata;
|
|
9
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* @description Interface for field properties including validation
|
|
36
|
+
* @summary Defines common properties and validation rules for UI fields
|
|
37
|
+
* This interface defines the standard properties that can be applied to
|
|
38
|
+
* UI fields, including basic attributes and validation rules.
|
|
39
|
+
*
|
|
40
|
+
* @interface FieldProperties
|
|
41
|
+
* @memberOf module:ui-decorators
|
|
42
|
+
*
|
|
43
|
+
* @property {string} name - The name of the field
|
|
44
|
+
* @property {string} path - The full hierarchical path of the field
|
|
45
|
+
* @property {string} childOf - The parent path of the immediate parent field, if nested
|
|
46
|
+
* @property {string} type - The type of the field (e.g., 'text', 'number')
|
|
47
|
+
* @property {string|number|Date} value - The current value of the field
|
|
48
|
+
* @property {boolean} [hidden] - Whether the field is hidden
|
|
49
|
+
* @property {boolean} [disabled] - Whether the field is disabled
|
|
50
|
+
* @property {boolean} [required] - Whether the field is required
|
|
51
|
+
* @property {boolean} [readonly] - Whether the field is read-only
|
|
52
|
+
* @property {number} [maxLength] - Maximum length for text fields
|
|
53
|
+
* @property {number} [minLength] - Minimum length for text fields
|
|
54
|
+
* @property {number|Date} [max] - Maximum value for numeric or date fields
|
|
55
|
+
* @property {number|Date} [min] - Minimum value for numeric or date fields
|
|
56
|
+
* @property {string} [pattern] - Regex pattern for validation
|
|
57
|
+
* @property {number} [step] - Step value for numeric fields
|
|
58
|
+
* @property {string} [format] - Format string for date fields
|
|
59
|
+
* @property {string} [equals] - Field must equal the value of this field
|
|
60
|
+
* @property {string} [diff] - Field must differ from the value of this field
|
|
61
|
+
* @property {string} [lessThan] - Field must be less than this field
|
|
62
|
+
* @property {string} [lessThanOrEqual] - Field must be less than or equal to this field
|
|
63
|
+
* @property {string} [greaterThan] - Field must be greater than this field
|
|
64
|
+
* @property {string} [greaterThanOrEqual] - Field must be greater than or equal to this field
|
|
65
|
+
*/
|
|
10
66
|
export interface FieldProperties {
|
|
11
67
|
name: string;
|
|
68
|
+
path: string;
|
|
69
|
+
childOf?: string;
|
|
12
70
|
type: string;
|
|
13
71
|
value: string | number | Date;
|
|
14
72
|
hidden?: boolean;
|
|
@@ -31,7 +89,7 @@ export interface FieldProperties {
|
|
|
31
89
|
}
|
|
32
90
|
/**
|
|
33
91
|
* @typedef UIElementMetadata
|
|
34
|
-
* @memberOf ui-decorators
|
|
92
|
+
* @memberOf module:ui-decorators
|
|
35
93
|
*/
|
|
36
94
|
export type UIElementMetadata = {
|
|
37
95
|
tag: string;
|
|
@@ -45,7 +103,7 @@ export type UIElementMetadata = {
|
|
|
45
103
|
export type UIModelMetadata = Omit<UIElementMetadata, "serialize">;
|
|
46
104
|
/**
|
|
47
105
|
* @typedef UIPropMetadata
|
|
48
|
-
* @memberOf ui-decorators
|
|
106
|
+
* @memberOf module:ui-decorators
|
|
49
107
|
*/
|
|
50
108
|
export type UIPropMetadata = {
|
|
51
109
|
name: string;
|
|
@@ -54,7 +112,7 @@ export type UIPropMetadata = {
|
|
|
54
112
|
export type CrudOperationKeys = OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE;
|
|
55
113
|
/**
|
|
56
114
|
* @typedef UIListPropMetadata
|
|
57
|
-
* @memberOf ui-decorators
|
|
115
|
+
* @memberOf module:ui-decorators
|
|
58
116
|
*/
|
|
59
117
|
export type UIListPropMetadata = {
|
|
60
118
|
name: string;
|
|
@@ -62,14 +120,14 @@ export type UIListPropMetadata = {
|
|
|
62
120
|
};
|
|
63
121
|
/**
|
|
64
122
|
* @typedef UIListItemModelMetadata
|
|
65
|
-
* @memberOf ui-decorators
|
|
123
|
+
* @memberOf module:ui-decorators
|
|
66
124
|
*/
|
|
67
125
|
export type UIListItemModelMetadata = {
|
|
68
126
|
item: UIListItemElementMetadata;
|
|
69
127
|
};
|
|
70
128
|
/**
|
|
71
129
|
* @typedef UIListItemElementMetada
|
|
72
|
-
* @memberOf ui-decorators
|
|
130
|
+
* @memberOf module:ui-decorators
|
|
73
131
|
*/
|
|
74
132
|
export type UIListItemElementMetadata = {
|
|
75
133
|
tag: string;
|
package/lib/esm/ui/types.js
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Type definitions for UI components and rendering
|
|
3
|
+
* @summary Defines types and interfaces used throughout the UI decorators library
|
|
4
|
+
* This module contains type definitions for field properties, UI metadata,
|
|
5
|
+
* and other structures used in rendering UI components.
|
|
6
|
+
* @module ui/types
|
|
7
|
+
* @memberOf module:ui-decorators
|
|
8
|
+
*/
|
|
1
9
|
import { UIKeys } from "./constants";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGRlZmluaXRpb25zIGZvciBVSSBjb21wb25lbnRzIGFuZCByZW5kZXJpbmdcbiAqIEBzdW1tYXJ5IERlZmluZXMgdHlwZXMgYW5kIGludGVyZmFjZXMgdXNlZCB0aHJvdWdob3V0IHRoZSBVSSBkZWNvcmF0b3JzIGxpYnJhcnlcbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHR5cGUgZGVmaW5pdGlvbnMgZm9yIGZpZWxkIHByb3BlcnRpZXMsIFVJIG1ldGFkYXRhLFxuICogYW5kIG90aGVyIHN0cnVjdHVyZXMgdXNlZCBpbiByZW5kZXJpbmcgVUkgY29tcG9uZW50cy5cbiAqIEBtb2R1bGUgdWkvdHlwZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5cbmltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGRlZmluaW5nIGEgVUkgZmllbGQgb3IgY29tcG9uZW50XG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgcmVuZGVyYWJsZSBVSSBlbGVtZW50IHdpdGggcHJvcGVydGllcyBhbmQgY2hpbGRyZW5cbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudCwgaW5jbHVkaW5nXG4gKiBpdHMgdGFnIG5hbWUsIHByb3BlcnRpZXMsIGFuZCBvcHRpb25hbCBjaGlsZHJlbiBlbGVtZW50cy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkRGVmaW5pdGlvblxuICogQHRlbXBsYXRlIFQgQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHR5cGUgKGRlZmF1bHRzIHRvIHZvaWQpXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGFnIC0gVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcmVuZGVyZXJJZF0gLSBPcHRpb25hbCBJRCBvZiB0aGUgcmVuZGVyZXIgdG8gdXNlXG4gKiBAcHJvcGVydHkgcHJvcHMgLSBDb21iaW5lZCBwcm9wZXJ0aWVzIGZvciB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7RmllbGREZWZpbml0aW9uW119IFtjaGlsZHJlbl0gLSBPcHRpb25hbCBjaGlsZCBlbGVtZW50c1xuICogQHByb3BlcnR5IHtVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhfSBbaXRlbV0gLSBPcHRpb25hbCBsaXN0IGl0ZW0gbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZERlZmluaXRpb248VCA9IHZvaWQ+IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHJlbmRlcmVySWQ/OiBzdHJpbmc7XG4gIHByb3BzOiBUICYgRmllbGRQcm9wZXJ0aWVzO1xuICBjaGlsZHJlbj86IEZpZWxkRGVmaW5pdGlvbjxUPltdO1xuICBpdGVtPzogVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBmaWVsZCBwcm9wZXJ0aWVzIGluY2x1ZGluZyB2YWxpZGF0aW9uXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCB2YWxpZGF0aW9uIHJ1bGVzIGZvciBVSSBmaWVsZHNcbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0YW5kYXJkIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB0b1xuICogVUkgZmllbGRzLCBpbmNsdWRpbmcgYmFzaWMgYXR0cmlidXRlcyBhbmQgdmFsaWRhdGlvbiBydWxlcy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllc1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXRoIC0gVGhlIGZ1bGwgaGllcmFyY2hpY2FsIHBhdGggb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY2hpbGRPZiAtIFRoZSBwYXJlbnQgcGF0aCBvZiB0aGUgaW1tZWRpYXRlIHBhcmVudCBmaWVsZCwgaWYgbmVzdGVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBmaWVsZCAoZS5nLiwgJ3RleHQnLCAnbnVtYmVyJylcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfG51bWJlcnxEYXRlfSB2YWx1ZSAtIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbaGlkZGVuXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIGhpZGRlblxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGlzYWJsZWRdIC0gV2hldGhlciB0aGUgZmllbGQgaXMgZGlzYWJsZWRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3JlcXVpcmVkXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWFkb25seV0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZWFkLW9ubHlcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4TGVuZ3RoXSAtIE1heGltdW0gbGVuZ3RoIGZvciB0ZXh0IGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFttaW5MZW5ndGhdIC0gTWluaW11bSBsZW5ndGggZm9yIHRleHQgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcnxEYXRlfSBbbWF4XSAtIE1heGltdW0gdmFsdWUgZm9yIG51bWVyaWMgb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfERhdGV9IFttaW5dIC0gTWluaW11bSB2YWx1ZSBmb3IgbnVtZXJpYyBvciBkYXRlIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYXR0ZXJuXSAtIFJlZ2V4IHBhdHRlcm4gZm9yIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbc3RlcF0gLSBTdGVwIHZhbHVlIGZvciBudW1lcmljIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmb3JtYXRdIC0gRm9ybWF0IHN0cmluZyBmb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZXF1YWxzXSAtIEZpZWxkIG11c3QgZXF1YWwgdGhlIHZhbHVlIG9mIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGlmZl0gLSBGaWVsZCBtdXN0IGRpZmZlciBmcm9tIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2xlc3NUaGFuXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGVzc1RoYW5PckVxdWFsXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZ3JlYXRlclRoYW5dIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtncmVhdGVyVGhhbk9yRXF1YWxdIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhpcyBmaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBjaGlsZE9mPzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8vIFZhbGlkYXRpb25cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXIgfCBEYXRlO1xuICBtaW4/OiBudW1iZXIgfCBEYXRlO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBzdGVwPzogbnVtYmVyO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIFtVSUtleXMuRVFVQUxTXT86IHN0cmluZztcbiAgW1VJS2V5cy5ESUZGXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5dPzogc3RyaW5nO1xuICBbVUlLZXlzLkxFU1NfVEhBTl9PUl9FUVVBTF0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5HUkVBVEVSX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNlcmlhbGl6ZT86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTW9kZWxNZXRhZGF0YSA9IE9taXQ8VUlFbGVtZW50TWV0YWRhdGEsIFwic2VyaWFsaXplXCI+O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJUHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RyaW5naWZ5OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ3J1ZE9wZXJhdGlvbktleXMgPVxuICB8IE9wZXJhdGlvbktleXMuQ1JFQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5SRUFEXG4gIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgfCBPcGVyYXRpb25LZXlzLkRFTEVURTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RQcm9wTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUxpc3RQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbU1vZGVsTWV0YWRhdGEgPSB7XG4gIGl0ZW06IFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGE7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbWFwcGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG4iXX0=
|
package/lib/esm/ui/utils.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { FieldProperties } from "./types";
|
|
|
3
3
|
/**
|
|
4
4
|
* @function formatByType
|
|
5
5
|
*
|
|
6
|
-
* @memberOf ui-decorators
|
|
6
|
+
* @memberOf module:ui-decorators
|
|
7
7
|
*/
|
|
8
8
|
export declare function formatByType(type: any, value: any, ...args: unknown[]): string | number;
|
|
9
9
|
export declare function parseValueByType(type: string, value: string | number, fieldProps: FieldProperties): string | number | Date;
|