@dialecte/core 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/test.js CHANGED
@@ -1,9 +1,14 @@
1
- import { N as e, V as t, gt as n, mt as r, pt as i, t as a, u as o } from "./project-DwtNI4J5.js";
2
- import { O as s, v as c } from "./utils-CZ12wsuC.js";
3
- import { standardizeRecord as l, toTrackedRecord as u, toTreeRecord as d } from "./helpers.js";
4
- import { expect as f, it as p } from "vitest";
1
+ import { N as e, V as t, gt as n, mt as r, pt as i, t as a, u as o } from "./project-sK-5Xc-5.js";
2
+ import { A as s, N as c, O as l, i as u, k as d, y as f } from "./utils-CTBHUFs9.js";
3
+ import { standardizeRecord as p, toTrackedRecord as m, toTreeRecord as h } from "./helpers.js";
4
+ import { expect as g, it as _ } from "vitest";
5
5
  //#region src/test/assert-valid-xml/assert-valid-xml.ts
6
- function m(e) {
6
+ var v = [
7
+ s,
8
+ c.uri,
9
+ l.uri
10
+ ];
11
+ function y(e) {
7
12
  let { definition: t, types: n, namespaces: r, schemaName: i = "XML" } = e, a = {
8
13
  definition: t,
9
14
  types: n,
@@ -12,7 +17,7 @@ function m(e) {
12
17
  function s(e) {
13
18
  return e.namespaceURI !== null && !o.includes(e.namespaceURI);
14
19
  }
15
- function l(e, n) {
20
+ function c(e, n) {
16
21
  let r = t[n];
17
22
  if (r === void 0) return;
18
23
  let i = e?.children.details[n]?.declarations;
@@ -21,7 +26,7 @@ function m(e) {
21
26
  let a = Object.values(r.declarations ?? {}), o = e ? a : a.filter((e) => e.global);
22
27
  return o.length > 0 ? [...new Set(o.map((e) => e.namespace.uri))] : [r.namespace.uri];
23
28
  }
24
- function u(e, t) {
29
+ function l(e, t) {
25
30
  let n = Array.from(e.attributes).map((e) => ({
26
31
  name: e.name,
27
32
  value: e.value,
@@ -50,83 +55,91 @@ function m(e) {
50
55
  let n = e.children;
51
56
  return n.any === !0 || n.sequence.includes(t) ? !0 : t in n.details;
52
57
  }
53
- function f(e) {
58
+ function p(e) {
54
59
  return new Set([...e.attributes.sequence, ...Object.keys(e.attributes.details)]);
55
60
  }
56
- function p(e, t) {
61
+ function m(e, t) {
57
62
  let n = t.indexOf(":");
58
63
  if (n === -1) return e.hasAttribute(t);
59
64
  let i = t.slice(0, n), a = Object.values(r).find((e) => e.prefix === i);
60
65
  return a === void 0 ? e.hasAttribute(t) : e.hasAttributeNS(a.uri, t.slice(n + 1));
61
66
  }
62
- function m(e) {
63
- let { element: t, elementDefinition: n, requireComplete: r } = e, i = f(n), a = Array.from(t.attributes).filter((e) => e.namespaceURI === null && !i.has(e.localName)).map((e) => `[attribute] <${t.localName}> has unknown attribute '${e.localName}'`);
67
+ function h(e) {
68
+ if (e.namespaceURI === null) return e.localName;
69
+ let t = Object.values(r).find((t) => t.uri === e.namespaceURI);
70
+ return t === void 0 ? e.name : t.prefix ? `${t.prefix}:${e.localName}` : e.localName;
71
+ }
72
+ function g(e) {
73
+ let { element: t, elementDefinition: n, requireComplete: r } = e, i = p(n), a = Array.from(t.attributes).filter((e) => !v.includes(e.namespaceURI ?? "")).filter((e) => !i.has(h(e)) && !u({
74
+ wildcard: n.attributes.any,
75
+ namespaceUri: e.namespaceURI ?? ""
76
+ })).map((e) => `[attribute] <${t.localName}> has unknown attribute '${h(e)}'`);
64
77
  if (!r) return a;
65
- let o = Object.entries(n.attributes.details).filter(([e, n]) => n.required && !p(t, e)).map(([e]) => `[required] <${t.localName}> is missing required attribute '${e}'`);
78
+ let o = Object.entries(n.attributes.details).filter(([e, n]) => n.required && !m(t, e)).map(([e]) => `[required] <${t.localName}> is missing required attribute '${e}'`);
66
79
  return [...a, ...o];
67
80
  }
68
- function h(e) {
81
+ function _(e) {
69
82
  let { element: t, parent: n, requireComplete: r } = e, i = Array.from(t.children);
70
- if (s(t)) return i.flatMap((e) => h({
83
+ if (s(t)) return i.flatMap((e) => _({
71
84
  element: e,
72
85
  parent: void 0,
73
86
  requireComplete: r
74
87
  }));
75
- let o = t.localName, f = [], p = l(n?.definition, o), g = t.namespaceURI ?? "";
76
- if (p !== void 0 && !p.includes(g)) {
88
+ let o = t.localName, u = [], p = c(n?.definition, o), m = t.namespaceURI ?? "";
89
+ if (p !== void 0 && !p.includes(m)) {
77
90
  let e = n ? ` under <${n.localName}>` : "", r = p.map((e) => e || "(no namespace)").join(" or ");
78
- f.push(`[namespace] <${t.tagName}>${e}: is in ${t.namespaceURI ?? "(no namespace)"}, schema declares ${r}`);
91
+ u.push(`[namespace] <${t.tagName}>${e}: is in ${t.namespaceURI ?? "(no namespace)"}, schema declares ${r}`);
79
92
  }
80
- n?.definition && !d(n.definition, o) && f.push(`[containment] <${o}> is not a valid child of <${n.localName}>`);
81
- let _ = c({
93
+ n?.definition && !d(n.definition, o) && u.push(`[containment] <${o}> is not a valid child of <${n.localName}>`);
94
+ let h = f({
82
95
  dialecteConfig: a,
83
- record: u(t, n?.localName),
96
+ record: l(t, n?.localName),
84
97
  parentDefinition: n?.definition
85
- }), v = _ ? m({
98
+ }), v = h ? g({
86
99
  element: t,
87
- elementDefinition: _,
100
+ elementDefinition: h,
88
101
  requireComplete: r
89
- }) : [], y = i.flatMap((e) => h({
102
+ }) : [], y = i.flatMap((e) => _({
90
103
  element: e,
91
104
  parent: {
92
105
  localName: o,
93
- definition: _
106
+ definition: h
94
107
  },
95
108
  requireComplete: r
96
109
  }));
97
110
  return [
98
- ...f,
111
+ ...u,
99
112
  ...v,
100
113
  ...y
101
114
  ];
102
115
  }
103
- function g(e) {
116
+ function y(e) {
104
117
  let { xml: t, label: n, requireComplete: r } = e;
105
118
  if (!t.startsWith("<?xml") && t.trimStart().startsWith("<?xml")) return `${n}: malformed XML — the XML declaration must be the very first characters of the string: remove the declaration (a snippet does not need one) or the whitespace before it`;
106
119
  let a = new DOMParser().parseFromString(t, "application/xml"), o = a.querySelector("parsererror");
107
120
  if (o) return `${n}: malformed XML — ${o.textContent?.trim()}`;
108
121
  if (!a.documentElement) return;
109
- let s = h({
122
+ let s = _({
110
123
  element: a.documentElement,
111
124
  parent: void 0,
112
125
  requireComplete: r
113
126
  });
114
127
  return s.length > 0 ? `${n}: not valid ${i}:\n ${s.join("\n ")}` : void 0;
115
128
  }
116
- function _(e, t = "test XML", n = {}) {
117
- let r = g({
129
+ function b(e, t = "test XML", n = {}) {
130
+ let r = y({
118
131
  xml: e,
119
132
  label: t,
120
133
  requireComplete: n.requireComplete ?? !0
121
134
  });
122
135
  if (r) throw Error(r);
123
136
  }
124
- function v(e) {
125
- let { testCases: t } = e, n = Object.entries(t).flatMap(([e, t]) => [g({
137
+ function x(e) {
138
+ let { testCases: t } = e, n = Object.entries(t).flatMap(([e, t]) => [y({
126
139
  xml: t.sourceXml,
127
140
  label: `${e} › sourceXml`,
128
141
  requireComplete: !1
129
- }), t.targetXml ? g({
142
+ }), t.targetXml ? y({
130
143
  xml: t.targetXml,
131
144
  label: `${e} › targetXml`,
132
145
  requireComplete: !1
@@ -134,20 +147,20 @@ function m(e) {
134
147
  if (n.length > 0) throw Error(n.join("\n"));
135
148
  }
136
149
  return {
137
- assertValidXml: _,
138
- assertValidXmlTestCases: v
150
+ assertValidXml: b,
151
+ assertValidXmlTestCases: x
139
152
  };
140
153
  }
141
154
  //#endregion
142
155
  //#region src/test/assert-xml/xpath-parser.ts
143
- function h(e) {
144
- let t = g(e);
156
+ function b(e) {
157
+ let t = x(e);
145
158
  if (t.length === 0) return [e];
146
159
  let n = [];
147
160
  for (let r of t) n.push(e.slice(0, r));
148
161
  return n.push(e), n;
149
162
  }
150
- function g(e) {
163
+ function x(e) {
151
164
  let t = [], n = 0, r = 0, i = null;
152
165
  for (let a = 0; a < e.length; a++) {
153
166
  let o = e[a];
@@ -188,60 +201,60 @@ function g(e) {
188
201
  }
189
202
  //#endregion
190
203
  //#region src/test/assert-xml/assert-xml.ts
191
- var _ = /* @__PURE__ */ n(t(), 1);
192
- function v(e) {
193
- let { namespaces: t } = e, n = b(t);
204
+ var S = /* @__PURE__ */ n(t(), 1);
205
+ function C(e) {
206
+ let { namespaces: t } = e, n = T(t);
194
207
  return {
195
208
  assertExpectedElementQueries(e) {
196
- y({
209
+ w({
197
210
  ...e,
198
211
  nsResolver: n
199
212
  });
200
213
  },
201
214
  assertUnexpectedElementQueries(e) {
202
- x({
215
+ E({
203
216
  ...e,
204
217
  nsResolver: n
205
218
  });
206
219
  }
207
220
  };
208
221
  }
209
- function y(e) {
222
+ function w(e) {
210
223
  let { xmlDocument: t, queries: n, nsResolver: r } = e;
211
- for (let e of n) S({
224
+ for (let e of n) D({
212
225
  xmlDocument: t,
213
226
  xpath: e,
214
227
  nsResolver: r
215
228
  });
216
229
  }
217
- function b(e) {
230
+ function T(e) {
218
231
  return (t) => t ? e[t]?.uri ?? null : null;
219
232
  }
220
- function x(e) {
233
+ function E(e) {
221
234
  let { xmlDocument: t, queries: n, nsResolver: r } = e;
222
- for (let e of n) w({
235
+ for (let e of n) k({
223
236
  xmlDocument: t,
224
237
  xpath: e,
225
238
  nsResolver: r
226
239
  });
227
240
  }
228
- function S(e) {
229
- let { xmlDocument: t, xpath: n, nsResolver: r } = e, i = h(n), a = null, o = 0;
241
+ function D(e) {
242
+ let { xmlDocument: t, xpath: n, nsResolver: r } = e, i = b(n), a = null, o = 0;
230
243
  for (let e = 0; e < i.length; e++) {
231
244
  let s = i[e], c = t.evaluate(s, t, r ?? null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
232
245
  if (c) {
233
246
  a = c, o = e + 1;
234
247
  continue;
235
248
  }
236
- let l = e === 0 ? i[0] : n.slice(i[e - 1].length), u = o === 0 ? `[No parent matched — failed from document root]\n Document:\n${C({ xml: new XMLSerializer().serializeToString(t) })}` : `[Last match at step ${o}/${i.length}]:\n${a ? C({ xml: a.outerHTML }) : "(none)"}`;
237
- f(c, `Element not found in XML.\n Failed at step ${e + 1}/${i.length}: ${l.trim()}\n Full XPath: ${n}\n ${u}`).toBeTruthy();
249
+ let l = e === 0 ? i[0] : n.slice(i[e - 1].length), u = o === 0 ? `[No parent matched — failed from document root]\n Document:\n${O({ xml: new XMLSerializer().serializeToString(t) })}` : `[Last match at step ${o}/${i.length}]:\n${a ? O({ xml: a.outerHTML }) : "(none)"}`;
250
+ g(c, `Element not found in XML.\n Failed at step ${e + 1}/${i.length}: ${l.trim()}\n Full XPath: ${n}\n ${u}`).toBeTruthy();
238
251
  return;
239
252
  }
240
253
  }
241
- function C(e) {
254
+ function O(e) {
242
255
  let { xml: t } = e;
243
256
  try {
244
- return (0, _.default)(t, {
257
+ return (0, S.default)(t, {
245
258
  indentation: " ",
246
259
  collapseContent: !0
247
260
  });
@@ -249,24 +262,24 @@ function C(e) {
249
262
  return t;
250
263
  }
251
264
  }
252
- function w(e) {
253
- let { xmlDocument: t, xpath: n, nsResolver: r } = e, i = h(n);
265
+ function k(e) {
266
+ let { xmlDocument: t, xpath: n, nsResolver: r } = e, i = b(n);
254
267
  if (i.length > 1) {
255
268
  let e = null;
256
269
  for (let a = 0; a < i.length - 1; a++) {
257
- let o = i[a], s = t.evaluate(o, t, r ?? null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue, c = a === 0 ? i[0] : n.slice(i[a - 1].length), l = a === 0 ? "[Document root — no parent context]" : `[Parent element found at step ${a}]:\n${e ? C({ xml: e.outerHTML }) : "(none)"}`;
258
- f(s, `Absent assertion is unreliable: ancestor step does not exist.
270
+ let o = i[a], s = t.evaluate(o, t, r ?? null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue, c = a === 0 ? i[0] : n.slice(i[a - 1].length), l = a === 0 ? "[Document root — no parent context]" : `[Parent element found at step ${a}]:\n${e ? O({ xml: e.outerHTML }) : "(none)"}`;
271
+ g(s, `Absent assertion is unreliable: ancestor step does not exist.
259
272
  The query passes but for the wrong reason — an ancestor is missing, not the target element.
260
273
  Missing at step ${a + 1}/${i.length}: ${c.trim()}\n Full XPath: ${n}\n ${l}`).toBeTruthy(), e = s;
261
274
  }
262
275
  }
263
276
  let a = t.evaluate(n, t, r ?? null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
264
- f(a, `Element should NOT exist in XML but was found.\n XPath: ${n}\n Found:\n${a ? C({ xml: a.outerHTML }) : "(none)"}`).toBeFalsy();
277
+ g(a, `Element should NOT exist in XML but was found.\n XPath: ${n}\n Found:\n${a ? O({ xml: a.outerHTML }) : "(none)"}`).toBeFalsy();
265
278
  }
266
279
  //#endregion
267
280
  //#region src/test/constant.ts
268
- var T = {
269
- ...s,
281
+ var A = {
282
+ ...d,
270
283
  default: {
271
284
  uri: "http://dialecte.dev/XML/DEFAULT",
272
285
  prefix: ""
@@ -275,7 +288,7 @@ var T = {
275
288
  uri: "http://dialecte.dev/XML/DEV-EXT",
276
289
  prefix: "ext"
277
290
  }
278
- }, E = `xmlns="${T.default.uri}"`, D = `xmlns:${T.dev.prefix}="${T.dev.uri}"`, O = `xmlns:${T.ext.prefix}="${T.ext.uri}"`, k = /* @__PURE__ */ "A.AAAA_1.AAAA_2.AAAA_3.AAA_1.AAA_2.AAA_3.AA_1.AA_2.AA_3.B.BBBB_1.BBBB_2.BBBB_3.BBB_1.BBB_2.BBB_3.BB_1.BB_2.BB_3.C.CCCC_1.CCCC_2.CCCC_3.CCC_1.CCC_2.CCC_3.CC_1.CC_2.CC_3.D.DDD_1.DDD_2.DDD_3.DD_1.DD_2.DD_3.Root".split("."), A = {
291
+ }, j = `xmlns="${A.default.uri}"`, M = `xmlns:${A.dev.prefix}="${A.dev.uri}"`, N = `xmlns:${A.ext.prefix}="${A.ext.uri}"`, ee = /* @__PURE__ */ "A.AAAA_1.AAAA_2.AAAA_3.AAA_1.AAA_2.AAA_3.AA_1.AA_2.AA_3.B.BBBB_1.BBBB_2.BBBB_3.BBB_1.BBB_2.BBB_3.BB_1.BB_2.BB_3.C.CCCC_1.CCCC_2.CCCC_3.CCC_1.CCC_2.CCC_3.CC_1.CC_2.CC_3.D.DDD_1.DDD_2.DDD_3.DD_1.DD_2.DD_3.Root".split("."), te = {
279
292
  A: [
280
293
  "AA_1",
281
294
  "AA_2",
@@ -407,7 +420,7 @@ var T = {
407
420
  "C",
408
421
  "D"
409
422
  ]
410
- }, j = {
423
+ }, ne = {
411
424
  A: ["Root"],
412
425
  AAAA_1: [
413
426
  "AAA_1",
@@ -518,7 +531,7 @@ var T = {
518
531
  DD_2: ["D"],
519
532
  DD_3: ["D"],
520
533
  Root: []
521
- }, ee = {
534
+ }, P = {
522
535
  A: [
523
536
  "AAAA_1",
524
537
  "AAAA_2",
@@ -693,7 +706,7 @@ var T = {
693
706
  DD_2: ["DDD_2", "DDD_3"],
694
707
  DD_3: [],
695
708
  Root: /* @__PURE__ */ "A.AAAA_1.AAAA_2.AAAA_3.AAA_1.AAA_2.AAA_3.AA_1.AA_2.AA_3.B.BBBB_1.BBBB_2.BBBB_3.BBB_1.BBB_2.BBB_3.BB_1.BB_2.BB_3.C.CCCC_1.CCCC_2.CCCC_3.CCC_1.CCC_2.CCC_3.CC_1.CC_2.CC_3.D.DDD_1.DDD_2.DDD_3.DD_1.DD_2.DD_3".split(".")
696
- }, M = {
709
+ }, F = {
697
710
  A: ["Root"],
698
711
  AAAA_1: [
699
712
  "A",
@@ -879,7 +892,7 @@ var T = {
879
892
  DD_2: ["D", "Root"],
880
893
  DD_3: ["D", "Root"],
881
894
  Root: []
882
- }, N = "Root", P = [
895
+ }, I = "Root", L = [
883
896
  "A",
884
897
  "AA_1",
885
898
  "B",
@@ -891,7 +904,7 @@ var T = {
891
904
  "DDD_1",
892
905
  "DD_1",
893
906
  "Root"
894
- ], F = {
907
+ ], R = {
895
908
  A: {
896
909
  aA: "",
897
910
  bA: "",
@@ -1097,132 +1110,132 @@ var T = {
1097
1110
  "ext:root": "",
1098
1111
  root: ""
1099
1112
  }
1100
- }, I = {
1101
- byTag: F,
1113
+ }, z = {
1114
+ byTag: R,
1102
1115
  byParent: {
1103
1116
  A: {
1104
- AA_1: F.AA_1,
1105
- AA_2: F.AA_2,
1106
- AA_3: F.AA_3
1117
+ AA_1: R.AA_1,
1118
+ AA_2: R.AA_2,
1119
+ AA_3: R.AA_3
1107
1120
  },
1108
1121
  AAA_1: {
1109
- AAAA_1: F.AAAA_1,
1110
- AAAA_2: F.AAAA_2,
1111
- AAAA_3: F.AAAA_3
1122
+ AAAA_1: R.AAAA_1,
1123
+ AAAA_2: R.AAAA_2,
1124
+ AAAA_3: R.AAAA_3
1112
1125
  },
1113
1126
  AAA_2: {
1114
- AAAA_1: F.AAAA_1,
1115
- AAAA_2: F.AAAA_2,
1116
- AAAA_3: F.AAAA_3
1127
+ AAAA_1: R.AAAA_1,
1128
+ AAAA_2: R.AAAA_2,
1129
+ AAAA_3: R.AAAA_3
1117
1130
  },
1118
1131
  AAA_3: {
1119
- AAAA_1: F.AAAA_1,
1120
- AAAA_2: F.AAAA_2,
1121
- AAAA_3: F.AAAA_3
1132
+ AAAA_1: R.AAAA_1,
1133
+ AAAA_2: R.AAAA_2,
1134
+ AAAA_3: R.AAAA_3
1122
1135
  },
1123
1136
  AA_1: {
1124
- AAA_1: F.AAA_1,
1125
- AAA_2: F.AAA_2,
1126
- AAA_3: F.AAA_3
1137
+ AAA_1: R.AAA_1,
1138
+ AAA_2: R.AAA_2,
1139
+ AAA_3: R.AAA_3
1127
1140
  },
1128
1141
  AA_2: {
1129
- AAA_1: F.AAA_1,
1130
- AAA_2: F.AAA_2,
1131
- AAA_3: F.AAA_3
1142
+ AAA_1: R.AAA_1,
1143
+ AAA_2: R.AAA_2,
1144
+ AAA_3: R.AAA_3
1132
1145
  },
1133
1146
  AA_3: {
1134
- AAA_1: F.AAA_1,
1135
- AAA_2: F.AAA_2,
1136
- AAA_3: F.AAA_3
1147
+ AAA_1: R.AAA_1,
1148
+ AAA_2: R.AAA_2,
1149
+ AAA_3: R.AAA_3
1137
1150
  },
1138
1151
  B: {
1139
- BB_1: F.BB_1,
1140
- BB_2: F.BB_2,
1141
- BB_3: F.BB_3
1152
+ BB_1: R.BB_1,
1153
+ BB_2: R.BB_2,
1154
+ BB_3: R.BB_3
1142
1155
  },
1143
1156
  BBB_1: {
1144
- BBBB_1: F.BBBB_1,
1145
- BBBB_2: F.BBBB_2,
1146
- BBBB_3: F.BBBB_3
1157
+ BBBB_1: R.BBBB_1,
1158
+ BBBB_2: R.BBBB_2,
1159
+ BBBB_3: R.BBBB_3
1147
1160
  },
1148
1161
  BBB_2: {
1149
- BBBB_1: F.BBBB_1,
1150
- BBBB_2: F.BBBB_2,
1151
- BBBB_3: F.BBBB_3
1162
+ BBBB_1: R.BBBB_1,
1163
+ BBBB_2: R.BBBB_2,
1164
+ BBBB_3: R.BBBB_3
1152
1165
  },
1153
1166
  BBB_3: {
1154
- BBBB_1: F.BBBB_1,
1155
- BBBB_2: F.BBBB_2,
1156
- BBBB_3: F.BBBB_3
1167
+ BBBB_1: R.BBBB_1,
1168
+ BBBB_2: R.BBBB_2,
1169
+ BBBB_3: R.BBBB_3
1157
1170
  },
1158
1171
  BB_1: {
1159
- BBB_1: F.BBB_1,
1160
- BBB_2: F.BBB_2,
1161
- BBB_3: F.BBB_3
1172
+ BBB_1: R.BBB_1,
1173
+ BBB_2: R.BBB_2,
1174
+ BBB_3: R.BBB_3
1162
1175
  },
1163
1176
  BB_2: {
1164
- BBB_1: F.BBB_1,
1165
- BBB_2: F.BBB_2,
1166
- BBB_3: F.BBB_3
1177
+ BBB_1: R.BBB_1,
1178
+ BBB_2: R.BBB_2,
1179
+ BBB_3: R.BBB_3
1167
1180
  },
1168
1181
  BB_3: {
1169
- BBB_1: F.BBB_1,
1170
- BBB_2: F.BBB_2,
1171
- BBB_3: F.BBB_3
1182
+ BBB_1: R.BBB_1,
1183
+ BBB_2: R.BBB_2,
1184
+ BBB_3: R.BBB_3
1172
1185
  },
1173
1186
  C: {
1174
- CC_1: F.CC_1,
1175
- CC_2: F.CC_2,
1176
- CC_3: F.CC_3
1187
+ CC_1: R.CC_1,
1188
+ CC_2: R.CC_2,
1189
+ CC_3: R.CC_3
1177
1190
  },
1178
1191
  CCC_1: {
1179
- CCCC_1: F.CCCC_1,
1180
- CCCC_2: F.CCCC_2,
1181
- CCCC_3: F.CCCC_3
1192
+ CCCC_1: R.CCCC_1,
1193
+ CCCC_2: R.CCCC_2,
1194
+ CCCC_3: R.CCCC_3
1182
1195
  },
1183
1196
  CCC_2: {
1184
- CCCC_1: F.CCCC_1,
1185
- CCCC_2: F.CCCC_2,
1186
- CCCC_3: F.CCCC_3
1197
+ CCCC_1: R.CCCC_1,
1198
+ CCCC_2: R.CCCC_2,
1199
+ CCCC_3: R.CCCC_3
1187
1200
  },
1188
1201
  CCC_3: {
1189
- CCCC_1: F.CCCC_1,
1190
- CCCC_2: F.CCCC_2,
1191
- CCCC_3: F.CCCC_3
1202
+ CCCC_1: R.CCCC_1,
1203
+ CCCC_2: R.CCCC_2,
1204
+ CCCC_3: R.CCCC_3
1192
1205
  },
1193
1206
  CC_1: {
1194
- CCC_1: F.CCC_1,
1195
- CCC_2: F.CCC_2,
1196
- CCC_3: F.CCC_3
1207
+ CCC_1: R.CCC_1,
1208
+ CCC_2: R.CCC_2,
1209
+ CCC_3: R.CCC_3
1197
1210
  },
1198
1211
  CC_2: {
1199
- CCC_1: F.CCC_1,
1200
- CCC_2: F.CCC_2,
1201
- CCC_3: F.CCC_3
1212
+ CCC_1: R.CCC_1,
1213
+ CCC_2: R.CCC_2,
1214
+ CCC_3: R.CCC_3
1202
1215
  },
1203
1216
  CC_3: {
1204
- CCC_1: F.CCC_1,
1205
- CCC_2: F.CCC_2,
1206
- CCC_3: F.CCC_3
1217
+ CCC_1: R.CCC_1,
1218
+ CCC_2: R.CCC_2,
1219
+ CCC_3: R.CCC_3
1207
1220
  },
1208
1221
  D: {
1209
- DD_1: F.DD_1,
1210
- DD_2: F.DD_2,
1211
- DD_3: F.DD_3
1222
+ DD_1: R.DD_1,
1223
+ DD_2: R.DD_2,
1224
+ DD_3: R.DD_3
1212
1225
  },
1213
- DD_1: { DDD_1: F.DDD_1 },
1226
+ DD_1: { DDD_1: R.DDD_1 },
1214
1227
  DD_2: {
1215
- DDD_2: F.DDD_2,
1216
- DDD_3: F.DDD_3
1228
+ DDD_2: R.DDD_2,
1229
+ DDD_3: R.DDD_3
1217
1230
  },
1218
1231
  Root: {
1219
- A: F.A,
1220
- B: F.B,
1221
- C: F.C,
1222
- D: F.D
1232
+ A: R.A,
1233
+ B: R.B,
1234
+ C: R.C,
1235
+ D: R.D
1223
1236
  }
1224
1237
  }
1225
- }, L = {
1238
+ }, B = {
1226
1239
  A: {
1227
1240
  tag: "A",
1228
1241
  namespace: {
@@ -3415,7 +3428,7 @@ var T = {
3415
3428
  }]]
3416
3429
  }]
3417
3430
  }
3418
- }, R = {
3431
+ }, V = {
3419
3432
  "{http://dialecte.dev/XML/DEFAULT}tCode": {
3420
3433
  attributes: {
3421
3434
  sequence: [],
@@ -3794,7 +3807,7 @@ var T = {
3794
3807
  details: {}
3795
3808
  }
3796
3809
  }
3797
- }, z = { supportedFileExtensions: [".xml"] }, B = {
3810
+ }, H = { supportedFileExtensions: [".xml"] }, U = {
3798
3811
  recordSchema: {
3799
3812
  primaryKey: "id",
3800
3813
  indexes: [
@@ -3809,25 +3822,25 @@ var T = {
3809
3822
  name: "xmlElements",
3810
3823
  schema: "id, tagName, [id+tagName], parent.id, parent.tagName, *children.id, *children.tagName"
3811
3824
  } }
3812
- }, V = {
3813
- rootElementName: N,
3814
- singletonElements: P,
3815
- elements: k,
3816
- namespaces: T,
3817
- attributes: I,
3818
- children: A,
3819
- parents: j,
3820
- descendants: ee,
3821
- ancestors: M,
3822
- database: B,
3823
- io: z,
3824
- definition: L,
3825
- types: R
3825
+ }, W = {
3826
+ rootElementName: I,
3827
+ singletonElements: L,
3828
+ elements: ee,
3829
+ namespaces: A,
3830
+ attributes: z,
3831
+ children: te,
3832
+ parents: ne,
3833
+ descendants: P,
3834
+ ancestors: F,
3835
+ database: U,
3836
+ io: H,
3837
+ definition: B,
3838
+ types: V
3826
3839
  };
3827
3840
  //#endregion
3828
3841
  //#region src/test/create-test-dialecte.ts
3829
- async function H(e) {
3830
- let { sourceXml: t, targetXml: n, dialecteConfig: r = V, extensions: i, hooks: o, dev: s } = e, c = `test-${crypto.randomUUID()}`, l = await new a({
3842
+ async function G(e) {
3843
+ let { sourceXml: t, targetXml: n, dialecteConfig: r = W, extensions: i, hooks: o, dev: s } = e, c = `test-${crypto.randomUUID()}`, l = await new a({
3831
3844
  configs: { default: r },
3832
3845
  defaultConfigKey: "default",
3833
3846
  storage: { type: "local" },
@@ -3851,7 +3864,7 @@ async function H(e) {
3851
3864
  target: f
3852
3865
  };
3853
3866
  }
3854
- async function U(t) {
3867
+ async function K(t) {
3855
3868
  let { databaseName: n, dialecteConfig: a, documentId: s } = t, c = new o(n, { recordSchema: a.database.recordSchema });
3856
3869
  return await c.open(), {
3857
3870
  dialecteConfig: a,
@@ -3871,10 +3884,10 @@ async function U(t) {
3871
3884
  }
3872
3885
  //#endregion
3873
3886
  //#region src/test/normalize-uuids.ts
3874
- var W = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi;
3875
- function G(e) {
3887
+ var q = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi;
3888
+ function J(e) {
3876
3889
  let t = /* @__PURE__ */ new Map();
3877
- return e.replace(W, (e) => {
3890
+ return e.replace(q, (e) => {
3878
3891
  let n = t.get(e);
3879
3892
  if (n) return n;
3880
3893
  let r = `uuid-${t.size + 1}`;
@@ -3883,18 +3896,18 @@ function G(e) {
3883
3896
  }
3884
3897
  //#endregion
3885
3898
  //#region src/test/run-test-cases.ts
3886
- var K = crypto.randomUUID.bind(crypto);
3887
- function q() {
3899
+ var Y = crypto.randomUUID.bind(crypto);
3900
+ function X() {
3888
3901
  let e = 0;
3889
3902
  return function() {
3890
3903
  return `${e++}`;
3891
3904
  };
3892
3905
  }
3893
- function J(e) {
3894
- let { testCases: t, act: n, extensions: r, hooks: i, dialecteConfig: a = V } = e, { assertExpectedElementQueries: o, assertUnexpectedElementQueries: s } = v({ namespaces: a.namespaces });
3895
- for (let [e, c] of Object.entries(t)) (c.only ? p.only : p)(e, async () => {
3896
- crypto.randomUUID = K;
3897
- let { project: e, source: t, target: l } = await H({
3906
+ function Z(e) {
3907
+ let { testCases: t, act: n, extensions: r, hooks: i, dialecteConfig: a = W } = e, { assertExpectedElementQueries: o, assertUnexpectedElementQueries: s } = C({ namespaces: a.namespaces });
3908
+ for (let [e, c] of Object.entries(t)) (c.only ? _.only : _)(e, async () => {
3909
+ crypto.randomUUID = Y;
3910
+ let { project: e, source: t, target: l } = await G({
3898
3911
  sourceXml: c.sourceXml,
3899
3912
  targetXml: c.targetXml,
3900
3913
  dialecteConfig: a,
@@ -3902,7 +3915,7 @@ function J(e) {
3902
3915
  hooks: i
3903
3916
  });
3904
3917
  try {
3905
- crypto.randomUUID = q();
3918
+ crypto.randomUUID = X();
3906
3919
  let r = await n({
3907
3920
  testCase: c,
3908
3921
  project: e,
@@ -3923,15 +3936,15 @@ function J(e) {
3923
3936
  queries: c.unexpectedQueries
3924
3937
  });
3925
3938
  } finally {
3926
- crypto.randomUUID = K, await e.destroy();
3939
+ crypto.randomUUID = Y, await e.destroy();
3927
3940
  }
3928
3941
  });
3929
3942
  }
3930
- function Y(e) {
3931
- let { testCases: t, act: n, extensions: r, hooks: i, dialecteConfig: a = V } = e;
3932
- for (let [e, o] of Object.entries(t)) (o.only ? p.only : p)(e, async () => {
3933
- crypto.randomUUID = K;
3934
- let { project: e, source: t, target: s } = await H({
3943
+ function re(e) {
3944
+ let { testCases: t, act: n, extensions: r, hooks: i, dialecteConfig: a = W } = e;
3945
+ for (let [e, o] of Object.entries(t)) (o.only ? _.only : _)(e, async () => {
3946
+ crypto.randomUUID = Y;
3947
+ let { project: e, source: t, target: s } = await G({
3935
3948
  sourceXml: o.sourceXml,
3936
3949
  targetXml: o.targetXml,
3937
3950
  dialecteConfig: a,
@@ -3939,56 +3952,56 @@ function Y(e) {
3939
3952
  hooks: i
3940
3953
  });
3941
3954
  try {
3942
- crypto.randomUUID = q(), await n({
3955
+ crypto.randomUUID = X(), await n({
3943
3956
  testCase: o,
3944
3957
  project: e,
3945
3958
  source: t.document,
3946
3959
  target: s?.document
3947
3960
  });
3948
3961
  } finally {
3949
- crypto.randomUUID = K, await e.destroy();
3962
+ crypto.randomUUID = Y, await e.destroy();
3950
3963
  }
3951
3964
  });
3952
3965
  }
3953
- function X(e, t) {
3954
- for (let [n, r] of Object.entries(e)) (r.only ? p.only : p)(n, () => t(r));
3966
+ function ie(e, t) {
3967
+ for (let [n, r] of Object.entries(e)) (r.only ? _.only : _)(n, () => t(r));
3955
3968
  }
3956
- var Z = Q({ dialecteConfig: V });
3969
+ var ae = Q({ dialecteConfig: W });
3957
3970
  function Q(e) {
3958
3971
  let { dialecteConfig: t, hooks: n, extensions: r } = e;
3959
3972
  return {
3960
- withExport: (e) => J({
3973
+ withExport: (e) => Z({
3961
3974
  dialecteConfig: t,
3962
3975
  extensions: r,
3963
3976
  hooks: n,
3964
3977
  ...e
3965
3978
  }),
3966
- withoutExport: (e) => Y({
3979
+ withoutExport: (e) => re({
3967
3980
  dialecteConfig: t,
3968
3981
  extensions: r,
3969
3982
  hooks: n,
3970
3983
  ...e
3971
3984
  }),
3972
- generic: X
3985
+ generic: ie
3973
3986
  };
3974
3987
  }
3975
3988
  //#endregion
3976
3989
  //#region src/test/test-record.ts
3977
3990
  function $(e) {
3978
3991
  function t(t) {
3979
- let { record: n, type: r = "raw" } = t, i = l({
3992
+ let { record: n, type: r = "raw" } = t, i = p({
3980
3993
  record: n,
3981
3994
  dialecteConfig: e
3982
3995
  });
3983
3996
  switch (r) {
3984
3997
  case "raw": return i;
3985
- case "tracked": return u({ record: i });
3986
- case "tree": return d({ record: i });
3998
+ case "tracked": return m({ record: i });
3999
+ case "tree": return h({ record: i });
3987
4000
  default: throw Error(`Unsupported record type: ${r}`);
3988
4001
  }
3989
4002
  }
3990
4003
  return t;
3991
4004
  }
3992
- var te = $(V);
4005
+ var oe = $(W);
3993
4006
  //#endregion
3994
- export { B as DATABASE_CONFIG, T as DIALECTE_TEST_NAMESPACES, z as IO_CONFIG, V as TEST_DIALECTE_CONFIG, E as XMLNS_DEFAULT_NAMESPACE, D as XMLNS_DEV_NAMESPACE, O as XMLNS_EXT_NAMESPACE, y as assertExpectedElementQueries, x as assertUnexpectedElementQueries, q as createMockRandomUUID, U as createTestContext, H as createTestProject, te as createTestRecord, $ as createTestRecordFactory, Q as createTestRunner, v as createXmlAssertions, m as createXmlSchemaAssertions, G as normalizeUuids, Z as runTestCases, h as splitXpathIntoSteps };
4007
+ export { U as DATABASE_CONFIG, A as DIALECTE_TEST_NAMESPACES, H as IO_CONFIG, W as TEST_DIALECTE_CONFIG, j as XMLNS_DEFAULT_NAMESPACE, M as XMLNS_DEV_NAMESPACE, N as XMLNS_EXT_NAMESPACE, w as assertExpectedElementQueries, E as assertUnexpectedElementQueries, X as createMockRandomUUID, K as createTestContext, G as createTestProject, oe as createTestRecord, $ as createTestRecordFactory, Q as createTestRunner, C as createXmlAssertions, y as createXmlSchemaAssertions, J as normalizeUuids, ae as runTestCases, b as splitXpathIntoSteps };