@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.
Files changed (58) hide show
  1. package/README.md +422 -12
  2. package/dist/ui-decorators.cjs +497 -51
  3. package/dist/ui-decorators.esm.cjs +497 -51
  4. package/lib/esm/index.d.ts +7 -3
  5. package/lib/esm/index.js +8 -4
  6. package/lib/esm/model/Renderable.d.ts +15 -0
  7. package/lib/esm/model/Renderable.js +1 -1
  8. package/lib/esm/model/decorators.d.ts +92 -14
  9. package/lib/esm/model/decorators.js +94 -16
  10. package/lib/esm/model/index.d.ts +0 -4
  11. package/lib/esm/model/index.js +1 -5
  12. package/lib/esm/model/model.d.ts +156 -50
  13. package/lib/esm/model/model.js +1 -1
  14. package/lib/esm/model/overrides.d.ts +8 -0
  15. package/lib/esm/model/overrides.js +19 -1
  16. package/lib/esm/ui/Rendering.js +15 -4
  17. package/lib/esm/ui/constants.d.ts +147 -4
  18. package/lib/esm/ui/constants.js +148 -5
  19. package/lib/esm/ui/decorators.d.ts +185 -21
  20. package/lib/esm/ui/decorators.js +189 -25
  21. package/lib/esm/ui/errors.d.ts +28 -0
  22. package/lib/esm/ui/errors.js +29 -1
  23. package/lib/esm/ui/index.d.ts +0 -4
  24. package/lib/esm/ui/index.js +1 -5
  25. package/lib/esm/ui/interfaces.d.ts +25 -0
  26. package/lib/esm/ui/interfaces.js +9 -1
  27. package/lib/esm/ui/types.d.ts +63 -5
  28. package/lib/esm/ui/types.js +9 -1
  29. package/lib/esm/ui/utils.d.ts +1 -1
  30. package/lib/esm/ui/utils.js +2 -2
  31. package/lib/index.cjs +8 -4
  32. package/lib/index.d.ts +7 -3
  33. package/lib/model/Renderable.cjs +1 -1
  34. package/lib/model/Renderable.d.ts +15 -0
  35. package/lib/model/decorators.cjs +94 -16
  36. package/lib/model/decorators.d.ts +92 -14
  37. package/lib/model/index.cjs +1 -5
  38. package/lib/model/index.d.ts +0 -4
  39. package/lib/model/model.cjs +1 -1
  40. package/lib/model/model.d.ts +156 -50
  41. package/lib/model/overrides.cjs +19 -1
  42. package/lib/model/overrides.d.ts +8 -0
  43. package/lib/ui/Rendering.cjs +15 -4
  44. package/lib/ui/constants.cjs +148 -5
  45. package/lib/ui/constants.d.ts +147 -4
  46. package/lib/ui/decorators.cjs +189 -25
  47. package/lib/ui/decorators.d.ts +185 -21
  48. package/lib/ui/errors.cjs +29 -1
  49. package/lib/ui/errors.d.ts +28 -0
  50. package/lib/ui/index.cjs +1 -5
  51. package/lib/ui/index.d.ts +0 -4
  52. package/lib/ui/interfaces.cjs +9 -1
  53. package/lib/ui/interfaces.d.ts +25 -0
  54. package/lib/ui/types.cjs +9 -1
  55. package/lib/ui/types.d.ts +63 -5
  56. package/lib/ui/utils.cjs +2 -2
  57. package/lib/ui/utils.d.ts +1 -1
  58. package/package.json +1 -1
@@ -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
- * @namespace ui-decorators.ui.decorators
8
- * @memberOf ui-decorators.ui
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
- * Adds the UIElement definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
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
- * @param {string} tag The component/HTML element tag name
20
- * @param {{}} [props] The properties to pass to that component/HTML Element
21
- * @param serialize
103
+ * @attribute()
104
+ * @uielement('input', { type: 'password', placeholder: 'Enter password' })
105
+ * password: string;
22
106
  *
23
- * @decorator uielement
107
+ * @attribute()
108
+ * @uielement('button', { class: 'btn-primary' })
109
+ * submit: string = 'Login';
110
+ * }
24
111
  *
