@dialecte/core 0.4.11 → 0.4.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/document/document.d.ts +18 -2
  2. package/dist/document/document.d.ts.map +1 -1
  3. package/dist/document/index.d.ts +3 -1
  4. package/dist/document/index.d.ts.map +1 -1
  5. package/dist/document/progress/create-progress-reporter.d.ts +19 -0
  6. package/dist/document/progress/create-progress-reporter.d.ts.map +1 -0
  7. package/dist/document/progress/index.d.ts +4 -0
  8. package/dist/document/progress/index.d.ts.map +1 -0
  9. package/dist/document/progress/noop-progress-reporter.d.ts +4 -0
  10. package/dist/document/progress/noop-progress-reporter.d.ts.map +1 -0
  11. package/dist/document/progress/progress.types.d.ts +48 -0
  12. package/dist/document/progress/progress.types.d.ts.map +1 -0
  13. package/dist/document/query/get/record/get-record.d.ts.map +1 -1
  14. package/dist/document/query/get/record/get-records-by-tagname.d.ts.map +1 -1
  15. package/dist/document/query/get/record/staged-lookup.d.ts +7 -6
  16. package/dist/document/query/get/record/staged-lookup.d.ts.map +1 -1
  17. package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
  18. package/dist/document/query/get/tree/get-tree.types.d.ts +10 -0
  19. package/dist/document/query/get/tree/get-tree.types.d.ts.map +1 -1
  20. package/dist/document/query/main.d.ts +10 -6
  21. package/dist/document/query/main.d.ts.map +1 -1
  22. package/dist/document/staged-operations.d.ts +5 -0
  23. package/dist/document/staged-operations.d.ts.map +1 -0
  24. package/dist/document/transaction/clone/clone.d.ts.map +1 -1
  25. package/dist/document/transaction/commit/commit.d.ts +4 -0
  26. package/dist/document/transaction/commit/commit.d.ts.map +1 -1
  27. package/dist/document/transaction/create/create.d.ts +1 -1
  28. package/dist/document/transaction/main.d.ts +11 -5
  29. package/dist/document/transaction/main.d.ts.map +1 -1
  30. package/dist/document/transaction/stage-operations.d.ts.map +1 -1
  31. package/dist/document/types.d.ts +18 -6
  32. package/dist/document/types.d.ts.map +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +3 -3
  36. package/dist/perf/create-perf.d.ts +13 -0
  37. package/dist/perf/create-perf.d.ts.map +1 -0
  38. package/dist/perf/index.d.ts +4 -0
  39. package/dist/perf/index.d.ts.map +1 -0
  40. package/dist/perf/noop-perf.d.ts +4 -0
  41. package/dist/perf/noop-perf.d.ts.map +1 -0
  42. package/dist/perf/perf.types.d.ts +51 -0
  43. package/dist/perf/perf.types.d.ts.map +1 -0
  44. package/dist/project/io/import-document.d.ts.map +1 -1
  45. package/dist/project/project.d.ts +19 -1
  46. package/dist/project/project.d.ts.map +1 -1
  47. package/dist/project/types.d.ts +3 -0
  48. package/dist/project/types.d.ts.map +1 -1
  49. package/dist/{project-BjO7cVmO.js → project-FFHlnZpz.js} +1707 -1441
  50. package/dist/store/in-memory/in-memory-store.d.ts +1 -0
  51. package/dist/store/in-memory/in-memory-store.d.ts.map +1 -1
  52. package/dist/store/local/dexie-store.d.ts +3 -0
  53. package/dist/store/local/dexie-store.d.ts.map +1 -1
  54. package/dist/store/local/types.d.ts +3 -0
  55. package/dist/store/local/types.d.ts.map +1 -1
  56. package/dist/store/resolve-store.d.ts +2 -1
  57. package/dist/store/resolve-store.d.ts.map +1 -1
  58. package/dist/store/store.types.d.ts +2 -0
  59. package/dist/store/store.types.d.ts.map +1 -1
  60. package/dist/test/create-test-dialecte.d.ts +3 -0
  61. package/dist/test/create-test-dialecte.d.ts.map +1 -1
  62. package/dist/test/fixtures/generate-stress-fixtures.d.ts +26 -0
  63. package/dist/test/fixtures/generate-stress-fixtures.d.ts.map +1 -0
  64. package/dist/test.js +113 -104
  65. package/dist/xml/parse/parse-xml-document.d.ts.map +1 -1
  66. package/dist/xml/parse/parse-xml-document.types.d.ts +3 -0
  67. package/dist/xml/parse/parse-xml-document.types.d.ts.map +1 -1
  68. package/dist/xml/parse/parser.d.ts +2 -0
  69. package/dist/xml/parse/parser.d.ts.map +1 -1
  70. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { Query } from './query';
