@dialecte/core 0.2.12 → 0.2.15

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 (51) 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 +12 -0
  9. package/dist/errors/codes.d.ts.map +1 -1
  10. package/dist/helpers.d.ts +1 -1
  11. package/dist/helpers.js +162 -30
  12. package/dist/index.js +3 -49
  13. package/dist/project/index.d.ts +3 -2
  14. package/dist/project/index.d.ts.map +1 -1
  15. package/dist/project/io/export-blob.d.ts +7 -0
  16. package/dist/project/io/export-blob.d.ts.map +1 -0
  17. package/dist/project/io/index.d.ts +1 -0
  18. package/dist/project/io/index.d.ts.map +1 -1
  19. package/dist/project/project.d.ts +26 -2
  20. package/dist/project/project.d.ts.map +1 -1
  21. package/dist/project/types.d.ts +15 -1
  22. package/dist/project/types.d.ts.map +1 -1
  23. package/dist/project-BOM3Ipbu.js +7744 -0
  24. package/dist/store/in-memory/in-memory-store.d.ts +18 -1
  25. package/dist/store/in-memory/in-memory-store.d.ts.map +1 -1
  26. package/dist/store/index.d.ts +1 -1
  27. package/dist/store/index.d.ts.map +1 -1
  28. package/dist/store/local/dexie-store.d.ts +15 -1
  29. package/dist/store/local/dexie-store.d.ts.map +1 -1
  30. package/dist/store/store.constants.d.ts +10 -0
  31. package/dist/store/store.constants.d.ts.map +1 -1
  32. package/dist/store/store.types.d.ts +26 -1
  33. package/dist/store/store.types.d.ts.map +1 -1
  34. package/dist/test.d.ts +1 -1
  35. package/dist/test.js +2849 -1705
  36. package/dist/types/blob.d.ts +35 -0
  37. package/dist/types/blob.d.ts.map +1 -0
  38. package/dist/types/index.d.ts +1 -0
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/utils/index.d.ts +1 -0
  41. package/dist/utils/index.d.ts.map +1 -1
  42. package/dist/utils/save-to-disk.d.ts +17 -0
  43. package/dist/utils/save-to-disk.d.ts.map +1 -0
  44. package/dist/utils-B_-lXlpE.js +177 -0
  45. package/dist/utils.d.ts +1 -1
  46. package/dist/utils.js +2 -4
  47. package/dist/xml/build/download-file.d.ts.map +1 -1
  48. package/package.json +15 -16
  49. package/dist/index-BgyMtFE-.js +0 -150
  50. package/dist/index-Bvh3Qxyf.js +0 -7015
  51. package/dist/merge-extensions-CU05iRtz.js +0 -172
@@ -1,4 +1,4 @@
1
- import { ExtensionMap, QueryExtensionFn, TransactionExtensionFn } from './types.extensions';
1
+ import { BoundExtensionMap, ExtensionMap, QueryExtensionFn, TransactionExtensionFn } from './types.extensions';
2
2
  /**
3
3
  * Binds an extension map to an instance (Query or Transaction).
4
4
  * Each function in the map gets `instance` prepended as its first argument,
@@ -6,5 +6,5 @@ import { ExtensionMap, QueryExtensionFn, TransactionExtensionFn } from './types.
6
6
  *
7
7
  * Returns a frozen object of { GroupName: { methodName: boundFn } }.
8
8
  */
9
- export declare function bindExtensions<GenericExtensionsMap extends ExtensionMap<QueryExtensionFn | TransactionExtensionFn>>(extensionMap: GenericExtensionsMap | undefined, instance: unknown): Record<string, Record<string, (...args: unknown[]) => unknown>>;
9
+ export declare function bindExtensions<GenericExtensionsMap extends ExtensionMap<QueryExtensionFn | TransactionExtensionFn>>(extensionMap: GenericExtensionsMap | undefined, instance: unknown): BoundExtensionMap<GenericExtensionsMap>;
10
10
  //# sourceMappingURL=bind-extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bind-extensions.d.ts","sourceRoot":"","sources":["../../src/document/bind-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAEhG;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC7B,oBAAoB,SAAS,YAAY,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,EAEpF,YAAY,EAAE,oBAAoB,GAAG,SAAS,EAC9C,QAAQ,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAgBjE"}
