@es-joy/jsoe 0.3.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 (189) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +1 -0
  3. package/.ncurc.cjs +9 -0
  4. package/CHANGES.md +4 -0
  5. package/demo/index.html +8 -0
  6. package/demo/index.js +1 -1
  7. package/dist/formatAndTypeChoices.d.ts +56 -0
  8. package/dist/formatAndTypeChoices.d.ts.map +1 -0
  9. package/dist/formats/indexedDBKey.d.ts +4 -0
  10. package/dist/formats/indexedDBKey.d.ts.map +1 -0
  11. package/dist/formats/json.d.ts +4 -0
  12. package/dist/formats/json.d.ts.map +1 -0
  13. package/dist/formats/schemaAndArbitrary.d.ts +6 -0
  14. package/dist/formats/schemaAndArbitrary.d.ts.map +1 -0
  15. package/dist/formats/schemaOnly.d.ts +6 -0
  16. package/dist/formats/schemaOnly.d.ts.map +1 -0
  17. package/dist/formats/structuredCloning.d.ts +20 -0
  18. package/dist/formats/structuredCloning.d.ts.map +1 -0
  19. package/dist/formats.d.ts +26 -0
  20. package/dist/formats.d.ts.map +1 -0
  21. package/dist/fundamentalTypes/BooleanObjectType.d.ts +8 -0
  22. package/dist/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  23. package/dist/fundamentalTypes/NumberObjectType.d.ts +6 -0
  24. package/dist/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  25. package/dist/fundamentalTypes/StringObjectType.d.ts +6 -0
  26. package/dist/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  27. package/dist/fundamentalTypes/arrayReferenceType.d.ts +8 -0
  28. package/dist/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  29. package/dist/fundamentalTypes/arrayType.d.ts +60 -0
  30. package/dist/fundamentalTypes/arrayType.d.ts.map +1 -0
  31. package/dist/fundamentalTypes/bigintType.d.ts +6 -0
  32. package/dist/fundamentalTypes/bigintType.d.ts.map +1 -0
  33. package/dist/fundamentalTypes/dateType.d.ts +26 -0
  34. package/dist/fundamentalTypes/dateType.d.ts.map +1 -0
  35. package/dist/fundamentalTypes/nullType.d.ts +6 -0
  36. package/dist/fundamentalTypes/nullType.d.ts.map +1 -0
  37. package/dist/fundamentalTypes/numberType.d.ts +6 -0
  38. package/dist/fundamentalTypes/numberType.d.ts.map +1 -0
  39. package/dist/fundamentalTypes/objectReferenceType.d.ts +8 -0
  40. package/dist/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  41. package/dist/fundamentalTypes/objectType.d.ts +6 -0
  42. package/dist/fundamentalTypes/objectType.d.ts.map +1 -0
  43. package/dist/fundamentalTypes/regexpType.d.ts +8 -0
  44. package/dist/fundamentalTypes/regexpType.d.ts.map +1 -0
  45. package/dist/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  46. package/dist/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  47. package/dist/fundamentalTypes/stringType.d.ts +6 -0
  48. package/dist/fundamentalTypes/stringType.d.ts.map +1 -0
  49. package/dist/fundamentalTypes/undefinedType.d.ts +6 -0
  50. package/dist/fundamentalTypes/undefinedType.d.ts.map +1 -0
  51. package/dist/index.d.ts +5 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/src/deepEqual.d.ts +3 -0
  54. package/dist/src/deepEqual.d.ts.map +1 -0
  55. package/dist/src/formatAndTypeChoices.d.ts +47 -0
  56. package/dist/src/formatAndTypeChoices.d.ts.map +1 -0
  57. package/dist/src/formats/indexedDBKey.d.ts +9 -0
  58. package/dist/src/formats/indexedDBKey.d.ts.map +1 -0
  59. package/dist/src/formats/json.d.ts +9 -0
  60. package/dist/src/formats/json.d.ts.map +1 -0
  61. package/dist/src/formats/schemaAndArbitrary.d.ts +6 -0
  62. package/dist/src/formats/schemaAndArbitrary.d.ts.map +1 -0
  63. package/dist/src/formats/schemaOnly.d.ts +6 -0
  64. package/dist/src/formats/schemaOnly.d.ts.map +1 -0
  65. package/dist/src/formats/structuredCloning.d.ts +15 -0
  66. package/dist/src/formats/structuredCloning.d.ts.map +1 -0
  67. package/dist/src/formats.d.ts +18 -0
  68. package/dist/src/formats.d.ts.map +1 -0
  69. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts +6 -0
  70. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  71. package/dist/src/fundamentalTypes/NumberObjectType.d.ts +6 -0
  72. package/dist/src/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  73. package/dist/src/fundamentalTypes/StringObjectType.d.ts +6 -0
  74. package/dist/src/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  75. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts +6 -0
  76. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  77. package/dist/src/fundamentalTypes/arrayType.d.ts +6 -0
  78. package/dist/src/fundamentalTypes/arrayType.d.ts.map +1 -0
  79. package/dist/src/fundamentalTypes/bigintType.d.ts +6 -0
  80. package/dist/src/fundamentalTypes/bigintType.d.ts.map +1 -0
  81. package/dist/src/fundamentalTypes/dateType.d.ts +6 -0
  82. package/dist/src/fundamentalTypes/dateType.d.ts.map +1 -0
  83. package/dist/src/fundamentalTypes/nullType.d.ts +6 -0
  84. package/dist/src/fundamentalTypes/nullType.d.ts.map +1 -0
  85. package/dist/src/fundamentalTypes/numberType.d.ts +6 -0
  86. package/dist/src/fundamentalTypes/numberType.d.ts.map +1 -0
  87. package/dist/src/fundamentalTypes/objectReferenceType.d.ts +6 -0
  88. package/dist/src/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  89. package/dist/src/fundamentalTypes/objectType.d.ts +6 -0
  90. package/dist/src/fundamentalTypes/objectType.d.ts.map +1 -0
  91. package/dist/src/fundamentalTypes/regexpType.d.ts +6 -0
  92. package/dist/src/fundamentalTypes/regexpType.d.ts.map +1 -0
  93. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  94. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  95. package/dist/src/fundamentalTypes/stringType.d.ts +6 -0
  96. package/dist/src/fundamentalTypes/stringType.d.ts.map +1 -0
  97. package/dist/src/fundamentalTypes/undefinedType.d.ts +6 -0
  98. package/dist/src/fundamentalTypes/undefinedType.d.ts.map +1 -0
  99. package/dist/src/index.d.ts +5 -0
  100. package/dist/src/index.d.ts.map +1 -0
  101. package/dist/src/subTypes/blobHTMLType.d.ts +26 -0
  102. package/dist/src/subTypes/blobHTMLType.d.ts.map +1 -0
  103. package/dist/src/subTypes/falseType.d.ts +6 -0
  104. package/dist/src/subTypes/falseType.d.ts.map +1 -0
  105. package/dist/src/subTypes/trueType.d.ts +6 -0
  106. package/dist/src/subTypes/trueType.d.ts.map +1 -0
  107. package/dist/src/superTypes/SpecialNumberSuperType.d.ts +11 -0
  108. package/dist/src/superTypes/SpecialNumberSuperType.d.ts.map +1 -0
  109. package/dist/src/superTypes/SpecialRealNumberSuperType.d.ts +6 -0
  110. package/dist/src/superTypes/SpecialRealNumberSuperType.d.ts.map +1 -0
  111. package/dist/src/typeChoices.d.ts +30 -0
  112. package/dist/src/typeChoices.d.ts.map +1 -0
  113. package/dist/src/types.d.ts +333 -0
  114. package/dist/src/types.d.ts.map +1 -0
  115. package/dist/src/utils/dialogs.d.ts +29 -0
  116. package/dist/src/utils/dialogs.d.ts.map +1 -0
  117. package/dist/src/utils/jsonPointer.d.ts +42 -0
  118. package/dist/src/utils/jsonPointer.d.ts.map +1 -0
  119. package/dist/src/utils/templateUtils.d.ts +59 -0
  120. package/dist/src/utils/templateUtils.d.ts.map +1 -0
  121. package/dist/src/utils/types.d.ts +2 -0
  122. package/dist/src/utils/types.d.ts.map +1 -0
  123. package/dist/subTypes/blobHTMLType.d.ts +14 -0
  124. package/dist/subTypes/blobHTMLType.d.ts.map +1 -0
  125. package/dist/subTypes/falseType.d.ts +8 -0
  126. package/dist/subTypes/falseType.d.ts.map +1 -0
  127. package/dist/subTypes/trueType.d.ts +8 -0
  128. package/dist/subTypes/trueType.d.ts.map +1 -0
  129. package/dist/superTypes/SpecialNumberSuperType.d.ts +14 -0
  130. package/dist/superTypes/SpecialNumberSuperType.d.ts.map +1 -0
  131. package/dist/superTypes/SpecialRealNumberSuperType.d.ts +6 -0
  132. package/dist/superTypes/SpecialRealNumberSuperType.d.ts.map +1 -0
  133. package/dist/typeChoices.d.ts +103 -0
  134. package/dist/typeChoices.d.ts.map +1 -0
  135. package/dist/types.d.ts +523 -0
  136. package/dist/types.d.ts.map +1 -0
  137. package/dist/utils/dialogs.d.ts +109 -0
  138. package/dist/utils/dialogs.d.ts.map +1 -0
  139. package/dist/utils/jsonPointer.d.ts +46 -0
  140. package/dist/utils/jsonPointer.d.ts.map +1 -0
  141. package/dist/utils/templateUtils.d.ts +59 -0
  142. package/dist/utils/templateUtils.d.ts.map +1 -0
  143. package/dist/utils/types.d.ts +2 -0
  144. package/dist/utils/types.d.ts.map +1 -0
  145. package/dist/vendor/jamilih/dist/jml-es.d.ts +436 -0
  146. package/dist/vendor/jamilih/dist/jml-es.d.ts.map +1 -0
  147. package/dist/vendor/typeson-registry/dist/index.d.ts +400 -0
  148. package/dist/vendor/typeson-registry/dist/index.d.ts.map +1 -0
  149. package/dist/vendor-imports.d.ts +3 -0
  150. package/dist/vendor-imports.d.ts.map +1 -0
  151. package/package.json +16 -11
  152. package/postorder-traversal.js +58 -0
  153. package/src/formatAndTypeChoices.js +95 -50
  154. package/src/formats/indexedDBKey.js +49 -57
  155. package/src/formats/json.js +47 -56
  156. package/src/formats/schemaOnly.js +12 -2
  157. package/src/formats/structuredCloning.js +162 -105
  158. package/src/formats.js +38 -10
  159. package/src/fundamentalTypes/BooleanObjectType.js +6 -4
  160. package/src/fundamentalTypes/NumberObjectType.js +5 -3
  161. package/src/fundamentalTypes/StringObjectType.js +1 -1
  162. package/src/fundamentalTypes/arrayReferenceType.js +29 -14
  163. package/src/fundamentalTypes/arrayType.js +789 -278
  164. package/src/fundamentalTypes/bigintType.js +2 -2
  165. package/src/fundamentalTypes/dateType.js +42 -14
  166. package/src/fundamentalTypes/nullType.js +1 -1
  167. package/src/fundamentalTypes/numberType.js +2 -2
  168. package/src/fundamentalTypes/objectReferenceType.js +7 -5
  169. package/src/fundamentalTypes/regexpType.js +45 -24
  170. package/src/fundamentalTypes/sparseUndefinedType.js +7 -1
  171. package/src/fundamentalTypes/stringType.js +1 -1
  172. package/src/fundamentalTypes/undefinedType.js +2 -2
  173. package/src/subTypes/blobHTMLType.js +42 -22
  174. package/src/subTypes/falseType.js +2 -2
  175. package/src/subTypes/trueType.js +2 -2
  176. package/src/superTypes/SpecialNumberSuperType.js +13 -6
  177. package/src/superTypes/SpecialRealNumberSuperType.js +11 -5
  178. package/src/typeChoices.js +137 -55
  179. package/src/types.js +309 -146
  180. package/src/utils/dialogs.js +98 -29
  181. package/src/utils/jsonPointer.js +4 -0
  182. package/src/utils/templateUtils.js +27 -12
  183. package/src/vendor-imports.js +8 -0
  184. package/tsconfig.json +18 -0
  185. package/typings/sceditor.d.ts +20 -0
  186. package/vendor/jamilih/dist/jml-es.js +1019 -389
  187. package/vendor/jamilih/dist/jml.d.ts +436 -0
  188. package/vendor/jamilih/package.json +136 -0
  189. package/vendor/typeson-registry/dist/index.js +365 -83