2
2
  import { Transaction } from './transaction';
3
3
  import { PreparedTransaction, DocumentState } from './types';
4
4
  import { AllExtensions, ExtensionsRegistry, QueryExtensions } from './types.extensions';
5
+ import { Perf } from '../perf';
5
6
  import { ProjectChannelMessage } from '../project/types';
6
7
  import { Store } from '../store';
7
8
  import { AnyDialecteConfig, DialecteHooks } from '../types';
@@ -37,7 +38,19 @@ export declare class Document<GenericConfig extends AnyDialecteConfig, GenericEx
37
38
  */
38
39
  readonly channelName: string;
39
40
  /** Announce a mutation on the project channel (provided by the owning Project) */
40
- private notify;
41
+ private broadcast;
42
+ /** Project-lived dev perf helper (shared instance; no-op unless `dev.perf`). */
43
+ readonly perf: Perf;
44
+ /**
45
+ * Register a callback fired (synchronously, same-realm) whenever this document's
46
+ * shared state changes: progress steps + loading toggles during a transaction,
47
+ * undo/redo, and folded-in cross-realm commits. `terminal` is `true` for the
48
+ * final frame of an operation, letting a consumer flush it without coalescing.
49
+ * Returns an unsubscribe function. Wired from the owning Project's registry.
50
+ */
51
+ readonly subscribe: (callback: (terminal: boolean) => void) => () => void;
52
+ /** Wake this document's subscribers (provided by the owning Project). */
53
+ private signalStateChange;
41
54
  /**
42
55
  * Recompute this document's canUndo/canRedo on the shared project entry
43
56
  * (provided by the owning Project). Called locally after a commit so the
@@ -49,8 +62,11 @@ export declare class Document<GenericConfig extends AnyDialecteConfig, GenericEx
49
62
  constructor(store: Store, config: GenericConfig, documentId: string, extensions: GenericExtension | undefined, hooks: DialecteHooks<GenericConfig> | undefined, project: {
50
63
  state: DocumentState;
51
64
  channelName: string;
52
- notify: (message: ProjectChannelMessage) => void;
65
+ broadcast: (message: ProjectChannelMessage) => void;
53
66
  refreshHistoryStatus: () => Promise<void>;
67
+ perf: Perf;
68
+ subscribeState: (callback: (terminal: boolean) => void) => () => void;
69
+ signalStateChange: (terminal: boolean) => void;
54
70
  });
55
71
  private withQueryExtensions;
56
72
  private withAllExtensions;
@@ -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,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE/D;;;;;;;;;;;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,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAkB;IAE7C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAA0C;IAExD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAAqB;IAEjD,2DAA2D;IAC3D,OAAO,CAAC,kBAAkB,CAAI;gBAG7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,EAC/C,OAAO,EAAE;QACR,KAAK,EAAE,aAAa,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAA;QAChD,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KACzC;IAeF,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;IAkDb;;;;;;;;;;;;;;;;;;;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;IAiGhE,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":"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"}
@@ -1,8 +1,10 @@
1
1
  export { Document } from './document';
2
2
  export { bindExtensions } from './bind-extensions';
3
+ export { createStagedOperations } from './staged-operations';
3
4
  export * from './query';
4
5
  export * from './transaction';
5
- export type { ExtendedDocument, Context, CachedContext, PreparedTransaction, DocumentState, TransactionEntry, } from './types';
6
+ export type { ProgressReporter, DocumentProgress } from './progress';
7
+ export type { ExtendedDocument, Context, CachedContext, StagedOperations, PreparedTransaction, DocumentState, TransactionEntry, } from './types';
6
8
  export type * from './types.extensions';
7
9
  export type * from './types.ref';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B,YAAY,EACX,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,SAAS,CAAA;AAEhB,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEpE,YAAY,EACX,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,SAAS,CAAA;AAEhB,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,aAAa,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { ProgressReporter } from './progress.types';
2
+ import { DocumentState } from '../types';
3
+ /**
4
+ * Real reporter — sole writer of `DocumentState.progress`. Transaction owns one
5
+ * instance per transaction; extensions reach it via `tx.progress`.
6
+ *
7
+ * Model: a STACK of plans. `plan()` pushes a frame (child of the current innermost,
8
+ * or the main when the stack is empty); `nextStep()` advances the innermost frame
9
+ * (close-previous — `current` = COMPLETED steps); `endPlan()` pops. The two-level
10
+ * `DocumentState.progress` is projected from the stack: the main (stack[0]) drives
11
+ * the bar, the deepest frame drives the `step` sub-bar and the caption.
12
+ *
13
+ * `signalStateChange(terminal)` is fired after every mutation so a subscriber (the
14
+ * owning Document's reactive registry) can react. `terminal` is `true` only for the
15
+ * final frame of an operation (an `endPlan()` that empties the stack, or
16
+ * `forceClear()`), letting the UI flush it synchronously instead of coalescing it away.
17
+ */
18
+ export declare function createProgressReporter(state: DocumentState, signalStateChange?: (terminal: boolean) => void): ProgressReporter;
19
+ //# sourceMappingURL=create-progress-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-progress-reporter.d.ts","sourceRoot":"","sources":["../../../src/document/progress/create-progress-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAUrD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,aAAa,EACpB,iBAAiB,GAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAe,GACvD,gBAAgB,CAkDlB"}
@@ -0,0 +1,4 @@
1
+ export { createProgressReporter } from './create-progress-reporter';
2
+ export { NOOP_PROGRESS_REPORTER } from './noop-progress-reporter';
3
+ export type { ProgressReporter, DocumentProgress, PlanInput } from './progress.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ProgressReporter } from './progress.types';
2
+ /** Query gets this — reads never report progress, so writes are no-ops. */
3
+ export declare const NOOP_PROGRESS_REPORTER: ProgressReporter;
4
+ //# sourceMappingURL=noop-progress-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-progress-reporter.d.ts","sourceRoot":"","sources":["../../../src/document/progress/noop-progress-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,EAAE,gBAKnC,CAAA"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Two-level projection stored on `DocumentState.progress`, derived from the
3
+ * reporter's plan stack:
4
+ *
5
+ * - `current`/`total` come from the main plan (stack[0]); `label` shows the
6
+ * deepest plan's caption when it has one (more specific), else the main's;
7
+ * - `step` is the deepest nested plan's own `current`/`total` (cosmetic sub-bar),
8
+ * or `null` when only the main plan is open.
9
+ */
10
+ export type DocumentProgress = {
11
+ current: number;
12
+ total: number;
13
+ label: string;
14
+ step: {
15
+ current: number;
16
+ total: number;
17
+ } | null;
18
+ } | null;
19
+ /** A plan level: how many steps it has and an optional caption. */
20
+ export type PlanInput = {
21
+ steps: number;
22
+ label?: string;
23
+ };
24
+ /**
25
+ * Reporter methods for progress. Transaction builds a real one (writes into
26
+ * `DocumentState.progress`); Query gets a no-op (see `noop-progress-reporter.ts`).
27
+ *
28
+ * Model: a STACK of plans. `plan()` pushes a level, `nextStep()` advances the
29
+ * innermost level (close-previous: `current` = COMPLETED steps), `endPlan()` pops.
30
+ * Nesting is automatic — a nested op writes `plan()`/`nextStep()`/`endPlan()`
31
+ * identically whether it runs top-level or inside another plan.
32
+ *
33
+ * Balancing rule: every `plan()` you open you close with `endPlan()`, EXCEPT the
34
+ * transaction body's main plan, which the transaction closes for you via
35
+ * `forceClear()`. On a throw you skip `endPlan()` — `forceClear()` unwinds the
36
+ * whole stack.
37
+ */
38
+ export type ProgressReporter = {
39
+ /** Push a plan level (child of the current innermost, or the main if none). */
40
+ plan(plan: PlanInput): void;
41
+ /** Advance the innermost plan by one step (close-previous); optionally recaption. */
42
+ nextStep(label?: string): void;
43
+ /** Pop the innermost plan. Clears progress only once the stack is empty. */
44
+ endPlan(): void;
45
+ /** Unconditional clear — empties the whole plan stack regardless of balance. */
46
+ forceClear(): void;
47
+ };
48
+ //# sourceMappingURL=progress.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.types.d.ts","sourceRoot":"","sources":["../../../src/document/progress/progress.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC/C,GAAG,IAAI,CAAA;AAER,mEAAmE;AACnE,MAAM,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,+EAA+E;IAC/E,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,4EAA4E;IAC5E,OAAO,IAAI,IAAI,CAAA;IACf,gFAAgF;IAChF,UAAU,IAAI,IAAI,CAAA;CAClB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-record.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-record.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAa,aAAa,EAAE,MAAM,SAAS,CAAA;AAEtF;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,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,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CAC/C,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,CAwDpE"}
1
+ {"version":3,"file":"get-record.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-record.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAa,aAAa,EAAE,MAAM,SAAS,CAAA;AAEtF;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,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,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CAC/C,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,CA8DpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-records-by-tagname.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-records-by-tagname.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAa,aAAa,EAAE,MAAM,SAAS,CAAA;AAEtF;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,OAAO,EAAE,cAAc,CAAA;CACvB,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAY1D"}
1
+ {"version":3,"file":"get-records-by-tagname.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-records-by-tagname.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAa,aAAa,EAAE,MAAM,SAAS,CAAA;AAEtF;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,OAAO,EAAE,cAAc,CAAA;CACvB,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAa1D"}
@@ -1,16 +1,17 @@
1
+ import { StagedOperations } from '../../..';
1
2
  import { AnyDialecteConfig, Operation, ElementsOf, TrackedRecord, RawRecord, AnyRawRecord, AnyTrackedRecord } from '../../../../types';
