@dialecte/core 0.2.11 → 0.2.14

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 (53) hide show
  1. package/dist/document/bind-extensions.d.ts +2 -2
  2. package/dist/document/bind-extensions.d.ts.map +1 -1
  3. package/dist/document/index.d.ts +1 -0
  4. package/dist/document/index.d.ts.map +1 -1
  5. package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
  6. package/dist/document/types.extensions.d.ts +16 -8
  7. package/dist/document/types.extensions.d.ts.map +1 -1
  8. package/dist/errors/codes.d.ts +16 -0
  9. package/dist/errors/codes.d.ts.map +1 -1
  10. package/dist/helpers.js +1 -1
  11. package/dist/index-CTdGZJiM.js +7220 -0
  12. package/dist/index.js +52 -44
  13. package/dist/{index-DWV6tSGF.js → invariant-CqEgHr3M.js} +32 -16
  14. package/dist/{merge-extensions-dj7By9gG.js → merge-extensions-CcL-L2ca.js} +1 -1
  15. package/dist/project/index.d.ts +3 -2
  16. package/dist/project/index.d.ts.map +1 -1
  17. package/dist/project/io/export-blob.d.ts +7 -0
  18. package/dist/project/io/export-blob.d.ts.map +1 -0
  19. package/dist/project/io/index.d.ts +1 -0
  20. package/dist/project/io/index.d.ts.map +1 -1
  21. package/dist/project/project.d.ts +26 -2
  22. package/dist/project/project.d.ts.map +1 -1
  23. package/dist/project/types.d.ts +18 -1
  24. package/dist/project/types.d.ts.map +1 -1
  25. package/dist/store/in-memory/in-memory-store.d.ts +71 -0
  26. package/dist/store/in-memory/in-memory-store.d.ts.map +1 -0
  27. package/dist/store/in-memory/index.d.ts +3 -0
  28. package/dist/store/in-memory/index.d.ts.map +1 -0
  29. package/dist/store/in-memory/types.d.ts +5 -0
  30. package/dist/store/in-memory/types.d.ts.map +1 -0
  31. package/dist/store/index.d.ts +2 -1
  32. package/dist/store/index.d.ts.map +1 -1
  33. package/dist/store/local/dexie-store.d.ts +15 -1
  34. package/dist/store/local/dexie-store.d.ts.map +1 -1
  35. package/dist/store/resolve-store.d.ts +2 -1
  36. package/dist/store/resolve-store.d.ts.map +1 -1
  37. package/dist/store/store.constants.d.ts +10 -0
  38. package/dist/store/store.constants.d.ts.map +1 -1
  39. package/dist/store/store.types.d.ts +26 -1
  40. package/dist/store/store.types.d.ts.map +1 -1
  41. package/dist/test.js +2 -2
  42. package/dist/types/blob.d.ts +35 -0
  43. package/dist/types/blob.d.ts.map +1 -0
  44. package/dist/types/index.d.ts +1 -0
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/utils/index.d.ts +1 -0
  47. package/dist/utils/index.d.ts.map +1 -1
  48. package/dist/utils/save-to-disk.d.ts +17 -0
  49. package/dist/utils/save-to-disk.d.ts.map +1 -0
  50. package/dist/utils.js +21 -2
  51. package/dist/xml/build/download-file.d.ts.map +1 -1
  52. package/package.json +5 -4
  53. package/dist/index-BdP_eGXx.js +0 -6855
@@ -0,0 +1,35 @@
1
+ /**
2
+ * BlobRecord — registry entry for a binary attachment stored alongside XML documents.
3
+ *
4
+ * The binary data lives in a partitioned table `blob_{documentId}` (storage owner).
5
+ * `attachedTo` describes logical references from XML records; the array is independent
6
+ * of the storage owner and may include zero (standalone), one, or many references.
7
+ */
8
+ export type BlobAttachment = {
9
+ /** The XML document this blob is referenced from */
10
+ documentId: string;
11
+ /** Record id (e.g. element uuid) inside that document */
12
+ recordRef: string;
13
+ /** Optional attribute name on the record where the filename is referenced */
14
+ attribute?: string;
15
+ };
16
+ export type BlobRecord = {
17
+ /** Blob identifier (crypto.randomUUID()) */
18
+ id: string;
19
+ /** Storage owner: binary data lives in `blob_{documentId}` */
20
+ documentId: string;
21
+ /** Original filename (e.g. "diagram.pdf") */
22
+ name: string;
23
+ /** MIME type (e.g. "application/pdf") */
24
+ mimeType?: string;
25
+ /** Size in bytes, for UI display without loading data */
26
+ size?: number;
27
+ /** Creation timestamp (ms since epoch) */
28
+ createdAt: number;
29
+ /**
30
+ * Logical references from XML records.
31
+ * Empty array = standalone project blob (not linked to any XML record).
32
+ */
33
+ attachedTo: BlobAttachment[];
34
+ };
35
+ //# sourceMappingURL=blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../src/types/blob.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACxB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,UAAU,EAAE,cAAc,EAAE,CAAA;CAC5B,CAAA"}
@@ -3,4 +3,5 @@ export type * from './records';
3
3
  export type * from './operations';