@@ -0,0 +1,436 @@
1
+ /// <reference types="jsdom" />
2
+ /// <reference types="jsdom" />
3
+ /**
4
+ * Configuration object.
5
+ * @typedef {object} ToJmlConfig
6
+ * @property {boolean} [stringOutput=false] Whether to output the Jamilih object as a string.
7
+ * @property {boolean} [reportInvalidState=true] If true (the default), will report invalid state errors
8
+ * @property {boolean} [stripWhitespace=false] Strip whitespace for text nodes
9
+ */
10
+ /**
11
+ * @typedef {[namespace: string|null, name: string, value?: string]} JamilihAttributeNodeValue
12
+ */
13
+ /**
14
+ * @typedef {{
15
+ * $attribute: JamilihAttributeNodeValue
16
+ * }} JamilihAttributeNode
17
+ */
18
+ /**
19
+ * @typedef {{
20
+ * $text: string
21
+ * }} JamilihTextNode
22
+ */
23
+ /**
24
+ * @typedef {['![', string]} JamilihCDATANode
25
+ */
26
+ /**
27
+ * @typedef {['&', string]} JamilihEntityReference
28
+ */
29
+ /**
30
+ * @typedef {[code: '?', target: string, value: string]} JamilihProcessingInstruction
31
+ */
32
+ /**
33
+ * @typedef {[code: '!', value: string]} JamilihComment
34
+ */
35
+ /**
36
+ * @typedef {{
37
+ * nodeType: number,
38
+ * nodeName: string
39
+ * }} Entity
40
+ */
41
+ /**
42
+ * Polyfill for `DOMException`.
43
+ */
44
+ export class DOMException extends Error {
45
+ /**
46
+ * @param {string} message
47
+ * @param {string} name
48
+ */
49
+ constructor(message: string, name: string);
50
+ code: number;
51
+ }
52
+ export default jml;
53
+ export type AttributeArray = JamilihAttributes;
54
+ export type ChildrenToJMLCallback = (childNodeJML: JamilihArray | JamilihChildType | string, i: Integer) => void;
55
+ /**
56
+ * Keep this in sync with `JamilihArray`'s first argument (minus `Document`).
57
+ */
58
+ export type JamilihFirstArg = JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihOptions | ElementName | Element | JamilihDocumentFragment;
59
+ export type JamilihAppender = (childJML: JamilihArray | JamilihFirstArg | Node) => void;
60
+ export type appender = (childJML: JamilihArray | JamilihFirstArg | Node) => void;
61
+ export type JamilihReturn = Element | DocumentFragment | Comment | Attr | Text | Document | DocumentType | ProcessingInstruction | CDATASection;
62
+ /**
63
+ * Can either be an array of:
64
+ * 1. JamilihAttributes followed by an array of JamilihArrays or Elements.
65
+ * (Cannot be multiple single JamilihArrays despite TS type).
66
+ * 2. Any number of JamilihArrays.
67
+ */
68
+ export type TemplateJamilihArray = [(JamilihAttributes | [string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | [string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]][] | Element), ...([string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | [string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]][] | Element)[]];
69
+ export type ShadowRootJamilihArrayContainer = ([string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | Element)[];
70
+ export type ShadowRoot = {
71
+ open?: boolean | (Element | JamilihArray)[];
72
+ closed?: boolean | (Element | JamilihArray)[];
73
+ template?: string | HTMLTemplateElement | [Element | JamilihArray | JamilihAttributes | JamilihArray[], ...(Element | JamilihArray | JamilihArray[])[]];
74
+ content?: (Element | JamilihArray)[];
75
+ };
76
+ export type XmlnsAttributeObject = {
77
+ [key: string]: string;
78
+ };
79
+ export type XmlnsAttribute = null | XmlnsAttributeObject;
80
+ export type DatasetAttributeObject = {
81
+ [key: string]: string | number | ((this: Element, ...args: any[]) => any);
82
+ };
83
+ export type StyleAttributeObject = string | {
84
+ [key: string]: string | null;
85
+ } | undefined;
86
+ export type OnAttributeObject = {
87
+ [key: string]: (this: Element, event?: Event) => void;
88
+ };
89
+ export type BooleanAttribute = boolean;
90
+ export type HandlerAttribute = ((...arg: any[]) => any) | {
91
+ [key: string]: [(this: Element, ...arg: any[]) => any, (boolean | undefined)?] | ((this: Element, ...arg: any[]) => any);
92
+ };
93
+ export type StringifiableNumber = number;
94
+ export type JamilihDocumentType = {
95
+ name: string;
96
+ systemId?: string;
97
+ publicId?: string;
98
+ };
99
+ export type DefineOptions = {
100
+ extends?: string;
101
+ };
102
+ export type DefineMixin = {
103
+ [key: string]: any;
104
+ };
105
+ export type DefineConstructor = {
106
+ new (): HTMLElement;
107
+ prototype: HTMLElement & {
108
+ [key: string]: any;
109
+ };
110
+ };
111
+ export type DefineObjectArray = [DefineConstructor | DefineMixin, DefineOptions?] | [DefineConstructor, DefineMixin?, DefineOptions?];
112
+ export type DefineObject = DefineObjectArray | DefineConstructor | DefineMixin;
113
+ export type SymbolObject = {
114
+ [key: string]: any;
115
+ elem?: Element | undefined;
116
+ };
117
+ export type SymbolArray = [string | symbol, SymbolObject | ((this: Element, ...args: any[]) => any)];
118
+ export type JamilihAttValue = (string | [string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | ShadowRoot | StringifiableNumber | JamilihDocumentType | JamilihDocument | XmlnsAttribute | BooleanAttribute | HandlerAttribute | DefineObject | [string | symbol, SymbolObject | ((this: Element, ...args: any[]) => any)]);
119
+ export type DataAttributeObject = {
120
+ [key: string]: string | number | ((this: Element, ...args: any[]) => any);
121
+ };
122
+ export type DataAttribute = {
123
+ $data?: true | string[] | Map<any, any> | WeakMap<any, any> | DataAttributeObject | [
124
+ Map<any, any> | WeakMap<any, any> | undefined,
125
+ DataAttributeObject
126
+ ];
127
+ };
128
+ export type StyleAttribute = {
129
+ style?: StyleAttributeObject;
130
+ };
131
+ export type JamilihAttributes = {
132
+ [key: string]: JamilihAttValue;
133
+ } & DataAttribute & StyleAttribute;
134
+ export type JamilihDocument = {
135
+ title?: string;
136
+ childNodes?: JamilihChildType[];
137
+ $DOCTYPE?: JamilihDocumentType;
138
+ head?: (string | Element | Text | Comment | DocumentFragment | ProcessingInstruction | JamilihArray | JamilihDocumentFragment | JamilihProcessingInstruction | PluginReference)[];
139
+ body?: (string | Element | Text | Comment | DocumentFragment | ProcessingInstruction | JamilihArray | JamilihDocumentFragment | JamilihProcessingInstruction | PluginReference)[];
140
+ };
141
+ export type JamilihDoc = {
142
+ $document: JamilihDocument;
143
+ };
144
+ export type JamilihDoctype = {
145
+ $DOCTYPE: JamilihDocumentType;
146
+ };
147
+ export type JamilihDocumentFragment = {
148
+ '#': ([string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | TextNodeString | Element)[];
149
+ };
150
+ export type ElementName = string;
151
+ export type TextNodeString = string;
152
+ export type PluginReference = {
153
+ [key: string]: string;
154
+ };
155
+ export type JamilihChildren = ([string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | TextNodeString | Element | Comment | ProcessingInstruction | Text | DocumentFragment | [code: "?", target: string, value: string] | JamilihDocumentFragment | PluginReference)[];
156
+ /**
157
+ * The optional 0th argument is an Jamilih options object or fragment.
158
+ *
159
+ * The first argument is the element to create (by lower-case name) or DOM element.
160
+ *
161
+ * The second optional argument are attributes to add with the key as the
162
+ * attribute name and value as the attribute value.
163
+ * The third optional argument are an array of children for this element
164
+ * (but raw DOM elements are required to be specified within arrays since
165
+ * could not otherwise be distinguished from siblings being added).
166
+ * The fourth optional argument are a sequence of sibling Elements, represented
167
+ * as DOM elements, or string/attributes/children sequences.
168
+ * The fifth optional argument is the parent to which to attach the element
169
+ * (always the last unless followed by null, in which case it is the
170
+ * second-to-last).
171
+ * The sixth last optional argument is null, used to indicate an array of elements
172
+ * should be returned.
173
+ */
174
+ export type JamilihArray = [
175
+ JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihOptions | ElementName | Element | Document | JamilihDocumentFragment | DocumentFragment,
176
+ (ElementName | Element | DocumentFragment | Document | JamilihAttributes | (string | Element | Text | Comment | DocumentFragment | ProcessingInstruction | JamilihArray | JamilihDocumentFragment | JamilihProcessingInstruction | PluginReference)[] | JamilihAttributes | globalThis.ShadowRoot | null)?,
177
+ ((string | Element | Text | Comment | DocumentFragment | ProcessingInstruction | JamilihArray | JamilihDocumentFragment | JamilihProcessingInstruction | PluginReference)[] | Element | ElementName | JamilihAttributes | globalThis.ShadowRoot | null)?,
178
+ ...(ElementName | Element | JamilihAttributes | (string | Element | Text | Comment | DocumentFragment | ProcessingInstruction | JamilihArray | JamilihDocumentFragment | JamilihProcessingInstruction | PluginReference)[] | globalThis.ShadowRoot | null)[]
179
+ ];
180
+ export type JamilihArrayPostOptions = [
181
+ (string | Element | globalThis.ShadowRoot),
182
+ ([string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]][] | JamilihAttributes | Element | globalThis.ShadowRoot | null)?,
183
+ ...([string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]][] | Element | JamilihAttributes | globalThis.ShadowRoot | null)[]
184
+ ];
185
+ export type MapWithRoot = {
186
+ [key: string]: [Map<Element, any> | WeakMap<Element, any>, any];
187
+ root: [Map<Element, any> | WeakMap<Element, any>, any];
188
+ };
189
+ export type TraversalState = "root" | "attributeValue" | "element" | "fragment" | "children" | "fragmentChildren";
190
+ export type JamilihOptions = {
191
+ $state?: TraversalState | undefined;
192
+ $plugins?: JamilihPlugin[] | undefined;
193
+ $map?: [Map<Element, any> | WeakMap<Element, any>, any] | MapWithRoot | undefined;
194
+ };
195
+ export type HTMLWindow = Window & {
196
+ DocumentFragment: any;
197
+ };
198
+ export type ArbitraryValue = any;
199
+ export type Integer = number;
200
+ export type PluginSettings = {
201
+ element: Document | Element | DocumentFragment;
202
+ attribute: {
203
+ name: string | null;
204
+ value: JamilihAttValue;
205
+ };
206
+ opts: JamilihOptions;
207
+ };
208
+ export type JamilihPlugin = {
209
+ name: string;
210
+ set: (opts: PluginSettings) => string;
211
+ };
212
+ /**
213
+ * Configuration object.
214
+ */
215
+ export type ToJmlConfig = {
216
+ /**
217
+ * Whether to output the Jamilih object as a string.
218
+ */
219
+ stringOutput?: boolean | undefined;
220
+ /**
221
+ * If true (the default), will report invalid state errors
222
+ */
223
+ reportInvalidState?: boolean | undefined;
224
+ /**
225
+ * Strip whitespace for text nodes
226
+ */
227
+ stripWhitespace?: boolean | undefined;
228
+ };
229
+ export type JamilihAttributeNodeValue = [namespace: string | null, name: string, value?: string];
230
+ export type JamilihAttributeNode = {
231
+ $attribute: [namespace: string | null, name: string, value?: string | undefined];
232
+ };
233
+ export type JamilihTextNode = {
234
+ $text: string;
235
+ };
236
+ export type JamilihCDATANode = ['![', string];
237
+ export type JamilihEntityReference = ['&', string];
238
+ export type JamilihProcessingInstruction = [code: '?', target: string, value: string];
239
+ export type JamilihComment = [code: '!', value: string];
240
+ export type Entity = {
241
+ nodeType: number;
242
+ nodeName: string;
243
+ };
244
+ export type JamilihChildType = [string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, (string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined)?, (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined)?, ...(string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]] | JamilihDoctype | ["![", string] | ["&", string] | [code: "?", target: string, value: string] | [code: "!", value: string] | JamilihDocumentFragment;
245
+ export type JamilihType = JamilihDoc | JamilihAttributeNode | JamilihChildType;
246
+ export type MapAndElementArray = [JamilihWeakMap | JamilihMap, Element];
247
+ export type MapCommand = {
248
+ [key: string]: (elem: Element, ...args: any[]) => void;
249
+ } | ((elem: Element, ...args: any[]) => void);
250
+ /**
251
+ * Creates an XHTML or HTML element (XHTML is preferred, but only in browsers
252
+ * that support); any element after element can be omitted, and any subsequent
253
+ * type or types added afterwards.
254
+ * @param {JamilihArray} args
255
+ * @returns {JamilihReturn} The newly created (and possibly already appended)
256
+ * element or array of elements
257
+ */
258
+ export function jml(args_0: string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, args_1?: string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined, args_2?: string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined, ...args_3: (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]): JamilihReturn;
259
+ export namespace jml {
260
+ /**
261
+ * @typedef {JamilihArray|JamilihDoctype|
262
+ * JamilihCDATANode|JamilihEntityReference|JamilihProcessingInstruction|
263
+ * JamilihComment|JamilihDocumentFragment} JamilihChildType
264
+ */
265
+ /**
266
+ * @typedef {JamilihDoc|JamilihAttributeNode|JamilihChildType} JamilihType
267
+ */
268
+ /**
269
+ * Converts a DOM object or a string of HTML into a Jamilih object (or string).
270
+ * @param {string|HTMLElement|Node|Entity} nde If a string, will parse as document
271
+ * @param {ToJmlConfig} [config] Configuration object
272
+ * @throws {TypeError}
273
+ * @returns {JamilihType|string} Array containing the elements which represent
274
+ * a Jamilih object, or, if `stringOutput` is true, it will be the stringified
275
+ * version of such an object
276
+ */
277
+ export function toJML(nde: string | Node | HTMLElement | Entity, { stringOutput, reportInvalidState, stripWhitespace }?: ToJmlConfig | undefined): string | JamilihType;
278
+ /**
279
+ * @param {string|HTMLElement} dom
280
+ * @param {ToJmlConfig} [config]
281
+ * @returns {string}
282
+ */
283
+ export function toJMLString(dom: string | HTMLElement, config?: ToJmlConfig | undefined): string;
284
+ /**
285
+ *
286
+ * @param {JamilihArray} args
287
+ * @returns {JamilihReturn}
288
+ */
289
+ export function toDOM(args_0: string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, args_1?: string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined, args_2?: string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined, ...args_3: (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]): JamilihReturn;
290
+ /**
291
+ *
292
+ * @param {JamilihArray} args
293
+ * @returns {string}
294
+ */
295
+ export function toHTML(args_0: string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, args_1?: string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined, args_2?: string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined, ...args_3: (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]): string;
296
+ /**
297
+ *
298
+ * @param {JamilihArray} args
299
+ * @returns {string}
300
+ */
301
+ export function toDOMString(args_0: string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, args_1?: string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined, args_2?: string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined, ...args_3: (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]): string;
302
+ /**
303
+ *
304
+ * @param {JamilihArray} args
305
+ * @returns {string}
306
+ */
307
+ export function toXML(args_0: string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, args_1?: string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined, args_2?: string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined, ...args_3: (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]): string;
308
+ /**
309
+ *
310
+ * @param {JamilihArray} args
311
+ * @returns {string}
312
+ */
313
+ export function toXMLDOMString(args_0: string | Element | Document | DocumentFragment | JamilihOptions | JamilihDoc | JamilihDoctype | JamilihTextNode | JamilihAttributeNode | JamilihDocumentFragment, args_1?: string | Element | Document | globalThis.ShadowRoot | DocumentFragment | JamilihAttributes | JamilihChildren | null | undefined, args_2?: string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null | undefined, ...args_3: (string | Element | globalThis.ShadowRoot | JamilihAttributes | JamilihChildren | null)[]): string;
314
+ export { JamilihMap as Map };
315
+ export { JamilihWeakMap as WeakMap };
316
+ /**
317
+ * @typedef {[JamilihWeakMap|JamilihMap, Element]} MapAndElementArray
318
+ */
319
+ /**
320
+ * @param {{[key: string]: any}} obj
321
+ * @param {JamilihArrayPostOptions} args
322
+ * @returns {MapAndElementArray}
323
+ */
324
+ export function weak(obj: {
325
+ [key: string]: any;
326
+ }, args_0: string | Element | globalThis.ShadowRoot, args_1?: Element | globalThis.ShadowRoot | JamilihAttributes | JamilihArray[] | null | undefined, ...args_2: (Element | globalThis.ShadowRoot | JamilihAttributes | JamilihArray[] | null)[]): MapAndElementArray;
327
+ /**
328
+ * @param {ArbitraryValue} obj
329
+ * @param {JamilihArrayPostOptions} args
330
+ * @returns {MapAndElementArray}
331
+ */
332
+ export function strong(obj: any, args_0: string | Element | globalThis.ShadowRoot, args_1?: Element | globalThis.ShadowRoot | JamilihAttributes | JamilihArray[] | null | undefined, ...args_2: (Element | globalThis.ShadowRoot | JamilihAttributes | JamilihArray[] | null)[]): MapAndElementArray;
333
+ export function symbol(element: string | Element, sym: string | symbol): any;
334
+ export function sym(element: string | Element, sym: string | symbol): any;
335
+ function _for(element: string | Element, sym: string | symbol): any;
336
+ export { _for as for };
337
+ /**
338
+ * @typedef {((elem: Element, ...args: any[]) => void)|{[key: string]: (elem: Element, ...args: any[]) => void}} MapCommand
339
+ */
340
+ /**
341
+ * @param {?(string|Element)} elem If a string, will be interpreted as a selector
342
+ * @param {symbol|string|Map<Element, MapCommand>|WeakMap<Element, MapCommand>} symOrMap If a string, will be used with `Symbol.for`
343
+ * @param {string|any} methodName Can be `any` if the symbol or map directly
344
+ * points to a function (it is then used as the first argument).
345
+ * @param {ArbitraryValue[]} args
346
+ * @returns {ArbitraryValue}
347
+ */
348
+ export function command(elem: string | Element | null, symOrMap: string | symbol | Map<Element, MapCommand> | WeakMap<Element, MapCommand>, methodName: any, ...args: any[]): any;
349
+ /**
350
+ * Expects properties `document`, `XMLSerializer`, and `DOMParser`.
351
+ * Also updates `body` with `document.body`.
352
+ * @param {import('jsdom').DOMWindow|HTMLWindow} wind
353
+ * @returns {void}
354
+ */
355
+ export function setWindow(wind: import("jsdom").DOMWindow | HTMLWindow): void;
356
+ /**
357
+ * @returns {import('jsdom').DOMWindow|HTMLWindow}
358
+ */
359
+ export function getWindow(): import("jsdom").DOMWindow | HTMLWindow;
360
+ }
361
+ /**
362
+ * @param {string} sel
363
+ * @returns {Element|null}
364
+ */
365
+ export function $(sel: string): Element | null;
366
+ /**
367
+ * @param {string} sel
368
+ * @returns {Element[]}
369
+ */
370
+ export function $$(sel: string): Element[];
371
+ export const nbsp: " ";
372
+ /**
373
+ * @type {HTMLBodyElement}
374
+ */
375
+ export let body: HTMLBodyElement;
376
+ /**
377
+ * Does not run Jamilih so can be further processed.
378
+ * @param {ArbitraryValue[]} array
379
+ * @param {ArbitraryValue} glu
380
+ * @returns {ArbitraryValue[]}
381
+ */
382
+ export function glue(array: ArbitraryValue[], glu: ArbitraryValue): ArbitraryValue[];
383
+ /**
384
+ * Element-aware wrapper for `WeakMap`.
385
+ * @extends {WeakMap<any>}
386
+ */
387
+ declare class JamilihWeakMap extends WeakMap<any, any> {
388
+ constructor(entries?: readonly [any, any][] | null | undefined);
389
+ constructor(iterable: Iterable<readonly [any, any]>);
390
+ /**
391
+ * @param {Element} element
392
+ * @returns {ArbitraryValue}
393
+ */
394
+ get(element: Element): ArbitraryValue;
395
+ /**
396
+ * @param {Element} element
397
+ * @param {ArbitraryValue} value
398
+ * @returns {ArbitraryValue}
399
+ */
400
+ set(element: Element, value: ArbitraryValue): ArbitraryValue;
401
+ /**
402
+ * @param {string|Element} element
403
+ * @param {string} methodName
404
+ * @param {...ArbitraryValue} args
405
+ * @returns {ArbitraryValue}
406
+ */
407
+ invoke(element: string | Element, methodName: string, ...args: ArbitraryValue[]): ArbitraryValue;
408
+ }
409
+ /**
410
+ * Element-aware wrapper for `Map`.
411
+ */
412
+ declare class JamilihMap extends Map<any, any> {
413
+ constructor();
414
+ constructor(entries?: readonly (readonly [any, any])[] | null | undefined);
415
+ constructor();
416
+ constructor(iterable?: Iterable<readonly [any, any]> | null | undefined);
417
+ /**
418
+ * @param {?(string|Element)} element
419
+ * @returns {ArbitraryValue}
420
+ */
421
+ get(element: (string | Element) | null): ArbitraryValue;
422
+ /**
423
+ * @param {string|Element} element
424
+ * @param {ArbitraryValue} value
425
+ * @returns {ArbitraryValue}
426
+ */
427
+ set(element: string | Element, value: ArbitraryValue): ArbitraryValue;
428
+ /**
429
+ * @param {string|Element} element
430
+ * @param {string} methodName
431
+ * @param {...ArbitraryValue} args
432
+ * @returns {ArbitraryValue}
433
+ */
434
+ invoke(element: string | Element, methodName: string, ...args: ArbitraryValue[]): ArbitraryValue;
435
+ }
436
+ //# sourceMappingURL=jml.d.ts.map
@@ -0,0 +1,136 @@
1
+ {
2
+ "name": "jamilih",
3
+ "version": "0.55.2",
4
+ "type": "module",
5
+ "types": "./dist/jml.d.ts",
6
+ "author": {
7
+ "name": "Brett Zamir",
8
+ "email": "brettz9@yahoo.com",
9
+ "url": "http://brett-zamir.me"
10
+ },
11
+ "contributors": [],
12
+ "scripts": {
13
+ "tsc": "tsc",
14
+ "amo": "echo \"Bundling for AMO\" && tar -czf compressed-source/source.tar.gz src plugins .babelrc.json package.json README.md rollup.config.js",
15
+ "prepublishOnly": "npm run build",
16
+ "license-badge": "license-badger --corrections --uncategorizedLicenseTemplate \"\\${license} (\\${name} (\\${version}))\" --filteredTypes=nonempty --textTemplate \"License types\n(project, deps, and bundled devDeps)\" --packageJson --production badges/licenses-badge.svg",
17
+ "license-badge-dev": "license-badger --corrections --filteredTypes=nonempty --textTemplate \"License types\n(all devDeps)\" --allDevelopment badges/licenses-badge-dev.svg",
18
+ "license-badges": "npm run license-badge && npm run license-badge-dev",
19
+ "lint": "npm run eslint",
20
+ "eslint": "eslint --ext=js,md,html .",
21
+ "rollup": "rollup -c",
22
+ "build": "npm run rollup && tsc -p tsconfig-build.json",
23
+ "browser-test": "npm run build && open-cli http://localhost:8091/test/ && npm run start",
24
+ "mocha": "mocha --require test-helpers/loadTests-node.js test/test.*.js --reporter-options configFile=mocha-multi-reporters.json",
25
+ "c8": "rm -Rf .nyc_output && rm -Rf coverage && rm -Rf node_modules/.cache && c8 npm run mocha && npm run coverage-badge",
26
+ "test": "npm run eslint && npm run build && npm run c8",
27
+ "kill-http-server": "pkill -f \".bin/http-server -p\"",
28
+ "build-docs": "rm -rf docs/jsdoc/*;jsdoc --pedantic -c docs/jsdoc-config.js .",
29
+ "open-docs": "open-cli http://localhost:8091/docs/jsdoc/ && npm start",
30
+ "coverage-badge": "coveradge badges/coverage-badge.svg",
31
+ "coverage": "open-cli http://localhost:8091/coverage/ && npm start",
32
+ "test-no-open": "npm run kill-http-server ; npm run eslint && npm run build && npm run start",
33
+ "start": "http-server -p 8091",
34
+ "watch": "chokidar '**/*.js' -c 'npm run test-no-open' -i 'dist' -i 'node_modules' & npm run test-no-open"
35
+ },
36
+ "c8": {
37
+ "exclude": [
38
+ "test",
39
+ "test-helpers",
40
+ ".mocharc.js"
41
+ ],
42
+ "reporter": [
43
+ "text",
44
+ "html",
45
+ "json-summary"
46
+ ]
47
+ },
48
+ "browserslist": [
49
+ "cover 100%"
50
+ ],
51
+ "description": "Provide round-trippable JSON/JavaScript serialization",
52
+ "main": "dist/jml-jsdom.js",
53
+ "browser": "dist/jml.js",
54
+ "exports": {
55
+ ".": {
56
+ "browser": "./dist/jml.js",
57
+ "import": "./dist/jml-es.js",
58
+ "require": "./dist/jml-jsdom.js"
59
+ },
60
+ "./dist/jml-jsdom.js": "./dist/jml-jsdom.js",
61
+ "./dist/jml-es-nooinnerh.js": "./dist/jml-es-noinnerh.js",
62
+ "./dist/jml-nooinnerh.js": "./dist/jml-noinnerh.js",
63
+ "./dist/jml-polyglot.js": "./dist/jml-polyglot.js",
64
+ "./dist/getInterpolator.js": "./dist/getInterpolator.js",
65
+ "./dist/jml.js": "./dist/jml.js",
66
+ "./src/jml-jsdom.js": "./src/jml-jsdom.js"
67
+ },
68
+ "repository": {
69
+ "type": "git",
70
+ "url": "https://github.com/brettz9/jamilih"
71
+ },
72
+ "homepage": "https://github.com/brettz9/jamilih",
73
+ "keywords": [
74
+ "json",
75
+ "javascript",
76
+ "template",
77
+ "templating",
78
+ "html"
79
+ ],
80
+ "license": "MIT",
81
+ "bugs": {
82
+ "url": "https://github.com/brettz9/jamilih/issues"
83
+ },
84
+ "engines": {
85
+ "node": ">=16.9.0"
86
+ },
87
+ "devDependencies": {
88
+ "@babel/core": "^7.21.5",
89
+ "@babel/preset-env": "^7.21.5",
90
+ "@brettz9/eslint-plugin": "^1.0.4",
91
+ "@rollup/plugin-babel": "^6.0.3",
92
+ "@rollup/plugin-commonjs": "^24.1.0",
93
+ "@rollup/plugin-json": "^6.0.0",
94
+ "@rollup/plugin-node-resolve": "^15.0.2",
95
+ "@types/chai": "^4.3.5",
96
+ "@types/jsdom": "^21.1.1",
97
+ "@types/mocha": "^10.0.1",
98
+ "babel-plugin-add-module-exports": "^1.0.4",
99
+ "c8": "^7.13.0",
100
+ "chai": "^4.3.7",
101
+ "chokidar-cli": "^3.0.0",
102
+ "core-js-bundle": "^3.30.1",
103
+ "coveradge": "^0.8.2",
104
+ "eslint": "^8.39.0",
105
+ "eslint-config-ash-nazg": "^34.11.1",
106
+ "eslint-config-standard": "^17.0.0",
107
+ "eslint-plugin-array-func": "^3.1.8",
108
+ "eslint-plugin-chai-expect": "^3.0.0",
109
+ "eslint-plugin-chai-friendly": "^0.7.2",
110
+ "eslint-plugin-compat": "^4.1.4",
111
+ "eslint-plugin-eslint-comments": "^3.2.0",
112
+ "eslint-plugin-html": "^7.1.0",
113
+ "eslint-plugin-import": "^2.27.5",
114
+ "eslint-plugin-jsdoc": "^43.1.1",
115
+ "eslint-plugin-markdown": "^3.0.0",
116
+ "eslint-plugin-no-unsanitized": "^4.0.2",
117
+ "eslint-plugin-no-use-extend-native": "^0.5.0",
118
+ "eslint-plugin-node": "^11.1.0",
119
+ "eslint-plugin-promise": "^6.1.1",
120
+ "eslint-plugin-sonarjs": "^0.19.0",
121
+ "eslint-plugin-standard": "^4.1.0",
122
+ "eslint-plugin-unicorn": "^46.0.0",
123
+ "http-server": "^14.1.1",
124
+ "jsdoc": "^4.0.2",
125
+ "jsdom": "21.1.2",
126
+ "license-badger": "^0.21.1",
127
+ "mocha": "^10.2.0",
128
+ "mocha-badge-generator": "^0.10.6",
129
+ "mocha-multi-reporters": "^1.5.1",
130
+ "open-cli": "^7.2.0",
131
+ "request": "^2.88.2",
132
+ "rollup": "3.21.2",
133
+ "rollup-plugin-re": "^1.0.7",
134
+ "typescript": "^5.0.4"
135
+ }
136
+ }