@es-joy/jsoe 0.2.0 → 0.4.0

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 (192) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +2 -0
  3. package/.ncurc.cjs +9 -0
  4. package/CHANGES.md +9 -0
  5. package/README.md +2 -2
  6. package/demo/index.html +8 -0
  7. package/demo/index.js +1 -1
  8. package/dist/formatAndTypeChoices.d.ts +56 -0
  9. package/dist/formatAndTypeChoices.d.ts.map +1 -0
  10. package/dist/formats/indexedDBKey.d.ts +4 -0
  11. package/dist/formats/indexedDBKey.d.ts.map +1 -0
  12. package/dist/formats/json.d.ts +4 -0
  13. package/dist/formats/json.d.ts.map +1 -0
  14. package/dist/formats/schemaAndArbitrary.d.ts +6 -0
  15. package/dist/formats/schemaAndArbitrary.d.ts.map +1 -0
  16. package/dist/formats/schemaOnly.d.ts +6 -0
  17. package/dist/formats/schemaOnly.d.ts.map +1 -0
  18. package/dist/formats/structuredCloning.d.ts +20 -0
  19. package/dist/formats/structuredCloning.d.ts.map +1 -0
  20. package/dist/formats.d.ts +26 -0
  21. package/dist/formats.d.ts.map +1 -0
  22. package/dist/fundamentalTypes/BooleanObjectType.d.ts +8 -0
  23. package/dist/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  24. package/dist/fundamentalTypes/NumberObjectType.d.ts +6 -0
  25. package/dist/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  26. package/dist/fundamentalTypes/StringObjectType.d.ts +6 -0
  27. package/dist/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  28. package/dist/fundamentalTypes/arrayReferenceType.d.ts +8 -0
  29. package/dist/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  30. package/dist/fundamentalTypes/arrayType.d.ts +60 -0
  31. package/dist/fundamentalTypes/arrayType.d.ts.map +1 -0
  32. package/dist/fundamentalTypes/bigintType.d.ts +6 -0
  33. package/dist/fundamentalTypes/bigintType.d.ts.map +1 -0
  34. package/dist/fundamentalTypes/dateType.d.ts +26 -0
  35. package/dist/fundamentalTypes/dateType.d.ts.map +1 -0
  36. package/dist/fundamentalTypes/nullType.d.ts +6 -0
  37. package/dist/fundamentalTypes/nullType.d.ts.map +1 -0
  38. package/dist/fundamentalTypes/numberType.d.ts +6 -0
  39. package/dist/fundamentalTypes/numberType.d.ts.map +1 -0
  40. package/dist/fundamentalTypes/objectReferenceType.d.ts +8 -0
  41. package/dist/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  42. package/dist/fundamentalTypes/objectType.d.ts +6 -0
  43. package/dist/fundamentalTypes/objectType.d.ts.map +1 -0
  44. package/dist/fundamentalTypes/regexpType.d.ts +8 -0
  45. package/dist/fundamentalTypes/regexpType.d.ts.map +1 -0
  46. package/dist/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  47. package/dist/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  48. package/dist/fundamentalTypes/stringType.d.ts +6 -0
  49. package/dist/fundamentalTypes/stringType.d.ts.map +1 -0
  50. package/dist/fundamentalTypes/undefinedType.d.ts +6 -0
  51. package/dist/fundamentalTypes/undefinedType.d.ts.map +1 -0
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/src/deepEqual.d.ts +3 -0
  55. package/dist/src/deepEqual.d.ts.map +1 -0
  56. package/dist/src/formatAndTypeChoices.d.ts +47 -0
  57. package/dist/src/formatAndTypeChoices.d.ts.map +1 -0
  58. package/dist/src/formats/indexedDBKey.d.ts +9 -0
  59. package/dist/src/formats/indexedDBKey.d.ts.map +1 -0
  60. package/dist/src/formats/json.d.ts +9 -0
  61. package/dist/src/formats/json.d.ts.map +1 -0
  62. package/dist/src/formats/schemaAndArbitrary.d.ts +6 -0
  63. package/dist/src/formats/schemaAndArbitrary.d.ts.map +1 -0
  64. package/dist/src/formats/schemaOnly.d.ts +6 -0
  65. package/dist/src/formats/schemaOnly.d.ts.map +1 -0
  66. package/dist/src/formats/structuredCloning.d.ts +15 -0
  67. package/dist/src/formats/structuredCloning.d.ts.map +1 -0
  68. package/dist/src/formats.d.ts +18 -0
  69. package/dist/src/formats.d.ts.map +1 -0
  70. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts +6 -0
  71. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  72. package/dist/src/fundamentalTypes/NumberObjectType.d.ts +6 -0
  73. package/dist/src/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  74. package/dist/src/fundamentalTypes/StringObjectType.d.ts +6 -0
  75. package/dist/src/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  76. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts +6 -0
  77. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  78. package/dist/src/fundamentalTypes/arrayType.d.ts +6 -0
  79. package/dist/src/fundamentalTypes/arrayType.d.ts.map +1 -0
  80. package/dist/src/fundamentalTypes/bigintType.d.ts +6 -0
  81. package/dist/src/fundamentalTypes/bigintType.d.ts.map +1 -0
  82. package/dist/src/fundamentalTypes/dateType.d.ts +6 -0
  83. package/dist/src/fundamentalTypes/dateType.d.ts.map +1 -0
  84. package/dist/src/fundamentalTypes/nullType.d.ts +6 -0
  85. package/dist/src/fundamentalTypes/nullType.d.ts.map +1 -0
  86. package/dist/src/fundamentalTypes/numberType.d.ts +6 -0
  87. package/dist/src/fundamentalTypes/numberType.d.ts.map +1 -0
  88. package/dist/src/fundamentalTypes/objectReferenceType.d.ts +6 -0
  89. package/dist/src/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  90. package/dist/src/fundamentalTypes/objectType.d.ts +6 -0
  91. package/dist/src/fundamentalTypes/objectType.d.ts.map +1 -0
  92. package/dist/src/fundamentalTypes/regexpType.d.ts +6 -0
  93. package/dist/src/fundamentalTypes/regexpType.d.ts.map +1 -0
  94. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  95. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  96. package/dist/src/fundamentalTypes/stringType.d.ts +6 -0
  97. package/dist/src/fundamentalTypes/stringType.d.ts.map +1 -0
  98. package/dist/src/fundamentalTypes/undefinedType.d.ts +6 -0
  99. package/dist/src/fundamentalTypes/undefinedType.d.ts.map +1 -0
  100. package/dist/src/index.d.ts +5 -0
  101. package/dist/src/index.d.ts.map +1 -0
  102. package/dist/src/subTypes/blobHTMLType.d.ts +26 -0
  103. package/dist/src/subTypes/blobHTMLType.d.ts.map +1 -0
  104. package/dist/src/subTypes/falseType.d.ts +6 -0
  105. package/dist/src/subTypes/falseType.d.ts.map +1 -0
  106. package/dist/src/subTypes/trueType.d.ts +6 -0
  107. package/dist/src/subTypes/trueType.d.ts.map +1 -0
  108. package/dist/src/superTypes/SpecialNumberSuperType.d.ts +11 -0
  109. package/dist/src/superTypes/SpecialNumberSuperType.d.ts.map +1 -0
  110. package/dist/src/superTypes/SpecialRealNumberSuperType.d.ts +6 -0
  111. package/dist/src/superTypes/SpecialRealNumberSuperType.d.ts.map +1 -0
  112. package/dist/src/typeChoices.d.ts +30 -0
  113. package/dist/src/typeChoices.d.ts.map +1 -0
  114. package/dist/src/types.d.ts +333 -0
  115. package/dist/src/types.d.ts.map +1 -0
  116. package/dist/src/utils/dialogs.d.ts +29 -0
  117. package/dist/src/utils/dialogs.d.ts.map +1 -0
  118. package/dist/src/utils/jsonPointer.d.ts +42 -0
  119. package/dist/src/utils/jsonPointer.d.ts.map +1 -0
  120. package/dist/src/utils/templateUtils.d.ts +59 -0
  121. package/dist/src/utils/templateUtils.d.ts.map +1 -0
  122. package/dist/src/utils/types.d.ts +2 -0
  123. package/dist/src/utils/types.d.ts.map +1 -0
  124. package/dist/subTypes/blobHTMLType.d.ts +14 -0
  125. package/dist/subTypes/blobHTMLType.d.ts.map +1 -0
  126. package/dist/subTypes/falseType.d.ts +8 -0
  127. package/dist/subTypes/falseType.d.ts.map +1 -0
  128. package/dist/subTypes/trueType.d.ts +8 -0
  129. package/dist/subTypes/trueType.d.ts.map +1 -0
  130. package/dist/superTypes/SpecialNumberSuperType.d.ts +14 -0
  131. package/dist/superTypes/SpecialNumberSuperType.d.ts.map +1 -0
  132. package/dist/superTypes/SpecialRealNumberSuperType.d.ts +6 -0
  133. package/dist/superTypes/SpecialRealNumberSuperType.d.ts.map +1 -0
  134. package/dist/typeChoices.d.ts +103 -0
  135. package/dist/typeChoices.d.ts.map +1 -0
  136. package/dist/types.d.ts +523 -0
  137. package/dist/types.d.ts.map +1 -0
  138. package/dist/utils/dialogs.d.ts +109 -0
  139. package/dist/utils/dialogs.d.ts.map +1 -0
  140. package/dist/utils/jsonPointer.d.ts +46 -0
  141. package/dist/utils/jsonPointer.d.ts.map +1 -0
  142. package/dist/utils/templateUtils.d.ts +59 -0
  143. package/dist/utils/templateUtils.d.ts.map +1 -0
  144. package/dist/utils/types.d.ts +2 -0
  145. package/dist/utils/types.d.ts.map +1 -0
  146. package/dist/vendor/jamilih/dist/jml-es.d.ts +436 -0
  147. package/dist/vendor/jamilih/dist/jml-es.d.ts.map +1 -0
  148. package/dist/vendor/typeson-registry/dist/index.d.ts +400 -0
  149. package/dist/vendor/typeson-registry/dist/index.d.ts.map +1 -0
  150. package/dist/vendor-imports.d.ts +3 -0
  151. package/dist/vendor-imports.d.ts.map +1 -0
  152. package/package.json +19 -14
  153. package/postorder-traversal.js +58 -0
  154. package/src/formatAndTypeChoices.js +95 -50
  155. package/src/formats/indexedDBKey.js +49 -56
  156. package/src/formats/json.js +47 -56
  157. package/src/formats/schemaOnly.js +12 -2
  158. package/src/formats/structuredCloning.js +162 -105
  159. package/src/formats.js +38 -10
  160. package/src/fundamentalTypes/BooleanObjectType.js +6 -4
  161. package/src/fundamentalTypes/NumberObjectType.js +5 -3
  162. package/src/fundamentalTypes/StringObjectType.js +1 -1
  163. package/src/fundamentalTypes/arrayReferenceType.js +29 -14
  164. package/src/fundamentalTypes/arrayType.js +789 -278
  165. package/src/fundamentalTypes/bigintType.js +2 -2
  166. package/src/fundamentalTypes/dateType.js +42 -14
  167. package/src/fundamentalTypes/nullType.js +1 -1
  168. package/src/fundamentalTypes/numberType.js +2 -2
  169. package/src/fundamentalTypes/objectReferenceType.js +7 -5
  170. package/src/fundamentalTypes/regexpType.js +45 -24
  171. package/src/fundamentalTypes/sparseUndefinedType.js +7 -1
  172. package/src/fundamentalTypes/stringType.js +1 -1
  173. package/src/fundamentalTypes/undefinedType.js +2 -2
  174. package/src/jsoe.css +1 -1
  175. package/src/subTypes/blobHTMLType.js +42 -22
  176. package/src/subTypes/falseType.js +2 -2
  177. package/src/subTypes/trueType.js +2 -2
  178. package/src/superTypes/SpecialNumberSuperType.js +30 -16
  179. package/src/superTypes/SpecialRealNumberSuperType.js +62 -0
  180. package/src/typeChoices.js +137 -55
  181. package/src/types.js +312 -148
  182. package/src/utils/dialogs.js +98 -29
  183. package/src/utils/jsonPointer.js +4 -0
  184. package/src/utils/templateUtils.js +27 -12
  185. package/src/vendor-imports.js +8 -0
  186. package/tsconfig.json +18 -0
  187. package/typings/sceditor.d.ts +20 -0
  188. package/vendor/jamilih/dist/jml-es.js +1019 -389
  189. package/vendor/jamilih/dist/jml.d.ts +436 -0
  190. package/vendor/jamilih/package.json +136 -0
  191. package/vendor/typeson-registry/dist/index.js +382 -84
  192. package/src/superTypes/InfinitiesSuperType.js +0 -49
