@dialecte/core 0.0.16 → 0.0.17

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 (237) hide show
  1. package/dist/env.d.ts +1 -0
  2. package/dist/index.d.ts +1 -8
  3. package/dist/index.js +309 -308
  4. package/dist/{chain-methods → src/chain-methods}/chain-assembler.d.ts +3 -4
  5. package/dist/{chain-methods → src/chain-methods}/chain-creator.d.ts +3 -4
  6. package/dist/{chain-methods → src/chain-methods}/ending/index.d.ts +0 -1
  7. package/dist/{chain-methods → src/chain-methods}/ending/queries/context.d.ts +2 -3
  8. package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/filter-utils.helper.d.ts +2 -3
  9. package/dist/src/chain-methods/ending/queries/descendants/find-descendants-as-tree.d.ts +51 -0
  10. package/dist/src/chain-methods/ending/queries/descendants/find-descendants.d.ts +59 -0
  11. package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/flatten-tree.helper.d.ts +1 -2
  12. package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/group-records.helper.d.ts +1 -2
  13. package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/index.d.ts +0 -1
  14. package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/match-conditions.helper.d.ts +2 -3
  15. package/dist/src/chain-methods/ending/queries/descendants/types.d.ts +34 -0
  16. package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/walk-ancestry.helper.d.ts +1 -2
  17. package/dist/src/chain-methods/ending/queries/find-children.d.ts +8 -0
  18. package/dist/src/chain-methods/ending/queries/find-children.types.d.ts +5 -0
  19. package/dist/{chain-methods → src/chain-methods}/ending/queries/get-attributes-values.d.ts +1 -2
  20. package/dist/{chain-methods → src/chain-methods}/ending/queries/get-parent.d.ts +1 -2
  21. package/dist/{chain-methods → src/chain-methods}/ending/queries/get-tree.d.ts +3 -4
  22. package/dist/src/chain-methods/ending/queries/get-tree.types.d.ts +17 -0
  23. package/dist/{chain-methods → src/chain-methods}/ending/queries/index.d.ts +0 -1
  24. package/dist/{chain-methods → src/chain-methods}/ending/transaction/commit.d.ts +2 -3
  25. package/dist/src/chain-methods/ending/transaction/index.d.ts +1 -0
  26. package/dist/src/chain-methods/ending/transaction/merge-operations.d.ts +20 -0
  27. package/dist/{chain-methods → src/chain-methods}/index.d.ts +0 -1
  28. package/dist/{chain-methods → src/chain-methods}/mutations/clone.d.ts +2 -3
  29. package/dist/src/chain-methods/mutations/clone.types.d.ts +16 -0
  30. package/dist/{chain-methods → src/chain-methods}/mutations/create.d.ts +3 -4
  31. package/dist/src/chain-methods/mutations/create.types.d.ts +31 -0
  32. package/dist/{chain-methods → src/chain-methods}/mutations/delete.d.ts +4 -5
  33. package/dist/src/chain-methods/mutations/delete.types.d.ts +5 -0
  34. package/dist/{chain-methods → src/chain-methods}/mutations/index.d.ts +0 -1
  35. package/dist/{chain-methods → src/chain-methods}/mutations/update.d.ts +3 -4
  36. package/dist/src/chain-methods/mutations/update.types.d.ts +5 -0
  37. package/dist/{chain-methods → src/chain-methods}/navigation/go-to-element.d.ts +4 -5
  38. package/dist/{chain-methods → src/chain-methods}/navigation/go-to-parent.d.ts +5 -6
  39. package/dist/{chain-methods → src/chain-methods}/navigation/index.d.ts +0 -1
  40. package/dist/src/chain-methods/navigation/types.d.ts +11 -0
  41. package/dist/{chain-methods → src/chain-methods}/types.d.ts +9 -10
  42. package/dist/{database → src/database}/index.d.ts +0 -1
  43. package/dist/src/database/instance.d.ts +6 -0
  44. package/dist/src/database/types.d.ts +8 -0
  45. package/dist/{dialecte → src/dialecte}/entrypoints.d.ts +4 -5
  46. package/dist/{dialecte → src/dialecte}/index.d.ts +0 -1
  47. package/dist/{dialecte → src/dialecte}/main.d.ts +3 -4
  48. package/dist/{dialecte → src/dialecte}/state.d.ts +1 -2
  49. package/dist/{dialecte → src/dialecte}/types.d.ts +6 -7
  50. package/dist/{errors → src/errors}/codes.d.ts +0 -1
  51. package/dist/{errors → src/errors}/errors.d.ts +2 -3
  52. package/dist/{errors → src/errors}/index.d.ts +0 -1
  53. package/dist/src/errors/types.d.ts +22 -0
  54. package/dist/{helpers → src/helpers}/assert.d.ts +0 -1
  55. package/dist/{helpers → src/helpers}/index.d.ts +0 -1
  56. package/dist/{helpers → src/helpers}/record/converter.d.ts +1 -2
  57. package/dist/{helpers → src/helpers}/record/guard.d.ts +1 -2
  58. package/dist/{helpers → src/helpers}/record/index.d.ts +0 -1
  59. package/dist/{helpers → src/helpers}/record/operations.d.ts +1 -2
  60. package/dist/{helpers → src/helpers}/record/query/find-by-attributes.d.ts +3 -4
  61. package/dist/{helpers → src/helpers}/record/query/index.d.ts +0 -1
  62. package/dist/{helpers → src/helpers}/record/query/record.d.ts +2 -3
  63. package/dist/src/helpers/record/query/types.d.ts +9 -0
  64. package/dist/{helpers → src/helpers}/record/standardizing.d.ts +1 -2
  65. package/dist/{helpers → src/helpers}/test-fixtures/config.d.ts +35 -36
  66. package/dist/{helpers → src/helpers}/test-fixtures/constant.d.ts +0 -1
  67. package/dist/{helpers → src/helpers}/test-fixtures/create-test-dialecte.d.ts +3 -4
  68. package/dist/{helpers → src/helpers}/test-fixtures/generated/constants.generated.d.ts +41 -42
  69. package/dist/src/helpers/test-fixtures/generated/definition.d.ts +1 -0
  70. package/dist/{helpers → src/helpers}/test-fixtures/generated/index.d.ts +0 -1
  71. package/dist/{helpers → src/helpers}/test-fixtures/generated/types.generated.d.ts +37 -38
  72. package/dist/{helpers → src/helpers}/test-fixtures/index.d.ts +0 -1
  73. package/dist/{helpers → src/helpers}/test-fixtures/test-operations.d.ts +4 -5
  74. package/dist/src/helpers/test-fixtures/test-operations.types.d.ts +19 -0
  75. package/dist/{helpers → src/helpers}/test-fixtures/test-record.d.ts +2 -3
  76. package/dist/src/index.d.ts +7 -0
  77. package/dist/{io → src/io}/export/constant.d.ts +0 -1
  78. package/dist/{io → src/io}/export/download-file.d.ts +1 -2
  79. package/dist/{io → src/io}/export/formatter.d.ts +0 -1
  80. package/dist/{io → src/io}/export/index.d.ts +0 -1
  81. package/dist/{io → src/io}/export/main.d.ts +1 -2
  82. package/dist/{io → src/io}/import/database-helpers.d.ts +1 -2
  83. package/dist/{io → src/io}/import/guards.d.ts +0 -1
  84. package/dist/{io → src/io}/import/index.d.ts +0 -1
  85. package/dist/{io → src/io}/import/main.d.ts +1 -2
  86. package/dist/{io → src/io}/import/parser.d.ts +2 -3
  87. package/dist/{io → src/io}/import/relationships.d.ts +1 -2
  88. package/dist/{io → src/io}/import/types.d.ts +4 -5
  89. package/dist/{io → src/io}/index.d.ts +0 -1
  90. package/dist/src/types/context.d.ts +15 -0
  91. package/dist/{types → src/types}/definition.d.ts +6 -7
  92. package/dist/{types → src/types}/dialecte-config.d.ts +31 -32
  93. package/dist/{types → src/types}/index.d.ts +0 -1
  94. package/dist/{types → src/types}/io.d.ts +3 -4
  95. package/dist/{types → src/types}/operations.d.ts +5 -6
  96. package/dist/src/types/records.d.ts +56 -0
  97. package/dist/{utils → src/utils}/attributes.d.ts +1 -2
  98. package/dist/src/utils/index.d.ts +1 -0
  99. package/dist/vitest.shims.d.ts +1 -0
  100. package/package.json +8 -2
  101. package/dist/chain-methods/chain-assembler.d.ts.map +0 -1
  102. package/dist/chain-methods/chain-creator.d.ts.map +0 -1
  103. package/dist/chain-methods/ending/index.d.ts.map +0 -1
  104. package/dist/chain-methods/ending/queries/context.d.ts.map +0 -1
  105. package/dist/chain-methods/ending/queries/descendants/filter-utils.helper.d.ts.map +0 -1
  106. package/dist/chain-methods/ending/queries/descendants/find-descendants-as-tree.d.ts +0 -9
  107. package/dist/chain-methods/ending/queries/descendants/find-descendants-as-tree.d.ts.map +0 -1
  108. package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts +0 -16
  109. package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts.map +0 -1
  110. package/dist/chain-methods/ending/queries/descendants/flatten-tree.helper.d.ts.map +0 -1
  111. package/dist/chain-methods/ending/queries/descendants/group-records.helper.d.ts.map +0 -1
  112. package/dist/chain-methods/ending/queries/descendants/index.d.ts.map +0 -1
  113. package/dist/chain-methods/ending/queries/descendants/match-conditions.helper.d.ts.map +0 -1
  114. package/dist/chain-methods/ending/queries/descendants/types.d.ts +0 -35
  115. package/dist/chain-methods/ending/queries/descendants/types.d.ts.map +0 -1
  116. package/dist/chain-methods/ending/queries/descendants/walk-ancestry.helper.d.ts.map +0 -1
  117. package/dist/chain-methods/ending/queries/find-children.d.ts +0 -9
  118. package/dist/chain-methods/ending/queries/find-children.d.ts.map +0 -1
  119. package/dist/chain-methods/ending/queries/find-children.types.d.ts +0 -6
  120. package/dist/chain-methods/ending/queries/find-children.types.d.ts.map +0 -1
  121. package/dist/chain-methods/ending/queries/get-attributes-values.d.ts.map +0 -1
  122. package/dist/chain-methods/ending/queries/get-parent.d.ts.map +0 -1
  123. package/dist/chain-methods/ending/queries/get-tree.d.ts.map +0 -1
  124. package/dist/chain-methods/ending/queries/get-tree.types.d.ts +0 -18
  125. package/dist/chain-methods/ending/queries/get-tree.types.d.ts.map +0 -1
  126. package/dist/chain-methods/ending/queries/index.d.ts.map +0 -1
  127. package/dist/chain-methods/ending/transaction/commit.d.ts.map +0 -1
  128. package/dist/chain-methods/ending/transaction/index.d.ts +0 -2
  129. package/dist/chain-methods/ending/transaction/index.d.ts.map +0 -1
  130. package/dist/chain-methods/ending/transaction/merge-operations.d.ts +0 -33
  131. package/dist/chain-methods/ending/transaction/merge-operations.d.ts.map +0 -1
  132. package/dist/chain-methods/index.d.ts.map +0 -1
  133. package/dist/chain-methods/mutations/clone.d.ts.map +0 -1
  134. package/dist/chain-methods/mutations/clone.types.d.ts +0 -17
  135. package/dist/chain-methods/mutations/clone.types.d.ts.map +0 -1
  136. package/dist/chain-methods/mutations/create.d.ts.map +0 -1
  137. package/dist/chain-methods/mutations/create.types.d.ts +0 -32
  138. package/dist/chain-methods/mutations/create.types.d.ts.map +0 -1
  139. package/dist/chain-methods/mutations/delete.d.ts.map +0 -1
  140. package/dist/chain-methods/mutations/delete.types.d.ts +0 -6
  141. package/dist/chain-methods/mutations/delete.types.d.ts.map +0 -1
  142. package/dist/chain-methods/mutations/index.d.ts.map +0 -1
  143. package/dist/chain-methods/mutations/update.d.ts.map +0 -1
  144. package/dist/chain-methods/mutations/update.types.d.ts +0 -6
  145. package/dist/chain-methods/mutations/update.types.d.ts.map +0 -1
  146. package/dist/chain-methods/navigation/go-to-element.d.ts.map +0 -1
  147. package/dist/chain-methods/navigation/go-to-parent.d.ts.map +0 -1
  148. package/dist/chain-methods/navigation/index.d.ts.map +0 -1
  149. package/dist/chain-methods/navigation/types.d.ts +0 -12
  150. package/dist/chain-methods/navigation/types.d.ts.map +0 -1
  151. package/dist/chain-methods/types.d.ts.map +0 -1
  152. package/dist/database/index.d.ts.map +0 -1
  153. package/dist/database/instance.d.ts +0 -8
  154. package/dist/database/instance.d.ts.map +0 -1
  155. package/dist/database/types.d.ts +0 -8
  156. package/dist/database/types.d.ts.map +0 -1
  157. package/dist/dialecte/entrypoints.d.ts.map +0 -1
  158. package/dist/dialecte/index.d.ts.map +0 -1
  159. package/dist/dialecte/main.d.ts.map +0 -1
  160. package/dist/dialecte/state.d.ts.map +0 -1
  161. package/dist/dialecte/types.d.ts.map +0 -1
  162. package/dist/errors/codes.d.ts.map +0 -1
  163. package/dist/errors/errors.d.ts.map +0 -1
  164. package/dist/errors/index.d.ts.map +0 -1
  165. package/dist/errors/types.d.ts +0 -23
  166. package/dist/errors/types.d.ts.map +0 -1
  167. package/dist/helpers/assert.d.ts.map +0 -1
  168. package/dist/helpers/index.d.ts.map +0 -1
  169. package/dist/helpers/record/converter.d.ts.map +0 -1
  170. package/dist/helpers/record/guard.d.ts.map +0 -1
  171. package/dist/helpers/record/index.d.ts.map +0 -1
  172. package/dist/helpers/record/operations.d.ts.map +0 -1
  173. package/dist/helpers/record/query/find-by-attributes.d.ts.map +0 -1
  174. package/dist/helpers/record/query/index.d.ts.map +0 -1
  175. package/dist/helpers/record/query/record.d.ts.map +0 -1
  176. package/dist/helpers/record/query/types.d.ts +0 -10
  177. package/dist/helpers/record/query/types.d.ts.map +0 -1
  178. package/dist/helpers/record/standardizing.d.ts.map +0 -1
  179. package/dist/helpers/test-fixtures/config.d.ts.map +0 -1
  180. package/dist/helpers/test-fixtures/constant.d.ts.map +0 -1
  181. package/dist/helpers/test-fixtures/create-test-dialecte.d.ts.map +0 -1
  182. package/dist/helpers/test-fixtures/generated/constants.generated.d.ts.map +0 -1
  183. package/dist/helpers/test-fixtures/generated/definition.d.ts +0 -3
  184. package/dist/helpers/test-fixtures/generated/definition.d.ts.map +0 -1
  185. package/dist/helpers/test-fixtures/generated/index.d.ts.map +0 -1
  186. package/dist/helpers/test-fixtures/generated/types.generated.d.ts.map +0 -1
  187. package/dist/helpers/test-fixtures/index.d.ts.map +0 -1
  188. package/dist/helpers/test-fixtures/test-operations.d.ts.map +0 -1
  189. package/dist/helpers/test-fixtures/test-operations.types.d.ts +0 -20
  190. package/dist/helpers/test-fixtures/test-operations.types.d.ts.map +0 -1
  191. package/dist/helpers/test-fixtures/test-record.d.ts.map +0 -1
  192. package/dist/index.d.ts.map +0 -1
  193. package/dist/io/export/constant.d.ts.map +0 -1
  194. package/dist/io/export/download-file.d.ts.map +0 -1
  195. package/dist/io/export/formatter.d.ts.map +0 -1
  196. package/dist/io/export/index.d.ts.map +0 -1
  197. package/dist/io/export/main.d.ts.map +0 -1
  198. package/dist/io/import/database-helpers.d.ts.map +0 -1
  199. package/dist/io/import/guards.d.ts.map +0 -1
  200. package/dist/io/import/index.d.ts.map +0 -1
  201. package/dist/io/import/main.d.ts.map +0 -1
  202. package/dist/io/import/parser.d.ts.map +0 -1
  203. package/dist/io/import/relationships.d.ts.map +0 -1
  204. package/dist/io/import/test.handler.d.ts +0 -9
  205. package/dist/io/import/test.handler.d.ts.map +0 -1
  206. package/dist/io/import/test.types.d.ts +0 -4
  207. package/dist/io/import/test.types.d.ts.map +0 -1
  208. package/dist/io/import/types.d.ts.map +0 -1
  209. package/dist/io/index.d.ts.map +0 -1
  210. package/dist/script/element-parent-mapping.d.ts +0 -2
  211. package/dist/script/element-parent-mapping.d.ts.map +0 -1
  212. package/dist/script/find-unreferenced-elements.d.ts +0 -3
  213. package/dist/script/find-unreferenced-elements.d.ts.map +0 -1
  214. package/dist/script/generate-definition.d.ts +0 -3
  215. package/dist/script/generate-definition.d.ts.map +0 -1
  216. package/dist/script/generate-definition.types.d.ts +0 -86
  217. package/dist/script/generate-definition.types.d.ts.map +0 -1
  218. package/dist/script/generate-test-fixtures.d.ts +0 -16
  219. package/dist/script/generate-test-fixtures.d.ts.map +0 -1
  220. package/dist/script/pyodide.d.ts +0 -12
  221. package/dist/script/pyodide.d.ts.map +0 -1
  222. package/dist/script/sorted-dexie-dump-json.d.ts +0 -2
  223. package/dist/script/sorted-dexie-dump-json.d.ts.map +0 -1
  224. package/dist/script/test-pyodide.d.ts +0 -9
  225. package/dist/script/test-pyodide.d.ts.map +0 -1
  226. package/dist/types/context.d.ts +0 -16
  227. package/dist/types/context.d.ts.map +0 -1
  228. package/dist/types/definition.d.ts.map +0 -1
  229. package/dist/types/dialecte-config.d.ts.map +0 -1
  230. package/dist/types/index.d.ts.map +0 -1
  231. package/dist/types/io.d.ts.map +0 -1
  232. package/dist/types/operations.d.ts.map +0 -1
  233. package/dist/types/records.d.ts +0 -57
  234. package/dist/types/records.d.ts.map +0 -1
  235. package/dist/utils/attributes.d.ts.map +0 -1
  236. package/dist/utils/index.d.ts +0 -2
  237. package/dist/utils/index.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -73,10 +73,10 @@ function lo(l) {
73
73
  );