4
4
  export type * from './io';
5
5
  export type * from './definition';
6
+ export type * from './blob';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,WAAW,CAAA;AAC9B,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,MAAM,CAAA;AACzB,mBAAmB,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,WAAW,CAAA;AAC9B,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,MAAM,CAAA;AACzB,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,QAAQ,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from './invariant';
2
+ export * from './save-to-disk';
2
3
  //# 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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Save a Blob to disk using the native File System Access API when available
3
+ * (Chrome / Edge) and falling back to a hidden anchor download (Safari /
4
+ * Firefox).
5
+ *
6
+ * Browser-only: relies on `window`, `document`, and `URL`.
7
+ */
8
+ export declare function saveToDisk(params: {
9
+ data: Blob;
10
+ filename: string;
11
+ /** Optional picker type descriptor for `showSaveFilePicker`. */
12
+ pickerType?: {
13
+ description: string;
14
+ accept: Record<string, string[]>;
15
+ };
16
+ }): Promise<void>;
17
+ //# sourceMappingURL=save-to-disk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-to-disk.d.ts","sourceRoot":"","sources":["../../src/utils/save-to-disk.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE;IACxC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,UAAU,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KAChC,CAAA;CACD,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BhB"}
package/dist/utils.js CHANGED
@@ -1,4 +1,23 @@
1
- import { i as r } from "./index-DWV6tSGF.js";
1
+ import { i as w } from "./invariant-CqEgHr3M.js";
2
+ async function s(c) {
3
+ const { data: r, filename: t, pickerType: o } = c;
4
+ if ("showSaveFilePicker" in window)
5
+ try {
6
+ const i = await (await window.showSaveFilePicker({
7
+ suggestedName: t,
8
+ ...o ? { types: [o] } : {}
9
+ })).createWritable();
10
+ await i.write(r), await i.close();
11
+ return;
12
+ } catch (a) {
13
+ if (a.name === "AbortError") return;
14
+ console.error("Save failed:", a);
15
+ return;
16
+ }
17
+ const n = URL.createObjectURL(r), e = document.createElement("a");
18
+ e.href = n, e.download = t, document.body.appendChild(e), e.click(), e.remove(), URL.revokeObjectURL(n);
19
+ }
2
20
  export {
3
- r as invariant
21
+ w as invariant,
22
+ s as saveToDisk
4
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"download-file.d.ts","sourceRoot":"","sources":["../../../src/xml/build/download-file.ts"],"names":[],"mappings":"AAEA,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,iBA4CA"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialecte/core",
3
- "version": "0.2.11",
3
+ "version": "0.2.14",
4
4
  "description": "Dialecte - Core functionality for Dialecte SDK",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -59,7 +59,8 @@
59
59
  "@tsconfig/node22": "^22.0.2",
60
60
  "@types/node": "^22.15.32",
61
61
  "@types/sax": "^1.2.7",
62
- "@vitest/browser": "^3.2.4",
62
+ "@vitest/browser": "^4.1.8",
63
+ "@vitest/browser-playwright": "^4.1.8",
63
64
  "@xmldom/xmldom": "^0.8.11",
64
65
  "husky": "^9.1.7",
65
66
  "jiti": "^2.4.2",
@@ -67,14 +68,14 @@
67
68
  "oxfmt": "^0.38.0",
68
69
  "oxlint": "^1.60.0",
69
70
  "oxlint-tsgolint": "^0.21.1",
70
- "playwright": "^1.53.2",
71
+ "playwright": "^1.60.0",
71
72
  "tsx": "^4.21.0",
72
73
  "typescript": "^5.9.3",
73
74
  "vite": "^7.3.1",
74
75
  "vite-plugin-dts": "^4.5.4",
75
76
  "vitepress": "^2.0.0-alpha.16",
76
77
  "vitepress-plugin-llms": "^1.11.1",
77
- "vitest": "^3.2.4",
78
+ "vitest": "^4.1.8",
78
79
  "vitest-browser-vue": "^1.0.0"
79
80
  }
80
81
  }