25
- * @category Decorators
26
- * @subcategory ui-decorators
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
- }, props || {}),
131
+ }),
36
132
  };
37
133
  return propMetadata(RenderingEngine.key(UIKeys.ELEMENT), metadata)(original, propertyKey);
38
134
  };
39
135
  }
40
136
  /**
41
- * Adds the UIProp definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
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
- * this requires a '@uimodel' with a defined tag
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
- * @param {string} [propName] the property name that will be passed to the component. defaults to the PropertyKey
147
+ * @function uiprop
148
+ * @category Property Decorators
46
149
  *
47
- * @decorator uiprop
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
- * @category Decorators
50
- * @subcategory ui-decorators
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
- * Adds the UIListProp definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
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
- * this requires a '@uilistitem' with a defined tag
208
+ * @attribute()
209
+ * @uilistprop('items', { class: 'todo-items-container' })
210
+ * items: TodoItem[];
211
+ * }
65
212
  *
66
- * @param {string} [propName] the property name that will be passed to the component. defaults to the PropertyKey
213
+ * @uilistitem('li', { class: 'todo-item' })
214
+ * class TodoItem extends Model {
215
+ * @attribute()
216
+ * text: string;
67
217
  *
68
- * @decorator uiprop
218
+ * @attribute()
219
+ * completed: boolean;
220
+ * }
69
221
  *
70
- * @category Decorators
71
- * @subcategory ui-decorators
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
@@ -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
  }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBQzNDLFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmV4cG9ydCBjbGFzcyBSZW5kZXJpbmdFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihSZW5kZXJpbmdFcnJvci5uYW1lLCBtc2cpO1xuICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFDM0M7Ozs7T0FJRztJQUNILFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVycm9yIHRocm93biB3aGVuIGEgcmVuZGVyaW5nIG9wZXJhdGlvbiBmYWlsc1xuICogQHN1bW1hcnkgU3BlY2lhbGl6ZWQgZXJyb3IgZm9yIHJlbmRlcmluZyBmYWlsdXJlcyBpbiBVSSBjb21wb25lbnRzXG4gKiBUaGlzIGVycm9yIGlzIHRocm93biB3aGVuIHRoZSByZW5kZXJpbmcgZW5naW5lIGVuY291bnRlcnMgYW4gZXJyb3Igd2hpbGVcbiAqIGF0dGVtcHRpbmcgdG8gcmVuZGVyIGEgVUkgY29tcG9uZW50IG9yIG1vZGVsLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfEVycm9yfSBtc2cgVGhlIGVycm9yIG1lc3NhZ2Ugb3Igb3JpZ2luYWwgZXJyb3JcbiAqXG4gKiBAY2xhc3MgUmVuZGVyaW5nRXJyb3JcbiAqIEBleHRlbmRzIEJhc2VFcnJvclxuICogQGNhdGVnb3J5IEVycm9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaHJvd2luZyBhIHJlbmRlcmluZyBlcnJvclxuICogdHJ5IHtcbiAqICAgLy8gUmVuZGVyaW5nIGNvZGUgdGhhdCBtaWdodCBmYWlsXG4gKiAgIGlmICghY29tcG9uZW50LmNhblJlbmRlcigpKSB7XG4gKiAgICAgdGhyb3cgbmV3IFJlbmRlcmluZ0Vycm9yKCdDb21wb25lbnQgY2Fubm90IGJlIHJlbmRlcmVkJyk7XG4gKiAgIH1cbiAqIH0gY2F0Y2ggKGVycm9yKSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoJ1JlbmRlcmluZyBmYWlsZWQ6JywgZXJyb3IubWVzc2FnZSk7XG4gKiB9XG4gKi9cbmV4cG9ydCBjbGFzcyBSZW5kZXJpbmdFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBSZW5kZXJpbmdFcnJvciBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyB0aGUgZXJyb3Igd2l0aCBhIG1lc3NhZ2Ugb3Igb3JpZ2luYWwgZXJyb3JcbiAgICogQHBhcmFtIHtzdHJpbmd8RXJyb3J9IG1zZyBUaGUgZXJyb3IgbWVzc2FnZSBvciBvcmlnaW5hbCBlcnJvclxuICAgKi9cbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcgfCBFcnJvcikge1xuICAgIHN1cGVyKFJlbmRlcmluZ0Vycm9yLm5hbWUsIG1zZyk7XG4gIH1cbn1cbiJdfQ==
@@ -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";
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBuYW1lc3BhY2UgdWktZGVjb3JhdG9ycy51aVxuICogQG1lbWJlck9mIHVpLWRlY29yYXRvcnNcbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
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
  }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZFByb3BlcnRpZXMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQ3J1ZE9wZXJhdGlvbnMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDcnVkRm9ybUZpZWxkIGV4dGVuZHMgRmllbGRQcm9wZXJ0aWVzIHtcbiAgb3BlcmF0aW9uOiBDcnVkT3BlcmF0aW9ucztcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2VzIGZvciBVSSBmb3JtIGNvbXBvbmVudHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgaW50ZXJmYWNlcyBmb3IgZm9ybSBmaWVsZHMgd2l0aCBDUlVEIG9wZXJhdGlvbnNcbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIGludGVyZmFjZXMgdGhhdCBleHRlbmQgYmFzaWMgZmllbGQgcHJvcGVydGllcyB3aXRoXG4gKiBDUlVEIG9wZXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgZm9ybSBnZW5lcmF0aW9uLlxuICogQG1vZHVsZSB1aS9pbnRlcmZhY2VzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuXG5pbXBvcnQgeyBGaWVsZFByb3BlcnRpZXMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQ3J1ZE9wZXJhdGlvbnMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRm9ybSBmaWVsZCBpbnRlcmZhY2Ugd2l0aCBDUlVEIG9wZXJhdGlvbiBpbmZvcm1hdGlvblxuICogQHN1bW1hcnkgRXh0ZW5kcyBiYXNpYyBmaWVsZCBwcm9wZXJ0aWVzIHdpdGggYSBzcGVjaWZpYyBDUlVEIG9wZXJhdGlvblxuICogVGhpcyBpbnRlcmZhY2UgcmVwcmVzZW50cyBhIGZvcm0gZmllbGQgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpY1xuICogQ1JVRCBvcGVyYXRpb24gKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUpLiBJdCBjb21iaW5lcyBhbGwgdGhlIHN0YW5kYXJkXG4gKiBmaWVsZCBwcm9wZXJ0aWVzIHdpdGggYW4gb3BlcmF0aW9uIHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcmZhY2UgQ3J1ZEZvcm1GaWVsZFxuICogQGV4dGVuZHMgRmllbGRQcm9wZXJ0aWVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge0NydWRPcGVyYXRpb25zfSBvcGVyYXRpb24gLSBUaGUgQ1JVRCBvcGVyYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgZmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcnVkRm9ybUZpZWxkIGV4dGVuZHMgRmllbGRQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgQ1JVRCBvcGVyYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgZmllbGRcbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHdoaWNoIG9wZXJhdGlvbiAoQ3JlYXRlLCBSZWFkLCBVcGRhdGUsIERlbGV0ZSkgdGhpcyBmaWVsZCBpcyBmb3JcbiAgICovXG4gIG9wZXJhdGlvbjogQ3J1ZE9wZXJhdGlvbnM7XG59XG4iXX0=
@@ -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.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.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.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.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.ui.decorators
130
+ * @memberOf module:ui-decorators
73
131
  */
