@dialecte/core 0.2.19 → 0.2.21

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 (63) hide show
  1. package/dist/document/document.d.ts +1 -1
  2. package/dist/document/document.d.ts.map +1 -1
  3. package/dist/document/query/any/any-query.d.ts +13 -2
  4. package/dist/document/query/any/any-query.d.ts.map +1 -1
  5. package/dist/document/query/find/descendant/find-descendant.types.d.ts +1 -1
  6. package/dist/document/query/find/descendant/find-descendant.types.d.ts.map +1 -1
  7. package/dist/document/query/get/record/index.d.ts +1 -0
  8. package/dist/document/query/get/record/index.d.ts.map +1 -1
  9. package/dist/document/query/get/record/staged-lookup.d.ts +35 -1
  10. package/dist/document/query/get/record/staged-lookup.d.ts.map +1 -1
  11. package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
  12. package/dist/document/query/get/tree/get-tree.types.d.ts +1 -14
  13. package/dist/document/query/get/tree/get-tree.types.d.ts.map +1 -1
  14. package/dist/document/query/get/tree/index.d.ts +1 -1
  15. package/dist/document/query/get/tree/index.d.ts.map +1 -1
  16. package/dist/document/query/index.d.ts +2 -0
  17. package/dist/document/query/index.d.ts.map +1 -1
  18. package/dist/document/query/main.d.ts +24 -1
  19. package/dist/document/query/main.d.ts.map +1 -1
  20. package/dist/document/query/snapshot/collect-snapshot.d.ts +23 -0
  21. package/dist/document/query/snapshot/collect-snapshot.d.ts.map +1 -0
  22. package/dist/document/query/snapshot/get-snapshot.d.ts +21 -0
  23. package/dist/document/query/snapshot/get-snapshot.d.ts.map +1 -0
  24. package/dist/document/query/snapshot/index.d.ts +5 -0
  25. package/dist/document/query/snapshot/index.d.ts.map +1 -0
  26. package/dist/document/query/snapshot/records-to-tree.d.ts +14 -0
  27. package/dist/document/query/snapshot/records-to-tree.d.ts.map +1 -0
  28. package/dist/document/query/snapshot/snapshot.types.d.ts +52 -0
  29. package/dist/document/query/snapshot/snapshot.types.d.ts.map +1 -0
  30. package/dist/document/query/tree-filter/index.d.ts +6 -0
  31. package/dist/document/query/tree-filter/index.d.ts.map +1 -0
  32. package/dist/document/query/tree-filter/omit.d.ts +53 -0
  33. package/dist/document/query/tree-filter/omit.d.ts.map +1 -0
  34. package/dist/document/query/tree-filter/order.d.ts +14 -0
  35. package/dist/document/query/tree-filter/order.d.ts.map +1 -0
  36. package/dist/document/query/tree-filter/types.d.ts +17 -0
  37. package/dist/document/query/tree-filter/types.d.ts.map +1 -0
  38. package/dist/document/query/tree-filter/unwrap.d.ts +13 -0
  39. package/dist/document/query/tree-filter/unwrap.d.ts.map +1 -0
  40. package/dist/document/types.d.ts +16 -1
  41. package/dist/document/types.d.ts.map +1 -1
  42. package/dist/helpers.js +1 -1
  43. package/dist/index.js +3 -3
  44. package/dist/{project-B6LoveZA.js → project-layfjgYc.js} +6784 -6523
  45. package/dist/test/run-test-cases.d.ts.map +1 -1
  46. package/dist/test/run-test-cases.type.d.ts +8 -0
  47. package/dist/test/run-test-cases.type.d.ts.map +1 -1
  48. package/dist/test.js +15 -11
  49. package/dist/utils/index.d.ts +1 -0
  50. package/dist/utils/index.d.ts.map +1 -1
  51. package/dist/utils/order-children.d.ts +19 -0
  52. package/dist/utils/order-children.d.ts.map +1 -0
  53. package/dist/{utils-CmyVTqDb.js → utils-XD-swXWn.js} +21 -2
  54. package/dist/utils.js +2 -2
  55. package/dist/xml/build/build-xml-document.d.ts.map +1 -1
  56. package/dist/xml/build/build-xml-document.types.d.ts +7 -0
  57. package/dist/xml/build/build-xml-document.types.d.ts.map +1 -1
  58. package/dist/xml/build/download-file.d.ts.map +1 -1
  59. package/dist/xml/build/index.d.ts +1 -0
  60. package/dist/xml/build/index.d.ts.map +1 -1
  61. package/dist/xml/build/serialize.d.ts +9 -0
  62. package/dist/xml/build/serialize.d.ts.map +1 -0
  63. package/package.json +11 -4