1
+ {"version":3,"file":"bind-extensions.d.ts","sourceRoot":"","sources":["../../src/document/bind-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,oBAAoB,CAAA;AAE3B;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC7B,oBAAoB,SAAS,YAAY,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,EAEpF,YAAY,EAAE,oBAAoB,GAAG,SAAS,EAC9C,QAAQ,EAAE,OAAO,GACf,iBAAiB,CAAC,oBAAoB,CAAC,CAgBzC"}
@@ -1,4 +1,5 @@
1
1
  export { Document } from './document';
2
+ export { bindExtensions } from './bind-extensions';
2
3
  export * from './query';
3
4
  export * from './transaction';
4
5
  export type { Context, CachedContext, PreparedTransaction, DocumentState, TransactionEntry, } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B,YAAY,EACX,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,SAAS,CAAA;AAEhB,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B,YAAY,EACX,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,SAAS,CAAA;AAEhB,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAA;AAIvF,wBAAsB,OAAO,CAC5B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACtD,cAAc,CAAC,EAAE,aAAa,CAAA;CAC9B,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,CA4BjE"}
1
+ {"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAA;AAIvF,wBAAsB,OAAO,CAC5B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACtD,cAAc,CAAC,EAAE,aAAa,CAAA;CAC9B,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,CAoCjE"}
@@ -1,15 +1,21 @@
1
- import { Query } from './query';
2
- import { Transaction } from './transaction';
3
1
  /**
4
2
  * A query extension: a function whose first argument is the Query instance.
5
3
  * The remaining arguments become the public signature after binding.
4
+ *
5
+ * The first arg defaults to `any` because of TypeScript parameter
6
+ * contravariance: extension authors typically write
7
+ * `(q: **.Query, ...) => ...` where `**.Query` is narrower than
8
+ * `Query<Config>`. A function requiring a narrower param cannot be
9
+ * assigned to one requiring a wider one, so the registration slot must
10
+ * stay wide. Authors annotate the concrete query type themselves; type
11
+ * safety at the call boundary is recovered via `BoundExtensionMap`.
6
12
  */
7
- export type QueryExtensionFn = (query: Query<any>, ...args: any[]) => any;
13
+ export type QueryExtensionFn<GenericQuery = any> = (query: GenericQuery, ...args: any[]) => any;
8
14
  /**
9
15
  * A transaction extension: a function whose first argument is the Transaction instance.
10
- * The remaining arguments become the public signature after binding.
16
+ * Same variance considerations as `QueryExtensionFn`.
11
17
  */
12
- export type TransactionExtensionFn = (tx: Transaction<any>, ...args: any[]) => any;
18
+ export type TransactionExtensionFn<GenericTransaction = any> = (tx: GenericTransaction, ...args: any[]) => any;
13
19
  /** A group of extension functions keyed by method name. */
14
20
  export type ExtensionGroup<Fn> = Record<string, Fn>;
15
21
  /** A map of PascalCase group names → extension groups. */
@@ -38,13 +44,15 @@ export type ExtensionsRegistry = {
38
44
  export type AssertNoCollision<Extensions extends Record<string, unknown>, Reserved extends string> = {
39
45
  [K in keyof Extensions]: K extends Reserved ? `Extension group "${K & string}" collides with a core method` : Extensions[K];
40
46
  };
47
+ /** Strips the first argument from a function signature. */
48
+ export type OmitFirstArg<GenericFn extends (...args: any[]) => any> = GenericFn extends (first: any, ...rest: infer Rest) => infer Return ? (...args: Rest) => Return : never;
41
49
  /**
42
50
  * Given a map of extension groups, produces the same structure
43
51
  * but with the first argument (query/tx) stripped from each function.
44
52
  */
45
- export type BoundExtensionMap<GenericExtensionMap extends ExtensionMap<QueryExtensionFn | TransactionExtensionFn>> = {
46
- [Group in keyof GenericExtensionMap]: {
47
- [Method in keyof GenericExtensionMap[Group]]: GenericExtensionMap[Group][Method] extends (first: any, ...rest: infer Rest) => infer InferredRest ? (...args: Rest) => InferredRest : never;
53
+ export type BoundExtensionMap<GenericExtensionsMap extends ExtensionMap<QueryExtensionFn | TransactionExtensionFn>> = {
54
+ [GroupName in keyof GenericExtensionsMap]: {
55
+ [MethodName in keyof GenericExtensionsMap[GroupName]]: OmitFirstArg<GenericExtensionsMap[GroupName][MethodName]>;
48
56
  };
49
57
  };
50
58
  export type QueryExtensions<Ext extends ExtensionsRegistry> = Ext extends {
@@ -1 +1 @@
1
- {"version":3,"file":"types.extensions.d.ts","sourceRoot":"","sources":["../../src/document/types.extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAEzE;;;GAGG;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAIlF,2DAA2D;AAC3D,MAAM,MAAM,cAAc,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEnD,0DAA0D;AAC1D,MAAM,MAAM,YAAY,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;AAIjE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAA;CACpD,CAAA;AAID;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;CACzE,CAAA;AAID;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,QAAQ,SAAS,MAAM,IACpB;KACF,CAAC,IAAI,MAAM,UAAU,GAAG,CAAC,SAAS,QAAQ,GACxC,oBAAoB,CAAC,GAAG,MAAM,+BAA+B,GAC7D,UAAU,CAAC,CAAC,CAAC;CAChB,CAAA;AAID;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,mBAAmB,SAAS,YAAY,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,IAChF;KACF,KAAK,IAAI,MAAM,mBAAmB,GAAG;SACpC,MAAM,IAAI,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CACxF,KAAK,EAAE,GAAG,EACV,GAAG,IAAI,EAAE,MAAM,IAAI,KACf,MAAM,YAAY,GACpB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,YAAY,GAC/B,KAAK;KACR;CACD,CAAA;AAID,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,kBAAkB,IAAI,GAAG,SAAS;IACzE,KAAK,EAAE,MAAM,CAAC,SAAS,YAAY,CAAC,gBAAgB,CAAC,CAAA;CACrD,GACE,iBAAiB,CAAC,CAAC,CAAC,GACpB,EAAE,CAAA;AAEL,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,kBAAkB,IAAI,eAAe,CAAC,GAAG,CAAC,GAC/E,CAAC,GAAG,SAAS;IAAE,WAAW,EAAE,MAAM,CAAC,SAAS,YAAY,CAAC,sBAAsB,CAAC,CAAA;CAAE,GAC/E,iBAAiB,CAAC,CAAC,CAAC,GACpB,EAAE,CAAC,CAAA;AAEP;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAE9D;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,gBAAgB,IAAI;IAChE,KAAK,EAAE;SACL,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAChF,CAAC,GACD,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,gBAAgB,CAAC,GACpE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GACnB,KAAK;KACR,CAAA;IACD,WAAW,EAAE;SACX,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,cAAc,CAAC,sBAAsB,CAAC,GAC5F,CAAC,GACD,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,cAAc,CAAC,sBAAsB,CAAC,GAChF,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GACzB,KAAK;KACR,CAAA;CACD,CAAA"}
1
+ {"version":3,"file":"types.extensions.d.ts","sourceRoot":"","sources":["../../src/document/types.extensions.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ export declare const ERROR_CATALOG: {
35
35
  readonly code: "D1007";
36
36
  readonly message: "Store is not writable";
37
37
  };
38
+ readonly STORE_BLOB_NOT_FOUND: {
39
+ readonly code: "D1008";
40
+ readonly message: "Blob not found";
41
+ };
38
42
  readonly ELEMENT_NOT_FOUND: {
39
43
  readonly code: "D2001";
40
44
  readonly message: "Element not found";
@@ -67,6 +71,10 @@ export declare const ERROR_CATALOG: {
67
71
  readonly code: "D3004";
68
72
  readonly message: "Required attribute is missing";
69
73
  };
74
+ readonly UNIQUE_CONSTRAINT_VIOLATION: {
75
+ readonly code: "D3005";
76
+ readonly message: "Value is already used within its scope";
77
+ };
70
78
  readonly ALREADY_COMMITTED: {
71
79
  readonly code: "D4001";
72
80
  readonly message: "Transaction already committed";
@@ -107,5 +115,9 @@ export declare const ERROR_CATALOG: {
107
115
  readonly code: "D7003";
108
116
  readonly message: "Project not opened";
109
117
  };
118
+ readonly BLOB_NOT_FOUND: {
119
+ readonly code: "D7004";
120
+ readonly message: "Blob not found in store";
121
+ };
110
122
  };
111
123
  //# sourceMappingURL=codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6HhB,CAAA"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyIhB,CAAA"}
package/dist/helpers.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './helpers/index'
1
+ export * from './helpers/index.js'
2
2
  export {}
package/dist/helpers.js CHANGED
@@ -1,30 +1,162 @@
1
- import { C as n, a as T, D as d, i as A, b as E, c, d as f, e as u, f as O, g as _, h as l, j as C, m as b, s as D, t as m, k as p, l as I, n as S, o as M } from "./merge-extensions-CU05iRtz.js";
2
- function i(t, s) {
3
- const r = new Set(s), a = { ...t, attributes: t.attributes.filter((e) => !r.has(e.name)) };
4
- return "tree" in t ? {
5
- ...a,
6
- tree: t.tree.map((e) => i(e, s))
7
- } : a;
8
- }
9
- export {
10
- n as CUSTOM_RECORD_ID_ATTRIBUTE,
11
- T as CUSTOM_RECORD_ID_ATTRIBUTE_NAME,
12
- d as DIALECTE_DEV_NAMESPACE,
13
- A as isAttributeOf,
14
- E as isChildOf,
15
- c as isElementOf,
16
- f as isFullAttributeArray,
17
- u as isParentOf,
18
- O as isRawRecord,
19
- _ as isRecordOf,
20
- l as isTrackedRecord,
21
- C as isTreeRecord,
22
- b as mergeExtensions,
23
- D as standardizeRecord,
24
- i as stripAttributes,
25
- m as toFullAttributeArray,
26
- p as toRawRecord,
27
- I as toRef,
28
- S as toTrackedRecord,
29
- M as toTreeRecord
30
- };
1
+ import { n as e } from "./utils-B_-lXlpE.js";
2
+ //#region src/helpers/constant.ts
3
+ var t = "db-id", n = {
4
+ uri: "http://dialecte.dev/XML/DEV",
5
+ prefix: "dev"
6
+ }, r = `${n.prefix}:${t}`, i = [
7
+ "id",
8
+ "tagName",
9
+ "namespace",
10
+ "attributes",
11
+ "children",
12
+ "parent",
13
+ "value"
14
+ ], a = [...i, "status"], o = [...a, "tree"];
15
+ function s(e, t) {
16
+ if (typeof e != "object" || !e) return !1;
17
+ let n = Object.keys(e);
18
+ return t.every((t) => t in e) && n.every((e) => t.includes(e)) && n.length === t.length;
19
+ }
20
+ function c(e) {
21
+ return Array.isArray(e);
22
+ }
23
+ function l(e) {
24
+ return s(e, i);
25
+ }
26
+ function u(e) {
27
+ return s(e, a);
28
+ }
29
+ function d(e) {
30
+ return s(e, o);
31
+ }
32
+ function f(e, t) {
33
+ return e.tagName === t;
34
+ }
35
+ function p(e, t) {
36
+ return e.tagName === t;
37
+ }
38
+ function m(e, t) {
39
+ return e.tagName === t;
40
+ }
41
+ function h(e, t) {
42
+ return t.elements.includes(e);
43
+ }
44
+ function g(e, t) {
45
+ return e.attributes.some((e) => e.name === t);
46
+ }
47
+ //#endregion
48
+ //#region src/helpers/converter.ts
49
+ function _(e) {
50
+ return {
51
+ id: e.id,
52
+ tagName: e.tagName,
53
+ namespace: e.namespace,
54
+ attributes: e.attributes,
55
+ value: e.value,
56
+ parent: e.parent,
57
+ children: e.children
58
+ };
59
+ }
60
+ function v(e) {
61
+ let { record: t, status: n } = e, r = n ?? ("status" in t ? t.status : "unchanged");
62
+ return {
63
+ ..._(t),
64
+ status: r
65
+ };
66
+ }
67
+ function y(e) {
68
+ let { record: t, status: n, tree: r } = e, i = r ?? ("tree" in t ? t.tree : []);
69
+ return {
70
+ ...v({
71
+ record: t,
72
+ status: n
73
+ }),
74
+ tree: i
75
+ };
76
+ }
77
+ function b(e) {
78
+ let { dialecteConfig: t, tagName: n, attributes: r } = e;
79
+ return c(r) ? r : Object.entries(r).map(([e, r]) => ({
80
+ name: e,
81
+ value: r,
82
+ namespace: t.definition[n]?.attributes.details[e]?.namespace || void 0
83
+ }));
84
+ }
85
+ function x(t) {
86
+ return e(t, { detail: "The record or ref is undefined" }), {
87
+ id: t.id,
88
+ tagName: t.tagName
89
+ };
90
+ }
91
+ //#endregion
92
+ //#region src/helpers/standardizing.ts
93
+ function S(e) {
94
+ let { dialecteConfig: t, hooks: n, record: r } = e, { id: i, tagName: a, attributes: o, namespace: s, value: c } = r, l = i ?? crypto.randomUUID(), u = o ? b({
95
+ tagName: a,
96
+ attributes: o,
97
+ dialecteConfig: t
98
+ }) : [], d = {
99
+ id: l,
100
+ tagName: a,
101
+ attributes: u,
102
+ namespace: s ?? {
103
+ prefix: "prefixNeededForNotSupportedNamespace",
104
+ uri: "uriNeededForNotSupportedNamespace"
105
+ },
106
+ value: c ?? "",
107
+ parent: r.parent ?? null,
108
+ children: r.children ?? []
109
+ };
110
+ if (!t.elements.includes(a)) return d;
111
+ let f = t.definition[a].attributes.sequence, p = t.definition[a].attributes.details, m = f.flatMap((e) => {
112
+ let t = p[e].required, n = p[e]?.namespace || void 0, r = u.find((t) => t.name === e)?.value ?? (t ? p[e]?.default ?? "" : p[e]?.default);
113
+ return r === void 0 ? [] : [{
114
+ name: e,
115
+ value: r,
116
+ namespace: n
117
+ }];
118
+ }), h = u.filter((e) => "namespace" in e && e.namespace != null && !f.includes(e.name)), g = {
119
+ ...d,
120
+ namespace: t.definition[a].namespace,
121
+ attributes: [...m, ...h]
122
+ };
123
+ return n?.afterStandardizedRecord && (g = n.afterStandardizedRecord({ record: g })), g;
124
+ }
125
+ //#endregion
126
+ //#region src/helpers/merge-extensions.ts
127
+ function C(t, n, r, i) {
128
+ if (!t || !n) return;
129
+ let a = Object.keys(n).filter((e) => e in t);
130
+ e(a.length === 0, {
131
+ key: "EXTENSION_METHOD_COLLISION",
132
+ detail: `Module "${r}" has conflicting ${i} method(s): ${a.map((e) => `"${e}"`).join(", ")}`
133
+ });
134
+ }
135
+ function w(e) {
136
+ let t = {}, n = {}, r = [...Object.entries(e.base ?? {}), ...Object.entries(e.custom ?? {})];
137
+ for (let [e, i] of r) i.query && (C(t[e], i.query, e, "query"), t[e] = {
138
+ ...t[e],
139
+ ...i.query
140
+ }), i.transaction && (C(n[e], i.transaction, e, "transaction"), n[e] = {
141
+ ...n[e],
142
+ ...i.transaction
143
+ });
144
+ return {
145
+ query: t,
146
+ transaction: n
147
+ };
148
+ }
149
+ //#endregion
150
+ //#region src/helpers/strip-attributes.ts
151
+ function T(e, t) {
152
+ let n = new Set(t), r = {
153
+ ...e,
154
+ attributes: e.attributes.filter((e) => !n.has(e.name))
155
+ };
156
+ return "tree" in e ? {
157
+ ...r,
158
+ tree: e.tree.map((e) => T(e, t))
159
+ } : r;
160
+ }
161
+ //#endregion
162
+ export { r as CUSTOM_RECORD_ID_ATTRIBUTE, t as CUSTOM_RECORD_ID_ATTRIBUTE_NAME, n as DIALECTE_DEV_NAMESPACE, g as isAttributeOf, p as isChildOf, h as isElementOf, c as isFullAttributeArray, m as isParentOf, l as isRawRecord, f as isRecordOf, u as isTrackedRecord, d as isTreeRecord, w as mergeExtensions, S as standardizeRecord, T as stripAttributes, b as toFullAttributeArray, _ as toRawRecord, x as toRef, v as toTrackedRecord, y as toTreeRecord };
package/dist/index.js CHANGED
@@ -1,49 +1,3 @@
1
- import { A as s, a as t, C as r, b as o, D as n, c as i, I as A, M as c, d as E, P as l, Q as m, T as u, e as T, f as D, g as d, h as C, i as _, j as b, k as g, l as M, m as S, n as O, o as R, p as y, q as B, r as L, s as N, t as f, u as p, v as F, w as G, y as H, z as I, B as h, E as x, F as P, G as j, H as X, J as w, K as Q, L as U, N as v, O as k } from "./index-Bvh3Qxyf.js";
2
- import { E as z, t as J } from "./index-BgyMtFE-.js";
3
- export {
4
- s as AnyQuery,
5
- t as AnyTransaction,
6
- r as CHANGELOG_SCHEMA,
7
- o as DOCUMENTS_SCHEMA,
8
- n as DexieStore,
9
- i as Document,
10
- z as ERROR_CATALOG,
11
- A as InMemoryStore,
12
- c as META_SCHEMA,
13
- E as ParseSession,
14
- l as Project,
15
- m as Query,
16
- u as TABLE_CHANGELOG,
17
- T as TABLE_DOCUMENTS,
18
- D as TABLE_META,
19
- d as TABLE_RECORD_PREFIX,
20
- C as TEMP_IDB_ID_ATTRIBUTE_NAME,
21
- _ as Transaction,
22
- b as buildDocumentState,
23
- g as buildXmlDocument,
24
- M as downloadFile,
25
- S as exportDocument,
26
- O as findAncestors,
27
- R as findByAttributes,
28
- y as findDescendants,
29
- B as formatXml,
30
- L as getAttribute,
31
- N as getAttributeFullObject,
32
- f as getAttributes,
33
- p as getAttributesFullObject,
34
- F as getChild,
35
- G as getChildren,
36
- H as getRecord,
37
- I as getRecords,
38
- h as getRecordsByTagName,
39
- x as getTree,
40
- P as importDocument,
41
- j as initEmptyDocument,
42
- X as isTransactionContext,
43
- w as matchesAttributeFilter,
44
- Q as parseXmlFile,
45
- U as reconcileDocumentState,
46
- v as recordTableName,
47
- k as resolveStore,
48
- J as throwDialecteError
49
- };
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, R as g, S as _, T as v, U as y, V as b, W as x, X as S, Y as C, Z as w, _ as T, a as E, b as D, c as O, d as k, f as A, g as j, h as M, i as N, j as P, k as F, l as I, n as L, o as R, p as z, q as B, r as V, s as H, t as U, u as W, v as G, w as K, x as q, y as J, z as Y } from "./project-BOM3Ipbu.js";
2
+ import { i as X, r as Z } from "./utils-B_-lXlpE.js";
3
+ export { c as AnyQuery, h as AnyTransaction, G as BLOBS_SCHEMA, J as BLOB_DATA_SCHEMA, D as CHANGELOG_SCHEMA, q as DOCUMENTS_SCHEMA, T as DexieStore, P as Document, X as ERROR_CATALOG, j as InMemoryStore, _ as META_SCHEMA, I as ParseSession, U as Project, a as Query, n as TABLE_BLOBS, K as TABLE_BLOB_PREFIX, v as TABLE_CHANGELOG, i as TABLE_DOCUMENTS, r as TABLE_META, m as TABLE_RECORD_PREFIX, A as TEMP_IDB_ID_ATTRIBUTE_NAME, p as Transaction, w as bindExtensions, F as blobTableName, N as buildDocumentState, W as buildXmlDocument, k as downloadFile, R as exportBlob, H as exportDocument, o as findAncestors, y as findByAttributes, s as findDescendants, z as formatXml, t as getAttribute, b as getAttributeFullObject, g as getAttributes, Y as getAttributesFullObject, B as getChild, u as getChildren, S as getRecord, C as getRecords, l as getRecordsByTagName, d as getTree, V as importDocument, L as initEmptyDocument, f as isTransactionContext, x as matchesAttributeFilter, O as parseXmlFile, E as reconcileDocumentState, e as recordTableName, M as resolveStore, Z as throwDialecteError };
@@ -1,9 +1,10 @@
1
1
  export { Project } from './project';
2
2
  export { buildDocumentState, reconcileDocumentState } from './state/document-state';
3
3
  export { exportDocument } from './io/export-document';
4
+ export { exportBlob } from './io/export-blob';
4
5
  export { initEmptyDocument } from './io/init-empty-document';
5
6
  export { importDocument } from './io/import-document';
6
7
  export { resolveStore } from '../store/resolve-store';
7
- export type { ProjectParams, InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, StorageParam, DocumentRecord, DocumentEntry, ProjectState, } from './types';
8
- export type { InitEmptyDocumentParams, InitEmptyDocumentResult, ImportDocumentParams, ImportDocumentResult, ExportDocumentParams, ExportDocumentResult, } from './types';
8
+ export type { ProjectParams, InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ExportBlobOptions, StorageParam, DocumentRecord, DocumentEntry, ProjectState, } from './types';
9
+ export type { InitEmptyDocumentParams, InitEmptyDocumentResult, ImportDocumentParams, ImportDocumentResult, ExportDocumentParams, ExportDocumentResult, ExportBlobParams, ExportBlobResult, } from './types';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACX,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,SAAS,CAAA;AAChB,YAAY,EACX,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACX,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,SAAS,CAAA;AAChB,YAAY,EACX,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,SAAS,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ExportBlobParams, ExportBlobResult } from '../types';
2
+ /**
3
+ * Export a blob from the project store. Optionally triggers a browser download
4
+ * via `saveToDisk` (mirrors `exportDocument`'s `withDownload` option).
5
+ */
6
+ export declare function exportBlob(params: ExportBlobParams): Promise<ExportBlobResult>;
7
+ //# sourceMappingURL=export-blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-blob.d.ts","sourceRoot":"","sources":["../../../src/project/io/export-blob.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAElE;;;GAGG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBpF"}
@@ -1,4 +1,5 @@
1
1
  export { exportDocument } from './export-document';
2
+ export { exportBlob } from './export-blob';
2
3
  export { importDocument } from './import-document';
3
4
  export { initEmptyDocument } from './init-empty-document';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Document, ExtensionModules, MergedExtensions, QueryExtensions, Query } from '../document';
2
- import { InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ProjectParams, ProjectState, DocumentRecord } from './types';
2
+ import { InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ExportBlobOptions, ExportBlobResult, ProjectParams, ProjectState, DocumentRecord } from './types';
3
3
  import { Store } from '../store';
4
- import { AnyDialecteConfig, TransactionHooks } from '../types';
4
+ import { AnyDialecteConfig, BlobAttachment, BlobRecord, TransactionHooks } from '../types';
5
5
  /**
6
6
  * Project — top-level entry point for multi-file dialecte workspaces.
7
7
  *
@@ -79,6 +79,30 @@ export declare class Project<GenericConfig extends AnyDialecteConfig, GenericMod
79
79
  getDocumentConfig(documentId: string): GenericConfig | undefined;
80
80
  undo(documentId: string): Promise<void>;
81
81
  redo(documentId: string): Promise<void>;
82
+ /**
83
+ * Add a blob owned by `documentId`. The binary lives in `blob_{documentId}`.
84
+ * Returns the generated blob id.
85
+ */
86
+ addBlob(documentId: string, file: File, attachedTo?: BlobAttachment[]): Promise<string>;
87
+ getBlob(blobId: string): Promise<{
88
+ entry: BlobRecord;
89
+ data: Blob;
90
+ } | undefined>;
91
+ /**
92
+ * Export a blob from the store. Mirrors `export(documentId)` for blobs:
93
+ * returns `{ entry, data, filename }` and optionally triggers a download via
94
+ * `options.withDownload`.
95
+ */
96
+ exportBlob(blobId: string, options?: ExportBlobOptions): Promise<ExportBlobResult>;
97
+ getBlobsByDocument(documentId: string): Promise<BlobRecord[]>;
98
+ getBlobsByRecord(documentId: string, recordRef: string): Promise<BlobRecord[]>;
99
+ getStandaloneBlobs(): Promise<BlobRecord[]>;
100
+ attachBlob(blobId: string, ref: BlobAttachment): Promise<void>;
101
+ detachBlob(blobId: string, ref: {
102
+ documentId: string;
103
+ recordRef: string;
104
+ }): Promise<void>;
105
+ removeBlob(blobId: string): Promise<void>;
82
106
  /**
83
107
  * Run a query function across all documents, return the first non-undefined result.
84
108
  * Iterates documents sequentially; stops at the first match.
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI9F;;;;;GAKG;AACH,qBAAa,OAAO,CACnB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9D,YAAY,SAAS,KAAK,GAAG,KAAK;IAElC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAkC;IAC3D,OAAO,CAAC,KAAK,CAAC,CAAiC;IAE/C,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,OAAO,KAAK,KAAK,GAMhB;IAED,OAAO,KAAK,OAAO,GAMlB;IAED,QAAQ,CAAC,KAAK,EAAE,YAAY,CAG3B;gBAEW,MAAM,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAA;QAChD,UAAU,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC;YAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;SAAE,CAAA;QACnE,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC;IAiBD;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;;OAGG;IACG,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAc5E;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD;;OAEG;IACG,MAAM,CACX,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAqB9D;;OAEG;IACG,MAAM,CACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAapD,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM1E;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAmB3F;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAQ1D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7C;;;OAGG;IACG,OAAO,CACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,IAAI,EACV,UAAU,GAAE,cAAc,EAAO,GAC/B,OAAO,CAAC,MAAM,CAAC;IAeZ,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAIrF;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIlF,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI7D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI9E,kBAAkB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI3C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;;OAGG;IACG,UAAU,CAAC,MAAM,EACtB,aAAa,EAAE,CACd,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,KAC3E,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS9B;;;OAGG;IACG,QAAQ,CAAC,MAAM,EACpB,aAAa,EAAE,CACd,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,KAC3E,OAAO,CAAC,MAAM,EAAE,CAAC,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC;IAYpB,iHAAiH;IACjH,mBAAmB,IAAI,UAAU,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;YAIxD,YAAY;CAI1B"}
@@ -1,6 +1,6 @@
1
1
  import { DocumentState, ExtensionModules } from '../document';
2
2
  import { Store } from '../store/store.types';
3
- import { AnyDialecteConfig, ChunkOptions, TransactionHooks } from '../types';
3
+ import { AnyDialecteConfig, BlobRecord, ChunkOptions, TransactionHooks } from '../types';
4
4
  /**
5
5
  * DocumentRecord - metadata entry for a file registered in a Project.
6
6
  *
@@ -128,4 +128,18 @@ export type ExportDocumentResult = {
128
128
  xmlDocument: XMLDocument;
129
129
  filename: string;
130
130
  };
131
+ export type ExportBlobParams = {
132
+ blobId: string;
133
+ store: Store;
134
+ options?: ExportBlobOptions;
135
+ };
136
+ export type ExportBlobOptions = {
137
+ /** Trigger a browser file download after fetching the blob */
138
+ withDownload?: boolean;
139
+ };
140
+ export type ExportBlobResult = {
141
+ entry: BlobRecord;
142
+ data: Blob;
143
+ filename: string;
144
+ };
131
145
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":"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"}