74
74
  }
75
75
  function fo(l) {
76
- const { record: c, dialecteConfig: u } = l, { id: a, tagName: d, attributes: m, namespace: g, value: b } = c, A = a ?? crypto.randomUUID(), D = m ? lo({ tagName: d, attributes: m, dialecteConfig: u }) : [], K = {
76
+ const { record: c, dialecteConfig: u } = l, { id: a, tagName: d, attributes: m, namespace: g, value: b } = c, A = a ?? crypto.randomUUID(), I = m ? lo({ tagName: d, attributes: m, dialecteConfig: u }) : [], K = {
77
77
  id: A,
78
78
  tagName: d,
79
- attributes: D,
79
+ attributes: I,
80
80
  namespace: g ?? {
81
81
  prefix: "prefixNeededForNotSupportedNamespace",
82
82
  uri: "uriNeededForNotSupportedNamespace"
@@ -87,7 +87,7 @@ function fo(l) {
87
87
  };
88
88
  if (!u.elements.includes(d)) return K;
89
89
  const Y = u.definition[d].attributes.sequence, H = u.definition[d].attributes.details, M = Y.flatMap((Z) => {
90
- const re = H[Z].required, be = H[Z]?.namespace || void 0, z = D.find((ie) => ie.name === Z)?.value || (re ? H[Z]?.default || "" : void 0);
90
+ const re = H[Z].required, be = H[Z]?.namespace || void 0, z = I.find((ie) => ie.name === Z)?.value || (re ? H[Z]?.default || "" : void 0);
91
91
  return z === void 0 ? [] : [
92
92
  {
93
93
  name: Z,
@@ -161,22 +161,22 @@ async function Qt(l) {
161
161
  if (b?.status === "deleted") return;
162
162
  if (b)
163
163
  return g === "raw" ? b.record : Te({ record: b.record, status: b.status });
164
- const A = d.database.tables.xmlElements.name, D = await m.table(A).get(c);
165
- if (D)
166
- return ye(D.tagName === u, "Element tagName mismatch"), g === "raw" ? D : Te({ record: D });
164
+ const A = d.database.tables.xmlElements.name, I = await m.table(A).get(c);
165
+ if (I)
166
+ return ye(I.tagName === u, "Element tagName mismatch"), g === "raw" ? I : Te({ record: I });
167
167
  }
168
168
  async function ca(l) {
169
169
  const { stagedOperations: c, tagName: u, dialecteConfig: a, databaseInstance: d, type: m = "raw" } = l, g = a.database.tables.xmlElements.name, b = await d.table(g).where({ tagName: u }).toArray(), A = new Map(
170
- b.map((D) => [D.id, m === "raw" ? D : Te({ record: D })])
170
+ b.map((I) => [I.id, m === "raw" ? I : Te({ record: I })])
171
171
  );
172
- for (const D of c)
173
- (D.status === "created" || D.status === "updated") && D.newRecord.tagName === u && (m === "chain" ? A.set(
174
- D.newRecord.id,
175
- Te({ record: D.newRecord, status: D.status })
172
+ for (const I of c)
173
+ (I.status === "created" || I.status === "updated") && I.newRecord.tagName === u && (m === "chain" ? A.set(
174
+ I.newRecord.id,
175
+ Te({ record: I.newRecord, status: I.status })
176
176
  ) : A.set(
177
- D.newRecord.id,
178
- D.newRecord
179
- )), D.status === "deleted" && D.oldRecord?.tagName === u && A.delete(D.oldRecord.id);
177
+ I.newRecord.id,
178
+ I.newRecord
179
+ )), I.status === "deleted" && I.oldRecord?.tagName === u && A.delete(I.oldRecord.id);
180
180
  return Array.from(A.values());
181
181
  }
182
182
  function yr(l) {
@@ -188,8 +188,8 @@ function yr(l) {
188
188
  const g = [...u].reverse().find((A) => a !== void 0 ? A.status === "created" || A.status === "updated" ? A.newRecord.id === a : A.status === "deleted" ? A.oldRecord.id === a : !1 : (A.status === "deleted" ? A.oldRecord : A.newRecord).tagName === d);
189
189
  if (!g) return;
190
190
  if (g.status === "deleted") {
191
- const A = d ? ` ${d}` : "", D = a ? ` with id ${a}` : "";
192
- if (m) throw new Error(`Element${A}${D} has been deleted`);
191
+ const A = d ? ` ${d}` : "", I = a ? ` with id ${a}` : "";
192
+ if (m) throw new Error(`Element${A}${I} has been deleted`);
193
193
  }
194
194
  const b = g.status === "deleted" ? g.oldRecord : g.newRecord;
195
195
  if (b.tagName !== d) {
@@ -585,7 +585,7 @@ function ba() {
585
585
  function va(l, c, u) {
586
586
  const a = _a(l, c);
587
587
  for (const d of a) {
588
- const m = po(d), g = Ca(d), b = Aa(d, c), D = d.endsWith("_3") ? je.ext : je.default, K = ya(d), $ = [...K.required, ...K.optional], Y = Jr(d), M = {
588
+ const m = po(d), g = Ca(d), b = Aa(d, c), I = d.endsWith("_3") ? je.ext : je.default, K = ya(d), $ = [...K.required, ...K.optional], Y = Jr(d), M = {
589
589
  ...Ye,
590
590
  minOccurrence: Y === 1 ? 1 : null,
591
591
  maxOccurrence: Y
@@ -600,13 +600,13 @@ function va(l, c, u) {
600
600
  type: "string",
601
601
  validation: Ye
602
602
  },
603
- namespace: D,
603
+ namespace: I,
604
604
  attributes: {
605
605
  any: !1,
606
606
  sequence: $,
607
607
  details: Object.fromEntries(
608
608
  $.map((F) => {
609
- const Z = K.required.includes(F), be = F.startsWith("c") ? je.ext : D;
609
+ const Z = K.required.includes(F), be = F.startsWith("c") ? je.ext : I;
610
610
  return [
611
611
  F,
612
612
  {
@@ -652,8 +652,8 @@ function _a(l, c) {
652
652
  for (const g of a) {
653
653
  const b = g.replace(/_\d+/g, "") + l.charAt(0);
654
654
  for (let A = 1; A <= 3; A++) {
655
- const D = `${b}_${A}`;
656
- u.push(D), m.push(D);
655
+ const I = `${b}_${A}`;
656
+ u.push(I), m.push(I);
657
657
  }
658
658
  }
659
659
  a = m;
@@ -778,12 +778,12 @@ function Ra() {
778
778
  }), e;
779
779
  }
780
780
  typeof Promise > "u" || m.Promise || (m.Promise = Promise);
781
- var D = Object.getPrototypeOf, K = {}.hasOwnProperty;
781
+ var I = Object.getPrototypeOf, K = {}.hasOwnProperty;
782
782
  function $(e, t) {
783
783
  return K.call(e, t);
784
784
  }
785
785
  function Y(e, t) {
786
- typeof t == "function" && (t = t(D(e))), (typeof Reflect > "u" ? g : Reflect.ownKeys)(t).forEach(function(n) {
786
+ typeof t == "function" && (t = t(I(e))), (typeof Reflect > "u" ? g : Reflect.ownKeys)(t).forEach(function(n) {
787
787
  M(e, n, t[n]);
788
788
  });
789
789
  }
@@ -839,9 +839,9 @@ function Ra() {
839
839
  for (t in e) $(e, t) && (n[t] = e[t]);
840
840
  return n;
841
841
  }
842
- var I = [].concat;
842
+ var D = [].concat;
843
843
  function Dt(e) {
844
- return I.apply([], e);
844
+ return D.apply([], e);
845
845
  }
846
846
  var ft = "BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(Dt([8, 16, 32, 64].map(function(e) {
847
847
  return ["Int", "Uint", "Float"].map(function(t) {
@@ -862,7 +862,7 @@ function Ra() {
862
862
  for (var o = 0, i = n.length; o < i; ++o) r.push(t(n[o]));
863
863
  } else if (ze.has(n.constructor)) r = n;
864
864
  else {
865
- var h, p = D(n);
865
+ var h, p = I(n);
866
866
  for (h in r = p === Object.prototype ? {} : Object.create(p), de.set(n, r), n) $(n, h) && (r[h] = t(n[h]));
867
867
  }
868
868
  return r;
@@ -1006,9 +1006,9 @@ function Ra() {
1006
1006
  }
1007
1007
  var Ft = {}, _r = 100, ft = typeof Promise > "u" ? [] : (function() {
1008
1008
  var e = Promise.resolve();
1009
- if (typeof crypto > "u" || !crypto.subtle) return [e, D(e), e];
1009
+ if (typeof crypto > "u" || !crypto.subtle) return [e, I(e), e];
1010
1010
  var t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
1011
- return [t, D(t), e];
1011
+ return [t, I(t), e];
1012
1012
  })(), kt = ft[0], Me = ft[1], ft = ft[2], Me = Me && Me.then, dt = kt && kt.constructor, In = !!ft, Mt = function(e, t) {
1013
1013
  jt.push([e, t]), Zt && (queueMicrotask(So), Zt = !1);
1014
1014
  }, Pn = !0, Zt = !0, ht = [], Jt = [], Sn = he, et = { id: "global", global: !0, ref: 0, unhandleds: [], onunhandled: J, pgp: !1, env: {}, finalize: J }, Q = et, jt = [], mt = 0, en = [];
@@ -1486,7 +1486,7 @@ function Ra() {
1486
1486
  }, enumerable: !1, configurable: !0 }), o.prototype.table = function() {
1487
1487
  return r;
1488
1488
  }, e = o);
1489
- for (var i = /* @__PURE__ */ new Set(), h = e.prototype; h; h = D(h)) Object.getOwnPropertyNames(h).forEach(function(v) {
1489
+ for (var i = /* @__PURE__ */ new Set(), h = e.prototype; h; h = I(h)) Object.getOwnPropertyNames(h).forEach(function(v) {
1490
1490
  return i.add(v);
1491
1491
  });
1492
1492
  function p(v) {
@@ -2516,7 +2516,7 @@ function Ra() {
2516
2516
  var i = r[o];
2517
2517
  t.forEach(function(h) {
2518
2518
  var p = (function v(C, B) {
2519
- return Z(C, B) || (C = D(C)) && v(C, B);
2519
+ return Z(C, B) || (C = I(C)) && v(C, B);
2520
2520
  })(h, o);
2521
2521
  (!p || "value" in p && p.value === void 0) && (h === e.Transaction.prototype || h instanceof e.Transaction ? M(h, o, { get: function() {
2522
2522
  return this.table(o);
@@ -3809,37 +3809,14 @@ const {
3809
3809
  remove: vs,
3810
3810
  DexieYProvider: _s
3811
3811
  } = ct;
3812
- async function bo(l) {
3813
- const { databaseName: c, dialecteConfig: u, createRootIfEmpty: a = !1 } = l, { xmlElements: d, additionalTables: m } = u.database.tables, g = new ct(c), b = {
3814
- [d.name]: d.schema
3812
+ function bo(l) {
3813
+ const { databaseName: c, dialecteConfig: u } = l, { xmlElements: a, additionalTables: d } = u.database.tables, m = new ct(c), g = {
3814
+ [a.name]: a.schema
3815
3815
  };
3816
- if (m)
3817
- for (const [A, D] of Object.entries(m))
3818
- b[A] = D.schema;
3819
- return g.version(1).stores(b), a && await Da({
3820
- databaseInstance: g,
3821
- dialecteConfig: u
3822
- }), g;
3823
- }
3824
- async function Da(l) {
3825
- const { databaseInstance: c, dialecteConfig: u } = l, a = u.database.tables.xmlElements.name, d = u.rootElementName;
3826
- await c.open();
3827
- const m = c.table(a), g = await m.where({ tagName: d }).count(), b = u.definition[d].attributes.details;
3828
- let A = [];
3829
- for (const [D, K] of Object.entries(b))
3830
- K.required && K.default && A.push({
3831
- name: D,
3832
- value: K.default.toString(),
3833
- namespace: K.namespace ?? void 0
3834
- });
3835
- g === 0 && await m.add({
3836
- id: crypto.randomUUID(),
3837
- tagName: d,
3838
- namespace: u.definition[d].namespace,
3839
- attributes: A,
3840
- parent: null,
3841
- children: []
3842
- });
3816
+ if (d)
3817
+ for (const [b, A] of Object.entries(d))
3818
+ g[b] = A.schema;
3819
+ return m.version(1).stores(g), m;
3843
3820
  }
3844
3821
  const Rn = {
3845
3822
  loading: !1,
@@ -3849,33 +3826,33 @@ const Rn = {
3849
3826
  function lt(l) {
3850
3827
  Object.assign(Rn, l);
3851
3828
  }
3852
- function Ia(l) {
3829
+ function Da(l) {
3853
3830
  lt({
3854
3831
  loading: !0,
3855
3832
  error: null,
3856
3833
  progress: l ? { phase: "executing", operation: l } : { phase: "starting" }
3857
3834
  });
3858
3835
  }
3859
- function Pa() {
3836
+ function Ia() {
3860
3837
  lt({
3861
3838
  loading: !1,
3862
3839
  progress: null
3863
3840
  });
3864
3841
  }
3865
- function Sa(l) {
3842
+ function Pa(l) {
3866
3843
  lt({
3867
3844
  loading: !1,
3868
3845
  error: l,
3869
3846
  progress: null
3870
3847
  });
3871
3848
  }
3872
- function Fa(l) {
3849
+ function Sa(l) {
3873
3850
  lt({
3874
3851
  loading: !0,
3875
3852
  progress: { phase: "executing", operation: l }
3876
3853
  });
3877
3854
  }
3878
- function ka(l) {
3855
+ function Fa(l) {
3879
3856
  const { current: c, total: u, operation: a } = l, d = Rn.progress;
3880
3857
  !d || d.phase !== "ending" ? lt({
3881
3858
  loading: !0,
@@ -3893,7 +3870,7 @@ function ka(l) {
3893
3870
  }
3894
3871
  });
3895
3872
  }
3896
- function Ma() {
3873
+ function ka() {
3897
3874
  const l = Rn.progress;
3898
3875
  l?.phase === "ending" && lt({
3899
3876
  loading: !1,
@@ -3904,14 +3881,14 @@ function Ma() {
3904
3881
  });
3905
3882
  }
3906
3883
  const st = {
3907
- setLoading: Ia,
3908
- setIdle: Pa,
3909
- setError: Sa,
3910
- setOperation: Fa,
3911
- updateEndingProgress: ka,
3912
- setComplete: Ma
3884
+ setLoading: Da,
3885
+ setIdle: Ia,
3886
+ setError: Pa,
3887
+ setOperation: Sa,
3888
+ updateEndingProgress: Fa,
3889
+ setComplete: ka
3913
3890
  };
3914
- function ja() {
3891
+ function Ma() {
3915
3892
  return Rn;
3916
3893
  }
3917
3894
  function vo() {
@@ -3921,22 +3898,21 @@ function vo() {
3921
3898
  progress: null
3922
3899
  });
3923
3900
  }
3924
- function Ka(l) {
3901
+ function ja(l) {
3925
3902
  vo();
3926
3903
  const { dialecteConfig: c, databaseInstance: u, extensions: a } = l, d = c.database.tables.xmlElements.name, m = c.rootElementName, g = Promise.resolve().then(
3927
3904
  async () => {
3928
- const b = await u.table(d).where({ tagName: m }).count();
3929
- ye(
3930
- b === 1,
3931
- `Expected exactly one root element "${m}", found ${b}`
3932
- );
3933
- const A = await u.table(d).get({ tagName: m });
3905
+ await Ka({
3906
+ databaseInstance: u,
3907
+ dialecteConfig: c
3908
+ });
3909
+ const b = await u.table(d).get({ tagName: m });
3934
3910
  return ye(
3935
- A,
3911
+ b,
3936
3912
  `Root element "${m}" not found in database "${u.name}"`
3937
3913
  ), {
3938
3914
  currentFocus: Te({
3939
- record: A
3915
+ record: b
3940
3916
  }),
3941
3917
  stagedOperations: []
3942
3918
  };
@@ -3950,23 +3926,49 @@ function Ka(l) {
3950
3926
  focusedTagName: m
3951
3927
  });
3952
3928
  }
3929
+ async function Ka(l) {
3930
+ const { databaseInstance: c, dialecteConfig: u } = l, a = u.database.tables.xmlElements.name, d = u.rootElementName;
3931
+ await c.open();
3932
+ const m = c.table(a), g = await m.where({ tagName: d }).count();
3933
+ if (g > 0)
3934
+ return ye(
3935
+ g === 1,
3936
+ `Expected exactly one root element "${d}", found ${g}`
3937
+ );
3938
+ const b = u.definition[d].attributes.details;
3939
+ let A = [];
3940
+ for (const [I, K] of Object.entries(b))
3941
+ K.required && K.default && A.push({
3942
+ name: I,
3943
+ value: K.default.toString(),
3944
+ namespace: K.namespace ?? void 0
3945
+ });
3946
+ await m.add({
3947
+ id: crypto.randomUUID(),
3948
+ tagName: d,
3949
+ namespace: u.definition[d].namespace,
3950
+ attributes: A,
3951
+ parent: null,
3952
+ children: []
3953
+ });
3954
+ }
3953
3955
  function qa(l) {
3954
3956
  vo();
3955
3957
  const { dialecteConfig: c, databaseInstance: u, extensions: a, tagName: d, id: m } = l, g = c.database.tables.xmlElements.name, b = Promise.resolve().then(
3956
3958
  async () => {
3957
3959
  const A = c.singletonElements?.includes(d);
3958
- let D;
3960
+ let I;
3959
3961
  if (A && !m)
3960
- D = await u.table(g).where({ tagName: d }).first();
3962
+ I = await u.table(g).where({ tagName: d }).first();
3961
3963
  else if (m)
3962
- D = await u.table(g).get({ id: m, tagName: d });
3964
+ I = await u.table(g).get({ id: m, tagName: d });
3963
3965
  else
3964
3966
  throw new Error(`Element ${d} requires an id parameter`);
3965
3967
  return ye(
3966
- D,
3968
+ I,
3967
3969
  m ? `Element "${d}" with id "${m}" not found in database` : `Element "${d}" not found in database`
3968
3970
  ), {
3969
- currentFocus: Te({ record: D }),
3971
+ currentFocus: Te({ record: I }),
3970
3972
  stagedOperations: []
3971
3973
  };
3972
3974
  }
@@ -3979,18 +3981,17 @@ function qa(l) {
3979
3981
  focusedTagName: d
3980
3982
  });
3981
3983
  }
3982
- async function La(l) {
3984
+ function La(l) {
3983
3985
  const { databaseName: c, dialecteConfig: u, extensions: a } = l;
3984
3986
  ye(c, "Database name is required to create SDK");
3985
- const d = await bo({
3987
+ const d = bo({
3986
3988
  databaseName: c,
3987
- dialecteConfig: u,
3988
- createRootIfEmpty: !0
3989
+ dialecteConfig: u
3989
3990
  });
3990
3991
  return {
3991
- getState: ja,
3992
+ getState: Ma,
3992
3993
  getDatabaseInstance: () => d,
3993
- fromRoot: () => Ka({ dialecteConfig: u, databaseInstance: d, extensions: a }),
3994
+ fromRoot: () => ja({ dialecteConfig: u, databaseInstance: d, extensions: a }),
3994
3995
  fromElement: (m) => qa({
3995
3996
  dialecteConfig: u,
3996
3997
  databaseInstance: d,
@@ -4045,7 +4046,7 @@ function Qa() {
4045
4046
  (function(c) {
4046
4047
  c.parser = function(f, s) {
4047
4048
  return new a(f, s);
4048
- }, c.SAXParser = a, c.SAXStream = K, c.createStream = D, c.MAX_BUFFER_LENGTH = 64 * 1024;
4049
+ }, c.SAXParser = a, c.SAXStream = K, c.createStream = I, c.MAX_BUFFER_LENGTH = 64 * 1024;
4049
4050
  var u = [
4050
4051
  "comment",
4051
4052
  "sgmlDecl",
@@ -4084,7 +4085,7 @@ function Qa() {
4084
4085
  if (!(this instanceof a))
4085
4086
  return new a(f, s);
4086
4087
  var O = this;
4087
- m(O), O.q = O.c = "", O.bufferCheckPosition = c.MAX_BUFFER_LENGTH, O.opt = s || {}, O.opt.lowercase = O.opt.lowercase || O.opt.lowercasetags, O.looseCase = O.opt.lowercase ? "toLowerCase" : "toUpperCase", O.tags = [], O.closed = O.closedRoot = O.sawRoot = !1, O.tag = O.error = null, O.strict = !!f, O.noscript = !!(f || O.opt.noscript), O.state = I.BEGIN, O.strictEntities = O.opt.strictEntities, O.ENTITIES = O.strictEntities ? Object.create(c.XML_ENTITIES) : Object.create(c.ENTITIES), O.attribList = [], O.opt.xmlns && (O.ns = Object.create(F)), O.opt.unquotedAttributeValues === void 0 && (O.opt.unquotedAttributeValues = !f), O.trackPosition = O.opt.position !== !1, O.trackPosition && (O.position = O.line = O.column = 0), ze(O, "onready");
4088
+ m(O), O.q = O.c = "", O.bufferCheckPosition = c.MAX_BUFFER_LENGTH, O.opt = s || {}, O.opt.lowercase = O.opt.lowercase || O.opt.lowercasetags, O.looseCase = O.opt.lowercase ? "toLowerCase" : "toUpperCase", O.tags = [], O.closed = O.closedRoot = O.sawRoot = !1, O.tag = O.error = null, O.strict = !!f, O.noscript = !!(f || O.opt.noscript), O.state = D.BEGIN, O.strictEntities = O.opt.strictEntities, O.ENTITIES = O.strictEntities ? Object.create(c.XML_ENTITIES) : Object.create(c.ENTITIES), O.attribList = [], O.opt.xmlns && (O.ns = Object.create(F)), O.opt.unquotedAttributeValues === void 0 && (O.opt.unquotedAttributeValues = !f), O.trackPosition = O.opt.position !== !1, O.trackPosition && (O.position = O.line = O.column = 0), ze(O, "onready");
4088
4089
  }
4089
4090
  Object.create || (Object.create = function(f) {
4090
4091
  function s() {
@@ -4153,7 +4154,7 @@ function Qa() {
4153
4154
  var A = c.EVENTS.filter(function(f) {
4154
4155
  return f !== "error" && f !== "end";
4155
4156
  });
4156
- function D(f, s) {
4157
+ function I(f, s) {
4157
4158
  return new K(f, s);
4158
4159
  }
4159
4160
  function K(f, s) {
@@ -4216,79 +4217,79 @@ function Qa() {
4216
4217
  function De(f, s) {
4217
4218
  return !ae(f, s);
4218
4219
  }
4219
- var I = 0;
4220
+ var D = 0;
4220
4221
  c.STATE = {
4221
- BEGIN: I++,
4222
+ BEGIN: D++,
4222
4223
  // leading byte order mark or whitespace
4223
- BEGIN_WHITESPACE: I++,
4224
+ BEGIN_WHITESPACE: D++,
4224
4225
  // leading whitespace
4225
- TEXT: I++,
4226
+ TEXT: D++,
4226
4227
  // general stuff
4227
- TEXT_ENTITY: I++,
4228
+ TEXT_ENTITY: D++,
4228
4229
  // &amp and such.
4229
- OPEN_WAKA: I++,
4230
+ OPEN_WAKA: D++,
4230
4231
  // <
4231
- SGML_DECL: I++,
4232
+ SGML_DECL: D++,
4232
4233
  // <!BLARG
4233
- SGML_DECL_QUOTED: I++,
4234
+ SGML_DECL_QUOTED: D++,
4234
4235
  // <!BLARG foo "bar
4235
- DOCTYPE: I++,
4236
+ DOCTYPE: D++,
4236
4237
  // <!DOCTYPE
4237
- DOCTYPE_QUOTED: I++,
4238
+ DOCTYPE_QUOTED: D++,
4238
4239
  // <!DOCTYPE "//blah
4239
- DOCTYPE_DTD: I++,
4240
+ DOCTYPE_DTD: D++,
4240
4241
  // <!DOCTYPE "//blah" [ ...
4241
- DOCTYPE_DTD_QUOTED: I++,
4242
+ DOCTYPE_DTD_QUOTED: D++,
4242
4243
  // <!DOCTYPE "//blah" [ "foo
4243
- COMMENT_STARTING: I++,
4244
+ COMMENT_STARTING: D++,
4244
4245
  // <!-
4245
- COMMENT: I++,
4246
+ COMMENT: D++,
4246
4247
  // <!--
4247
- COMMENT_ENDING: I++,
4248
+ COMMENT_ENDING: D++,
4248
4249
  // <!-- blah -
4249
- COMMENT_ENDED: I++,
4250
+ COMMENT_ENDED: D++,
4250
4251
  // <!-- blah --
4251
- CDATA: I++,
4252
+ CDATA: D++,
4252
4253
  // <![CDATA[ something
4253
- CDATA_ENDING: I++,
4254
+ CDATA_ENDING: D++,
4254
4255
  // ]
4255
- CDATA_ENDING_2: I++,
4256
+ CDATA_ENDING_2: D++,
4256
4257
  // ]]
4257
- PROC_INST: I++,
4258
+ PROC_INST: D++,
4258
4259
  // <?hi
4259
- PROC_INST_BODY: I++,
4260
+ PROC_INST_BODY: D++,
4260
4261
  // <?hi there
4261
- PROC_INST_ENDING: I++,
4262
+ PROC_INST_ENDING: D++,
4262
4263
  // <?hi "there" ?
4263
- OPEN_TAG: I++,
4264
+ OPEN_TAG: D++,
4264
4265
  // <strong
4265
- OPEN_TAG_SLASH: I++,
4266
+ OPEN_TAG_SLASH: D++,
4266
4267
  // <strong /
4267
- ATTRIB: I++,
4268
+ ATTRIB: D++,
4268
4269
  // <a
4269
- ATTRIB_NAME: I++,
4270
+ ATTRIB_NAME: D++,
4270
4271
  // <a foo
4271
- ATTRIB_NAME_SAW_WHITE: I++,
4272
+ ATTRIB_NAME_SAW_WHITE: D++,
4272
4273
  // <a foo _
4273
- ATTRIB_VALUE: I++,
4274
+ ATTRIB_VALUE: D++,
4274
4275
  // <a foo=
4275
- ATTRIB_VALUE_QUOTED: I++,
4276
+ ATTRIB_VALUE_QUOTED: D++,
4276
4277
  // <a foo="bar
4277
- ATTRIB_VALUE_CLOSED: I++,
4278
+ ATTRIB_VALUE_CLOSED: D++,
4278
4279
  // <a foo="bar"
4279
- ATTRIB_VALUE_UNQUOTED: I++,
4280
+ ATTRIB_VALUE_UNQUOTED: D++,
4280
4281
  // <a foo=bar
4281
- ATTRIB_VALUE_ENTITY_Q: I++,
4282
+ ATTRIB_VALUE_ENTITY_Q: D++,
4282
4283
  // <foo bar="&quot;"
4283
- ATTRIB_VALUE_ENTITY_U: I++,
4284
+ ATTRIB_VALUE_ENTITY_U: D++,
4284
4285
  // <foo bar=&quot
4285
- CLOSE_TAG: I++,
4286
+ CLOSE_TAG: D++,
4286
4287
  // </a
4287
- CLOSE_TAG_SAW_WHITE: I++,
4288
+ CLOSE_TAG_SAW_WHITE: D++,
4288
4289
  // </a >
4289
- SCRIPT: I++,
4290
+ SCRIPT: D++,
4290
4291
  // <script> ...
4291
- SCRIPT_ENDING: I++
4292
+ SCRIPT_ENDING: D++
4292
4293
  // <script> ... <
4293
4294
  }, c.XML_ENTITIES = {
4294
4295
  amp: "&",
@@ -4556,7 +4557,7 @@ function Qa() {
4556
4557
  });
4557
4558
  for (var Dt in c.STATE)
4558
4559
  c.STATE[c.STATE[Dt]] = Dt;
4559
- I = c.STATE;
4560
+ D = c.STATE;
4560
4561
  function ze(f, s, O) {
4561
4562
  f[s] && f[s](O);
4562
4563
  }
@@ -4576,7 +4577,7 @@ Column: ` + f.column + `
4576
4577
  Char: ` + f.c), s = new Error(s), f.error = s, ze(f, "onerror", s), f;
4577
4578
  }
4578
4579
  function Ct(f) {
4579
- return f.sawRoot && !f.closedRoot && fe(f, "Unclosed root tag"), f.state !== I.BEGIN && f.state !== I.BEGIN_WHITESPACE && f.state !== I.TEXT && Ve(f, "Unexpected end"), Se(f), f.c = "", f.closed = !0, ze(f, "onend"), a.call(f, f.strict, f.opt), f;
4580
+ return f.sawRoot && !f.closedRoot && fe(f, "Unclosed root tag"), f.state !== D.BEGIN && f.state !== D.BEGIN_WHITESPACE && f.state !== D.TEXT && Ve(f, "Unexpected end"), Se(f), f.c = "", f.closed = !0, ze(f, "onend"), a.call(f, f.strict, f.opt), f;
4580
4581
  }
4581
4582
  function fe(f, s) {
4582
4583
  if (typeof f != "object" || !(f instanceof a))
@@ -4653,16 +4654,16 @@ Actual: ` + f.attribValue
4653
4654
  }
4654
4655
  f.attribList.length = 0;
4655
4656
  }
4656
- f.tag.isSelfClosing = !!s, f.sawRoot = !0, f.tags.push(f.tag), de(f, "onopentag", f.tag), s || (!f.noscript && f.tagName.toLowerCase() === "script" ? f.state = I.SCRIPT : f.state = I.TEXT, f.tag = null, f.tagName = ""), f.attribName = f.attribValue = "", f.attribList.length = 0;
4657
+ f.tag.isSelfClosing = !!s, f.sawRoot = !0, f.tags.push(f.tag), de(f, "onopentag", f.tag), s || (!f.noscript && f.tagName.toLowerCase() === "script" ? f.state = D.SCRIPT : f.state = D.TEXT, f.tag = null, f.tagName = ""), f.attribName = f.attribValue = "", f.attribList.length = 0;
4657
4658
  }
4658
4659
  function It(f) {
4659
4660
  if (!f.tagName) {
4660
- fe(f, "Weird empty close tag."), f.textNode += "</>", f.state = I.TEXT;
4661
+ fe(f, "Weird empty close tag."), f.textNode += "</>", f.state = D.TEXT;
4661
4662
  return;
4662
4663
  }
4663
4664
  if (f.script) {
4664
4665
  if (f.tagName !== "script") {
4665
- f.script += "</" + f.tagName + ">", f.tagName = "", f.state = I.SCRIPT;
4666
+ f.script += "</" + f.tagName + ">", f.tagName = "", f.state = D.SCRIPT;
4666
4667
  return;
4667
4668
  }
4668
4669
  de(f, "onscript", f.script), f.script = "";
@@ -4677,7 +4678,7 @@ Actual: ` + f.attribValue
4677
4678
  break;
4678
4679
  }
4679
4680
  if (s < 0) {
4680
- fe(f, "Unmatched closing tag: " + f.tagName), f.textNode += "</" + f.tagName + ">", f.state = I.TEXT;
4681
+ fe(f, "Unmatched closing tag: " + f.tagName), f.textNode += "</" + f.tagName + ">", f.state = D.TEXT;
4681
4682
  return;
4682
4683
  }
4683
4684
  f.tagName = O;
@@ -4693,14 +4694,14 @@ Actual: ` + f.attribValue
4693
4694
  de(f, "onclosenamespace", { prefix: we, uri: qe });
4694
4695
  });
4695
4696
  }
4696
- s === 0 && (f.closedRoot = !0), f.tagName = f.attribValue = f.attribName = "", f.attribList.length = 0, f.state = I.TEXT;
4697
+ s === 0 && (f.closedRoot = !0), f.tagName = f.attribValue = f.attribName = "", f.attribList.length = 0, f.state = D.TEXT;
4697
4698
  }
4698
4699
  function Qe(f) {
4699
4700
  var s = f.entity, O = s.toLowerCase(), E, ue = "";
4700
4701
  return f.ENTITIES[s] ? f.ENTITIES[s] : f.ENTITIES[O] ? f.ENTITIES[O] : (s = O, s.charAt(0) === "#" && (s.charAt(1) === "x" ? (s = s.slice(2), E = parseInt(s, 16), ue = E.toString(16)) : (s = s.slice(1), E = parseInt(s, 10), ue = E.toString(10))), s = s.replace(/^0+/, ""), isNaN(E) || ue.toLowerCase() !== s || E < 0 || E > 1114111 ? (fe(f, "Invalid character entity"), "&" + f.entity + ";") : String.fromCodePoint(E));
4701
4702
  }
4702
4703
  function Pt(f, s) {
4703
- s === "<" ? (f.state = I.OPEN_WAKA, f.startTagPosition = f.position) : z(s) || (fe(f, "Non-whitespace before first tag."), f.textNode = s, f.state = I.TEXT);
4704
+ s === "<" ? (f.state = D.OPEN_WAKA, f.startTagPosition = f.position) : z(s) || (fe(f, "Non-whitespace before first tag."), f.textNode = s, f.state = D.TEXT);
4704
4705
  }
4705
4706
  function He(f, s) {
4706
4707
  var O = "";
@@ -4721,184 +4722,184 @@ Actual: ` + f.attribValue
4721
4722
  for (var O = 0, E = ""; E = He(f, O++), s.c = E, !!E; )
4722
4723
  switch (s.trackPosition && (s.position++, E === `
4723
4724
  ` ? (s.line++, s.column = 0) : s.column++), s.state) {
4724
- case I.BEGIN:
4725
- if (s.state = I.BEGIN_WHITESPACE, E === "\uFEFF")
4725
+ case D.BEGIN:
4726
+ if (s.state = D.BEGIN_WHITESPACE, E === "\uFEFF")
4726
4727
  continue;
4727
4728
  Pt(s, E);
4728
4729
  continue;
4729
- case I.BEGIN_WHITESPACE:
4730
+ case D.BEGIN_WHITESPACE:
4730
4731
  Pt(s, E);
4731
4732
  continue;
4732
- case I.TEXT:
4733
+ case D.TEXT:
4733
4734
  if (s.sawRoot && !s.closedRoot) {
4734
4735
  for (var J = O - 1; E && E !== "<" && E !== "&"; )
4735
4736
  E = He(f, O++), E && s.trackPosition && (s.position++, E === `
4736
4737
  ` ? (s.line++, s.column = 0) : s.column++);
4737
4738
  s.textNode += f.substring(J, O - 1);
4738
4739
  }
4739
- E === "<" && !(s.sawRoot && s.closedRoot && !s.strict) ? (s.state = I.OPEN_WAKA, s.startTagPosition = s.position) : (!z(E) && (!s.sawRoot || s.closedRoot) && fe(s, "Text data outside of root node."), E === "&" ? s.state = I.TEXT_ENTITY : s.textNode += E);
4740
+ E === "<" && !(s.sawRoot && s.closedRoot && !s.strict) ? (s.state = D.OPEN_WAKA, s.startTagPosition = s.position) : (!z(E) && (!s.sawRoot || s.closedRoot) && fe(s, "Text data outside of root node."), E === "&" ? s.state = D.TEXT_ENTITY : s.textNode += E);
4740
4741
  continue;
4741
- case I.SCRIPT:
4742
- E === "<" ? s.state = I.SCRIPT_ENDING : s.script += E;
4742
+ case D.SCRIPT:
4743
+ E === "<" ? s.state = D.SCRIPT_ENDING : s.script += E;
4743
4744
  continue;
4744
- case I.SCRIPT_ENDING:
4745
- E === "/" ? s.state = I.CLOSE_TAG : (s.script += "<" + E, s.state = I.SCRIPT);
4745
+ case D.SCRIPT_ENDING:
4746
+ E === "/" ? s.state = D.CLOSE_TAG : (s.script += "<" + E, s.state = D.SCRIPT);
4746
4747
  continue;
4747
- case I.OPEN_WAKA:
4748
+ case D.OPEN_WAKA:
4748
4749
  if (E === "!")
4749
- s.state = I.SGML_DECL, s.sgmlDecl = "";
4750
+ s.state = D.SGML_DECL, s.sgmlDecl = "";
4750
4751
  else if (!z(E)) if (ae(Z, E))
4751
- s.state = I.OPEN_TAG, s.tagName = E;
4752
+ s.state = D.OPEN_TAG, s.tagName = E;
4752
4753
  else if (E === "/")
4753
- s.state = I.CLOSE_TAG, s.tagName = "";
4754
+ s.state = D.CLOSE_TAG, s.tagName = "";
4754
4755
  else if (E === "?")
4755
- s.state = I.PROC_INST, s.procInstName = s.procInstBody = "";
4756
+ s.state = D.PROC_INST, s.procInstName = s.procInstBody = "";
4756
4757
  else {
4757
4758
  if (fe(s, "Unencoded <"), s.startTagPosition + 1 < s.position) {
4758
4759
  var ue = s.position - s.startTagPosition;
4759
4760
  E = new Array(ue).join(" ") + E;
4760
4761
  }
4761
- s.textNode += "<" + E, s.state = I.TEXT;
4762
+ s.textNode += "<" + E, s.state = D.TEXT;
4762
4763
  }
4763
4764
  continue;
4764
- case I.SGML_DECL:
4765
+ case D.SGML_DECL:
4765
4766
  if (s.sgmlDecl + E === "--") {
4766
- s.state = I.COMMENT, s.comment = "", s.sgmlDecl = "";
4767
+ s.state = D.COMMENT, s.comment = "", s.sgmlDecl = "";
4767
4768
  continue;
4768
4769
  }
4769
- s.doctype && s.doctype !== !0 && s.sgmlDecl ? (s.state = I.DOCTYPE_DTD, s.doctype += "<!" + s.sgmlDecl + E, s.sgmlDecl = "") : (s.sgmlDecl + E).toUpperCase() === $ ? (de(s, "onopencdata"), s.state = I.CDATA, s.sgmlDecl = "", s.cdata = "") : (s.sgmlDecl + E).toUpperCase() === Y ? (s.state = I.DOCTYPE, (s.doctype || s.sawRoot) && fe(
4770
+ s.doctype && s.doctype !== !0 && s.sgmlDecl ? (s.state = D.DOCTYPE_DTD, s.doctype += "<!" + s.sgmlDecl + E, s.sgmlDecl = "") : (s.sgmlDecl + E).toUpperCase() === $ ? (de(s, "onopencdata"), s.state = D.CDATA, s.sgmlDecl = "", s.cdata = "") : (s.sgmlDecl + E).toUpperCase() === Y ? (s.state = D.DOCTYPE, (s.doctype || s.sawRoot) && fe(
4770
4771
  s,
4771
4772
  "Inappropriately located doctype declaration"
4772
- ), s.doctype = "", s.sgmlDecl = "") : E === ">" ? (de(s, "onsgmldeclaration", s.sgmlDecl), s.sgmlDecl = "", s.state = I.TEXT) : (ie(E) && (s.state = I.SGML_DECL_QUOTED), s.sgmlDecl += E);
4773
+ ), s.doctype = "", s.sgmlDecl = "") : E === ">" ? (de(s, "onsgmldeclaration", s.sgmlDecl), s.sgmlDecl = "", s.state = D.TEXT) : (ie(E) && (s.state = D.SGML_DECL_QUOTED), s.sgmlDecl += E);
4773
4774
  continue;
4774
- case I.SGML_DECL_QUOTED:
4775
- E === s.q && (s.state = I.SGML_DECL, s.q = ""), s.sgmlDecl += E;
4775
+ case D.SGML_DECL_QUOTED:
4776
+ E === s.q && (s.state = D.SGML_DECL, s.q = ""), s.sgmlDecl += E;
4776
4777
  continue;
4777
- case I.DOCTYPE:
4778
- E === ">" ? (s.state = I.TEXT, de(s, "ondoctype", s.doctype), s.doctype = !0) : (s.doctype += E, E === "[" ? s.state = I.DOCTYPE_DTD : ie(E) && (s.state = I.DOCTYPE_QUOTED, s.q = E));
4778
+ case D.DOCTYPE:
4779
+ E === ">" ? (s.state = D.TEXT, de(s, "ondoctype", s.doctype), s.doctype = !0) : (s.doctype += E, E === "[" ? s.state = D.DOCTYPE_DTD : ie(E) && (s.state = D.DOCTYPE_QUOTED, s.q = E));
4779
4780
  continue;
4780
- case I.DOCTYPE_QUOTED:
4781
- s.doctype += E, E === s.q && (s.q = "", s.state = I.DOCTYPE);
4781
+ case D.DOCTYPE_QUOTED:
4782
+ s.doctype += E, E === s.q && (s.q = "", s.state = D.DOCTYPE);
4782
4783
  continue;
4783
- case I.DOCTYPE_DTD:
4784
- E === "]" ? (s.doctype += E, s.state = I.DOCTYPE) : E === "<" ? (s.state = I.OPEN_WAKA, s.startTagPosition = s.position) : ie(E) ? (s.doctype += E, s.state = I.DOCTYPE_DTD_QUOTED, s.q = E) : s.doctype += E;
4784
+ case D.DOCTYPE_DTD:
4785
+ E === "]" ? (s.doctype += E, s.state = D.DOCTYPE) : E === "<" ? (s.state = D.OPEN_WAKA, s.startTagPosition = s.position) : ie(E) ? (s.doctype += E, s.state = D.DOCTYPE_DTD_QUOTED, s.q = E) : s.doctype += E;
4785
4786
  continue;
4786
- case I.DOCTYPE_DTD_QUOTED:
4787
- s.doctype += E, E === s.q && (s.state = I.DOCTYPE_DTD, s.q = "");
4787
+ case D.DOCTYPE_DTD_QUOTED:
4788
+ s.doctype += E, E === s.q && (s.state = D.DOCTYPE_DTD, s.q = "");
4788
4789
  continue;
4789
- case I.COMMENT:
4790
- E === "-" ? s.state = I.COMMENT_ENDING : s.comment += E;
4790
+ case D.COMMENT:
4791
+ E === "-" ? s.state = D.COMMENT_ENDING : s.comment += E;
4791
4792
  continue;
4792
- case I.COMMENT_ENDING:
4793
- E === "-" ? (s.state = I.COMMENT_ENDED, s.comment = Ht(s.opt, s.comment), s.comment && de(s, "oncomment", s.comment), s.comment = "") : (s.comment += "-" + E, s.state = I.COMMENT);
4793
+ case D.COMMENT_ENDING:
4794
+ E === "-" ? (s.state = D.COMMENT_ENDED, s.comment = Ht(s.opt, s.comment), s.comment && de(s, "oncomment", s.comment), s.comment = "") : (s.comment += "-" + E, s.state = D.COMMENT);
4794
4795
  continue;
4795
- case I.COMMENT_ENDED:
4796
- E !== ">" ? (fe(s, "Malformed comment"), s.comment += "--" + E, s.state = I.COMMENT) : s.doctype && s.doctype !== !0 ? s.state = I.DOCTYPE_DTD : s.state = I.TEXT;
4796
+ case D.COMMENT_ENDED:
4797
+ E !== ">" ? (fe(s, "Malformed comment"), s.comment += "--" + E, s.state = D.COMMENT) : s.doctype && s.doctype !== !0 ? s.state = D.DOCTYPE_DTD : s.state = D.TEXT;
4797
4798
  continue;
4798
- case I.CDATA:
4799
+ case D.CDATA:
4799
4800
  for (var J = O - 1; E && E !== "]"; )
4800
4801
  E = He(f, O++), E && s.trackPosition && (s.position++, E === `
4801
4802
  ` ? (s.line++, s.column = 0) : s.column++);
4802
- s.cdata += f.substring(J, O - 1), E === "]" && (s.state = I.CDATA_ENDING);
4803
+ s.cdata += f.substring(J, O - 1), E === "]" && (s.state = D.CDATA_ENDING);
4803
4804
  continue;
4804
- case I.CDATA_ENDING:
4805
- E === "]" ? s.state = I.CDATA_ENDING_2 : (s.cdata += "]" + E, s.state = I.CDATA);
4805
+ case D.CDATA_ENDING:
4806
+ E === "]" ? s.state = D.CDATA_ENDING_2 : (s.cdata += "]" + E, s.state = D.CDATA);
4806
4807
  continue;
4807
- case I.CDATA_ENDING_2:
4808
- E === ">" ? (s.cdata && de(s, "oncdata", s.cdata), de(s, "onclosecdata"), s.cdata = "", s.state = I.TEXT) : E === "]" ? s.cdata += "]" : (s.cdata += "]]" + E, s.state = I.CDATA);
4808
+ case D.CDATA_ENDING_2:
4809
+ E === ">" ? (s.cdata && de(s, "oncdata", s.cdata), de(s, "onclosecdata"), s.cdata = "", s.state = D.TEXT) : E === "]" ? s.cdata += "]" : (s.cdata += "]]" + E, s.state = D.CDATA);
4809
4810
  continue;
4810
- case I.PROC_INST:
4811
- E === "?" ? s.state = I.PROC_INST_ENDING : z(E) ? s.state = I.PROC_INST_BODY : s.procInstName += E;
4811
+ case D.PROC_INST:
4812
+ E === "?" ? s.state = D.PROC_INST_ENDING : z(E) ? s.state = D.PROC_INST_BODY : s.procInstName += E;
4812
4813
  continue;
4813
- case I.PROC_INST_BODY:
4814
+ case D.PROC_INST_BODY:
4814
4815
  if (!s.procInstBody && z(E))
4815
4816
  continue;
4816
- E === "?" ? s.state = I.PROC_INST_ENDING : s.procInstBody += E;
4817
+ E === "?" ? s.state = D.PROC_INST_ENDING : s.procInstBody += E;
4817
4818
  continue;
4818
- case I.PROC_INST_ENDING:
4819
+ case D.PROC_INST_ENDING:
4819
4820
  E === ">" ? (de(s, "onprocessinginstruction", {
4820
4821
  name: s.procInstName,
4821
4822
  body: s.procInstBody
4822
- }), s.procInstName = s.procInstBody = "", s.state = I.TEXT) : (s.procInstBody += "?" + E, s.state = I.PROC_INST_BODY);
4823
+ }), s.procInstName = s.procInstBody = "", s.state = D.TEXT) : (s.procInstBody += "?" + E, s.state = D.PROC_INST_BODY);
4823
4824
  continue;
4824
- case I.OPEN_TAG:
4825
- ae(re, E) ? s.tagName += E : (Ge(s), E === ">" ? Ke(s) : E === "/" ? s.state = I.OPEN_TAG_SLASH : (z(E) || fe(s, "Invalid character in tag name"), s.state = I.ATTRIB));
4825
+ case D.OPEN_TAG:
4826
+ ae(re, E) ? s.tagName += E : (Ge(s), E === ">" ? Ke(s) : E === "/" ? s.state = D.OPEN_TAG_SLASH : (z(E) || fe(s, "Invalid character in tag name"), s.state = D.ATTRIB));
4826
4827
  continue;
4827
- case I.OPEN_TAG_SLASH:
4828
+ case D.OPEN_TAG_SLASH:
4828
4829
  E === ">" ? (Ke(s, !0), It(s)) : (fe(
4829
4830
  s,
4830
4831
  "Forward-slash in opening tag not followed by >"
4831
- ), s.state = I.ATTRIB);
4832
+ ), s.state = D.ATTRIB);
4832
4833
  continue;
4833
- case I.ATTRIB:
4834
+ case D.ATTRIB:
4834
4835
  if (z(E))
4835
4836
  continue;
4836
- E === ">" ? Ke(s) : E === "/" ? s.state = I.OPEN_TAG_SLASH : ae(Z, E) ? (s.attribName = E, s.attribValue = "", s.state = I.ATTRIB_NAME) : fe(s, "Invalid attribute name");
4837
+ E === ">" ? Ke(s) : E === "/" ? s.state = D.OPEN_TAG_SLASH : ae(Z, E) ? (s.attribName = E, s.attribValue = "", s.state = D.ATTRIB_NAME) : fe(s, "Invalid attribute name");
4837
4838
  continue;
4838
- case I.ATTRIB_NAME:
4839
- E === "=" ? s.state = I.ATTRIB_VALUE : E === ">" ? (fe(s, "Attribute without value"), s.attribValue = s.attribName, Fe(s), Ke(s)) : z(E) ? s.state = I.ATTRIB_NAME_SAW_WHITE : ae(re, E) ? s.attribName += E : fe(s, "Invalid attribute name");
4839
+ case D.ATTRIB_NAME:
4840
+ E === "=" ? s.state = D.ATTRIB_VALUE : E === ">" ? (fe(s, "Attribute without value"), s.attribValue = s.attribName, Fe(s), Ke(s)) : z(E) ? s.state = D.ATTRIB_NAME_SAW_WHITE : ae(re, E) ? s.attribName += E : fe(s, "Invalid attribute name");
4840
4841
  continue;
4841
- case I.ATTRIB_NAME_SAW_WHITE:
4842
+ case D.ATTRIB_NAME_SAW_WHITE:
4842
4843
  if (E === "=")
4843
- s.state = I.ATTRIB_VALUE;
4844
+ s.state = D.ATTRIB_VALUE;
4844
4845
  else {
4845
4846
  if (z(E))
4846
4847
  continue;
4847
4848
  fe(s, "Attribute without value"), s.tag.attributes[s.attribName] = "", s.attribValue = "", de(s, "onattribute", {
4848
4849
  name: s.attribName,
4849
4850
  value: ""
4850
- }), s.attribName = "", E === ">" ? Ke(s) : ae(Z, E) ? (s.attribName = E, s.state = I.ATTRIB_NAME) : (fe(s, "Invalid attribute name"), s.state = I.ATTRIB);
4851
+ }), s.attribName = "", E === ">" ? Ke(s) : ae(Z, E) ? (s.attribName = E, s.state = D.ATTRIB_NAME) : (fe(s, "Invalid attribute name"), s.state = D.ATTRIB);
4851
4852
  }
4852
4853
  continue;
4853
- case I.ATTRIB_VALUE:
4854
+ case D.ATTRIB_VALUE:
4854
4855
  if (z(E))
4855
4856
  continue;
4856
- ie(E) ? (s.q = E, s.state = I.ATTRIB_VALUE_QUOTED) : (s.opt.unquotedAttributeValues || Ve(s, "Unquoted attribute value"), s.state = I.ATTRIB_VALUE_UNQUOTED, s.attribValue = E);
4857
+ ie(E) ? (s.q = E, s.state = D.ATTRIB_VALUE_QUOTED) : (s.opt.unquotedAttributeValues || Ve(s, "Unquoted attribute value"), s.state = D.ATTRIB_VALUE_UNQUOTED, s.attribValue = E);
4857
4858
  continue;
4858
- case I.ATTRIB_VALUE_QUOTED:
4859
+ case D.ATTRIB_VALUE_QUOTED:
4859
4860
  if (E !== s.q) {
4860
- E === "&" ? s.state = I.ATTRIB_VALUE_ENTITY_Q : s.attribValue += E;
4861
+ E === "&" ? s.state = D.ATTRIB_VALUE_ENTITY_Q : s.attribValue += E;
4861
4862
  continue;
4862
4863
  }
4863
- Fe(s), s.q = "", s.state = I.ATTRIB_VALUE_CLOSED;
4864
+ Fe(s), s.q = "", s.state = D.ATTRIB_VALUE_CLOSED;
4864
4865
  continue;
4865
- case I.ATTRIB_VALUE_CLOSED:
4866
- z(E) ? s.state = I.ATTRIB : E === ">" ? Ke(s) : E === "/" ? s.state = I.OPEN_TAG_SLASH : ae(Z, E) ? (fe(s, "No whitespace between attributes"), s.attribName = E, s.attribValue = "", s.state = I.ATTRIB_NAME) : fe(s, "Invalid attribute name");
4866
+ case D.ATTRIB_VALUE_CLOSED:
4867
+ z(E) ? s.state = D.ATTRIB : E === ">" ? Ke(s) : E === "/" ? s.state = D.OPEN_TAG_SLASH : ae(Z, E) ? (fe(s, "No whitespace between attributes"), s.attribName = E, s.attribValue = "", s.state = D.ATTRIB_NAME) : fe(s, "Invalid attribute name");
4867
4868
  continue;
4868
- case I.ATTRIB_VALUE_UNQUOTED:
4869
+ case D.ATTRIB_VALUE_UNQUOTED:
4869
4870
  if (!pe(E)) {
4870
- E === "&" ? s.state = I.ATTRIB_VALUE_ENTITY_U : s.attribValue += E;
4871
+ E === "&" ? s.state = D.ATTRIB_VALUE_ENTITY_U : s.attribValue += E;
4871
4872
  continue;
4872
4873
  }
4873
- Fe(s), E === ">" ? Ke(s) : s.state = I.ATTRIB;
4874
+ Fe(s), E === ">" ? Ke(s) : s.state = D.ATTRIB;
4874
4875
  continue;
4875
- case I.CLOSE_TAG:
4876
+ case D.CLOSE_TAG:
4876
4877
  if (s.tagName)
4877
- E === ">" ? It(s) : ae(re, E) ? s.tagName += E : s.script ? (s.script += "</" + s.tagName + E, s.tagName = "", s.state = I.SCRIPT) : (z(E) || fe(s, "Invalid tagname in closing tag"), s.state = I.CLOSE_TAG_SAW_WHITE);
4878
+ E === ">" ? It(s) : ae(re, E) ? s.tagName += E : s.script ? (s.script += "</" + s.tagName + E, s.tagName = "", s.state = D.SCRIPT) : (z(E) || fe(s, "Invalid tagname in closing tag"), s.state = D.CLOSE_TAG_SAW_WHITE);
4878
4879
  else {
4879
4880
  if (z(E))
4880
4881
  continue;
4881
- De(Z, E) ? s.script ? (s.script += "</" + E, s.state = I.SCRIPT) : fe(s, "Invalid tagname in closing tag.") : s.tagName = E;
4882
+ De(Z, E) ? s.script ? (s.script += "</" + E, s.state = D.SCRIPT) : fe(s, "Invalid tagname in closing tag.") : s.tagName = E;
4882
4883
  }
4883
4884
  continue;
4884
- case I.CLOSE_TAG_SAW_WHITE:
4885
+ case D.CLOSE_TAG_SAW_WHITE:
4885
4886
  if (z(E))
4886
4887
  continue;
4887
4888
  E === ">" ? It(s) : fe(s, "Invalid characters in closing tag");
4888
4889
  continue;
4889
- case I.TEXT_ENTITY:
4890
- case I.ATTRIB_VALUE_ENTITY_Q:
4891
- case I.ATTRIB_VALUE_ENTITY_U:
4890
+ case D.TEXT_ENTITY:
4891
+ case D.ATTRIB_VALUE_ENTITY_Q:
4892
+ case D.ATTRIB_VALUE_ENTITY_U:
4892
4893
  var he, xe;
4893
4894
  switch (s.state) {
4894
- case I.TEXT_ENTITY:
4895
- he = I.TEXT, xe = "textNode";
4895
+ case D.TEXT_ENTITY:
4896
+ he = D.TEXT, xe = "textNode";
4896
4897
  break;
4897
- case I.ATTRIB_VALUE_ENTITY_Q:
4898
- he = I.ATTRIB_VALUE_QUOTED, xe = "attribValue";
4898
+ case D.ATTRIB_VALUE_ENTITY_Q:
4899
+ he = D.ATTRIB_VALUE_QUOTED, xe = "attribValue";
4899
4900
  break;
4900
- case I.ATTRIB_VALUE_ENTITY_U:
4901
- he = I.ATTRIB_VALUE_UNQUOTED, xe = "attribValue";
4901
+ case D.ATTRIB_VALUE_ENTITY_U:
4902
+ he = D.ATTRIB_VALUE_UNQUOTED, xe = "attribValue";
4902
4903
  break;
4903
4904
  }
4904
4905
  if (E === ";") {
@@ -4988,10 +4989,10 @@ function Ja(l) {
4988
4989
  defaultNamespace: a.namespaces.default,
4989
4990
  rootElementName: a.rootElementName
4990
4991
  }));
4991
- const b = ai(c, m.defaultNamespace), A = ui({ attributes: c.attributes, useCustomRecordsIds: d }), D = ci({
4992
+ const b = ai(c, m.defaultNamespace), A = ui({ attributes: c.attributes, useCustomRecordsIds: d }), I = ci({
4992
4993
  attributes: c.attributes,
4993
4994
  useCustomRecordsIds: d
4994
- }), K = ii(D), $ = si(u.stack), Y = {
4995
+ }), K = ii(I), $ = si(u.stack), Y = {
4995
4996
  id: A,
4996
4997
  tagName: g,
4997
4998
  namespace: b,
@@ -5103,13 +5104,13 @@ async function li(l) {
5103
5104
  continue;
5104
5105
  }
5105
5106
  A.size === 0 && console.warn(`File is empty: ${A.name}`);
5106
- const D = await hi({
5107
+ const I = await hi({
5107
5108
  file: A,
5108
5109
  dialecteConfig: u,
5109
5110
  options: b,
5110
5111
  useCustomRecordsIds: a
5111
5112
  });
5112
- d.push(D);
5113
+ d.push(I);
5113
5114
  }
5114
5115
  return d;
5115
5116
  }
@@ -5145,19 +5146,19 @@ async function mi(l) {
5145
5146
  const { file: c, databaseInstance: u, elementsTableName: a, dialecteConfig: d, options: m } = l, g = c.stream().getReader(), b = Za({
5146
5147
  dialecteConfig: d,
5147
5148
  useCustomRecordsIds: m.useCustomRecordsIds
5148
- }), A = new TextDecoder(), D = new Uint8Array(0);
5149
+ }), A = new TextDecoder(), I = new Uint8Array(0);
5149
5150
  return await mr({
5150
5151
  databaseInstance: u,
5151
5152
  elementsTableName: a,
5152
5153
  reader: g,
5153
5154
  sax: b,
5154
5155
  textDecoder: A,
5155
- buffer: D,
5156
+ buffer: I,
5156
5157
  options: m
5157
5158
  });
5158
5159
  }
5159
5160
  async function mr(l) {
5160
- const { databaseInstance: c, elementsTableName: u, reader: a, sax: d, textDecoder: m, buffer: g, options: b } = l, { chunkSize: A, batchSize: D } = b, { done: K, value: $ } = await a.read();
5161
+ const { databaseInstance: c, elementsTableName: u, reader: a, sax: d, textDecoder: m, buffer: g, options: b } = l, { chunkSize: A, batchSize: I } = b, { done: K, value: $ } = await a.read();
5161
5162
  if (K) {
5162
5163
  if (g.length > 0) {
5163
5164
  const H = m.decode(g);
@@ -5181,7 +5182,7 @@ async function mr(l) {
5181
5182
  databaseInstance: c,
5182
5183
  elementsTableName: u,
5183
5184
  sax: d,
5184
- batchSize: D
5185
+ batchSize: I
5185
5186
  });
5186
5187
  }
5187
5188
  return await mr({ ...l, buffer: Y });
@@ -5215,7 +5216,7 @@ function pi() {
5215
5216
  return A(!1) || Y() || $() || K() || b();
5216
5217
  }
5217
5218
  function m() {
5218
- return F(/\s*/), A(!0) || $() || D() || b();
5219
+ return F(/\s*/), A(!0) || $() || I() || b();
5219
5220
  }
5220
5221
  function g() {
5221
5222
  const te = b(), z = [];
@@ -5295,7 +5296,7 @@ function pi() {
5295
5296
  node: ie
5296
5297
  };
5297
5298
  }
5298
- function D() {
5299
+ function I() {
5299
5300
  const te = F(/^<!DOCTYPE\s+\S+\s+SYSTEM[^>]*>/) || F(/^<!DOCTYPE\s+\S+\s+PUBLIC[^>]*>/) || F(/^<!DOCTYPE\s+\S+\s*\[[^\]]*]>/) || F(/^<!DOCTYPE\s+\S+\s*>/);
5300
5301
  if (te) {
5301
5302
  const z = {
@@ -5424,7 +5425,7 @@ function gi() {
5424
5425
  }
5425
5426
  M.length > 0 && (!Z && F.content.length > 0 && d(F), g(F, M));
5426
5427
  }
5427
- function D(M, F) {
5428
+ function I(M, F) {
5428
5429
  const Z = "/" + M.join("/"), re = M[M.length - 1];
5429
5430
  return F.includes(re) || F.includes(Z);
5430
5431
  }
@@ -5438,7 +5439,7 @@ function gi() {
5438
5439
  const re = M.children;
5439
5440
  g(F, ">"), F.level++;
5440
5441
  let be = M.attributes["xml:space"] === "preserve" || Z, te = !1;
5441
- if (!be && F.options.ignoredPaths && (te = D(F.path, F.options.ignoredPaths), be = te), !be && F.options.collapseContent) {
5442
+ if (!be && F.options.ignoredPaths && (te = I(F.path, F.options.ignoredPaths), be = te), !be && F.options.collapseContent) {
5442
5443
  let z = !1, ie = !1, pe = !1;
5443
5444
  re.forEach(function(ae, De) {
5444
5445
  ae.type === "Text" ? (ae.content.includes(`
@@ -5485,7 +5486,7 @@ function vi(l) {
5485
5486
  }
5486
5487
  async function _i(l) {
5487
5488
  const { extension: c, xmlDocument: u, filename: a } = l, b = `<?xml version="1.0" encoding="UTF-8"?>
5488
- ` + new XMLSerializer().serializeToString(u), A = vi(b), D = new Blob([A], { type: "application/xml" });
5489
+ ` + new XMLSerializer().serializeToString(u), A = vi(b), I = new Blob([A], { type: "application/xml" });
5489
5490
  if ("showSaveFilePicker" in window)
5490
5491
  try {
5491
5492
  const $ = await (await window.showSaveFilePicker({
@@ -5497,12 +5498,12 @@ async function _i(l) {
5497
5498
  }
5498
5499
  ]
5499
5500
  })).createWritable();
5500
- await $.write(D), await $.close();
5501
+ await $.write(I), await $.close();
5501
5502
  } catch (K) {
5502
5503
  K.name !== "AbortError" && console.error("Save failed:", K);
5503
5504
  }
5504
5505
  else {
5505
- const K = URL.createObjectURL(D), $ = document.createElement("a");
5506
+ const K = URL.createObjectURL(I), $ = document.createElement("a");
5506
5507
  $.href = K, $.download = a, document.body.appendChild($), $.click(), $.remove(), URL.revokeObjectURL(K);
5507
5508
  }
5508
5509
  }
@@ -5553,25 +5554,25 @@ async function Ci(l) {
5553
5554
  g.uri,
5554
5555
  null,
5555
5556
  null
5556
- ), D = await c.table(b).where({ tagName: m }).first();
5557
- if (!D) throw new Error(`No ${m} root element found in DB`);
5557
+ ), I = await c.table(b).where({ tagName: m }).first();
5558
+ if (!I) throw new Error(`No ${m} root element found in DB`);
5558
5559
  const K = A.createElementNS(
5559
- D.namespace.uri,
5560
- D.tagName
5560
+ I.namespace.uri,
5561
+ I.tagName
5561
5562
  );
5562
- return K.setAttribute("xmlns", D.namespace.uri), D.attributes && wo({
5563
+ return K.setAttribute("xmlns", I.namespace.uri), I.attributes && wo({
5563
5564
  dialecteConfig: u,
5564
5565
  document: A,
5565
5566
  element: K,
5566
- attributes: D.attributes,
5567
+ attributes: I.attributes,
5567
5568
  isRoot: !0
5568
- }), Eo({ dialecteConfig: u, rootElement: K, namespace: D.namespace }), D.value && (K.textContent = D.value.trim()), a && K.setAttribute(_o, D.id), A.appendChild(K), await Ao({
5569
+ }), Eo({ dialecteConfig: u, rootElement: K, namespace: I.namespace }), I.value && (K.textContent = I.value.trim()), a && K.setAttribute(_o, I.id), A.appendChild(K), await Ao({
5569
5570
  databaseInstance: c,
5570
5571
  dialecteConfig: u,
5571
5572
  elementsTableName: b,
5572
5573
  withDatabaseIds: a,
5573
5574
  xmlDocument: A,
5574
- databaseRecord: D,
5575
+ databaseRecord: I,
5575
5576
  parentDomElement: K
5576
5577
  });
5577
5578
  }
@@ -5646,8 +5647,8 @@ function wo(l) {
5646
5647
  document: u,
5647
5648
  namespace: g.namespace
5648
5649
  });
5649
- const A = g.name.includes(":") && g.name.split(":").pop() || g.name, D = b ? `${b}:${A}` : A;
5650
- a.setAttributeNS(g.namespace.uri, D, String(g.value));
5650
+ const A = g.name.includes(":") && g.name.split(":").pop() || g.name, I = b ? `${b}:${A}` : A;
5651
+ a.setAttributeNS(g.namespace.uri, I, String(g.value));
5651
5652
  } else a.setAttribute(g.name, String(g.value));
5652
5653
  }
5653
5654
  function Bo(l) {
@@ -5681,8 +5682,8 @@ function wi(l) {
5681
5682
  for (const A of a)
5682
5683
  m.has(A.tagName) ? g.get(A.tagName)?.push(A) : b.push(A);
5683
5684
  for (const A of m) {
5684
- const D = g.get(A);
5685
- D && D.length && d.push(...D);
5685
+ const I = g.get(A);
5686
+ I && I.length && d.push(...I);
5686
5687
  }
5687
5688
  return d.push(...b), d;
5688
5689
  }
@@ -5713,9 +5714,9 @@ async function Bs(l) {
5713
5714
  databaseName: b,
5714
5715
  dialecteConfig: u,
5715
5716
  extensions: a
5716
- }), D = A.getDatabaseInstance();
5717
+ }), I = A.getDatabaseInstance();
5717
5718
  return { dialecte: A, databaseName: b, cleanup: async () => {
5718
- D?.isOpen() && (D.close(), await new Promise(($) => setTimeout($, 20))), await ct.delete(b);
5719
+ I?.isOpen() && (I.close(), await new Promise(($) => setTimeout($, 20))), await ct.delete(b);
5719
5720
  } };
5720
5721
  }
5721
5722
  async function Es(l) {
@@ -5738,18 +5739,18 @@ async function Es(l) {
5738
5739
  break;
5739
5740
  case "addChild":
5740
5741
  m.goTo && (a = a.goToElement(m.goTo));
5741
- const { id: b, tagName: A, attributes: D, namespace: K, value: $, setFocus: Y } = m;
5742
+ const { id: b, tagName: A, attributes: I, namespace: K, value: $, setFocus: Y } = m;
5742
5743
  Y ? a = a.addChild({
5743
5744
  id: b,
5744
5745
  tagName: A,
5745
- attributes: D,
5746
+ attributes: I,
5746
5747
  namespace: K,
5747
5748
  value: $,
5748
5749
  setFocus: !0
5749
5750
  }) : a = a.addChild({
5750
5751
  id: b,
5751
5752
  tagName: A,
5752
- attributes: D,
5753
+ attributes: I,
5753
5754
  namespace: K,
5754
5755
  value: $,
5755
5756
  setFocus: !1
@@ -5795,7 +5796,7 @@ function xi(l) {
5795
5796
  function xo(l) {
5796
5797
  const { contextPromise: c, dialecteConfig: u, databaseInstance: a } = l;
5797
5798
  return async function(d = {}) {
5798
- const { include: m, exclude: g, unwrap: b } = d, A = await c, D = await Ni({
5799
+ const { include: m, exclude: g, unwrap: b } = d, A = await c, I = await Ni({
5799
5800
  root: A.currentFocus,
5800
5801
  context: A,
5801
5802
  dialecteConfig: u,
@@ -5803,17 +5804,17 @@ function xo(l) {
5803
5804
  include: m,
5804
5805
  exclude: g
5805
5806
  });
5806
- return D ? b ? Fi({ tree: D, unwrapTagNames: b }) : D : Nn({ record: A.currentFocus });
5807
+ return I ? b ? Fi({ tree: I, unwrapTagNames: b }) : I : Nn({ record: A.currentFocus });
5807
5808
  };
5808
5809
  }
5809
5810
  async function Ni(l) {
5810
5811
  const { root: c, context: u, dialecteConfig: a, databaseInstance: d, include: m, exclude: g } = l;
5811
5812
  async function b(A) {
5812
- const { record: D, includeFilter: K } = A;
5813
- if (Ri({ record: D, excludeFilters: g }))
5814
- return Nn({ record: D });
5813
+ const { record: I, includeFilter: K } = A;
5814
+ if (Ri({ record: I, excludeFilters: g }))
5815
+ return Nn({ record: I });
5815
5816
  const $ = await Di({
5816
- record: D,
5817
+ record: I,
5817
5818
  context: u,
5818
5819
  dialecteConfig: a,
5819
5820
  databaseInstance: d,
@@ -5826,7 +5827,7 @@ async function Ni(l) {
5826
5827
  )).filter(
5827
5828
  (M) => M !== null
5828
5829
  );
5829
- return Nn({ record: D, tree: H });
5830
+ return Nn({ record: I, tree: H });
5830
5831
  }
5831
5832
  return b({ record: c, includeFilter: m });
5832
5833
  }
@@ -5852,7 +5853,7 @@ async function Di(l) {
5852
5853
  dialecteConfig: a,
5853
5854
  databaseInstance: d
5854
5855
  })).filter(
5855
- (D) => !Oi({ record: D, excludeFilters: g })
5856
+ (I) => !Oi({ record: I, excludeFilters: g })
5856
5857
  );
5857
5858
  return Pi({ children: A, currentIncludeFilter: m });
5858
5859
  }
@@ -5995,12 +5996,12 @@ function Ro(l) {
5995
5996
  return d;
5996
5997
  }
5997
5998
  async function qi(l) {
5998
- const { contextPromise: c, dialecteConfig: u, databaseInstance: a, currentElement: d } = l, g = await xo({ contextPromise: c, dialecteConfig: u, databaseInstance: a })(), b = ki(g), A = [d, ...u.descendants[d]], D = {};
5999
+ const { contextPromise: c, dialecteConfig: u, databaseInstance: a, currentElement: d } = l, g = await xo({ contextPromise: c, dialecteConfig: u, databaseInstance: a })(), b = ki(g), A = [d, ...u.descendants[d]], I = {};
5999
6000
  for (const K of A)
6000
- D[K] = [];
6001
+ I[K] = [];
6001
6002
  for (const K of b)
6002
- D[K.tagName] && D[K.tagName].push(K);
6003
- return D;
6003
+ I[K.tagName] && I[K.tagName].push(K);
6004
+ return I;
6004
6005
  }
6005
6006
  async function Li(l) {
6006
6007
  const { context: c, dialecteConfig: u, databaseInstance: a, filter: d } = l, m = br(d), g = new Set(No(d)), b = m[m.length - 1], A = await ho({
@@ -6009,7 +6010,7 @@ async function Li(l) {
6009
6010
  databaseInstance: a,
6010
6011
  tagName: b.tagName,
6011
6012
  attributes: b.attributes
6012
- }), D = /* @__PURE__ */ new Map();
6013
+ }), I = /* @__PURE__ */ new Map();
6013
6014
  for (const K of A) {
6014
6015
  const $ = await Ki({
6015
6016
  record: K,
@@ -6023,9 +6024,9 @@ async function Li(l) {
6023
6024
  conditions: m
6024
6025
  })))
6025
6026
  for (const H of $)
6026
- g.has(H.tagName) && (D.has(H.tagName) || D.set(H.tagName, /* @__PURE__ */ new Map()), D.get(H.tagName).set(H.id, H));
6027
+ g.has(H.tagName) && (I.has(H.tagName) || I.set(H.tagName, /* @__PURE__ */ new Map()), I.get(H.tagName).set(H.id, H));
6027
6028
  }
6028
- return Mi({ collected: D, collectTags: g });
6029
+ return Mi({ collected: I, collectTags: g });
6029
6030
  }
6030
6031
  function Ui(l) {
6031
6032
  const { contextPromise: c, dialecteConfig: u, databaseInstance: a } = l;
@@ -6034,8 +6035,8 @@ function Ui(l) {
6034
6035
  contextPromise: c,
6035
6036
  dialecteConfig: u,
6036
6037
  databaseInstance: a
6037
- })(m), A = /* @__PURE__ */ new Map(), D = Object.values(b);
6038
- for (const F of D)
6038
+ })(m), A = /* @__PURE__ */ new Map(), I = Object.values(b);
6039
+ for (const F of I)
6039
6040
  for (const Z of F)
6040
6041
  A.set(Z.id, Z);
6041
6042
  if (A.size === 0) return [];
@@ -6144,7 +6145,7 @@ function Oo(l) {
6144
6145
  }
6145
6146
  function Xi(l) {
6146
6147
  return async function() {
6147
- const { contextPromise: u, dialecteConfig: a, databaseInstance: d } = l, m = a.database.tables.xmlElements.name, g = d.table(m), b = structuredClone(await u), { creates: A, updates: D, deletes: K } = Vi(b.stagedOperations), $ = A.length + D.length + K.length;
6148
+ const { contextPromise: u, dialecteConfig: a, databaseInstance: d } = l, m = a.database.tables.xmlElements.name, g = d.table(m), b = structuredClone(await u), { creates: A, updates: I, deletes: K } = Vi(b.stagedOperations), $ = A.length + I.length + K.length;
6148
6149
  st.updateEndingProgress({
6149
6150
  current: 0,
6150
6151
  total: $,
@@ -6157,10 +6158,10 @@ function Xi(l) {
6157
6158
  current: Y,
6158
6159
  total: $,
6159
6160
  operation: `Created ${A.length} elements`
6160
- })), D.length > 0 && (await g.bulkPut(D.map((H) => H.newRecord)), Y += D.length, st.updateEndingProgress({
6161
+ })), I.length > 0 && (await g.bulkPut(I.map((H) => H.newRecord)), Y += I.length, st.updateEndingProgress({
6161
6162
  current: Y,
6162
6163
  total: $,
6163
- operation: `Updated ${D.length} elements`
6164
+ operation: `Updated ${I.length} elements`
6164
6165
  })), K.length > 0 && (await g.bulkDelete(K.map((H) => H.oldRecord.id)), Y += K.length, st.updateEndingProgress({
6165
6166
  current: Y,
6166
6167
  total: $,
@@ -6184,7 +6185,7 @@ function Xi(l) {
6184
6185
  function Wi(l) {
6185
6186
  const { chain: c, contextPromise: u, dialecteConfig: a, focusedTagName: d } = l;
6186
6187
  return function(m) {
6187
- const { id: g, tagName: b, attributes: A, namespace: D, value: K, setFocus: $ = !1 } = m, Y = g ?? crypto.randomUUID(), H = u.then((M) => {
6188
+ const { id: g, tagName: b, attributes: A, namespace: I, value: K, setFocus: $ = !1 } = m, Y = g ?? crypto.randomUUID(), H = u.then((M) => {
6188
6189
  try {
6189
6190
  st.setOperation(`Creating ${b}`);
6190
6191
  const F = fo({
@@ -6192,7 +6193,7 @@ function Wi(l) {
6192
6193
  id: Y,
6193
6194
  tagName: b,
6194
6195
  attributes: A,
6195
- namespace: D,
6196
+ namespace: I,
6196
6197
  value: K
6197
6198
  },
6198
6199
  dialecteConfig: a
@@ -6283,9 +6284,9 @@ function Yi(l) {
6283
6284
  function zi(l) {
6284
6285
  const { chain: c, contextPromise: u, dialecteConfig: a, focusedTagName: d } = l;
6285
6286
  return function(m) {
6286
- const { record: g, setFocus: b } = m, A = u.then(async (D) => {
6287
+ const { record: g, setFocus: b } = m, A = u.then(async (I) => {
6287
6288
  const K = c({
6288
- contextPromise: Promise.resolve(D)
6289
+ contextPromise: Promise.resolve(I)
6289
6290
  });
6290
6291
  let $ = await Do({
6291
6292
  dialecteConfig: a,
@@ -6321,16 +6322,16 @@ async function Do(l) {
6321
6322
  value: g.value,
6322
6323
  setFocus: !0
6323
6324
  });
6324
- for (const D of g.tree)
6325
+ for (const I of g.tree)
6325
6326
  b = await Do({
6326
6327
  dialecteConfig: c,
6327
6328
  clonedRecordRootId: u,
6328
6329
  parentChain: b,
6329
- childRecord: D
6330
+ childRecord: I
6330
6331
  });
6331
6332
  if (d.id !== u) {
6332
- const { currentFocus: D } = await b.getContext();
6333
- ye(D.parent, "Clone: Current focus parent should be defined here"), b = b.goToParent(D.parent.tagName);
6333
+ const { currentFocus: I } = await b.getContext();
6334
+ ye(I.parent, "Clone: Current focus parent should be defined here"), b = b.goToParent(I.parent.tagName);
6334
6335
  }
6335
6336
  }
6336
6337
  return b;
@@ -6339,27 +6340,27 @@ function Qi(l) {
6339
6340
  const { chain: c, contextPromise: u, dialecteConfig: a } = l;
6340
6341
  return function(d) {
6341
6342
  const { attributes: m, value: g } = d, b = u.then(async (A) => {
6342
- const D = A.currentFocus;
6343
- let K = D.attributes;
6343
+ const I = A.currentFocus;
6344
+ let K = I.attributes;
6344
6345
  if (m) {
6345
6346
  const Y = lo({
6346
- tagName: D.tagName,
6347
+ tagName: I.tagName,
6347
6348
  attributes: m,
6348
6349
  dialecteConfig: a
6349
6350
  });
6350
- K = [...D.attributes.filter(
6351
+ K = [...I.attributes.filter(
6351
6352
  (M) => !Y.some((F) => F.name === M.name)
6352
6353
  ), ...Y];
6353
6354
  }
6354
6355
  const $ = {
6355
- ...D,
6356
+ ...I,
6356
6357
  attributes: K,
6357
- value: g !== void 0 ? g : D.value
6358
+ value: g !== void 0 ? g : I.value
6358
6359
  };
6359
6360
  return ut({
6360
6361
  context: A,
6361
6362
  status: "updated",
6362
- oldRecord: D,
6363
+ oldRecord: I,
6363
6364
  newRecord: $
6364
6365
  }), {
6365
6366
  ...A,
@@ -6375,19 +6376,19 @@ function Hi(l) {
6375
6376
  const { chain: c, contextPromise: u, dialecteConfig: a, databaseInstance: d } = l;
6376
6377
  return function(m) {
6377
6378
  const { parentTagName: g } = m, b = u.then(async (A) => {
6378
- const D = A.currentFocus;
6379
- ye(D.parent, "Delete: Cannot delete root element"), ye(
6380
- D.parent.tagName === g,
6379
+ const I = A.currentFocus;
6380
+ ye(I.parent, "Delete: Cannot delete root element"), ye(
6381
+ I.parent.tagName === g,
6381
6382
  "Delete: Focused element parent tag name mismatch"
6382
6383
  ), ut({
6383
6384
  context: A,
6384
6385
  status: "deleted",
6385
- record: D
6386
+ record: I
6386
6387
  }), await Io({
6387
6388
  context: A,
6388
6389
  dialecteConfig: a,
6389
6390
  databaseInstance: d,
6390
- currentChild: D
6391
+ currentChild: I
6391
6392
  });
6392
6393
  const K = await Zi({
6393
6394
  context: A,
@@ -6455,7 +6456,7 @@ async function Zi(l) {
6455
6456
  function Ji(l) {
6456
6457
  const { chain: c, contextPromise: u, dialecteConfig: a, databaseInstance: d } = l;
6457
6458
  return function(g) {
6458
- const { tagName: b, id: A } = g, D = a.database.tables.xmlElements.name, K = u.then(async ($) => {
6459
+ const { tagName: b, id: A } = g, I = a.database.tables.xmlElements.name, K = u.then(async ($) => {
6459
6460
  const Y = a.singletonElements?.includes(b), H = yr({
6460
6461
  dialecteConfig: a,
6461
6462
  stagedOperations: $.stagedOperations,
@@ -6464,7 +6465,7 @@ function Ji(l) {
6464
6465
  });
6465
6466
  let M = H?.status !== "deleted" ? H?.record : void 0;
6466
6467
  if (!M) {
6467
- const F = d.table(D);
6468
+ const F = d.table(I);
6468
6469
  if (!A && !Y)
6469
6470
  throw new Error(`Element ${b} requires an id parameter`);
6470
6471
  M = await (Y && !A ? F.where("tagName").equals(b).first() : F.get({ id: A, tagName: b }));
@@ -6490,24 +6491,24 @@ function es(l) {
6490
6491
  const { chain: c, contextPromise: u, dialecteConfig: a, databaseInstance: d } = l;
6491
6492
  return function(g) {
6492
6493
  const b = u.then(async (A) => {
6493
- const D = A.currentFocus.parent;
6494
- ye(D, "GoToParent:Current focus parent should be defined here"), ye(
6495
- D.tagName === g,
6494
+ const I = A.currentFocus.parent;
6495
+ ye(I, "GoToParent:Current focus parent should be defined here"), ye(
6496
+ I.tagName === g,
6496
6497
  "Parent tag name should match the requested parent"
6497
6498
  );
6498
6499
  const K = yr({
6499
6500
  dialecteConfig: a,
6500
6501
  stagedOperations: A.stagedOperations,
6501
- id: D.id,
6502
- tagName: D.tagName
6502
+ id: I.id,
6503
+ tagName: I.tagName
6503
6504
  });
6504
6505
  let $;
6505
6506
  if (K)
6506
6507
  $ = K.record;
6507
6508
  else {
6508
6509
  const Y = a.database.tables.xmlElements.name, H = await d.table(Y).get({
6509
- id: D.id,
6510
- tagName: D.tagName
6510
+ id: I.id,
6511
+ tagName: I.tagName
6511
6512
  });
6512
6513
  ye(H, "Parent record should be found in database"), $ = H;
6513
6514
  }
@@ -6605,8 +6606,8 @@ function ts(l) {
6605
6606
  function ns(l) {
6606
6607
  const { extensions: c, focusedTagName: u, chain: a, dialecteConfig: d, contextPromise: m } = l, g = {}, b = c[u];
6607
6608
  if (b)
6608
- for (const [A, D] of Object.entries(b))
6609
- g[A] = D({
6609
+ for (const [A, I] of Object.entries(b))
6610
+ g[A] = I({
6610
6611
  chain: a,
6611
6612
  dialecteConfig: d,
6612
6613
  contextPromise: m
@@ -6615,8 +6616,8 @@ function ns(l) {
6615
6616
  }
6616
6617
  function vr(l) {
6617
6618
  const { dialecteConfig: c, databaseInstance: u, contextPromise: a, extensions: d, focusedTagName: m } = l;
6618
- function g(D) {
6619
- const { contextPromise: K, newFocusedTagName: $ = m } = D;
6619
+ function g(I) {
6620
+ const { contextPromise: K, newFocusedTagName: $ = m } = I;
6620
6621
  return vr({
6621
6622
  dialecteConfig: c,
6622
6623
  databaseInstance: u,
@@ -6675,7 +6676,7 @@ export {
6675
6676
  di as getDatabaseName,
6676
6677
  yr as getLatestStagedRecord,
6677
6678
  Qt as getRecord,
6678
- ja as getState,
6679
+ Ma as getState,
6679
6680
  li as importXmlFiles,
6680
6681
  os as isChainRecord,
6681
6682
  fi as isFileSupported,