2
3
  /**
3
- * Find the latest staged operation matching a record id.
4
- * Scans operations in reverse (most recent first).
4
+ * Find the latest staged record matching a ref.
5
5
  *
6
- * When id is omitted (singleton), matches by tagName only.
6
+ * By id: answered in O(1) from the maintained `byId` index.
7
+ * Without id (singleton): reverse-scans the ordered `log` by tagName, most-recent first.
7
8
  *
8
9
  * Pure function — no DB access, no side effects.
9
10
  *
10
- * @returns The record + operation status, or undefined if not in staged ops
11
+ * @returns The record + operation status, or undefined if not staged
11
12
  */
12
13
  export declare function getLatestStagedRecord<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
13
- stagedOperations: ReadonlyArray<Operation<GenericConfig>>;
14
+ stagedOperations: StagedOperations<GenericConfig>;
14
15
  tagName: GenericElement;
15
16
  id?: string;
16
17
  }): TrackedRecord<GenericConfig, GenericElement> | undefined;
@@ -40,7 +41,7 @@ export declare function overlayStaged<GenericConfig extends AnyDialecteConfig, G
40
41
  */
41
42
  export declare function overlayAllStaged<GenericConfig extends AnyDialecteConfig>(params: {
42
43
  rawRecords: AnyRawRecord[];
43
- stagedOperations: ReadonlyArray<Operation<GenericConfig>>;
44
+ stagedOperations: StagedOperations<GenericConfig>;
44
45
  includeDeleted?: boolean;
45
46
  }): {
46
47
  live: Map<string, AnyTrackedRecord>;
@@ -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,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
+ {"version":3,"file":"staged-lookup.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/staged-lookup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,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,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACjD,OAAO,EAAE,cAAc,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;CACX,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAgC3D;AA0CD;;;;;;;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,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACjD,cAAc,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAqCvE;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":"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
+ {"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"AAcA,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,CAmDjE"}
@@ -22,6 +22,16 @@ export type GetTreeParams<GenericConfig extends AnyDialecteConfig, GenericElemen
22
22
  select?: TreeSelect<GenericConfig, GenericElement>;
23
23
  omit?: OmitEntry<GenericConfig>[];
24
24
  unwrap?: ElementsOf<GenericConfig>[];
25
+ /**
26
+ * Structural depth to expand. `undefined` = full tree; `0` = the node alone; `1` = node + its
27
+ * direct children; etc. Unexpanded nodes keep their `children` refs (so a caller can tell a
28
+ * collapsed branch from a leaf) but an empty `tree`. Bounded depth reads only the levels it
29
+ * needs (one batched store call per level) instead of the whole document — but only for a
30
+ * committed read (no pending staged writes) with a concrete `id`. Inside a transaction with
31
+ * pending writes, or without an `id`, a bounded `depth` still reads the whole document so the
32
+ * staged overlay stays correct; scoped BFS never runs against uncommitted state.
33
+ */
34
+ depth?: number;
25
35
  };
26
36
  export {};
27
37
  //# sourceMappingURL=get-tree.types.d.ts.map
@@ -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,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
+ {"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;IACpC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { AnyQuery } from './any';
2
- import { Context } from '../types';
2
+ import { Context, StagedOperations } from '../types';
3
3
  import { FindAncestorsOptions, FilterAttributes, Collect, FindDescendantsParams, FindDescendantsReturn } from './find';
4
4
  import { GetTreeParams } from './get';
5
5
  import { GetSnapshotOptions, SnapshotResult } from './snapshot';
6
6
  import { RefOrRecord } from '..';
7
+ import { Perf } from '../../perf';
7
8
  import { DocumentRecord } from '../../project';
8
9
  import { Store } from '../../store';
9
- import { AnyDialecteConfig, AnyTreeRecord, AttributesOf, DefaultAttributesValueObjectOf, DescendantsOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, NamespacedAttributesValueObjectOf, NamespaceKeysUsedByElement, TrackedRecord, TreeRecord, Operation, RootElementOf } from '../../types';
10
+ import { AnyDialecteConfig, AnyTreeRecord, AttributesOf, DefaultAttributesValueObjectOf, DescendantsOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, NamespacedAttributesValueObjectOf, NamespaceKeysUsedByElement, TrackedRecord, TreeRecord, RootElementOf } from '../../types';
10
11
  import { AttributeDefaults } from '../../utils';
11
12
  /**
12
13
  * Query — query-only access to a dialecte's store.
@@ -21,14 +22,17 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
21
22
  protected store: Store;
22
23
  protected dialecteConfig: GenericConfig;
23
24
  protected documentId: string;
25
+ protected _perf: Perf;
24
26
  private _any?;
25
- constructor(store: Store, dialecteConfig: GenericConfig, documentId: string);
27
+ constructor(store: Store, dialecteConfig: GenericConfig, documentId: string, perf?: Perf);
28
+ /** Dev-only perf helper (real when `dev.perf` is on, else a frozen no-op). */
29
+ get perf(): Perf;
26
30
  get any(): AnyQuery<GenericConfig>;
27
31
  /**
28
- * Override point for Transaction: returns staged operations to overlay.
29
- * Query returns [] — no staged ops. Transaction returns its stagedOperations.
32
+ * Override point for Transaction: returns the staged operations to overlay.
33
+ * Query has none — returns a fresh empty container. Transaction returns its own.
30
34
  */
31
- protected getOperations(): Operation<GenericConfig>[];
35
+ protected getOperations(): StagedOperations<GenericConfig>;
32
36
  /**
33
37
  * Read-only context passed to record FP functions.
34
38
  * Expose as `protected` so dialecte subclasses (e.g. SclQuery) can call
@@ -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,5 @@
1
+ import { StagedOperations } from './types';
2
+ import { AnyDialecteConfig } from '../types';
3
+ /** Fresh empty staged-operations container (ordered log + derived by-id index). */
4
+ export declare function createStagedOperations<GenericConfig extends AnyDialecteConfig>(): StagedOperations<GenericConfig>;
5
+ //# sourceMappingURL=staged-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staged-operations.d.ts","sourceRoot":"","sources":["../../src/document/staged-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,mFAAmF;AACnF,wBAAgB,sBAAsB,CACrC,aAAa,SAAS,iBAAiB,KACnC,gBAAgB,CAAC,aAAa,CAAC,CAEnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/clone/clone.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EAEV,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;;;;;GAOG;AACH,wBAAsB,cAAc,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EACpE,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACvC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC7C,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;CACtD,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAmB3D"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/clone/clone.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EAEV,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;;;;;GAOG;AACH,wBAAsB,cAAc,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EACpE,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACvC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC7C,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;CACtD,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CA+B3D"}
@@ -1,4 +1,6 @@
1
+ import { ProgressReporter } from '../../progress';
1
2
  import { DocumentState } from '../../types';
3
+ import { Perf } from '../../../perf';
2
4
  import { Store } from '../../../store/store.types';
3
5
  import { AnyDialecteConfig, Operation } from '../../../types';
4
6
  export declare function commitTransaction<GenericConfig extends AnyDialecteConfig>(params: {
@@ -6,5 +8,7 @@ export declare function commitTransaction<GenericConfig extends AnyDialecteConfi
6
8
  store: Store;
7
9
  documentId: string;
8
10
  documentState: DocumentState;
11
+ progress: ProgressReporter;
12
+ perf?: Perf;
9
13
  }): Promise<void>;
10
14
  //# sourceMappingURL=commit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/commit/commit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3D,wBAAsB,iBAAiB,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACxF,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,aAAa,CAAA;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/commit/commit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3D,wBAAsB,iBAAiB,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACxF,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,aAAa,CAAA;IAC5B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAA;CACX,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChB"}
@@ -3,7 +3,7 @@ import { Context, Query, Ref } from '../..';
3
3
  import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, TransactionHooks } from '../../../types';
4
4
  /**
5
5
  * Fetches parent, builds and stages operations for adding a child.
6
- * Pushes operations directly to context.stagedOperations.
6
+ * Pushes operations directly to context.stagedOperations.log.
7
7
  */
8
8
  export declare function stageAddChild<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(params: {
9
9
  dialecteConfig: GenericConfig;
@@ -1,10 +1,12 @@
1
1
  import { Query } from '../query';
2
2
  import { AnyTransaction } from './any';
3
- import { DocumentState, Context } from '../types';
3
+ import { ProgressReporter } from '../progress';
4
+ import { DocumentState, Context, StagedOperations } from '../types';
4
5
  import { CloneResult } from './clone';
5
6
  import { AddChildParams } from './create';
6
7
  import { UpdateParams } from './update';
7
8
  import { RefOrRecord } from '..';
9
+ import { Perf } from '../../perf';
8
10
  import { Store } from '../../store';
9
11
  import { AnyDialecteConfig, AnyRawRecord, ChildrenOf, ElementsOf, Operation, ParentsOf, RawRecord, TreeRecord, TransactionHooks } from '../../types';
10
12
  /**
@@ -22,21 +24,25 @@ import { AnyDialecteConfig, AnyRawRecord, ChildrenOf, ElementsOf, Operation, Par
22
24
  * Subclass in a dialecte (e.g. SclTransaction) to add domain-specific mutations.
23
25
  */
24
26
  export declare class Transaction<GenericConfig extends AnyDialecteConfig> extends Query<GenericConfig> {
25
- protected stagedOperations: Operation<GenericConfig>[];
27
+ /** Ordered write log + derived by-id index (kept in sync by stageOperation). */
28
+ protected stagedOperations: StagedOperations<GenericConfig>;
26
29
  protected documentActivity: DocumentState;
27
30
  protected recordCache: Map<string, AnyRawRecord>;
28
31
  protected hooks: TransactionHooks<GenericConfig> | undefined;
32
+ protected progressReporter: ProgressReporter;
29
33
  private _anyTx?;
30
- constructor(store: Store, dialecteConfig: GenericConfig, documentId: string, documentActivity: DocumentState, hooks?: TransactionHooks<GenericConfig>);
34
+ constructor(store: Store, dialecteConfig: GenericConfig, documentId: string, documentActivity: DocumentState, hooks?: TransactionHooks<GenericConfig>, perf?: Perf, signalStateChange?: (terminal: boolean) => void);
35
+ /** Reachable by extensions via `tx.progress` to report coarse progress. */
36
+ get progress(): ProgressReporter;
31
37
  get any(): AnyTransaction<GenericConfig>;
32
38
  /**
33
39
  * Override: returns staged operations so Query's record methods overlay them.
34
40
  */
35
- protected getOperations(): Operation<GenericConfig>[];
41
+ protected getOperations(): StagedOperations<GenericConfig>;
36
42
  /**
37
43
  * Single context for both reads and writes inside a Transaction.
38
44
  * Overrides Query's cacheless context — adds the transaction-scoped cache
39
- * and a mutable stagedOperations array (mutation FP functions push to it).
45
+ * and the mutable staged-operations container (mutation FP functions push to it).
40
46
  */
41
47
  protected get context(): Context<GenericConfig>;
42
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/main.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stage-operations.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/stage-operations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,cAAc,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC/E,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CAC3D,GAAG,IAAI,CAAA;AACR,wBAAgB,cAAc,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC/E,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9D,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CAC9D,GAAG,IAAI,CAAA;AACR,wBAAgB,cAAc,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC/E,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CAC3D,GAAG,IAAI,CAAA;AAuCR,wBAAgB,eAAe,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAChF,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;CACtC,QAoBA"}
1
+ {"version":3,"file":"stage-operations.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/stage-operations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,cAAc,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC/E,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CAC3D,GAAG,IAAI,CAAA;AACR,wBAAgB,cAAc,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC/E,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9D,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CAC9D,GAAG,IAAI,CAAA;AACR,wBAAgB,cAAc,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAC/E,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CAC3D,GAAG,IAAI,CAAA;AAyDR,wBAAgB,eAAe,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IAChF,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;CACtC,QAoBA"}
@@ -1,7 +1,9 @@
1
1
  import { Document } from './document';
2
+ import { ProgressReporter, DocumentProgress } from './progress/progress.types';
2
3
  import { Query } from './query';
3
4
  import { ExtensionsRegistry, QueryExtensions, ExtensionModules, MergedExtensions } from './types.extensions';
4
5
  import { DialecteError } from '../errors';
6
+ import { Perf } from '../perf';
5
7
  import { Store } from '../store';
6
8
  import { AnyDialecteConfig, Operation, AnyRawRecord } from '../types';
7
9
  /**
@@ -15,6 +17,18 @@ import { AnyDialecteConfig, Operation, AnyRawRecord } from '../types';
15
17
  * `type ExtendedDocument<Custom> = Core.ExtendedDocument<Config, BaseModules & Custom>`.
16
18
  */
17
19
  export type ExtendedDocument<GenericConfig extends AnyDialecteConfig, GenericModules extends ExtensionModules> = Document<GenericConfig, MergedExtensions<GenericModules>>;
20
+ /**
21
+ * Staged writes of a transaction.
22
+ *
23
+ * `log` is the ordered write history — the source of truth for commit merge,
24
+ * overlay, and the id-less singleton scan. `byId` is a derived index giving
25
+ * O(1) access to the latest operation for a given record id. The two views are
26
+ * held together so they can never desync.
27
+ */
28
+ export type StagedOperations<GenericConfig extends AnyDialecteConfig> = {
29
+ log: Operation<GenericConfig>[];
30
+ byId: Map<string, Operation<GenericConfig>>;
31
+ };
18
32
  /**
19
33
  * Context passed to methods.
20
34
  *
@@ -27,7 +41,9 @@ export type Context<GenericConfig extends AnyDialecteConfig> = {
27
41
  readonly dialecteConfig: GenericConfig;
28
42
  readonly documentId: string;
29
43
  readonly recordCache: Map<string, AnyRawRecord> | undefined;
30
- stagedOperations: Operation<GenericConfig>[];
44
+ readonly stagedOperations: StagedOperations<GenericConfig>;
45
+ readonly progress: ProgressReporter;
46
+ readonly perf: Perf;
31
47
  };
32
48
  /**
33
49
  * Narrowed Context that has an active cache — only true inside a Transaction.
@@ -78,11 +94,7 @@ export type DocumentState = {
78
94
  loading: boolean;
79
95
  error: DialecteError | null;
80
96
  /** Drives progress bars and status messages (commit, deepClone, bulk ops) */
81
- progress: {
82
- message: string;
83
- current: number;
84
- total: number;
85
- } | null;
97
+ progress: DocumentProgress;
86
98
  /** Breadcrumb trail — what happened in order (debugging) */
87
99
  history: TransactionEntry[];
88
100
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/document/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEzE;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,CAC3B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,IACpC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAA;AAE7D;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,CAAC,aAAa,SAAS,iBAAiB,IAAI;IAC9D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAC3D,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;CAC5C,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,aAAa,SAAS,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG;IAC7F,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAC/C,CAAA;AAID,MAAM,MAAM,mBAAmB,CAC9B,aAAa,SAAS,iBAAiB,EACvC,gBAAgB,SAAS,kBAAkB,GAAG,EAAE,IAC7C;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACxE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,OAAO,IAAI,IAAI,CAAA;CACf,CAAA;AAID,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CACrC,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;IAE3B,6EAA6E;IAC7E,QAAQ,EAAE;QACT,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACb,GAAG,IAAI,CAAA;IAER,4DAA4D;IAC5D,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAE3B;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/document/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './document';
2
2
  export * from './errors';
3
+ export * from './perf';
3
4
  export * from './project';
4
5
  export * from './store';
5
6
  export * from './xml';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AAErB,mBAAmB,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AAErB,mBAAmB,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, a as O, at as k, b as A, c as j, ct as M, d as N, et as P, f as F, g as I, h as L, i as R, it as z, j as B, k as V, l as H, lt as U, m as W, n as G, nt as K, o as q, ot as J, p as Y, q as X, r as Z, rt as Q, s as $, st as ee, t as te, tt as ne, u as re, ut as ie, v as ae, w as oe, x as se, y as ce } from "./project-BjO7cVmO.js";
2
- import { m as le, p as ue } from "./utils-C5_11hqg.js";
3
- export { V as AnyQuery, i as AnyTransaction, N as BLOBS_SCHEMA, F as BLOB_DATA_SCHEMA, Y as CHANGELOG_SCHEMA, W as DOCUMENTS_SCHEMA, re as DexieStore, oe as Document, le as ERROR_CATALOG, H as InMemoryStore, L as META_SCHEMA, p as ParseSession, te as Project, h as Query, I as TABLE_BLOBS, D as TABLE_BLOB_PREFIX, ae as TABLE_CHANGELOG, ce as TABLE_DOCUMENTS, A as TABLE_META, se as TABLE_RECORD_PREFIX, f as TEMP_IDB_ID_ATTRIBUTE_NAME, a as Transaction, C as applyOmit, x as applyOrder, u as applyUnwrap, ie as bindExtensions, y as blobTableName, R as buildDocumentState, g as buildXmlDocument, S as collectSnapshotRecords, o as downloadFile, q as exportBlob, $ as exportDocument, K as findAncestors, P as findByAttributes, e as findDescendants, v as formatXml, E as getAttribute, _ as getAttributeFullObject, T as getAttributes, w as getAttributesFullObject, z as getChild, Q as getChildren, ee as getRecord, J as getRecords, k as getRecordsByTagName, t as getSnapshot, c as getTree, Z as importDocument, M as indexStagedDeletesByParent, G as initEmptyDocument, m as inspectXml, s as isOmitted, b as isTransactionContext, ne as matchesAttributeFilter, U as overlayAllStaged, d as parseOmit, B as parseXmlFile, O as reconcileDocumentState, r as recordTableName, n as recordsToTree, j as resolveStore, X as shouldStopTraversal, ue as throwDialecteError, l as xmlDocumentToString };
1
+ import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, W as S, X as C, Y as w, Z as T, _ as E, a as D, at as O, b as k, c as A, ct as j, d as M, dt as N, et as P, f as F, ft as I, g as L, h as R, i as z, it as B, j as V, k as H, l as U, lt as W, m as G, mt as K, n as q, nt as J, o as Y, ot as X, p as Z, q as Q, r as $, rt as ee, s as te, st as ne, t as re, tt as ie, u as ae, ut as oe, v as se, w as ce, x as le, y as ue, z as de } from "./project-FFHlnZpz.js";
2
+ import { m as fe, p as pe } from "./utils-C5_11hqg.js";
3
+ export { H as AnyQuery, i as AnyTransaction, M as BLOBS_SCHEMA, F as BLOB_DATA_SCHEMA, Z as CHANGELOG_SCHEMA, G as DOCUMENTS_SCHEMA, ae as DexieStore, ce as Document, fe as ERROR_CATALOG, U as InMemoryStore, R as META_SCHEMA, m as NOOP_PERF, g as ParseSession, re as Project, h as Query, L as TABLE_BLOBS, E as TABLE_BLOB_PREFIX, se as TABLE_CHANGELOG, ue as TABLE_DOCUMENTS, k as TABLE_META, le as TABLE_RECORD_PREFIX, de as TEMP_IDB_ID_ATTRIBUTE_NAME, a as Transaction, d as applyOmit, s as applyOrder, C as applyUnwrap, K as bindExtensions, y as blobTableName, z as buildDocumentState, l as buildXmlDocument, x as collectSnapshotRecords, p as createPerf, I as createStagedOperations, f as downloadFile, Y as exportBlob, te as exportDocument, B as findAncestors, J as findByAttributes, ie as findDescendants, n as formatXml, e as getAttribute, P as getAttributeFullObject, T as getAttributes, _ as getAttributesFullObject, X as getChild, O as getChildren, W as getRecord, j as getRecords, ne as getRecordsByTagName, t as getSnapshot, S as getTree, $ as importDocument, oe as indexStagedDeletesByParent, q as initEmptyDocument, o as inspectXml, Q as isOmitted, b as isTransactionContext, ee as matchesAttributeFilter, N as overlayAllStaged, u as parseOmit, V as parseXmlFile, D as reconcileDocumentState, r as recordTableName, c as recordsToTree, A as resolveStore, w as shouldStopTraversal, pe as throwDialecteError, v as xmlDocumentToString };
@@ -0,0 +1,13 @@
1
+ import { Perf } from './perf.types';
2
+ /**
3
+ * Dev metrics on the platform User Timing API. Disabled builds get `NOOP_PERF`.
4
+ *
5
+ * `report()` reads the timeline FRESH on demand (no `PerformanceObserver`, whose
6
+ * callback is queued for after the current task — `stop(); report()` in the same
7
+ * tick would otherwise read stale data). Filtering by the `dialecte::` root
8
+ * prefix excludes measures any other library placed on the shared timeline.
9
+ */
10
+ export declare function createPerf({ enabled }: {
11
+ enabled: boolean;
12
+ }): Perf;
13
+ //# sourceMappingURL=create-perf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-perf.d.ts","sourceRoot":"","sources":["../../src/perf/create-perf.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,cAAc,CAAA;AAIpD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA0FlE"}
@@ -0,0 +1,4 @@
1
+ export { createPerf } from './create-perf';
2
+ export { NOOP_PERF } from './noop-perf';
3
+ export type { Perf, PerfReport } from './perf.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/perf/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Perf } from './perf.types';
2
+ /** Frozen no-op returned when perf is disabled — zero prod cost, tree-shaken. */
3
+ export declare const NOOP_PERF: Perf;
4
+ //# sourceMappingURL=noop-perf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-perf.d.ts","sourceRoot":"","sources":["../../src/perf/noop-perf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExC,iFAAiF;AACjF,eAAO,MAAM,SAAS,EAAE,IAetB,CAAA"}