@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.
Files changed (63) hide show
  1. package/dist/document/document.d.ts +1 -1
  2. package/dist/document/document.d.ts.map +1 -1
  3. package/dist/document/query/any/any-query.d.ts +13 -2
  4. package/dist/document/query/any/any-query.d.ts.map +1 -1
  5. package/dist/document/query/find/descendant/find-descendant.types.d.ts +1 -1
  6. package/dist/document/query/find/descendant/find-descendant.types.d.ts.map +1 -1
  7. package/dist/document/query/get/record/index.d.ts +1 -0
  8. package/dist/document/query/get/record/index.d.ts.map +1 -1
  9. package/dist/document/query/get/record/staged-lookup.d.ts +35 -1
  10. package/dist/document/query/get/record/staged-lookup.d.ts.map +1 -1
  11. package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
  12. package/dist/document/query/get/tree/get-tree.types.d.ts +1 -14
  13. package/dist/document/query/get/tree/get-tree.types.d.ts.map +1 -1
  14. package/dist/document/query/get/tree/index.d.ts +1 -1
  15. package/dist/document/query/get/tree/index.d.ts.map +1 -1
  16. package/dist/document/query/index.d.ts +2 -0
  17. package/dist/document/query/index.d.ts.map +1 -1
  18. package/dist/document/query/main.d.ts +24 -1
  19. package/dist/document/query/main.d.ts.map +1 -1
  20. package/dist/document/query/snapshot/collect-snapshot.d.ts +23 -0
  21. package/dist/document/query/snapshot/collect-snapshot.d.ts.map +1 -0
  22. package/dist/document/query/snapshot/get-snapshot.d.ts +21 -0
  23. package/dist/document/query/snapshot/get-snapshot.d.ts.map +1 -0
  24. package/dist/document/query/snapshot/index.d.ts +5 -0
  25. package/dist/document/query/snapshot/index.d.ts.map +1 -0
  26. package/dist/document/query/snapshot/records-to-tree.d.ts +14 -0
  27. package/dist/document/query/snapshot/records-to-tree.d.ts.map +1 -0
  28. package/dist/document/query/snapshot/snapshot.types.d.ts +52 -0
  29. package/dist/document/query/snapshot/snapshot.types.d.ts.map +1 -0
  30. package/dist/document/query/tree-filter/index.d.ts +6 -0
  31. package/dist/document/query/tree-filter/index.d.ts.map +1 -0
  32. package/dist/document/query/tree-filter/omit.d.ts +53 -0
  33. package/dist/document/query/tree-filter/omit.d.ts.map +1 -0
  34. package/dist/document/query/tree-filter/order.d.ts +14 -0
  35. package/dist/document/query/tree-filter/order.d.ts.map +1 -0
  36. package/dist/document/query/tree-filter/types.d.ts +17 -0
  37. package/dist/document/query/tree-filter/types.d.ts.map +1 -0
  38. package/dist/document/query/tree-filter/unwrap.d.ts +13 -0
  39. package/dist/document/query/tree-filter/unwrap.d.ts.map +1 -0
  40. package/dist/document/types.d.ts +16 -1
  41. package/dist/document/types.d.ts.map +1 -1
  42. package/dist/helpers.js +1 -1
  43. package/dist/index.js +3 -3
  44. package/dist/{project-B6LoveZA.js → project-CbTmBW8e.js} +6792 -6523
  45. package/dist/test/run-test-cases.d.ts.map +1 -1
  46. package/dist/test/run-test-cases.type.d.ts +8 -0
  47. package/dist/test/run-test-cases.type.d.ts.map +1 -1
  48. package/dist/test.js +15 -11
  49. package/dist/utils/index.d.ts +1 -0
  50. package/dist/utils/index.d.ts.map +1 -1
  51. package/dist/utils/order-children.d.ts +19 -0
  52. package/dist/utils/order-children.d.ts.map +1 -0
  53. package/dist/{utils-CmyVTqDb.js → utils-XD-swXWn.js} +21 -2
  54. package/dist/utils.js +2 -2
  55. package/dist/xml/build/build-xml-document.d.ts.map +1 -1
  56. package/dist/xml/build/build-xml-document.types.d.ts +7 -0
  57. package/dist/xml/build/build-xml-document.types.d.ts.map +1 -1
  58. package/dist/xml/build/download-file.d.ts.map +1 -1
  59. package/dist/xml/build/index.d.ts +1 -0
  60. package/dist/xml/build/index.d.ts.map +1 -1
  61. package/dist/xml/build/serialize.d.ts +9 -0
  62. package/dist/xml/build/serialize.d.ts.map +1 -0
  63. package/package.json +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;IASzB;;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,CAAC,CAAC;IA2F9C,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAIb,wDAAwD;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
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":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAO,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EAEb,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,qBAAa,QAAQ,CAAC,aAAa,SAAS,iBAAiB;IAE3D,SAAS,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC;IAClD,SAAS,CAAC,cAAc,EAAE,aAAa;gBAD7B,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EACxC,cAAc,EAAE,aAAa;IAGlC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAO7D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE,CAAC;IAOrE,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAQxF,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQjF,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOjE,YAAY,CACjB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,CAAC;IACZ,YAAY,CACjB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,GACxC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAW9B,aAAa,CAClB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,aAAa,CAClB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,EAAE;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAWpB,OAAO,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAQpF,eAAe,CACpB,WAAW,EAAE,cAAc,GAAG,SAAS,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAUxC,aAAa,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQnF,gBAAgB,CAAC,MAAM,EAAE;QAC9B,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KAC7C,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAO/B"}
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 '../../get/tree/get-tree.types';
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":"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"}
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":"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
+ {"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;;;;;;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;AAErC,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
+ {"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,3 +1,3 @@
1
1
  export { getTree } from './get-tree';
2
- export type { GetTreeParams, TreeSelect, OmitEntry } from './get-tree.types';
2
+ export type { GetTreeParams, TreeSelect } from './get-tree.types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -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,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
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"}
@@ -2,4 +2,6 @@ export { Query } from './main';
2
2
  export { AnyQuery } from './any';
3
3
  export * from './get';
4
4
  export * from './find';
5
+ export * from './snapshot';
6
+ export * from './tree-filter';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -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":"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"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -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
  };