@@ -1 +1 @@
1
- {"version":3,"file":"run-test-cases.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-test-cases.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,14 @@ export type ActParams<GenericConfig extends AnyDialecteConfig, GenericTestCase e
20
20
  export type ActResult = {
21
21
  assertOn?: 'source' | 'target';
22
22
  withDatabaseIds?: boolean;
23
+ } | {
24
+ assertOn: 'custom';
25
+ /**
26
+ * XML produced inside the act (e.g. `getSnapshot({ as: 'xml' })`) to assert
27
+ * `expectedQueries`/`unexpectedQueries` against, instead of exporting the
28
+ * stored document.
29
+ */
30
+ xmlString: string;
23
31
  };
24
32
  export type TestRunner<GenericConfig extends AnyDialecteConfig, GenericModules extends ExtensionModules = Record<never, never>> = {
25
33
  withExport<GenericTestCase extends BaseXmlTestCase>(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"run-test-cases.type.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,eAAe,SAAS,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEhG,MAAM,MAAM,SAAS,CACpB,aAAa,SAAS,iBAAiB,EACvC,eAAe,SAAS,eAAe,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAC3D;IACH,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAA;IACjE,MAAM,CAAC,EAAE,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAA;CAClE,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,UAAU,CACrB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAC3D;IACH,UAAU,CAAC,eAAe,SAAS,eAAe,EAAE,MAAM,EAAE;QAC3D,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,EAAE,CACJ,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,KAC7D,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;QAC9B,cAAc,CAAC,EAAE,aAAa,CAAA;QAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,eAAe,SAAS,eAAe,EAAE,MAAM,EAAE;QAC9D,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzF,cAAc,CAAC,EAAE,aAAa,CAAA;QAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC,GAAG,IAAI,CAAA;IACR,OAAO,CAAC,eAAe,SAAS,YAAY,EAC3C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1C,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GACtC,IAAI,CAAA;CACP,CAAA"}
1
+ {"version":3,"file":"run-test-cases.type.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,eAAe,SAAS,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEhG,MAAM,MAAM,SAAS,CACpB,aAAa,SAAS,iBAAiB,EACvC,eAAe,SAAS,eAAe,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAC3D;IACH,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAA;IACjE,MAAM,CAAC,EAAE,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAA;CAClE,CAAA;AAED,MAAM,MAAM,SAAS,GAClB;IACA,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;CACxB,GACD;IACA,QAAQ,EAAE,QAAQ,CAAA;IAClB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;CAChB,CAAA;AAEJ,MAAM,MAAM,UAAU,CACrB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAC3D;IACH,UAAU,CAAC,eAAe,SAAS,eAAe,EAAE,MAAM,EAAE;QAC3D,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,EAAE,CACJ,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,KAC7D,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;QAC9B,cAAc,CAAC,EAAE,aAAa,CAAA;QAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,eAAe,SAAS,eAAe,EAAE,MAAM,EAAE;QAC9D,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzF,cAAc,CAAC,EAAE,aAAa,CAAA;QAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC,GAAG,IAAI,CAAA;IACR,OAAO,CAAC,eAAe,SAAS,YAAY,EAC3C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1C,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GACtC,IAAI,CAAA;CACP,CAAA"}
package/dist/test.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as e, h as t, t as n, v as r } from "./project-B6LoveZA.js";
1
+ import { dt as e, t, u as n, z as r } from "./project-layfjgYc.js";
2
2
  import { DIALECTE_NAMESPACES as i, standardizeRecord as a, toTrackedRecord as o, toTreeRecord as s } from "./helpers.js";
3
3
  import { expect as c, it as l } from "vitest";
4
4
  //#region src/test/assert-xml/xpath-parser.ts
@@ -50,7 +50,7 @@ function d(e) {
50
50
  }
51
51
  //#endregion
52
52
  //#region src/test/assert-xml/assert-xml.ts
53
- var f = /* @__PURE__ */ e(t(), 1);
53
+ var f = /* @__PURE__ */ e(r(), 1);
54
54
  function p(e) {
55
55
  let { namespaces: t } = e, n = h(t);
56
56
  return {
@@ -2726,13 +2726,13 @@ var b = {
2726
2726
  //#endregion
2727
2727
  //#region src/test/create-test-dialecte.ts
2728
2728
  async function I(e) {
2729
- let { sourceXml: t, targetXml: r, dialecteConfig: i = F, extensions: a, hooks: o } = e, s = `test-${crypto.randomUUID()}`, c = await new n({
2729
+ let { sourceXml: n, targetXml: r, dialecteConfig: i = F, extensions: a, hooks: o } = e, s = `test-${crypto.randomUUID()}`, c = await new t({
2730
2730
  configs: { default: i },
2731
2731
  defaultConfigKey: "default",
2732
2732
  storage: { type: "local" },
2733
2733
  extensions: a,
2734
2734
  hooks: o
2735
- }).open(s), [l] = await c.import([new File([t], "source.xml", { type: "text/xml" })], { useCustomRecordsIds: !0 }), u = {
2735
+ }).open(s), [l] = await c.import([new File([n], "source.xml", { type: "text/xml" })], { useCustomRecordsIds: !0 }), u = {
2736
2736
  documentId: l.documentId,
2737
2737
  document: c.openDocument(l.documentId)
2738
2738
  }, d;
@@ -2750,9 +2750,9 @@ async function I(e) {
2750
2750
  };
2751
2751
  }
2752
2752
  async function L(e) {
2753
- let { databaseName: t, dialecteConfig: n, documentId: i } = e, a = new r(t, { recordSchema: n.database.recordSchema });
2753
+ let { databaseName: t, dialecteConfig: r, documentId: i } = e, a = new n(t, { recordSchema: r.database.recordSchema });
2754
2754
  return await a.open(), {
2755
- dialecteConfig: n,
2755
+ dialecteConfig: r,
2756
2756
  store: a,
2757
2757
  documentId: i,
2758
2758
  recordCache: /* @__PURE__ */ new Map(),
@@ -2786,14 +2786,18 @@ function B(e) {
2786
2786
  project: e,
2787
2787
  source: t.document,
2788
2788
  target: l?.document
2789
- }), i = r?.assertOn ?? "source", a = r?.withDatabaseIds ?? !0, u = i === "target" ? l?.documentId : t.documentId;
2790
- if (!u) throw Error("documentId required for export");
2791
- let { xmlDocument: d } = await e.export(u, { withDatabaseIds: a });
2789
+ }), i;
2790
+ if (r && r.assertOn === "custom") i = new DOMParser().parseFromString(r.xmlString, "application/xml");
2791
+ else {
2792
+ let n = r?.assertOn ?? "source", a = r?.withDatabaseIds ?? !0, o = n === "target" ? l?.documentId : t.documentId;
2793
+ if (!o) throw Error("documentId required for export");
2794
+ ({xmlDocument: i} = await e.export(o, { withDatabaseIds: a }));
2795
+ }
2792
2796
  c.expectedQueries?.length && o({
2793
- xmlDocument: d,
2797
+ xmlDocument: i,
2794
2798
  queries: c.expectedQueries
2795
2799
  }), c.unexpectedQueries?.length && s({
2796
- xmlDocument: d,
2800
+ xmlDocument: i,
2797
2801
  queries: c.unexpectedQueries
2798
2802
  });
2799
2803
  } finally {
@@ -1,3 +1,4 @@
1
1
  export * from './invariant';
2
+ export * from './order-children';
2
3
  export * from './save-to-disk';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Order a parent's child nodes by the config-declared child sequence.
3
+ *
4
+ * Generic over node type (anything with a `tagName`) so the same logic serves
5
+ * both record-level XML building and TreeRecord post-processing — a single
6
+ * source of truth for "config order". Children whose tagName is not in the
7
+ * sequence are appended last, preserving their relative order. When the parent
8
+ * has no declared sequence, the input order is returned unchanged.
9
+ *
10
+ * Pure function — no side effects.
11
+ */
12
+ export declare function orderByConfigSequence<GenericNode extends {
13
+ tagName: string;
14
+ }>(params: {
15
+ parentTagName: string;
16
+ children: GenericNode[];
17
+ childrenConfig: Record<string, readonly string[]>;
18
+ }): GenericNode[];
19
+ //# sourceMappingURL=order-children.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-children.d.ts","sourceRoot":"","sources":["../../src/utils/order-children.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE;IACtF,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;CACjD,GAAG,WAAW,EAAE,CAwBhB"}
@@ -159,8 +159,27 @@ function r(e, n) {
159
159
  });
160
160
  }
161
161
  //#endregion
162
+ //#region src/utils/order-children.ts
163
+ function i(e) {
164
+ let { parentTagName: t, children: n, childrenConfig: r } = e, i = r[t];
165
+ if (!i || i.length === 0) return n;
166
+ let a = new Set(i), o = /* @__PURE__ */ new Map();
167
+ for (let e of a) o.set(e, []);
168
+ let s = [];
169
+ for (let e of n) {
170
+ let t = o.get(e.tagName);
171
+ t ? t.push(e) : s.push(e);
172
+ }
173
+ let c = [];
174
+ for (let e of a) {
175
+ let t = o.get(e);
176
+ t && t.length && c.push(...t);
177
+ }
178
+ return c.push(...s), c;
179
+ }
180
+ //#endregion
162
181
  //#region src/utils/save-to-disk.ts
163
- async function i(e) {
182
+ async function a(e) {
164
183
  let { data: t, filename: n, pickerType: r } = e;
165
184
  if ("showSaveFilePicker" in window) try {
166
185
  let e = await (await window.showSaveFilePicker({
@@ -178,4 +197,4 @@ async function i(e) {
178
197
  a.href = i, a.download = n, document.body.appendChild(a), a.click(), a.remove(), URL.revokeObjectURL(i);
179
198
  }
180
199
  //#endregion
181
- export { e as i, r as n, t as r, i as t };
200
+ export { e as a, t as i, i as n, r, a as t };
package/dist/utils.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./utils-CmyVTqDb.js";
2
- export { e as invariant, t as saveToDisk };
1
+ import { n as e, r as t, t as n } from "./utils-XD-swXWn.js";
2
+ export { t as invariant, e as orderByConfigSequence, n as saveToDisk };
@@ -1 +1 @@
1
- {"version":3,"file":"build-xml-document.d.ts","sourceRoot":"","sources":["../../../src/xml/build/build-xml-document.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAWxE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAuD5E"}
1
+ {"version":3,"file":"build-xml-document.d.ts","sourceRoot":"","sources":["../../../src/xml/build/build-xml-document.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAWxE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAmE5E"}
@@ -3,5 +3,12 @@ export type BuildXmlDocumentParams = {
3
3
  records: AnyRawRecord[];
4
4
  config: AnyDialecteConfig;
5
5
  withDatabaseIds?: boolean;
6
+ /**
7
+ * Build a fragment rooted at this record id instead of the document root
8
+ * (`config.rootElementName`). When the resolved record is not the document
9
+ * root, root-only attribute enforcement is skipped so a scoped fragment
10
+ * (e.g. a lone `LN`) is not stamped with document-root attributes.
11
+ */
12
+ rootId?: string;
6
13
  };
7
14
  //# sourceMappingURL=build-xml-document.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-xml-document.types.d.ts","sourceRoot":"","sources":["../../../src/xml/build/build-xml-document.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"build-xml-document.types.d.ts","sourceRoot":"","sources":["../../../src/xml/build/build-xml-document.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"download-file.d.ts","sourceRoot":"","sources":["../../../src/xml/build/download-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,wBAAsB,YAAY,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACnF,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;IACjE,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CAChB,iBAoBA"}
1
+ {"version":3,"file":"download-file.d.ts","sourceRoot":"","sources":["../../../src/xml/build/download-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,wBAAsB,YAAY,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACnF,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;IACjE,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CAChB,iBAeA"}
@@ -1,6 +1,7 @@
1
1
  export * from './formatter';
2
2
  export * from './constant';
3
3
  export { downloadFile } from './download-file';
4
+ export { xmlDocumentToString } from './serialize';
4
5
  export { buildXmlDocument } from './build-xml-document';
5
6
  export type { BuildXmlDocumentParams } from './build-xml-document.types';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/xml/build/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/xml/build/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Serialize an XMLDocument to a formatted XML string.
3
+ *
4
+ * Adds the XML declaration and runs the deterministic formatter.
5
+ * Shared by file download and transaction snapshots so both produce
6
+ * byte-identical output for the same document.
7
+ */
8
+ export declare function xmlDocumentToString(xmlDocument: XMLDocument): string;
9
+ //# sourceMappingURL=serialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/xml/build/serialize.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAMpE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialecte/core",
3
- "version": "0.2.19",
3
+ "version": "0.2.21",
4
4
  "description": "Dialecte - Core functionality for Dialecte SDK",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -41,8 +41,14 @@
41
41
  "//====== TEST ======//": "",
42
42
  "test": "vitest",
43
43
  "//====== CHECK ======//": "",
44
- "check": "run-p type-check lint:check format:check",
45
- "type-check": "tsc --noEmit",
44
+ "check": "run-p type-check type-check:test lint:check format:check",
45
+ "type-check": "tsc -p tsconfig.build.json --noEmit --skipLibCheck",
46
+ "type-check:test": "tsc -p tsconfig.vitest.json --noEmit",
47
+ "//====== TYPE PERF ======//": "",
48
+ "coverage:gen": "dialecte coverage",
49
+ "type-bench": "npm run coverage:gen && dialecte bench",
50
+ "type-bench:check": "npm run coverage:gen && dialecte bench --check",
51
+ "type-narrowing": "npm run coverage:gen && dialecte narrowing",
46
52
  "lint:check": "oxlint",
47
53
  "lint:fix": "oxlint . --fix -D correctness --ignore-path .gitignore",
48
54
  "format:check": "oxfmt --check",
@@ -56,6 +62,7 @@
56
62
  "xml-formatter": "^3.6.7"
57
63
  },
58
64
  "devDependencies": {
65
+ "@dialecte/cli": "0.0.1",
59
66
  "@tsconfig/node24": "^24.0.4",
60
67
  "@types/node": "^24.12.4",
61
68
  "@types/sax": "^1.2.7",
@@ -73,7 +80,7 @@
73
80
  "vite": "^8.0.16",
74
81
  "vite-plugin-dts": "^5.0.2",
75
82
  "vitepress": "^2.0.0-alpha.17",
76
- "vitepress-plugin-llms": "^1.13.1",
83
+ "vitepress-plugin-llms": "^1.13.2",
77
84
  "vitest": "^4.1.8"
78
85
  }
79
86
  }