@dialecte/core 0.4.2 → 0.4.3
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/document/bind-extensions.d.ts +5 -1
- package/dist/document/bind-extensions.d.ts.map +1 -1
- package/dist/document/query/snapshot/snapshot.types.d.ts +7 -0
- package/dist/document/query/snapshot/snapshot.types.d.ts.map +1 -1
- package/dist/document/types.extensions.d.ts +23 -8
- package/dist/document/types.extensions.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/{project-E32sEthh.js → project-D0KkiT1t.js} +1016 -995
- package/dist/test.js +1 -1
- package/dist/xml/build/build-xml-document.d.ts.map +1 -1
- package/dist/xml/build/build-xml-document.types.d.ts +8 -0
- package/dist/xml/build/build-xml-document.types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -4,7 +4,11 @@ import { BoundExtensionMap, ExtensionMap, QueryExtensionFn, TransactionExtension
|
|
|
4
4
|
* Each function in the map gets `instance` prepended as its first argument,
|
|
5
5
|
* so the public API signature has that argument stripped.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Groups may be nested to arbitrary depth: a value is either an extension
|
|
8
|
+
* function (a leaf, bound to the instance) or a nested group (recursed into).
|
|
9
|
+
* So `{ a: { aa: { getItems } } }` yields `instance.a.aa.getItems`.
|
|
10
|
+
*
|
|
11
|
+
* Returns an object mirroring the map's shape with each function bound.
|
|
8
12
|
*/
|
|
9
13
|
export declare function bindExtensions<GenericExtensionsMap extends ExtensionMap<QueryExtensionFn | TransactionExtensionFn>>(extensionMap: GenericExtensionsMap | undefined, instance: unknown): BoundExtensionMap<GenericExtensionsMap>;
|
|
10
14
|
//# 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,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,oBAAoB,CAAA;AAE3B
|
|
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;;;;;;;;;;GAUG;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,CAIzC"}
|
|
@@ -35,6 +35,13 @@ export type GetSnapshotOptions<GenericConfig extends AnyDialecteConfig, GenericE
|
|
|
35
35
|
omit?: OmitEntry<GenericConfig>[];
|
|
36
36
|
unwrap?: ElementsOf<GenericConfig>[];
|
|
37
37
|
as?: SnapshotFormat;
|
|
38
|
+
/**
|
|
39
|
+
* For `as: 'xml'` / `'both'`: emit namespace declarations (`xmlns` / `xmlns:*`).
|
|
40
|
+
* Defaults to `true`. Set `false` to render a bare fragment (literal, possibly
|
|
41
|
+
* prefixed tag names, no namespace declarations) that reads like an excerpt
|
|
42
|
+
* nested in its file rather than a standalone document.
|
|
43
|
+
*/
|
|
44
|
+
declareNamespaces?: boolean;
|
|
38
45
|
};
|
|
39
46
|
export type SnapshotResult = {
|
|
40
47
|
tree: AnyTreeRecord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.types.d.ts","sourceRoot":"","sources":["../../../../src/document/query/snapshot/snapshot.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,kBAAkB,CAC7B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,IACzE;IACH,GAAG,CAAC,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAA;IACpC,EAAE,CAAC,EAAE,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"snapshot.types.d.ts","sourceRoot":"","sources":["../../../../src/document/query/snapshot/snapshot.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,kBAAkB,CAC7B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,IACzE;IACH,GAAG,CAAC,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAA;IACpC,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG;IAC/B,+EAA+E;IAC/E,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,wEAAwE;IACxE,cAAc,EAAE,gBAAgB,EAAE,CAAA;IAClC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAA;CACd,CAAA"}
|
|
@@ -16,9 +16,16 @@ export type QueryExtensionFn<GenericQuery = any> = (query: GenericQuery, ...args
|
|
|
16
16
|
* Same variance considerations as `QueryExtensionFn`.
|
|
17
17
|
*/
|
|
18
18
|
export type TransactionExtensionFn<GenericTransaction = any> = (tx: GenericTransaction, ...args: any[]) => any;
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
/**
|
|
20
|
+
* A group of extension methods keyed by name. A value is either an extension
|
|
21
|
+
* function (a leaf) or a **nested group** (arbitrary depth), so an author can
|
|
22
|
+
* structure a module's API however they like, e.g. a module `a` exposing
|
|
23
|
+
* `{ aa: { getItems }, aaa: { getItems } }` -> `query.a.aa.getItems`.
|
|
24
|
+
*/
|
|
25
|
+
export type ExtensionGroup<Fn> = {
|
|
26
|
+
[key: string]: Fn | ExtensionGroup<Fn>;
|
|
27
|
+
};
|
|
28
|
+
/** A map of group names -> extension groups (the per-side registry). */
|
|
22
29
|
export type ExtensionMap<Fn> = Record<string, ExtensionGroup<Fn>>;
|
|
23
30
|
/**
|
|
24
31
|
* A single named extension module, grouping its query and transaction methods.
|
|
@@ -46,14 +53,21 @@ export type AssertNoCollision<Extensions extends Record<string, unknown>, Reserv
|
|
|
46
53
|
};
|
|
47
54
|
/** Strips the first argument from a function signature. */
|
|
48
55
|
export type OmitFirstArg<GenericFn extends (...args: any[]) => any> = GenericFn extends (first: any, ...rest: infer Rest) => infer Return ? (...args: Rest) => Return : never;
|
|
56
|
+
/** Any extension function shape (leaf of an extension group). */
|
|
57
|
+
type AnyExtensionFn = (...args: any[]) => any;
|
|
49
58
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
59
|
+
* Recursively strips the first argument (query/tx) from every function in a
|
|
60
|
+
* (possibly nested) extension group, preserving the nesting shape.
|
|
61
|
+
*/
|
|
62
|
+
export type BoundGroup<GenericGroup> = {
|
|
63
|
+
[Key in keyof GenericGroup]: GenericGroup[Key] extends AnyExtensionFn ? OmitFirstArg<GenericGroup[Key]> : GenericGroup[Key] extends ExtensionGroup<QueryExtensionFn | TransactionExtensionFn> ? BoundGroup<GenericGroup[Key]> : never;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Given a map of extension groups, produces the same structure with the first
|
|
67
|
+
* argument stripped from each (possibly nested) function.
|
|
52
68
|
*/
|
|
53
69
|
export type BoundExtensionMap<GenericExtensionsMap extends ExtensionMap<QueryExtensionFn | TransactionExtensionFn>> = {
|
|
54
|
-
[GroupName in keyof GenericExtensionsMap]:
|
|
55
|
-
[MethodName in keyof GenericExtensionsMap[GroupName]]: OmitFirstArg<GenericExtensionsMap[GroupName][MethodName]>;
|
|
56
|
-
};
|
|
70
|
+
[GroupName in keyof GenericExtensionsMap]: BoundGroup<GenericExtensionsMap[GroupName]>;
|
|
57
71
|
};
|
|
58
72
|
export type QueryExtensions<Ext extends ExtensionsRegistry> = Ext extends {
|
|
59
73
|
query: infer Q extends ExtensionMap<QueryExtensionFn>;
|
|
@@ -78,4 +92,5 @@ export type MergedExtensions<Modules extends ExtensionModules> = {
|
|
|
78
92
|
[K in keyof Modules as Modules[K]['transaction'] extends ExtensionGroup<TransactionExtensionFn> ? K : never]: Modules[K]['transaction'] extends ExtensionGroup<TransactionExtensionFn> ? Modules[K]['transaction'] : never;
|
|
79
93
|
};
|
|
80
94
|
};
|
|
95
|
+
export {};
|
|
81
96
|
//# sourceMappingURL=types.extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.extensions.d.ts","sourceRoot":"","sources":["../../src/document/types.extensions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,gBAAgB,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE/F;;;GAGG;AAEH,MAAM,MAAM,sBAAsB,CAAC,kBAAkB,GAAG,GAAG,IAAI,CAC9D,EAAE,EAAE,kBAAkB,EACtB,GAAG,IAAI,EAAE,GAAG,EAAE,KACV,GAAG,CAAA;AAIR
|
|
1
|
+
{"version":3,"file":"types.extensions.d.ts","sourceRoot":"","sources":["../../src/document/types.extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, a as O, at as k, b as A, c as j, ct as M, d as N, et as P, f as F, g as I, h as L, i as R, it as z, j as B, k as V, l as H, lt as U, m as W, n as G, nt as K, o as q, ot as J, p as Y, q as X, r as Z, rt as Q, s as $, st as ee, t as te, tt as ne, u as re, ut as ie, v as ae, w as oe, x as se, y as ce } from "./project-
|
|
1
|
+
import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, a as O, at as k, b as A, c as j, ct as M, d as N, et as P, f as F, g as I, h as L, i as R, it as z, j as B, k as V, l as H, lt as U, m as W, n as G, nt as K, o as q, ot as J, p as Y, q as X, r as Z, rt as Q, s as $, st as ee, t as te, tt as ne, u as re, ut as ie, v as ae, w as oe, x as se, y as ce } from "./project-D0KkiT1t.js";
|
|
2
2
|
import { l as le, u as ue } from "./utils-DgKwrT2n.js";
|
|
3
3
|
export { V as AnyQuery, i as AnyTransaction, N as BLOBS_SCHEMA, F as BLOB_DATA_SCHEMA, Y as CHANGELOG_SCHEMA, W as DOCUMENTS_SCHEMA, re as DexieStore, oe as Document, ue as ERROR_CATALOG, H as InMemoryStore, L as META_SCHEMA, p as ParseSession, te as Project, h as Query, I as TABLE_BLOBS, D as TABLE_BLOB_PREFIX, ae as TABLE_CHANGELOG, ce as TABLE_DOCUMENTS, A as TABLE_META, se as TABLE_RECORD_PREFIX, f as TEMP_IDB_ID_ATTRIBUTE_NAME, a as Transaction, C as applyOmit, x as applyOrder, u as applyUnwrap, ie as bindExtensions, y as blobTableName, R as buildDocumentState, g as buildXmlDocument, S as collectSnapshotRecords, o as downloadFile, q as exportBlob, $ as exportDocument, K as findAncestors, P as findByAttributes, e as findDescendants, v as formatXml, E as getAttribute, _ as getAttributeFullObject, T as getAttributes, w as getAttributesFullObject, z as getChild, Q as getChildren, ee as getRecord, J as getRecords, k as getRecordsByTagName, t as getSnapshot, c as getTree, Z as importDocument, M as indexStagedDeletesByParent, G as initEmptyDocument, m as inspectXml, s as isOmitted, b as isTransactionContext, ne as matchesAttributeFilter, U as overlayAllStaged, d as parseOmit, B as parseXmlFile, O as reconcileDocumentState, r as recordTableName, n as recordsToTree, j as resolveStore, X as shouldStopTraversal, le as throwDialecteError, l as xmlDocumentToString };
|