@@ -0,0 +1,333 @@
1
+ export function getPropertyValueFromLegend(legend: HTMLLegendElement): string;
2
+ export default Types;
3
+ export type TypeObject = {
4
+ /**
5
+ * Creates the option
6
+ * HTML. May set an option `title` or `value`
7
+ */
8
+ option: import('jamilih').JamilihArray;
9
+ /**
10
+ * Private context variable. Whether or not
11
+ * it is an array. Do not use in other types.
12
+ */
13
+ array?: boolean | undefined;
14
+ /**
15
+ * Used for string parsing.
16
+ */
17
+ regexEndings?: string[] | undefined;
18
+ /**
19
+ * Used for string parsing. If not
20
+ * present, use `stringRegexBegin` and `stringRegexEnd`
21
+ */
22
+ stringRegex?: RegExp | undefined;
23
+ /**
24
+ * Used for string parsing. If not
25
+ * present, use `stringRegex`
26
+ */
27
+ stringRegexBegin?: RegExp | undefined;
28
+ /**
29
+ * Used for string parsing. If not
30
+ * present, use `stringRegex`
31
+ */
32
+ stringRegexEnd?: RegExp | undefined;
33
+ /**
34
+ * Function to
35
+ * check whether this subtype matches
36
+ */
37
+ valueMatch?: ((ArbitraryValue: any) => boolean) | undefined;
38
+ /**
39
+ * The greater fundamental type to which
40
+ * the type belongs
41
+ */
42
+ superType?: string | undefined;
43
+ /**
44
+ * Converts from
45
+ * string to value. May use `stringRegex` to find components.
46
+ */
47
+ toValue: (s: string) => ArbitraryValue;
48
+ /**
49
+ * Gets the value for the type
50
+ */
51
+ getValue: (info: {
52
+ root?: HTMLDivElement;
53
+ }) => ArbitraryValue;
54
+ /**
55
+ * Should set
56
+ * the value of the form's `getInput` element
57
+ */
58
+ setValue?: ((info: {
59
+ root?: HTMLDivElement;
60
+ }) => void) | undefined;
61
+ viewUI: (info: {
62
+ value?: ArbitraryValue;
63
+ typeNamespace?: string;
64
+ type?: string;
65
+ topRoot?: HTMLDivElement;
66
+ resultType?: "keys" | "values" | "both";
67
+ format?: string;
68
+ }) => JamilihArray;
69
+ editUI: (info: {
70
+ value?: ArbitraryValue;
71
+ typeNamespace?: string;
72
+ }) => JamilihArray;
73
+ /**
74
+ * Gets the
75
+ * form control (with `value`)
76
+ */
77
+ getInput: (info: {
78
+ root: HTMLDivElement;
79
+ }) => HTMLInputElement | HTMLTextareaElement | HTMLSelectElement;
80
+ /**
81
+ * Gets the reference. For array and object
82
+ * references types only
83
+ */
84
+ resolveReference?: ((path: string, value: ArbitraryValue) => ArbitraryValue) | undefined;
85
+ /**
86
+ * Message will be used if validity is false.
87
+ */
88
+ validate?: ((info: {
89
+ root: HTMLDivElement;
90
+ topRoot?: HTMLDivElement;
91
+ }) => {
92
+ message: string;
93
+ valid: boolean;
94
+ }) | undefined;
95
+ /**
96
+ * For
97
+ * validation of array and object references only.
98
+ */
99
+ validateAll?: ((info: {
100
+ topRoot: HTMLDivElement;
101
+ }) => void) | undefined;
102
+ /**
103
+ * The type after which it should be placed and its
104
+ * context types
105
+ */
106
+ stateDependent?: {
107
+ structuredCloning: {
108
+ after: string;
109
+ contexts: string[];
110
+ };
111
+ } | undefined;
112
+ };
113
+ export type GetPossibleSchemasForPathAndType = (keypath: string, parentPath: string, arrayOrObjectPropertyName: string, valueType: string) => StateObject;
114
+ export type StateObject = {
115
+ typeNamespace: string;
116
+ "readonly": boolean;
117
+ format: string;
118
+ error: Error;
119
+ rootUI: Element;
120
+ schemaContent: string;
121
+ getPossibleSchemasForPathAndType: GetPossibleSchemasForPathAndType;
122
+ };
123
+ /**
124
+ * Any other possibilities than `div`?
125
+ */
126
+ export type RootElement = HTMLDivElement;
127
+ declare namespace Types {
128
+ namespace availableTypes {
129
+ namespace ValidDate {
130
+ const valid: boolean;
131
+ }
132
+ namespace arrayNonindexKeys {
133
+ const sparse: boolean;
134
+ }
135
+ }
136
+ /**
137
+ * Utility to retrieve the type out of a type root element.
138
+ * @public
139
+ * @param {?RootElement} root
140
+ * @returns {string|undefined} Why would it not exist?
141
+ */
142
+ function getTypeForRoot(root: HTMLDivElement | null): string | undefined;
143
+ /**
144
+ * @typedef {(
145
+ * keypath: string,
146
+ * parentPath: string,
147
+ * arrayOrObjectPropertyName: string,
148
+ * valueType: string
149
+ * ) => StateObject} GetPossibleSchemasForPathAndType
150
+ */
151
+ /**
152
+ * @typedef {{
153
+ * typeNamespace: string,
154
+ * "readonly": boolean,
155
+ * format: string,
156
+ * error: Error,
157
+ * rootUI: Element,
158
+ * schemaContent: string,
159
+ * getPossibleSchemasForPathAndType: GetPossibleSchemasForPathAndType
160
+ * }} StateObject
161
+ */
162
+ /**
163
+ * Utility to get the value out of a type root element with a given
164
+ * state and path.
165
+ * @public
166
+ * @param {RootElement} root
167
+ * @param {StateObject} stateObj
168
+ * @param {string} [currentPath]
169
+ * @returns {StructuredCloneValue}
170
+ */
171
+ function getValueForRoot(root: HTMLDivElement, stateObj: StateObject, currentPath?: string | undefined): StructuredCloneValue;
172
+ /**
173
+ * Utility to get the form control (e.g., input element) for a root.
174
+ * @public
175
+ * @param {RootElement} root
176
+ * @returns {null|HTMLInputElement}
177
+ */
178
+ function getFormControlForRoot(root: HTMLDivElement): HTMLInputElement | null;
179
+ /**
180
+ * Utility to get the value for a root using its ancestor and state.
181
+ * @public
182
+ * @param {string|Element} selOrEl
183
+ * @param {StateObject} stateObj
184
+ * @returns {StructuredCloneValue}
185
+ */
186
+ function getValueFromRootAncestor(selOrEl: string | Element, stateObj: StateObject): StructuredCloneValue;
187
+ /**
188
+ * @public
189
+ * @param {string|Element} selOrEl
190
+ * @returns {null|HTMLInputElement}
191
+ */
192
+ function getFormControlFromRootAncestor(selOrEl: string | Element): HTMLInputElement | null;
193
+ /**
194
+ * @param {string} format
195
+ * @param {string} state
196
+ * @returns {string[]}
197
+ */
198
+ function getTypesForFormatAndState(format: string, state: string): string[];
199
+ /**
200
+ * @public
201
+ * @param {string} type
202
+ * @returns {JamilihArray}
203
+ */
204
+ function getOptionForType(type: string): JamilihArray;
205
+ /**
206
+ * @public
207
+ * @param {string} format
208
+ * @param {string} parserState
209
+ * @returns {JamilihArray[]}
210
+ */
211
+ function getTypeOptionsForFormatAndState(format: string, parserState: string): JamilihArray[];
212
+ /**
213
+ * @public
214
+ * @param {object} cfg
215
+ * @param {boolean} cfg."readonly"
216
+ * @param {"both"|"keys"|"values"} cfg.resultType
217
+ * @param {string} cfg.typeNamespace
218
+ * @param {string} cfg.type
219
+ * @param {RootElement} cfg.topRoot
220
+ * @param {boolean} cfg.bringIntoFocus
221
+ * @param {BuildTypeChoices} cfg.buildTypeChoices
222
+ * @param {string} cfg.format
223
+ * @param {string} cfg.schemaContent
224
+ * @param {GetPossibleSchemasForPathAndType} cfg.schemaState Not currently
225
+ * in use
226
+ * @param {StructuredCloneValue} cfg.value
227
+ * @param {boolean} cfg.hasValue
228
+ * @returns {Element}
229
+ */
230
+ function getUIForModeAndType({ readonly, resultType, typeNamespace, type, topRoot, bringIntoFocus, buildTypeChoices, format, schemaContent, schemaState, value, hasValue }: {
231
+ "": boolean;
232
+ resultType: "keys" | "values" | "both";
233
+ typeNamespace: string;
234
+ type: string;
235
+ topRoot: HTMLDivElement;
236
+ bringIntoFocus: boolean;
237
+ buildTypeChoices: BuildTypeChoices;
238
+ format: string;
239
+ schemaContent: string;
240
+ schemaState: GetPossibleSchemasForPathAndType;
241
+ value: StructuredCloneValue;
242
+ hasValue: boolean;
243
+ }): Element;
244
+ const contexts: {};
245
+ /**
246
+ * @public
247
+ * @param {object} cfg
248
+ * @param {HTMLFormElement} cfg.form
249
+ * @param {string} cfg.typeNamespace
250
+ * @param {string} cfg.keySelectClass
251
+ * @returns {boolean}
252
+ */
253
+ function validValuesSet({ form, typeNamespace, keySelectClass }: {
254
+ form: HTMLFormElement;
255
+ typeNamespace: string;
256
+ keySelectClass: string;
257
+ }): boolean;
258
+ /**
259
+ * Any other possibilities than `div`?
260
+ * @typedef {HTMLDivElement} RootElement
261
+ */
262
+ /**
263
+ * @public
264
+ * @param {object} cfg
265
+ * @param {RootElement} cfg.topRoot
266
+ * @returns {void}
267
+ */
268
+ function validateAllReferences({ topRoot }: {
269
+ topRoot: HTMLDivElement;
270
+ }): void;
271
+ /**
272
+ * @public
273
+ * @param {object} cfg
274
+ * @param {string} cfg.type
275
+ * @param {RootElement} cfg.root
276
+ * @param {RootElement} cfg.topRoot
277
+ * @returns {boolean}
278
+ */
279
+ function validate({ type, root, topRoot }: {
280
+ type: string;
281
+ root: HTMLDivElement;
282
+ topRoot: HTMLDivElement;
283
+ }): boolean;
284
+ /**
285
+ * @param {object} cfg
286
+ * @param {string} cfg.type
287
+ * @param {RootElement} cfg.root
288
+ * @param {StructuredCloneValue} cfg.value
289
+ * @returns {void}
290
+ */
291
+ function setValue({ type, root, value }: {
292
+ type: string;
293
+ root: HTMLDivElement;
294
+ value: StructuredCloneValue;
295
+ }): void;
296
+ /**
297
+ * @public
298
+ * @param {string} s
299
+ * @param {object} cfg
300
+ * @param {string} cfg.format
301
+ * @param {string} cfg.state
302
+ * @param {TypeObject[]} [cfg.endMatchTypeObjs=[]]
303
+ * @param {boolean} [cfg.firstRun=true]
304
+ * @param {
305
+ * [
306
+ * type: string,
307
+ * parent: array|object,
308
+ * parentPath: string,
309
+ * path: string
310
+ * ]
311
+ * } [cfg.rootHolder=[]]
312
+ * @param {ArbitraryArray|ArbitraryObject} cfg.parent
313
+ * @param {string} cfg.parentPath
314
+ * @returns {{
315
+ * value: ArbitraryValue,
316
+ * remnant: string,
317
+ * beginOnly: boolean,
318
+ * assign: boolean
319
+ * }}
320
+ */
321
+ function getValueForString(s: string, { format, state, endMatchTypeObjs, firstRun, rootHolder, parent, parentPath }: {
322
+ format: string;
323
+ state: string;
324
+ endMatchTypeObjs?: TypeObject[] | undefined;
325
+ firstRun?: boolean | undefined;
326
+ }): {
327
+ value: ArbitraryValue;
328
+ remnant: string;
329
+ beginOnly: boolean;
330
+ assign: boolean;
331
+ };
332
+ }
333
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.js"],"names":[],"mappings":"AAoCO,mDAHI,iBAAiB,GACf,MAAM,CAOlB;;;;;;;YAMa,OAAO,SAAS,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAWV,OAAO;;;;;;;;;;iBAIvB,MAAM;;;;qBAEH;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAC;;;;;uBAGvB;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAC,KAAK,IAAI;mBAEhC;QACpB,KAAS,CAAC,iBAAiB;QAC3B,aAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAW,CAAC,EAAE,cAAc,CAAC;QAC7B,UAAc,CAAC,EAAE,MAAM,GAAC,QAAQ,GAAC,MAAM,CAAC;QACxC,MAAU,CAAC,EAAE,MAAM,CAAA;KAChB;mBACiB;QACpB,KAAS,CAAC,iBAAiB;QAC3B,aAAiB,CAAC,EAAE,MAAM,CAAC;KACxB;;;;;qBACiB;QAAC,IAAI,EAAE,cAAc,CAAA;KAAC,KAC1C,gBAAoB,yBAAqB,iBAAiB;;;;;+BAEtC,MAAM;;;;uBAGN;QAAC,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAC,KAAK;QACzE,OAAW,EAAE,MAAM,CAAC;QACpB,KAAS,EAAE,OAAO,CAAA;KACf;;;;;0BACiB;QAAC,OAAO,EAAE,cAAc,CAAA;KAAC,KAAK,IAAI;;;;;;2BAG/B;YACvB,KAAW,EAAE,MAAM,CAAC;YACpB,QAAc,EAAE,MAAM,EAAE,CAAA;SACnB;;;yDAsJU,MAAM,cACJ,MAAM,6BACS,MAAM,aACtB,MAAM,KACd,WAAW;0BAIP;IACZ,aAAiB,EAAE,MAAM,CAAC;IAC1B,UAAc,EAAE,OAAO,CAAC;IACxB,MAAU,EAAE,MAAM,CAAC;IACnB,KAAS,EAAE,KAAK,CAAC;IACjB,MAAU,EAAE,OAAO,CAAC;IACpB,aAAiB,EAAE,MAAM,CAAC;IAC1B,gCAAoC,EAAE,gCAAgC,CAAA;CACnE;;;;0BAwMS,cAAc;;;;;;;;;;IApO3B;;;;;OAKG;IACH,yEAEC;IAED;;;;;;;OAOG;IAEH;;;;;;;;;;OAUG;IAEH;;;;;;;;OAQG;IACH,8HAOC;IAED;;;;;OAKG;IACH,8EAOC;IAED;;;;;;OAMG;IACH,0GAEC;IAED;;;;OAIG;IACH,4FAMC;IAED;;;;OAIG;IACH,4EAE6D;IAE7D;;;;OAIG;IACH,sDAIC;IAED;;;;;OAKG;IACH,8FAOC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;;;;;gBA2BC;;IAoBD;;;;;;;OAOG;IACH;;;;gBA4BC;IAED;;;OAGG;IAEH;;;;;OAKG;IACH;;aAkBC;IAED;;;;;;;OAOG;IACH;;;;gBAgBC;IAED;;;;;;OAMG;IACH;;;;aAKC;IAqBD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH;;;;;;;;;;MA6GC"}
@@ -0,0 +1,29 @@
1
+ export default dialogs;
2
+ declare namespace dialogs {
3
+ function setLocale(locale?: {}): void;
4
+ function makeDialog({ atts, children, close, remove }?: {
5
+ atts?: {} | undefined;
6
+ children?: any[] | undefined;
7
+ close: any;
8
+ remove?: boolean | undefined;
9
+ }): import("../../vendor/jamilih/dist/jml-es.js").JamilihReturn;
10
+ function makeSubmitDialog({ submit, submitClass, ...args }: {
11
+ [x: string]: any;
12
+ submit: any;
13
+ submitClass?: string | undefined;
14
+ }): import("../../vendor/jamilih/dist/jml-es.js").JamilihReturn;
15
+ function makeCancelDialog({ submit, cancel, cancelClass, submitClass, ...args }: {
16
+ [x: string]: any;
17
+ submit: any;
18
+ cancel: any;
19
+ cancelClass?: string | undefined;
20
+ submitClass?: string | undefined;
21
+ }): import("../../vendor/jamilih/dist/jml-es.js").JamilihReturn;
22
+ function alert(message: any): Promise<any>;
23
+ function confirm({ atts, message, submitClass }: {
24
+ atts?: {} | undefined;
25
+ message: any;
26
+ submitClass?: string | undefined;
27
+ }): Promise<any>;
28
+ }
29
+ //# sourceMappingURL=dialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../../src/utils/dialogs.js"],"names":[],"mappings":";;IAYE,sCAEC;IACD;;;;;oEAiBC;IACD;;;;oEAcC;IACD;;;;;;oEAsBC;IACD,2CAiBC;IACD;;;;qBAoBC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @param {...string} args
3
+ * @returns {string}
4
+ */
5
+ export function makeJSONPointer(...args: string[]): string;
6
+ /**
7
+ * @param {string} path
8
+ * @returns {string}
9
+ */
10
+ export function escapeJSONPointer(path: string): string;
11
+ /**
12
+ * @param {string} pathPart
13
+ * @returns {string}
14
+ */
15
+ export function unescapeJSONPointerPart(pathPart: string): string;
16
+ /**
17
+ * @param {string} path
18
+ * @returns {string[]}
19
+ */
20
+ export function getJSONPointerParts(path: string): string[];
21
+ /**
22
+ * @param {ArbitraryObject} obj
23
+ * @param {string} pathPart
24
+ * @returns {ArbitraryObject|string}
25
+ */
26
+ export function reduceJSONPointerParts(obj: ArbitraryObject, pathPart: string): ArbitraryObject | string;
27
+ /**
28
+ * @param {object} cfg
29
+ * @param {string} cfg.path
30
+ * @param {ArbitraryObject} cfg.obj
31
+ * @returns {string|ArbitraryObject}
32
+ */
33
+ export function resolveJSONPointer({ path, obj }: {
34
+ path: string;
35
+ obj: ArbitraryObject;
36
+ }): string | ArbitraryObject;
37
+ /**
38
+ * @param {string} path
39
+ * @returns {string}
40
+ */
41
+ export function typesonPathToJSONPointer(path: string): string;
42
+ //# sourceMappingURL=jsonPointer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonPointer.d.ts","sourceRoot":"","sources":["../../../src/utils/jsonPointer.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,yCAHc,MAAM,KACP,MAAM,CAMlB;AAED;;;GAGG;AACH,wCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;GAGG;AACH,kDAHW,MAAM,GACJ,MAAM,CASlB;AAED;;;GAGG;AACH,0CAHW,MAAM,GACJ,MAAM,EAAE,CAMpB;AAED;;;;GAIG;AACH,uEAHW,MAAM,GACJ,kBAAgB,MAAM,CAQlC;AAED;;;;;GAKG;AACH;IAJuB,IAAI,EAAhB,MAAM;IACe,GAAG;IACtB,MAAM,kBAAgB,CAOlC;AAED;;;GAGG;AACH,+CAHW,MAAM,GACJ,MAAM,CAYlB"}
@@ -0,0 +1,59 @@
1
+ export namespace U {
2
+ export { nbsp };
3
+ export { upArrow };
4
+ export { downArrow };
5
+ }
6
+ /**
7
+ * @param {string} sel
8
+ * @returns {Element|null}
9
+ */
10
+ export function $(sel: string): Element | null;
11
+ /**
12
+ * @param {string} sel
13
+ * @returns {Element[]}
14
+ */
15
+ export function $$(sel: string): Element[];
16
+ /**
17
+ * @param {Element|string} el
18
+ * @param {string} descendentsSel
19
+ * @returns {Element|null}
20
+ */
21
+ export function $e(el: Element | string, descendentsSel: string): Element | null;
22
+ /**
23
+ * @param {Element|string} el
24
+ * @param {string} descendentsSel
25
+ * @returns {Element[]}
26
+ */
27
+ export function $$e(el: Element | string, descendentsSel: string): Element[];
28
+ export namespace DOM {
29
+ export { removeChildren };
30
+ export { removeIfExists };
31
+ export { filterChildElements };
32
+ export { initialCaps };
33
+ }
34
+ declare const nbsp: " ";
35
+ declare const upArrow: "↑";
36
+ declare const downArrow: "↓";
37
+ /**
38
+ * @param {Node} node
39
+ * @returns {void}
40
+ */
41
+ declare function removeChildren(node: Node): void;
42
+ /**
43
+ * @param {Element|string} sel
44
+ * @returns {void}
45
+ */
46
+ declare function removeIfExists(sel: Element | string): void;
47
+ /**
48
+ * @param {Element} el
49
+ * @param {string|string[]} selectors
50
+ * @returns {Element[]}
51
+ */
52
+ declare function filterChildElements(el: Element, selectors: string | string[]): Element[];
53
+ /**
54
+ * @param {string} s
55
+ * @returns {string}
56
+ */
57
+ declare function initialCaps(s: string): string;
58
+ export {};
59
+ //# sourceMappingURL=templateUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/templateUtils.js"],"names":[],"mappings":";;;;;AAMA;;;GAGG;AACH,uBAHW,MAAM,GACJ,OAAO,GAAC,IAAI,CAEqB;AAE9C;;;GAGG;AACH,wBAHW,MAAM,GACJ,OAAO,EAAE,CAEiC;AAEvD;;;;GAIG;AACH,uBAJW,OAAO,GAAC,MAAM,kBACd,MAAM,GACJ,OAAO,GAAC,IAAI,CAQxB;AAED;;;;GAIG;AACH,wBAJW,OAAO,GAAC,MAAM,kBACd,MAAM,GACJ,OAAO,EAAE,CAQrB;;;;;;;AAzCD,wBAAsB;AACtB,2BAAyB;AACzB,6BAA2B;AAyC3B;;;GAGG;AACH,sCAHW,IAAI,GACF,IAAI,CAUhB;AAED;;;GAGG;AACH,qCAHW,OAAO,GAAC,MAAM,GACZ,IAAI,CAOhB;AAED;;;;GAIG;AACH,yCAJW,OAAO,aACP,MAAM,GAAC,MAAM,EAAE,GACb,OAAO,EAAE,CA+BrB;AAED;;;GAGG;AACH,gCAHW,MAAM,GACJ,MAAM,CAIlB"}
@@ -0,0 +1,2 @@
1
+ export function isNullish(obj: unknown): boolean;
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.js"],"names":[],"mappings":"AAGO,+BAFI,OAAO,WAIjB"}
@@ -0,0 +1,14 @@
1
+ export default blobHTMLType;
2
+ /**
3
+ * @type {import('../types.js').TypeObject & {
4
+ * loadBlob: (blob: Blob) => Promise<FileReader>,
5
+ * sceditorInstance: {val: (val?: string) => string|void}
6
+ * }}
7
+ */
8
+ declare const blobHTMLType: import("../types.js").TypeObject & {
9
+ loadBlob: (blob: Blob) => Promise<FileReader>;
10
+ sceditorInstance: {
11
+ val: (val?: string) => string | void;
12
+ };
13
+ };
14
+ //# sourceMappingURL=blobHTMLType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blobHTMLType.d.ts","sourceRoot":"","sources":["../../src/subTypes/blobHTMLType.js"],"names":[],"mappings":";AAOA;;;;;GAKG;AACH;qBAJsB,IAAI,KAAK,QAAQ,UAAU,CAAC;;oBACd,MAAM,KAAK,MAAM,GAAC,IAAI;;EAuKxD"}
@@ -0,0 +1,8 @@
1
+ export default falseType;
2
+ /**
3
+ * @type {import('../types.js').TypeObject & {ct: number}}
4
+ */
5
+ declare const falseType: import('../types.js').TypeObject & {
6
+ ct: number;
7
+ };
8
+ //# sourceMappingURL=falseType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falseType.d.ts","sourceRoot":"","sources":["../../src/subTypes/falseType.js"],"names":[],"mappings":";AAEA;;GAEG;AACH,yBAFU,OAAO,aAAa,EAAE,UAAU,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAoCvD"}
@@ -0,0 +1,8 @@
1
+ export default trueType;
2
+ /**
3
+ * @type {import('../types.js').TypeObject & {ct: number}}
4
+ */
5
+ declare const trueType: import('../types.js').TypeObject & {
6
+ ct: number;
7
+ };
8
+ //# sourceMappingURL=trueType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trueType.d.ts","sourceRoot":"","sources":["../../src/subTypes/trueType.js"],"names":[],"mappings":";AAEA;;GAEG;AACH,wBAFU,OAAO,aAAa,EAAE,UAAU,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAoCvD"}
@@ -0,0 +1,14 @@
1
+ export default SpecialNumberSuperType;
2
+ export type SuperTypeObject = import('../types.js').TypeObject & {
3
+ childTypes: string[];
4
+ };
5
+ /**
6
+ * @typedef {import('../types.js').TypeObject & {
7
+ * childTypes: string[]
8
+ * }} SuperTypeObject
9
+ */
10
+ /**
11
+ * @type {SuperTypeObject}
12
+ */
13
+ declare const SpecialNumberSuperType: SuperTypeObject;
14
+ //# sourceMappingURL=SpecialNumberSuperType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecialNumberSuperType.d.ts","sourceRoot":"","sources":["../../src/superTypes/SpecialNumberSuperType.js"],"names":[],"mappings":";8BAGa,OAAO,aAAa,EAAE,UAAU,GAAG;IAC/C,UAAc,EAAE,MAAM,EAAE,CAAA;CACrB;AAHJ;;;;GAIG;AAEH;;GAEG;AACH,sCAFU,eAAe,CAgEvB"}
@@ -0,0 +1,6 @@
1
+ export default SpecialRealNumberSuperType;
2
+ /**
3
+ * @type {import('./SpecialNumberSuperType.js').SuperTypeObject}
4
+ */
5
+ declare const SpecialRealNumberSuperType: import('./SpecialNumberSuperType.js').SuperTypeObject;
6
+ //# sourceMappingURL=SpecialRealNumberSuperType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecialRealNumberSuperType.d.ts","sourceRoot":"","sources":["../../src/superTypes/SpecialRealNumberSuperType.js"],"names":[],"mappings":";AAEA;;GAEG;AACH,0CAFU,OAAO,6BAA6B,EAAE,eAAe,CAwD7D"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @typedef {(info: {type: string, editUI: Element}) => void} AddTypeAndEditUI
3
+ */
4
+ /**
5
+ * @typedef {(info?: {
6
+ * baseValue?: import('./formats.js').StructuredCloneValue,
7
+ * bringIntoFocus?: boolean
8
+ * }) => void} AddAndValidateEditUI
9
+ */
10
+ /**
11
+ * @typedef {() => void} SetStyles
12
+ */
13
+ /**
14
+ * @typedef {Element & {
15
+ * $addAndValidateEditUI: AddAndValidateEditUI,
16
+ * $setStyles: SetStyles
17
+ * }} TypeChoicesElementAPI
18
+ */
19
+ /**
20
+ * @callback GetValue
21
+ * @param {import('./types.js').StateObject} [stateObj] Will
22
+ * auto-set `typeNamespace` and `format`
23
+ * @param {string} [currentPath]
24
+ * @returns {import('./formats.js').StructuredCloneValue}
25
+ */
26
+ /**
27
+ * @callback GetType
28
+ * @returns {string|null|undefined}
29
+ */
30
+ /**
31
+ * @callback ValidValuesSet
32
+ * @returns {boolean}
33
+ */
34
+ /**
35
+ * @callback SetValue
36
+ * @param {import('./formats.js').StructuredCloneValue} value
37
+ * @param {import('./types.js').StateObject} stateObj
38
+ * @returns {Promise<void>}
39
+ */
40
+ /**
41
+ * @callback BuildTypeChoices
42
+ * @param {{
43
+ * format: import('./formats.js').AvailableFormat,
44
+ * typeNamespace?: string,
45
+ * value?: import('./formats.js').StructuredCloneValue,
46
+ * setValue?: boolean,
47
+ * state?: string,
48
+ * keySelectClass?: string,
49
+ * requireObject?: boolean,
50
+ * objectHasValue?: boolean,
51
+ * topRoot: import('./types.js').RootElement,
52
+ * schema?: string,
53
+ * schemaContent?: object,
54
+ * }} cfg
55
+ * @returns {{
56
+ * domArray: [select: Element, typeContainer: Element],
57
+ * getValue: GetValue,
58
+ * getType: GetType,
59
+ * validValuesSet: ValidValuesSet,
60
+ * setValue: SetValue
61
+ * }}
62
+ */
63
+ /**
64
+ * @type {BuildTypeChoices}
65
+ */
66
+ export const buildTypeChoices: BuildTypeChoices;
67
+ export type AddTypeAndEditUI = (info: {
68
+ type: string;
69
+ editUI: Element;
70
+ }) => void;
71
+ export type AddAndValidateEditUI = (info?: {
72
+ baseValue?: import('./formats.js').StructuredCloneValue;
73
+ bringIntoFocus?: boolean;
74
+ }) => void;
75
+ export type SetStyles = () => void;
76
+ export type TypeChoicesElementAPI = Element & {
77
+ $addAndValidateEditUI: AddAndValidateEditUI;
78
+ $setStyles: SetStyles;
79
+ };
80
+ export type GetValue = (stateObj?: import("./types.js").StateObject | undefined, currentPath?: string | undefined) => import('./formats.js').StructuredCloneValue;
81
+ export type GetType = () => string | null | undefined;
82
+ export type ValidValuesSet = () => boolean;
83
+ export type SetValue = (value: import('./formats.js').StructuredCloneValue, stateObj: import('./types.js').StateObject) => Promise<void>;
84
+ export type BuildTypeChoices = (cfg: {
85
+ format: import('./formats.js').AvailableFormat;
86
+ typeNamespace?: string;
87
+ value?: import('./formats.js').StructuredCloneValue;
88
+ setValue?: boolean;
89
+ state?: string;
90
+ keySelectClass?: string;
91
+ requireObject?: boolean;
92
+ objectHasValue?: boolean;
93
+ topRoot: import('./types.js').RootElement;
94
+ schema?: string;
95
+ schemaContent?: object;
96
+ }) => {
97
+ domArray: [select: Element, typeContainer: Element];
98
+ getValue: GetValue;
99
+ getType: GetType;
100
+ validValuesSet: ValidValuesSet;
101
+ setValue: SetValue;
102
+ };
103
+ //# sourceMappingURL=typeChoices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeChoices.d.ts","sourceRoot":"","sources":["../src/typeChoices.js"],"names":[],"mappings":"AAOA;;GAEG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,+BAFU,gBAAgB,CA2PxB;sCAlUkB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,KAAK,IAAI;2CAIvC;IACpB,SAAa,CAAC,EAAE,OAAO,cAAc,EAAE,oBAAoB,CAAC;IAC5D,cAAkB,CAAC,EAAE,OAAO,CAAA;CACzB,KAAK,IAAI;wBAIA,MAAM,IAAI;oCAIV,OAAO,GAAG;IACtB,qBAAyB,EAAE,oBAAoB,CAAC;IAChD,UAAc,EAAE,SAAS,CAAA;CACtB;sHAQS,OAAO,cAAc,EAAE,oBAAoB;4BAK3C,MAAM,GAAC,IAAI,GAAC,SAAS;mCAKrB,OAAO;+BAKT,OAAO,cAAc,EAAE,oBAAoB,YAC3C,OAAO,YAAY,EAAE,WAAW,KAC9B,QAAQ,IAAI,CAAC;qCAKf;IACV,MAAU,EAAE,OAAO,cAAc,EAAE,eAAe,CAAC;IACnD,aAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAS,CAAC,EAAE,OAAO,cAAc,EAAE,oBAAoB,CAAC;IACxD,QAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAW,EAAE,OAAO,YAAY,EAAE,WAAW,CAAC;IAC9C,MAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAiB,CAAC,EAAE,MAAM,CAAC;CACxB,KACS;IACZ,QAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACxD,QAAY,EAAE,QAAQ,CAAC;IACvB,OAAW,EAAE,OAAO,CAAC;IACrB,cAAkB,EAAE,cAAc,CAAC;IACnC,QAAY,EAAE,QAAQ,CAAA;CACnB"}