@dialecte/core 0.2.20 → 0.2.22
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/document.d.ts +1 -1
- package/dist/document/document.d.ts.map +1 -1
- package/dist/document/query/any/any-query.d.ts +13 -2
- package/dist/document/query/any/any-query.d.ts.map +1 -1
- package/dist/document/query/find/descendant/find-descendant.types.d.ts +1 -1
- package/dist/document/query/find/descendant/find-descendant.types.d.ts.map +1 -1
- package/dist/document/query/get/record/index.d.ts +1 -0
- package/dist/document/query/get/record/index.d.ts.map +1 -1
- package/dist/document/query/get/record/staged-lookup.d.ts +35 -1
- package/dist/document/query/get/record/staged-lookup.d.ts.map +1 -1
- package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
- package/dist/document/query/get/tree/get-tree.types.d.ts +1 -14
- package/dist/document/query/get/tree/get-tree.types.d.ts.map +1 -1
- package/dist/document/query/get/tree/index.d.ts +1 -1
- package/dist/document/query/get/tree/index.d.ts.map +1 -1
- package/dist/document/query/index.d.ts +2 -0
- package/dist/document/query/index.d.ts.map +1 -1
- package/dist/document/query/main.d.ts +24 -1
- package/dist/document/query/main.d.ts.map +1 -1
- package/dist/document/query/snapshot/collect-snapshot.d.ts +23 -0
- package/dist/document/query/snapshot/collect-snapshot.d.ts.map +1 -0
- package/dist/document/query/snapshot/get-snapshot.d.ts +21 -0
- package/dist/document/query/snapshot/get-snapshot.d.ts.map +1 -0
- package/dist/document/query/snapshot/index.d.ts +5 -0
- package/dist/document/query/snapshot/index.d.ts.map +1 -0
- package/dist/document/query/snapshot/records-to-tree.d.ts +14 -0
- package/dist/document/query/snapshot/records-to-tree.d.ts.map +1 -0
- package/dist/document/query/snapshot/snapshot.types.d.ts +52 -0
- package/dist/document/query/snapshot/snapshot.types.d.ts.map +1 -0
- package/dist/document/query/tree-filter/index.d.ts +6 -0
- package/dist/document/query/tree-filter/index.d.ts.map +1 -0
- package/dist/document/query/tree-filter/omit.d.ts +53 -0
- package/dist/document/query/tree-filter/omit.d.ts.map +1 -0
- package/dist/document/query/tree-filter/order.d.ts +14 -0
- package/dist/document/query/tree-filter/order.d.ts.map +1 -0
- package/dist/document/query/tree-filter/types.d.ts +17 -0
- package/dist/document/query/tree-filter/types.d.ts.map +1 -0
- package/dist/document/query/tree-filter/unwrap.d.ts +13 -0
- package/dist/document/query/tree-filter/unwrap.d.ts.map +1 -0
- package/dist/document/types.d.ts +16 -1
- package/dist/document/types.d.ts.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.js +3 -3
- package/dist/{project-B6LoveZA.js → project-CbTmBW8e.js} +6792 -6523
- package/dist/test/run-test-cases.d.ts.map +1 -1
- package/dist/test/run-test-cases.type.d.ts +8 -0
- package/dist/test/run-test-cases.type.d.ts.map +1 -1
- package/dist/test.js +15 -11
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/order-children.d.ts +19 -0
- package/dist/utils/order-children.d.ts.map +1 -0
- package/dist/{utils-CmyVTqDb.js → utils-XD-swXWn.js} +21 -2
- package/dist/utils.js +2 -2
- package/dist/xml/build/build-xml-document.d.ts.map +1 -1
- package/dist/xml/build/build-xml-document.types.d.ts +7 -0
- package/dist/xml/build/build-xml-document.types.d.ts.map +1 -1
- package/dist/xml/build/download-file.d.ts.map +1 -1
- package/dist/xml/build/index.d.ts +1 -0
- package/dist/xml/build/index.d.ts.map +1 -1
- package/dist/xml/build/serialize.d.ts +9 -0
- package/dist/xml/build/serialize.d.ts.map +1 -0
- package/package.json +4 -3
|
@@ -72,7 +72,7 @@ export declare class Document<GenericConfig extends AnyDialecteConfig, GenericEx
|
|
|
72
72
|
*/
|
|
73
73
|
prepare(fn: (tx: Transaction<GenericConfig> & AllExtensions<GenericExtension>) => Promise<void>, options?: {
|
|
74
74
|
label?: string;
|
|
75
|
-
}): Promise<PreparedTransaction<GenericConfig>>;
|
|
75
|
+
}): Promise<PreparedTransaction<GenericConfig, GenericExtension>>;
|
|
76
76
|
/** Close the store connection */
|
|
77
77
|
close(): void;
|
|
78
78
|
/** Close connection and delete the database entirely */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/document/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ,CACpB,aAAa,SAAS,iBAAiB,EACvC,gBAAgB,SAAS,kBAAkB,GAAG,EAAE;IAEhD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAA;IAC/B,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAkB;IAE7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAM5B;IAED,2DAA2D;IAC3D,OAAO,CAAC,kBAAkB,CAAI;IAE9B;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,CAAkB;gBAGhC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,EAClD,OAAO,EAAE,gBAAgB;IAoB1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/document/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ,CACpB,aAAa,SAAS,iBAAiB,EACvC,gBAAgB,SAAS,kBAAkB,GAAG,EAAE;IAEhD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAA;IAC/B,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAkB;IAE7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAM5B;IAED,2DAA2D;IAC3D,OAAO,CAAC,kBAAkB,CAAI;IAE9B;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,CAAkB;gBAGhC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,EAClD,OAAO,EAAE,gBAAgB;IAoB1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC;IAI7C,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAEpE;IAID;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,WAAW,CAAC,aAAa,CAAC;IAInD,WAAW,CAAC,CAAC,EAClB,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACpF,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,CAAC,CAAC;IA+Cb;;;;;;;;;;;;;;;;;;;OAmBG;IACG,OAAO,CACZ,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACvF,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAgGhE,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAIb,wDAAwD;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Context } from '../../types';
|
|
2
|
+
import { GetTreeParams } from '../get';
|
|
3
|
+
import { GetSnapshotOptions, SnapshotResult } from '../snapshot';
|
|
2
4
|
import { AnyRef, AnyRefOrRecord } from '../..';
|
|
3
|
-
import { AnyAttribute, AnyDialecteConfig, AnyTrackedRecord, AnyTreeRecord } from '../../../types';
|
|
5
|
+
import { AnyAttribute, AnyDialecteConfig, AnyTrackedRecord, AnyTreeRecord, ElementsOf } from '../../../types';
|
|
4
6
|
/**
|
|
5
7
|
* Untyped query namespace - bypasses ElementsOf/ChildrenOf constraints.
|
|
6
8
|
* Use for custom/private elements or dynamic contexts where the type system is a burden.
|
|
@@ -30,7 +32,16 @@ export declare class AnyQuery<GenericConfig extends AnyDialecteConfig> {
|
|
|
30
32
|
getAttributes(refOrRecord: AnyRefOrRecord | undefined, params: {
|
|
31
33
|
fullObject: true;
|
|
32
34
|
}): Promise<AnyAttribute[]>;
|
|
33
|
-
getTree(refOrRecord: AnyRefOrRecord | undefined): Promise<AnyTreeRecord | undefined>;
|
|
35
|
+
getTree(refOrRecord: AnyRefOrRecord | undefined, options?: GetTreeParams<AnyDialecteConfig, ElementsOf<AnyDialecteConfig>>): Promise<AnyTreeRecord | undefined>;
|
|
36
|
+
getSnapshot(options?: GetSnapshotOptions<AnyDialecteConfig> & {
|
|
37
|
+
as?: 'tree';
|
|
38
|
+
}): Promise<AnyTreeRecord>;
|
|
39
|
+
getSnapshot(options: GetSnapshotOptions<AnyDialecteConfig> & {
|
|
40
|
+
as: 'xml';
|
|
41
|
+
}): Promise<string>;
|
|
42
|
+
getSnapshot(options: GetSnapshotOptions<AnyDialecteConfig> & {
|
|
43
|
+
as: 'both';
|
|
44
|
+
}): Promise<SnapshotResult>;
|
|
34
45
|
findDescendants(refOrRecord: AnyRefOrRecord | undefined): Promise<Record<string, AnyTrackedRecord[]>>;
|
|
35
46
|
findAncestors(refOrRecord: AnyRefOrRecord | undefined): Promise<AnyTrackedRecord[]>;
|
|
36
47
|
findByAttributes(params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-query.d.ts","sourceRoot":"","sources":["../../../../src/document/query/any/any-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"any-query.d.ts","sourceRoot":"","sources":["../../../../src/document/query/any/any-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterAttributes } from '../by-attribute/find-by-attributes.types';
|
|
2
|
-
import { OmitEntry } from '../../
|
|
2
|
+
import { OmitEntry } from '../../tree-filter';
|
|
3
3
|
import { AnyDialecteConfig, DescendantsOf, ElementsOf, TrackedRecord } from '../../../../types';
|
|
4
4
|
/**
|
|
5
5
|
* Single collect entry with optional where filter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-descendant.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/find-descendant.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAA;AACnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"find-descendant.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/find-descendant.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAA;AACnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM1F;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CACjC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;KACF,CAAC,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE;QACrD,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;KAC1C;CACD,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CACtB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;KACF,CAAC,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EACjD,IAAI,GACJ;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;KAAE,GAC9C,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;CAC5D,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC5B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAE9C,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,sBAAsB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAExD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAClB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAE9C,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,iBAAiB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,GAClD,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAM7C,MAAM,MAAM,qBAAqB,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,cAAc,SAAS,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,IAC1D;IACH,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;CACjC,CAAA;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACjD,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,IAAI,CAAC,GAC1B,IAAI,SAAS,MAAM,GAClB,IAAI,GACJ,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,MAAM,IAAI,GAAG,MAAM,GACnB,KAAK,GACP,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,eAAe,CAAC,CAAC,CAAC,GAClB,KAAK,CAAA;AAEV;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,IACrB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GACnB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;CACzE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAClB,KAAK,CAAA;AAMT,MAAM,MAAM,qBAAqB,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,cAAc,SAAS,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,IAC1D;KACF,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,CACnF,aAAa,EACb,CAAC,CACD,EAAE;CACH,CAAA"}
|
|
@@ -3,4 +3,5 @@ export { getRecords } from './get-records';
|
|
|
3
3
|
export { getRecordsByTagName } from './get-records-by-tagname';
|
|
4
4
|
export { getChild } from './get-child';
|
|
5
5
|
export { getChildren } from './get-children';
|
|
6
|
+
export { overlayAllStaged, indexStagedDeletesByParent } from './staged-lookup';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyDialecteConfig, Operation, ElementsOf, TrackedRecord, RawRecord } from '../../../../types';
|
|
1
|
+
import { AnyDialecteConfig, Operation, ElementsOf, TrackedRecord, RawRecord, AnyRawRecord, AnyTrackedRecord } from '../../../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Find the latest staged operation matching a record id.
|
|
4
4
|
* Scans operations in reverse (most recent first).
|
|
@@ -27,4 +27,38 @@ export declare function overlayStaged<GenericConfig extends AnyDialecteConfig, G
|
|
|
27
27
|
rawRecords: RawRecord<GenericConfig, GenericElement>[];
|
|
28
28
|
stagedOperations: ReadonlyArray<Operation<GenericConfig>>;
|
|
29
29
|
}): TrackedRecord<GenericConfig, GenericElement>[];
|
|
30
|
+
/**
|
|
31
|
+
* Overlay staged operations on top of every DB record (all tag names).
|
|
32
|
+
*
|
|
33
|
+
* Applies creates/updates by id and removes deletes, producing the final
|
|
34
|
+
* merged state of a whole document. When `includeDeleted` is set, deleted
|
|
35
|
+
* records are returned separately as tombstones (status `'deleted'`) so callers
|
|
36
|
+
* can re-attach them for a tree view — except records that were both created
|
|
37
|
+
* and deleted in the same staged set (a net no-op that never reaches the store).
|
|
38
|
+
*
|
|
39
|
+
* Pure function — no DB access, no side effects.
|
|
40
|
+
*/
|
|
41
|
+
export declare function overlayAllStaged<GenericConfig extends AnyDialecteConfig>(params: {
|
|
42
|
+
rawRecords: AnyRawRecord[];
|
|
43
|
+
stagedOperations: ReadonlyArray<Operation<GenericConfig>>;
|
|
44
|
+
includeDeleted?: boolean;
|
|
45
|
+
}): {
|
|
46
|
+
live: Map<string, AnyTrackedRecord>;
|
|
47
|
+
deleted: AnyTrackedRecord[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Index staged `deleted` operations by their record's original parent id.
|
|
51
|
+
*
|
|
52
|
+
* Deletes are hidden from normal reads (the parent's `children` ref is pruned
|
|
53
|
+
* and `getRecord` drops deleted records), so a snapshot that wants to surface
|
|
54
|
+
* deleted nodes resolves them here instead. The op carries the full `oldRecord`,
|
|
55
|
+
* so no store read is needed. Building the index once lets a tree walk look up
|
|
56
|
+
* each node's deleted children in O(1) instead of rescanning the staged ops.
|
|
57
|
+
*
|
|
58
|
+
* Records both created and deleted in the same staged set are excluded (a net
|
|
59
|
+
* no-op that never reaches the store).
|
|
60
|
+
*
|
|
61
|
+
* Pure function — no DB access, no side effects.
|
|
62
|
+
*/
|
|
63
|
+
export declare function indexStagedDeletesByParent<GenericConfig extends AnyDialecteConfig>(stagedOperations: ReadonlyArray<Operation<GenericConfig>>): Map<string, AnyTrackedRecord[]>;
|
|
30
64
|
//# sourceMappingURL=staged-lookup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staged-lookup.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/staged-lookup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,aAAa,EACb,SAAS,EACT,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,OAAO,EAAE,cAAc,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;CACX,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAqE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC5B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAA;IACtD,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CACzD,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAoBjD"}
|
|
1
|
+
{"version":3,"file":"staged-lookup.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/staged-lookup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,aAAa,EACb,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,OAAO,EAAE,cAAc,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;CACX,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAqE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC5B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAA;IACtD,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CACzD,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAoBjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACjF,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,cAAc,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAwBvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,SAAS,iBAAiB,EACjF,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GACvD,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAqBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAA;AACjE,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,CAwCjE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OmitEntry } from '../../tree-filter';
|
|
1
2
|
import { FilterAttributes } from '../../..';
|
|
2
3
|
import { AnyDialecteConfig, ChildrenOf, ElementsOf } from '../../../../types';
|
|
3
4
|
type SelectConfigKeys = 'where' | 'recursive';
|
|
@@ -17,20 +18,6 @@ export type TreeSelect<GenericConfig extends AnyDialecteConfig, GenericParent ex
|
|
|
17
18
|
where?: FilterAttributes<GenericConfig, GenericParent>;
|
|
18
19
|
recursive?: true | false | number;
|
|
19
20
|
};
|
|
20
|
-
/**
|
|
21
|
-
* Omit entry with optional where filter and scope.
|
|
22
|
-
* Key-based format consistent with collect entries:
|
|
23
|
-
* - `'DOS'` - omit all DOS elements
|
|
24
|
-
* - `{ LNode: { where: { lnClass: 'LPHD' } } }` - conditional omit
|
|
25
|
-
* - `{ AA_1: { scope: 'children' } }` - keep node, stop traversal
|
|
26
|
-
*/
|
|
27
|
-
export type OmitEntryWithFilter<GenericConfig extends AnyDialecteConfig> = {
|
|
28
|
-
[K in ElementsOf<GenericConfig>]?: {
|
|
29
|
-
where?: FilterAttributes<GenericConfig, K>;
|
|
30
|
-
scope?: 'self' | 'children';
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export type OmitEntry<GenericConfig extends AnyDialecteConfig> = ElementsOf<GenericConfig> | OmitEntryWithFilter<GenericConfig>;
|
|
34
21
|
export type GetTreeParams<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
35
22
|
select?: TreeSelect<GenericConfig, GenericElement>;
|
|
36
23
|
omit?: OmitEntry<GenericConfig>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tree.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGxE,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7C;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CACrB,aAAa,SAAS,iBAAiB,EACvC,aAAa,SAAS,UAAU,CAAC,aAAa,CAAC,IAC5C;KACF,KAAK,IAAI,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrF,IAAI,GACJ,KAAK,GACL,UAAU,CAAC,aAAa,EAAE,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;CAC/D,GAAG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;IACtD,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;CACjC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"get-tree.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGxE,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7C;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CACrB,aAAa,SAAS,iBAAiB,EACvC,aAAa,SAAS,UAAU,CAAC,aAAa,CAAC,IAC5C;KACF,KAAK,IAAI,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrF,IAAI,GACJ,KAAK,GACL,UAAU,CAAC,aAAa,EAAE,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;CAC/D,GAAG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;IACtD,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,CACxB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAA;CACpC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
|
|
@@ -2,9 +2,10 @@ import { AnyQuery } from './any';
|
|
|
2
2
|
import { Context } from '../types';
|
|
3
3
|
import { FindAncestorsOptions, FilterAttributes, Collect, FindDescendantsParams, FindDescendantsReturn } from './find';
|
|
4
4
|
import { GetTreeParams } from './get';
|
|
5
|
+
import { GetSnapshotOptions, SnapshotResult } from './snapshot';
|
|
5
6
|
import { RefOrRecord } from '..';
|
|
6
7
|
import { Store } from '../../store';
|
|
7
|
-
import { AnyDialecteConfig, AttributesOf, AttributesValueObjectOf, DescendantsOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RootElementOf } from '../../types';
|
|
8
|
+
import { AnyDialecteConfig, AnyTreeRecord, AttributesOf, AttributesValueObjectOf, DescendantsOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RootElementOf } from '../../types';
|
|
8
9
|
/**
|
|
9
10
|
* Query — query-only access to a dialecte's store.
|
|
10
11
|
*
|
|
@@ -159,6 +160,28 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
159
160
|
* ```
|
|
160
161
|
*/
|
|
161
162
|
getTree<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, options?: GetTreeParams<GenericConfig, GenericElement>): Promise<TreeRecord<GenericConfig, GenericElement> | undefined>;
|
|
163
|
+
/**
|
|
164
|
+
* Snapshot the (uncommitted) document state as a tree, XML string, or both.
|
|
165
|
+
*
|
|
166
|
+
* Reads overlay staged operations, so calling this on a live transaction or a
|
|
167
|
+
* prepared transaction's `query` reflects exactly what `commit()` would write.
|
|
168
|
+
* Scope is controlled by `ref`/`ancestors`/`siblings`/`depth`; output by `as`.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* const prepared = await doc.prepare(async (tx) => tx.addChild(parent, payload))
|
|
173
|
+
* const { tree, xmlString } = await prepared.query.getSnapshot({ as: 'both' })
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
getSnapshot<GenericElement extends ElementsOf<GenericConfig>>(options?: GetSnapshotOptions<GenericConfig, GenericElement> & {
|
|
177
|
+
as?: 'tree';
|
|
178
|
+
}): Promise<AnyTreeRecord>;
|
|
179
|
+
getSnapshot<GenericElement extends ElementsOf<GenericConfig>>(options: GetSnapshotOptions<GenericConfig, GenericElement> & {
|
|
180
|
+
as: 'xml';
|
|
181
|
+
}): Promise<string>;
|
|
182
|
+
getSnapshot<GenericElement extends ElementsOf<GenericConfig>>(options: GetSnapshotOptions<GenericConfig, GenericElement> & {
|
|
183
|
+
as: 'both';
|
|
184
|
+
}): Promise<SnapshotResult>;
|
|
162
185
|
/**
|
|
163
186
|
* Get a single attribute value from a record.
|
|
164
187
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAehC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAO,WAAW,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,qBAAa,KAAK,CAAC,aAAa,SAAS,iBAAiB;IACzD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,cAAc,EAAE,aAAa,CAAA;IACvC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAyB;gBAE1B,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;IAQ3E,IAAI,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC,CAEjC;IAID;;;OAGG;IACH,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE;IAIrD;;;;OAIG;IACH,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAQ9C;IAID;;;;;;;;OAQG;IACH,WAAW,IAAI,MAAM;IAMrB;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAgBpF;;;;;;;;;;OAUG;IACG,SAAS,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,GACjE,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAIpE;;;;;;;;;;OAUG;IACG,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChE,aAAa,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,GACvE,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IAKxE;;;;;;;;;;;OAWG;IACG,QAAQ,CACb,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EAErE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAKzE;;;;;;;;;;;OAWG;IACG,WAAW,CAChB,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EAErE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,CAAC;IAK/D;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACzE,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;IAI1D;;;;;;;;;;;;;;OAcG;IACG,eAAe,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACrE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,GACjE,OAAO,CACT,OAAO,CACN,MAAM,CACL,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAC5C,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAC5E,CACD,CACD;IACK,eAAe,CACpB,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,cAAc,SAAS,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,EAE7D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,GAC3E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IA6BhF;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAC3C,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;IAKrE;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC7D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GACpD,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IASjE;;;;;;;;;;;;OAYG;IACG,WAAW,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACjE,OAAO,CAAC,EAAE,kBAAkB,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3E,OAAO,CAAC,aAAa,CAAC;IACnB,WAAW,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACjE,OAAO,EAAE,kBAAkB,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG;QAAE,EAAE,EAAE,KAAK,CAAA;KAAE,GACxE,OAAO,CAAC,MAAM,CAAC;IACZ,WAAW,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACjE,OAAO,EAAE,kBAAkB,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GACzE,OAAO,CAAC,cAAc,CAAC;IAS1B;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC/E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACxE,YAAY,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,GAC7E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAkB5E;;;;;;;;;;OAUG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC7B,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAClE;;;;;;;;;;OAUG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;IAiBlE;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE;QAChF,OAAO,EAAE,cAAc,CAAA;QACvB,UAAU,EAAE,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;KAC3D,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;CAG3D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CollectedSnapshot } from './snapshot.types';
|
|
2
|
+
import { Context, Ref } from '../..';
|
|
3
|
+
import { AnyDialecteConfig, ElementsOf } from '../../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Collect the scope-bounded, hooks-applied record set for a snapshot.
|
|
6
|
+
*
|
|
7
|
+
* Reads go through `getRecord`, which overlays staged ops (staged → cache →
|
|
8
|
+
* store), so the result reflects the uncommitted transaction state. The whole
|
|
9
|
+
* document (no `ref`, no `depth`) is collected via one bulk read + overlay; any
|
|
10
|
+
* bounded scope (a `ref`, or a `depth` from the root) walks the tree (down
|
|
11
|
+
* `depth`, up `ancestors`, optional `siblings`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function collectSnapshotRecords<GenericConfig extends AnyDialecteConfig>(params: {
|
|
14
|
+
context: Context<GenericConfig>;
|
|
15
|
+
ref?: Ref<GenericConfig, ElementsOf<GenericConfig>>;
|
|
16
|
+
ancestors?: number;
|
|
17
|
+
siblings?: boolean | {
|
|
18
|
+
expand?: boolean;
|
|
19
|
+
};
|
|
20
|
+
depth?: number;
|
|
21
|
+
includeDeleted?: boolean;
|
|
22
|
+
}): Promise<CollectedSnapshot>;
|
|
23
|
+
//# sourceMappingURL=collect-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect-snapshot.d.ts","sourceRoot":"","sources":["../../../../src/document/query/snapshot/collect-snapshot.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAoB,UAAU,EAAiB,MAAM,SAAS,CAAA;AAE7F;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC7F,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IACnD,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;CACxB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0G7B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GetSnapshotOptions, SnapshotResult } from './snapshot.types';
|
|
2
|
+
import { Context } from '../..';
|
|
3
|
+
import { AnyDialecteConfig, AnyTreeRecord } from '../../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Produce a snapshot of the (uncommitted) document state as a tree, an XML
|
|
6
|
+
* string, or both.
|
|
7
|
+
*
|
|
8
|
+
* Collects the scope-bounded, hooks-applied record set once, then derives the
|
|
9
|
+
* requested output(s) from it (`records → tree`, `records → xml` — never the
|
|
10
|
+
* inverse). Reads overlay staged operations, so calling this on a live
|
|
11
|
+
* transaction (or a prepared transaction's `query`) reflects what `commit()`
|
|
12
|
+
* would write.
|
|
13
|
+
*
|
|
14
|
+
* `omit`/`unwrap` shape the tree output only (shared with `getTree`); the XML
|
|
15
|
+
* always reflects the full, unfiltered document — it is what `commit()` writes.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getSnapshot<GenericConfig extends AnyDialecteConfig>(params: {
|
|
18
|
+
context: Context<GenericConfig>;
|
|
19
|
+
options?: GetSnapshotOptions<GenericConfig>;
|
|
20
|
+
}): Promise<AnyTreeRecord | string | SnapshotResult>;
|
|
21
|
+
//# sourceMappingURL=get-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-snapshot.d.ts","sourceRoot":"","sources":["../../../../src/document/query/snapshot/get-snapshot.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAqB,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAc,MAAM,SAAS,CAAA;AAE3E;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAClF,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC3C,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC,CAmBnD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getSnapshot } from './get-snapshot';
|
|
2
|
+
export { collectSnapshotRecords } from './collect-snapshot';
|
|
3
|
+
export { recordsToTree } from './records-to-tree';
|
|
4
|
+
export type { GetSnapshotOptions, SnapshotFormat, SnapshotResult, CollectedSnapshot, } from './snapshot.types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document/query/snapshot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EACX,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,iBAAiB,GACjB,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CollectedSnapshot } from './snapshot.types';
|
|
2
|
+
import { AnyTreeRecord } from '../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Assemble a `TreeRecord` from a flat, scope-bounded record set.
|
|
5
|
+
*
|
|
6
|
+
* Pure `records → tree`: walks from `rootId` using each record's `children`
|
|
7
|
+
* refs, keeping only ids present in the live set (orphan-safe at scope
|
|
8
|
+
* boundaries). When `deletedRecords` are provided they are re-attached as
|
|
9
|
+
* tombstones (`status:'deleted'`) under their original parent, after the live
|
|
10
|
+
* children — so the tree shows what a node looked like including pending
|
|
11
|
+
* deletions. XML serialization never uses this path.
|
|
12
|
+
*/
|
|
13
|
+
export declare function recordsToTree(snapshot: CollectedSnapshot): AnyTreeRecord;
|
|
14
|
+
//# sourceMappingURL=records-to-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records-to-tree.d.ts","sourceRoot":"","sources":["../../../../src/document/query/snapshot/records-to-tree.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,aAAa,CAuCxE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { OmitEntry } from '../tree-filter';
|
|
2
|
+
import { RefOrRecord } from '../..';
|
|
3
|
+
import { AnyDialecteConfig, AnyTrackedRecord, AnyTreeRecord, ElementsOf } from '../../../types';
|
|
4
|
+
export type SnapshotFormat = 'tree' | 'xml' | 'both';
|
|
5
|
+
/**
|
|
6
|
+
* Scope + output controls for `getSnapshot`.
|
|
7
|
+
*
|
|
8
|
+
* - `ref` omitted → start at the document root (`config.rootElementName`). With
|
|
9
|
+
* no `ref` and no `depth` this is the whole document; `ancestors`/`siblings`
|
|
10
|
+
* are inapplicable (the root has none) and ignored.
|
|
11
|
+
* - `ancestors` → how many ancestor levels to include above `ref` (spine).
|
|
12
|
+
* - `siblings` → also include each ancestor-spine node's siblings, so `ref` is
|
|
13
|
+
* shown in context up the spine. Implies at least `ancestors: 1`.
|
|
14
|
+
* `true` → shallow siblings; `{ expand: true }` → keep the siblings' subtrees
|
|
15
|
+
* (still bounded by `depth`).
|
|
16
|
+
* - `depth` → how many levels to descend below the start (default: whole
|
|
17
|
+
* subtree). Honored with or without `ref` (e.g. `{ depth: 1 }` = root + its
|
|
18
|
+
* direct children).
|
|
19
|
+
* - `includeDeleted` → re-attach staged-deleted nodes as `status:'deleted'`
|
|
20
|
+
* tombstones. Tree output only — XML always reflects what will be written.
|
|
21
|
+
* - `omit` / `unwrap` → tree-shape filters applied to tree output only (shared
|
|
22
|
+
* with `getTree`). XML always reflects the full, unfiltered document. When
|
|
23
|
+
* `unwrap` is omitted, the config's transparent elements are unwrapped, so the
|
|
24
|
+
* snapshot matches what the UI shows.
|
|
25
|
+
* - `as` → `'tree'` (default) | `'xml'` | `'both'`.
|
|
26
|
+
*/
|
|
27
|
+
export type GetSnapshotOptions<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig> = ElementsOf<GenericConfig>> = {
|
|
28
|
+
ref?: RefOrRecord<GenericConfig, GenericElement>;
|
|
29
|
+
ancestors?: number;
|
|
30
|
+
siblings?: boolean | {
|
|
31
|
+
expand?: boolean;
|
|
32
|
+
};
|
|
33
|
+
depth?: number;
|
|
34
|
+
includeDeleted?: boolean;
|
|
35
|
+
omit?: OmitEntry<GenericConfig>[];
|
|
36
|
+
unwrap?: ElementsOf<GenericConfig>[];
|
|
37
|
+
as?: SnapshotFormat;
|
|
38
|
+
};
|
|
39
|
+
export type SnapshotResult = {
|
|
40
|
+
tree: AnyTreeRecord;
|
|
41
|
+
xmlString: string;
|
|
42
|
+
};
|
|
43
|
+
/** Flat, scope-bounded record set produced by the collector. */
|
|
44
|
+
export type CollectedSnapshot = {
|
|
45
|
+
/** Live records; each `children` array is filtered to ids within the scope. */
|
|
46
|
+
liveRecords: AnyTrackedRecord[];
|
|
47
|
+
/** Staged-deleted tombstones (only populated when `includeDeleted`). */
|
|
48
|
+
deletedRecords: AnyTrackedRecord[];
|
|
49
|
+
/** Id of the outermost record — the root for tree/XML assembly. */
|
|
50
|
+
rootId: string;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=snapshot.types.d.ts.map
|
|
@@ -0,0 +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;CACnB,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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { applyUnwrap } from './unwrap';
|
|
2
|
+
export { applyOmit, parseOmit, isOmitted, shouldStopTraversal } from './omit';
|
|
3
|
+
export { applyOrder } from './order';
|
|
4
|
+
export type { OmitSpecification } from './omit';
|
|
5
|
+
export type { OmitEntry, OmitEntryWithFilter } from './types';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document/query/tree-filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC/C,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { OmitEntry } from './types';
|
|
2
|
+
import { AnyDialecteConfig, ElementsOf, TrackedRecord, TreeRecord } from '../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Compiled form of the user-facing `omit` array.
|
|
5
|
+
*
|
|
6
|
+
* - `unconditional` — tagNames omitted regardless of attributes (O(1) lookup).
|
|
7
|
+
* - `conditional` — omit only when a record's attributes match `where`;
|
|
8
|
+
* `scope:'self'` drops the node, `scope:'children'` keeps it but stops below.
|
|
9
|
+
*/
|
|
10
|
+
export type OmitSpecification<GenericConfig extends AnyDialecteConfig> = {
|
|
11
|
+
unconditional: Set<string>;
|
|
12
|
+
conditional: Array<{
|
|
13
|
+
tagName: ElementsOf<GenericConfig>;
|
|
14
|
+
where: Record<string, unknown>;
|
|
15
|
+
scope: 'self' | 'children';
|
|
16
|
+
}>;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Converts the user-facing `omit` array into a split structure for efficient traversal checks.
|
|
20
|
+
*
|
|
21
|
+
* Simple string entries go into `unconditional` (O(1) Set lookup).
|
|
22
|
+
* Object entries with `where` conditions go into `conditional` (checked against record attributes).
|
|
23
|
+
* This avoids re-parsing the omit array on every node visit.
|
|
24
|
+
*/
|
|
25
|
+
export declare function parseOmit<GenericConfig extends AnyDialecteConfig>(omit: OmitEntry<GenericConfig>[] | undefined): OmitSpecification<GenericConfig>;
|
|
26
|
+
/**
|
|
27
|
+
* Whether a node itself should be dropped (`scope:'self'` omit, conditional or
|
|
28
|
+
* unconditional).
|
|
29
|
+
*/
|
|
30
|
+
export declare function isOmitted<GenericConfig extends AnyDialecteConfig>(params: {
|
|
31
|
+
record: TrackedRecord<GenericConfig, ElementsOf<GenericConfig>>;
|
|
32
|
+
compiledOmit: OmitSpecification<GenericConfig>;
|
|
33
|
+
}): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether traversal should stop below a node (`scope:'children'` omit) — the
|
|
36
|
+
* node is kept but its descendants are dropped.
|
|
37
|
+
*/
|
|
38
|
+
export declare function shouldStopTraversal<GenericConfig extends AnyDialecteConfig>(params: {
|
|
39
|
+
record: TrackedRecord<GenericConfig, ElementsOf<GenericConfig>>;
|
|
40
|
+
compiledOmit: OmitSpecification<GenericConfig>;
|
|
41
|
+
}): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Apply `omit` to an already-built tree (pure `TreeRecord → TreeRecord`).
|
|
44
|
+
*
|
|
45
|
+
* The root is never dropped (it is the queried element); omit is applied to its
|
|
46
|
+
* descendants, mirroring `getTree`'s fetch-time pruning so both features share
|
|
47
|
+
* the same semantics.
|
|
48
|
+
*/
|
|
49
|
+
export declare function applyOmit<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
50
|
+
tree: TreeRecord<GenericConfig, GenericElement>;
|
|
51
|
+
omit: OmitEntry<GenericConfig>[] | undefined;
|
|
52
|
+
}): TreeRecord<GenericConfig, GenericElement>;
|
|
53
|
+
//# sourceMappingURL=omit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../../../src/document/query/tree-filter/omit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEvF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,aAAa,SAAS,iBAAiB,IAAI;IACxE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,WAAW,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;QAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9B,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;KAC1B,CAAC,CAAA;CACF,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,aAAa,SAAS,iBAAiB,EAChE,IAAI,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,GAC1C,iBAAiB,CAAC,aAAa,CAAC,CA6BlC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC1E,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,YAAY,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;CAC9C,GAAG,OAAO,CAgBV;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACpF,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,YAAY,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;CAC9C,GAAG,OAAO,CAcV;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACxB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,IAAI,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,IAAI,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,CAAA;CAC5C,GAAG,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAqB5C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AnyDialecteConfig, ElementsOf, TreeRecord } from '../../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Order every node's children by the config-declared child sequence
|
|
4
|
+
* (pure `TreeRecord → TreeRecord`).
|
|
5
|
+
*
|
|
6
|
+
* Reuses the same `orderByConfigSequence` comparator as XML building, so a tree
|
|
7
|
+
* and its XML serialization share one ordering. Apply as the final post-pass
|
|
8
|
+
* (after `omit`/`unwrap`) so promoted children also sort into sequence.
|
|
9
|
+
*/
|
|
10
|
+
export declare function applyOrder<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
11
|
+
tree: TreeRecord<GenericConfig, GenericElement>;
|
|
12
|
+
childrenConfig: GenericConfig['children'];
|
|
13
|
+
}): TreeRecord<GenericConfig, GenericElement>;
|
|
14
|
+
//# sourceMappingURL=order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../src/document/query/tree-filter/order.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEvF;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,IAAI,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,cAAc,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;CACzC,GAAG,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAe5C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FilterAttributes } from '../..';
|
|
2
|
+
import { AnyDialecteConfig, ElementsOf } from '../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Omit entry with optional where filter and scope.
|
|
5
|
+
* Key-based format consistent with collect entries:
|
|
6
|
+
* - `'DOS'` - omit all DOS elements
|
|
7
|
+
* - `{ LNode: { where: { lnClass: 'LPHD' } } }` - conditional omit
|
|
8
|
+
* - `{ AA_1: { scope: 'children' } }` - keep node, stop traversal
|
|
9
|
+
*/
|
|
10
|
+
export type OmitEntryWithFilter<GenericConfig extends AnyDialecteConfig> = {
|
|
11
|
+
[K in ElementsOf<GenericConfig>]?: {
|
|
12
|
+
where?: FilterAttributes<GenericConfig, K>;
|
|
13
|
+
scope?: 'self' | 'children';
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export type OmitEntry<GenericConfig extends AnyDialecteConfig> = ElementsOf<GenericConfig> | OmitEntryWithFilter<GenericConfig>;
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/document/query/tree-filter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,iBAAiB,IAAI;KACzE,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QAClC,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;KAC3B;CACD,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,aAAa,SAAS,iBAAiB,IAC1D,UAAU,CAAC,aAAa,CAAC,GACzB,mBAAmB,CAAC,aAAa,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AnyDialecteConfig, ElementsOf, TreeRecord } from '../../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Remove `unwrapTagNames` layers from a tree, promoting their children up to the
|
|
4
|
+
* removed node's parent (pure `TreeRecord → TreeRecord`).
|
|
5
|
+
*
|
|
6
|
+
* Used to hide "transparent" structural elements that are abstracted away in the
|
|
7
|
+
* UI, so both `getTree` and `getSnapshot` present the same shape.
|
|
8
|
+
*/
|
|
9
|
+
export declare function applyUnwrap<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
10
|
+
tree: TreeRecord<GenericConfig, GenericElement>;
|
|
11
|
+
unwrapTagNames: ElementsOf<GenericConfig>[];
|
|
12
|
+
}): TreeRecord<GenericConfig, GenericElement>;
|
|
13
|
+
//# sourceMappingURL=unwrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unwrap.d.ts","sourceRoot":"","sources":["../../../../src/document/query/tree-filter/unwrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAExE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,IAAI,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAA;CAC3C,GAAG,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAe5C"}
|
package/dist/document/types.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Query } from './query';
|
|
2
|
+
import { ExtensionsRegistry, QueryExtensions } from './types.extensions';
|
|
1
3
|
import { DialecteError } from '../errors';
|
|
2
4
|
import { Store } from '../store';
|
|
3
5
|
import { AnyDialecteConfig, Operation, AnyRawRecord } from '../types';
|
|
@@ -22,13 +24,26 @@ export type Context<GenericConfig extends AnyDialecteConfig> = {
|
|
|
22
24
|
export type CachedContext<GenericConfig extends AnyDialecteConfig> = Context<GenericConfig> & {
|
|
23
25
|
readonly recordCache: Map<string, AnyRawRecord>;
|
|
24
26
|
};
|
|
25
|
-
export type PreparedTransaction<GenericConfig extends AnyDialecteConfig> = {
|
|
27
|
+
export type PreparedTransaction<GenericConfig extends AnyDialecteConfig, GenericExtension extends ExtensionsRegistry = {}> = {
|
|
26
28
|
readonly operations: ReadonlyArray<Operation<GenericConfig>>;
|
|
27
29
|
readonly summary: {
|
|
28
30
|
creates: number;
|
|
29
31
|
updates: number;
|
|
30
32
|
deletes: number;
|
|
31
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Read-only view of the in-progress transaction.
|
|
36
|
+
*
|
|
37
|
+
* Typed as `Query` plus the dialecte's **query** extensions, so domain query
|
|
38
|
+
* methods (e.g. an `SclQuery`'s) appear in intellisense, while transaction
|
|
39
|
+
* mutations stay hidden by the type (they exist at runtime). Reads overlay
|
|
40
|
+
* staged ops automatically, so this reflects the hooks-applied, uncommitted
|
|
41
|
+
* state.
|
|
42
|
+
*
|
|
43
|
+
* Valid only BEFORE `commit()`/`discard()` — both clear the staged ops and
|
|
44
|
+
* record cache, after which the query reads the bare store.
|
|
45
|
+
*/
|
|
46
|
+
readonly query: Query<GenericConfig> & QueryExtensions<GenericExtension>;
|
|
32
47
|
commit(): Promise<void>;
|
|
33
48
|
discard(): void;
|
|
34
49
|
};
|