74
132
  export type UIListItemElementMetadata = {
75
133
  tag: string;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVmaW5pdGlvbjxUID0gdm9pZD4ge1xuICB0YWc6IHN0cmluZztcbiAgcmVuZGVyZXJJZD86IHN0cmluZztcbiAgcHJvcHM6IFQgJiBGaWVsZFByb3BlcnRpZXM7XG4gIGNoaWxkcmVuPzogRmllbGREZWZpbml0aW9uPFQ+W107XG4gIGl0ZW0/OiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZTtcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvLyBWYWxpZGF0aW9uXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyIHwgRGF0ZTtcbiAgbWluPzogbnVtYmVyIHwgRGF0ZTtcbiAgcGF0dGVybj86IHN0cmluZztcbiAgc3RlcD86IG51bWJlcjtcbiAgZm9ybWF0Pzogc3RyaW5nO1xuICBbVUlLZXlzLkVRVUFMU10/OiBzdHJpbmc7XG4gIFtVSUtleXMuRElGRl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuTEVTU19USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xuICBbVUlLZXlzLkdSRUFURVJfVEhBTl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMXT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIHVpLWRlY29yYXRvcnMudWkuZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgc2VyaWFsaXplPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgVUlFbGVtZW50TWV0YWRhdGFcbiAqIEBtZW1iZXJPZiB1aS1kZWNvcmF0b3JzLnVpLmRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlNb2RlbE1ldGFkYXRhID0gT21pdDxVSUVsZW1lbnRNZXRhZGF0YSwgXCJzZXJpYWxpemVcIj47XG5cbi8qKlxuICogQHR5cGVkZWYgVUlQcm9wTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiB1aS1kZWNvcmF0b3JzLnVpLmRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RyaW5naWZ5OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ3J1ZE9wZXJhdGlvbktleXMgPVxuICB8IE9wZXJhdGlvbktleXMuQ1JFQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5SRUFEXG4gIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgfCBPcGVyYXRpb25LZXlzLkRFTEVURTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RQcm9wTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiB1aS1kZWNvcmF0b3JzLnVpLmRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0UHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YVxuICogQG1lbWJlck9mIHVpLWRlY29yYXRvcnMudWkuZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YSA9IHtcbiAgaXRlbTogVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGFcbiAqIEBtZW1iZXJPZiB1aS1kZWNvcmF0b3JzLnVpLmRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbWFwcGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn0iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGRlZmluaXRpb25zIGZvciBVSSBjb21wb25lbnRzIGFuZCByZW5kZXJpbmdcbiAqIEBzdW1tYXJ5IERlZmluZXMgdHlwZXMgYW5kIGludGVyZmFjZXMgdXNlZCB0aHJvdWdob3V0IHRoZSBVSSBkZWNvcmF0b3JzIGxpYnJhcnlcbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHR5cGUgZGVmaW5pdGlvbnMgZm9yIGZpZWxkIHByb3BlcnRpZXMsIFVJIG1ldGFkYXRhLFxuICogYW5kIG90aGVyIHN0cnVjdHVyZXMgdXNlZCBpbiByZW5kZXJpbmcgVUkgY29tcG9uZW50cy5cbiAqIEBtb2R1bGUgdWkvdHlwZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5cbmltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGRlZmluaW5nIGEgVUkgZmllbGQgb3IgY29tcG9uZW50XG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgcmVuZGVyYWJsZSBVSSBlbGVtZW50IHdpdGggcHJvcGVydGllcyBhbmQgY2hpbGRyZW5cbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudCwgaW5jbHVkaW5nXG4gKiBpdHMgdGFnIG5hbWUsIHByb3BlcnRpZXMsIGFuZCBvcHRpb25hbCBjaGlsZHJlbiBlbGVtZW50cy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkRGVmaW5pdGlvblxuICogQHRlbXBsYXRlIFQgQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHR5cGUgKGRlZmF1bHRzIHRvIHZvaWQpXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGFnIC0gVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcmVuZGVyZXJJZF0gLSBPcHRpb25hbCBJRCBvZiB0aGUgcmVuZGVyZXIgdG8gdXNlXG4gKiBAcHJvcGVydHkgcHJvcHMgLSBDb21iaW5lZCBwcm9wZXJ0aWVzIGZvciB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7RmllbGREZWZpbml0aW9uW119IFtjaGlsZHJlbl0gLSBPcHRpb25hbCBjaGlsZCBlbGVtZW50c1xuICogQHByb3BlcnR5IHtVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhfSBbaXRlbV0gLSBPcHRpb25hbCBsaXN0IGl0ZW0gbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZERlZmluaXRpb248VCA9IHZvaWQ+IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHJlbmRlcmVySWQ/OiBzdHJpbmc7XG4gIHByb3BzOiBUICYgRmllbGRQcm9wZXJ0aWVzO1xuICBjaGlsZHJlbj86IEZpZWxkRGVmaW5pdGlvbjxUPltdO1xuICBpdGVtPzogVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBmaWVsZCBwcm9wZXJ0aWVzIGluY2x1ZGluZyB2YWxpZGF0aW9uXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCB2YWxpZGF0aW9uIHJ1bGVzIGZvciBVSSBmaWVsZHNcbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0YW5kYXJkIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB0b1xuICogVUkgZmllbGRzLCBpbmNsdWRpbmcgYmFzaWMgYXR0cmlidXRlcyBhbmQgdmFsaWRhdGlvbiBydWxlcy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllc1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXRoIC0gVGhlIGZ1bGwgaGllcmFyY2hpY2FsIHBhdGggb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY2hpbGRPZiAtIFRoZSBwYXJlbnQgcGF0aCBvZiB0aGUgaW1tZWRpYXRlIHBhcmVudCBmaWVsZCwgaWYgbmVzdGVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBmaWVsZCAoZS5nLiwgJ3RleHQnLCAnbnVtYmVyJylcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfG51bWJlcnxEYXRlfSB2YWx1ZSAtIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbaGlkZGVuXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIGhpZGRlblxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGlzYWJsZWRdIC0gV2hldGhlciB0aGUgZmllbGQgaXMgZGlzYWJsZWRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3JlcXVpcmVkXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWFkb25seV0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZWFkLW9ubHlcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4TGVuZ3RoXSAtIE1heGltdW0gbGVuZ3RoIGZvciB0ZXh0IGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFttaW5MZW5ndGhdIC0gTWluaW11bSBsZW5ndGggZm9yIHRleHQgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcnxEYXRlfSBbbWF4XSAtIE1heGltdW0gdmFsdWUgZm9yIG51bWVyaWMgb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfERhdGV9IFttaW5dIC0gTWluaW11bSB2YWx1ZSBmb3IgbnVtZXJpYyBvciBkYXRlIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYXR0ZXJuXSAtIFJlZ2V4IHBhdHRlcm4gZm9yIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbc3RlcF0gLSBTdGVwIHZhbHVlIGZvciBudW1lcmljIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmb3JtYXRdIC0gRm9ybWF0IHN0cmluZyBmb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZXF1YWxzXSAtIEZpZWxkIG11c3QgZXF1YWwgdGhlIHZhbHVlIG9mIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGlmZl0gLSBGaWVsZCBtdXN0IGRpZmZlciBmcm9tIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2xlc3NUaGFuXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGVzc1RoYW5PckVxdWFsXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZ3JlYXRlclRoYW5dIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtncmVhdGVyVGhhbk9yRXF1YWxdIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhpcyBmaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBjaGlsZE9mPzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8vIFZhbGlkYXRpb25cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXIgfCBEYXRlO1xuICBtaW4/OiBudW1iZXIgfCBEYXRlO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBzdGVwPzogbnVtYmVyO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIFtVSUtleXMuRVFVQUxTXT86IHN0cmluZztcbiAgW1VJS2V5cy5ESUZGXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5dPzogc3RyaW5nO1xuICBbVUlLZXlzLkxFU1NfVEhBTl9PUl9FUVVBTF0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5HUkVBVEVSX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNlcmlhbGl6ZT86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTW9kZWxNZXRhZGF0YSA9IE9taXQ8VUlFbGVtZW50TWV0YWRhdGEsIFwic2VyaWFsaXplXCI+O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJUHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RyaW5naWZ5OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ3J1ZE9wZXJhdGlvbktleXMgPVxuICB8IE9wZXJhdGlvbktleXMuQ1JFQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5SRUFEXG4gIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgfCBPcGVyYXRpb25LZXlzLkRFTEVURTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RQcm9wTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUxpc3RQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbU1vZGVsTWV0YWRhdGEgPSB7XG4gIGl0ZW06IFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGE7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbWFwcGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG4iXX0=
@@ -3,7 +3,7 @@ import { FieldProperties } from "./types";
3
3
  /**
4
4
  * @function formatByType
5
5
  *
6
- * @memberOf ui-decorators-web.ui
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;