@dialecte/core 0.1.11 → 0.1.13

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 (60) hide show
  1. package/dist/dialecte/main.d.ts +3 -9
  2. package/dist/dialecte/main.d.ts.map +1 -1
  3. package/dist/dialecte/main.types.d.ts +12 -0
  4. package/dist/dialecte/main.types.d.ts.map +1 -0
  5. package/dist/document/document.d.ts +3 -2
  6. package/dist/document/document.d.ts.map +1 -1
  7. package/dist/document/query/main.d.ts +32 -13
  8. package/dist/document/query/main.d.ts.map +1 -1
  9. package/dist/document/transaction/clone/clone.d.ts +4 -2
  10. package/dist/document/transaction/clone/clone.d.ts.map +1 -1
  11. package/dist/document/transaction/clone/clone.types.d.ts +6 -2
  12. package/dist/document/transaction/clone/clone.types.d.ts.map +1 -1
  13. package/dist/document/transaction/create/create.d.ts +2 -1
  14. package/dist/document/transaction/create/create.d.ts.map +1 -1
  15. package/dist/document/transaction/delete/delete.d.ts +2 -2
  16. package/dist/document/transaction/delete/delete.d.ts.map +1 -1
  17. package/dist/document/transaction/ensure/ensure.d.ts +2 -1
  18. package/dist/document/transaction/ensure/ensure.d.ts.map +1 -1
  19. package/dist/document/transaction/main.d.ts +7 -3
  20. package/dist/document/transaction/main.d.ts.map +1 -1
  21. package/dist/document/transaction/update/update.d.ts +2 -1
  22. package/dist/document/transaction/update/update.d.ts.map +1 -1
  23. package/dist/errors/codes.d.ts +4 -0
  24. package/dist/errors/codes.d.ts.map +1 -1
  25. package/dist/helpers/guard.d.ts +20 -1
  26. package/dist/helpers/guard.d.ts.map +1 -1
  27. package/dist/helpers/index.d.ts +1 -0
  28. package/dist/helpers/index.d.ts.map +1 -1
  29. package/dist/helpers/standardizing.d.ts +2 -1
  30. package/dist/helpers/standardizing.d.ts.map +1 -1
  31. package/dist/helpers/strip-attributes.d.ts +9 -0
  32. package/dist/helpers/strip-attributes.d.ts.map +1 -0
  33. package/dist/helpers.js +27 -161
  34. package/dist/{index-aALGfPYv.js → index-B1qiHOqL.js} +4 -0
  35. package/dist/index-MWde6dqY.js +6382 -0
  36. package/dist/index.js +27 -26
  37. package/dist/merge-extensions-BWXwiKx1.js +172 -0
  38. package/dist/test/config.d.ts +0 -1
  39. package/dist/test/config.d.ts.map +1 -1
  40. package/dist/test/create-test-dialecte.d.ts +2 -1
  41. package/dist/test/create-test-dialecte.d.ts.map +1 -1
  42. package/dist/test/run-test-cases.d.ts +2 -3
  43. package/dist/test/run-test-cases.d.ts.map +1 -1
  44. package/dist/test/run-test-cases.type.d.ts +3 -1
  45. package/dist/test/run-test-cases.type.d.ts.map +1 -1
  46. package/dist/test/test-record.d.ts +0 -8
  47. package/dist/test/test-record.d.ts.map +1 -1
  48. package/dist/test.js +215 -201
  49. package/dist/types/dialecte-config.d.ts +9 -10
  50. package/dist/types/dialecte-config.d.ts.map +1 -1
  51. package/dist/types/ref.d.ts +2 -1
  52. package/dist/types/ref.d.ts.map +1 -1
  53. package/dist/utils/index.d.ts +1 -1
  54. package/dist/utils/index.d.ts.map +1 -1
  55. package/dist/utils/{assert.d.ts → invariant.d.ts} +1 -1
  56. package/dist/utils/invariant.d.ts.map +1 -0
  57. package/dist/utils.js +1 -1
  58. package/package.json +3 -3
  59. package/dist/index-DRYqQRsA.js +0 -6229
  60. package/dist/utils/assert.d.ts.map +0 -1
@@ -1,12 +1,6 @@
1
1
  import { Document } from '../document';
2
- import { StorageOptions } from '../store';
2
+ import { OpenParams } from './main.types';
3
3
  import { AnyDialecteConfig, ExtensionModules } from '../types';
4
- export declare function openDialecteDocument<GenericConfig extends AnyDialecteConfig, BaseExtensions extends ExtensionModules = Record<never, never>, CustomExtensions extends ExtensionModules = Record<never, never>>(params: {
5
- config: GenericConfig;
6
- storage: StorageOptions;
7
- extensions?: {
8
- base?: BaseExtensions;
9
- custom?: CustomExtensions;
10
- };
11
- }): Document<GenericConfig, import('../types').MergedExtensions<BaseExtensions & CustomExtensions>>;
4
+ export declare function openDialecteDocument<GenericConfig extends AnyDialecteConfig, BaseExtensions extends ExtensionModules = Record<never, never>, CustomExtensions extends ExtensionModules = Record<never, never>>(params: OpenParams<GenericConfig, BaseExtensions, CustomExtensions>): Document<GenericConfig, import('../types').MergedExtensions<BaseExtensions & CustomExtensions>>;
5
+ export declare function createDialecteDocument<GenericConfig extends AnyDialecteConfig, BaseExtensions extends ExtensionModules = Record<never, never>, CustomExtensions extends ExtensionModules = Record<never, never>>(params: OpenParams<GenericConfig, BaseExtensions, CustomExtensions>): Promise<Document<GenericConfig, import('../types').MergedExtensions<BaseExtensions & CustomExtensions>>>;
12
6
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/dialecte/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,wBAAgB,oBAAoB,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9D,gBAAgB,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/D,MAAM,EAAE;IACT,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;CACjE,kGAQA"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/dialecte/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,wBAAgB,oBAAoB,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9D,gBAAgB,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/D,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,kGAKpE;AAED,wBAAsB,sBAAsB,CAC3C,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9D,gBAAgB,SAAS,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/D,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,2GAgCpE"}
@@ -0,0 +1,12 @@
1
+ import { StorageOptions } from '../store';
2
+ import { AnyDialecteConfig, ExtensionModules, TransactionHooks } from '../types';
3
+ export type OpenParams<GenericConfig extends AnyDialecteConfig, BaseExtensions extends ExtensionModules, CustomExtensions extends ExtensionModules> = {
4
+ config: GenericConfig;
5
+ storage: StorageOptions;
6
+ extensions?: {
7
+ base?: BaseExtensions;
8
+ custom?: CustomExtensions;
9
+ };
10
+ hooks?: TransactionHooks<GenericConfig>;
11
+ };
12
+ //# sourceMappingURL=main.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.types.d.ts","sourceRoot":"","sources":["../../src/dialecte/main.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEpF,MAAM,MAAM,UAAU,CACrB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,gBAAgB,EACvC,gBAAgB,SAAS,gBAAgB,IACtC;IACH,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IACjE,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;CACvC,CAAA"}
@@ -2,7 +2,7 @@ import { Query } from './query';
2
2
  import { Transaction } from './transaction';
3
3
  import { PreparedTransaction, DocumentState } from './types';
4
4
  import { Store } from '../store';
5
- import { AnyDialecteConfig } from '../types/dialecte-config';
5
+ import { AnyDialecteConfig, TransactionHooks } from '../types/dialecte-config';
6
6
  import { AllExtensions, ExtensionsRegistry, QueryExtensions } from '../types/extensions';
7
7
  /**
8
8
  * Document — the public entry point for querying and mutating a dialecte.
@@ -19,6 +19,7 @@ import { AllExtensions, ExtensionsRegistry, QueryExtensions } from '../types/ext
19
19
  export declare class Document<GenericConfig extends AnyDialecteConfig, GenericExtension extends ExtensionsRegistry = {}> {
20
20
  protected store: Store;
21
21
  protected config: GenericConfig;
22
+ protected hooks: TransactionHooks<GenericConfig> | undefined;
22
23
  private extensionsRegistry?;
23
24
  readonly state: DocumentState;
24
25
  /** Track concurrent transactions to manage loading flag */
@@ -32,7 +33,7 @@ export declare class Document<GenericConfig extends AnyDialecteConfig, GenericEx
32
33
  * so no self-filter is needed.
33
34
  */
34
35
  private channel;
35
- constructor(store: Store, config: GenericConfig, extensions?: GenericExtension);
36
+ constructor(store: Store, config: GenericConfig, extensions?: GenericExtension, hooks?: TransactionHooks<GenericConfig>);
36
37
  private withQueryExtensions;
37
38
  private withAllExtensions;
38
39
  /**
@@ -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,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAE5F;;;;;;;;;;;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,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;gBAErB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAY9E,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;IA0Cb;;;;;;;;;;;;;;;;;;;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;IAqFxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAIb,wDAAwD;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
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,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAE5F;;;;;;;;;;;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,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,CAAC,EAAE,gBAAgB,EAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAcxC,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;IA2Cb;;;;;;;;;;;;;;;;;;;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;IAuFxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAIb,wDAAwD;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
@@ -2,7 +2,7 @@ import { Context } from '../types';
2
2
  import { FindAncestorsOptions, FilterAttributes, DescendantsFilter, FindDescendantsReturn } from './find';
3
3
  import { GetTreeParams } from './get';
4
4
  import { Store } from '../../store';
5
- import { AnyDialecteConfig, AttributesOf, AttributesValueObjectOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RefOrRecord, RootElementOf } from '../../types';
5
+ import { AnyDialecteConfig, AnyTrackedRecord, AnyRefOrRecord, AttributesOf, AttributesValueObjectOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RefOrRecord, RootElementOf } from '../../types';
6
6
  /**
7
7
  * Query — query-only access to a dialecte's store.
8
8
  *
@@ -27,6 +27,16 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
27
27
  * the same FP functions for domain-specific queries.
28
28
  */
29
29
  protected get context(): Context<GenericConfig>;
30
+ /**
31
+ * Get the filename (store name) of this document.
32
+ * @returns The filename.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const filename = query.getFilename()
37
+ * ```
38
+ */
39
+ getFilename(): string;
30
40
  /**
31
41
  * Get the root element of the document.
32
42
  *
@@ -156,18 +166,6 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
156
166
  name: AttributesOf<GenericConfig, GenericElement>;
157
167
  fullObject?: false;
158
168
  }): Promise<FullAttributeObjectOf<GenericConfig, GenericElement>['value'] | ''>;
159
- /**
160
- * Get the full attribute object for a single attribute.
161
- *
162
- * @param refOrRecord - The element to read from.
163
- * @param params - Attribute name and `fullObject: true`.
164
- * @returns The full attribute object, or `undefined` if absent.
165
- *
166
- * @example
167
- * ```ts
168
- * const fullAttributeObject = await query.getAttribute(a, { name: 'aA', fullObject: true })
169
- * ```
170
- */
171
169
  getAttribute<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: {
172
170
  name: AttributesOf<GenericConfig, GenericElement>;
173
171
  fullObject: true;
@@ -200,6 +198,27 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
200
198
  getAttributes<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: {
201
199
  fullObject: true;
202
200
  }): Promise<FullAttributeObjectOf<GenericConfig, GenericElement>[]>;
201
+ /**
202
+ * Get a single attribute value without element-type constraint.
203
+ * Use when the element type is a union or unknown at the call site.
204
+ * Returns `''` if the attribute is absent.
205
+ */
206
+ getAnyAttribute(refOrRecord: AnyRefOrRecord | undefined, name: string): Promise<string>;
207
+ /**
208
+ * Get all attributes as a plain `Record<string, string>` without element-type constraint.
209
+ * Use when the element type is a union or unknown at the call site.
210
+ */
211
+ getAnyAttributes(refOrRecord: AnyRefOrRecord | undefined): Promise<Record<string, string>>;
212
+ /**
213
+ * Get the first direct child matching a tag name without element-type constraint.
214
+ * Use when the parent or child element type is a union or unknown at the call site.
215
+ */
216
+ getAnyChild(refOrRecord: AnyRefOrRecord | undefined, tagName: string): Promise<AnyTrackedRecord<GenericConfig> | undefined>;
217
+ /**
218
+ * Get all direct children matching a tag name without element-type constraint.
219
+ * Use when the parent or child element type is a union or unknown at the call site.
220
+ */
221
+ getAnyChildren(refOrRecord: AnyRefOrRecord | undefined, tagName: string): Promise<AnyTrackedRecord<GenericConfig>[]>;
203
222
  /**
204
223
  * Find records matching specific attribute values.
205
224
  *
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EACX,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,SAAS,EAET,WAAW,EACX,aAAa,EACb,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,qBAAa,KAAK,CAAC,aAAa,SAAS,iBAAiB;IACzD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,cAAc,EAAE,aAAa,CAAA;gBAE3B,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa;IAOvD;;;OAGG;IACH,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE;IAIrD;;;;OAIG;IACH,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAM9C;IAID;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAgBpF;;;;;;;;;;OAUG;IACG,SAAS,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,GACjE,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAIpE;;;;;;;;;;OAUG;IACG,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChE,aAAa,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,GACvE,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IAKxE;;;;;;;;;;;OAWG;IACG,QAAQ,CACb,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EAErE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAKzE;;;;;;;;;;;OAWG;IACG,WAAW,CAChB,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EAErE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,CAAC;IAK/D;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACzE,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;IAI1D;;;;;;;;;;;OAWG;IACG,eAAe,CACpB,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,aAAa,SAAS,iBAAiB,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,SAAS,EAE9E,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAS/E;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAC3C,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;IAKrE;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC7D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GACpD,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAMjE;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC/E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9E;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,GAC7E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAkB5E;;;;;;;;;;OAUG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC7B,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAClE;;;;;;;;;;OAUG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;IAiBlE;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE;QAChF,OAAO,EAAE,cAAc,CAAA;QACvB,UAAU,EAAE,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;KAC3D,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;CAG3D"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { CloneResult } from './clone.types';
1
+ import { CloneResult, CloneMapping } from './clone.types';
2
2
  import { Context, Query } from '../..';
3
- import { AnyDialecteConfig, ElementsOf, ChildrenOf, TreeRecord, Ref } from '../../../types';
3
+ import { AnyDialecteConfig, ElementsOf, ChildrenOf, TreeRecord, Ref, TransactionHooks } from '../../../types';
4
4
  /**
5
5
  * Recursively stages a deep clone of a TreeRecord under a parent.
6
6
  * Returns a CloneResult with the new root ref and a full source→target mapping.
@@ -8,9 +8,11 @@ import { AnyDialecteConfig, ElementsOf, ChildrenOf, TreeRecord, Ref } from '../.
8
8
  */
9
9
  export declare function stageDeepClone<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(params: {
10
10
  dialecteConfig: GenericConfig;
11
+ hooks?: TransactionHooks<GenericConfig>;
11
12
  context: Context<GenericConfig>;
12
13
  query: Query<GenericConfig>;
13
14
  parentRef: Ref<GenericConfig, GenericElement>;
14
15
  record: TreeRecord<GenericConfig, GenericChildElement>;
16
+ cumulativeCloneMappings: CloneMapping<GenericConfig>[];
15
17
  }): Promise<CloneResult<GenericConfig, GenericChildElement>>;
16
18
  //# sourceMappingURL=clone.d.ts.map
@@ -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,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAa,MAAM,SAAS,CAAA;AAEpG;;;;GAIG;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,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,CA0B3D"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/clone/clone.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,GAAG,EAEH,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;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;IACtD,uBAAuB,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,CAAA;CACtD,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CA8B3D"}
@@ -1,9 +1,13 @@
1
- import { AnyDialecteConfig, ElementsOf, RawRecord, Ref } from '../../../types';
1
+ import { AnyAttribute, AnyDialecteConfig, ElementsOf, RawRecord, Ref } from '../../../types';
2
2
  /**
3
3
  * Mapping of source to target refs during cloning operations.
4
+ * source carries the original record's attributes so hooks can
5
+ * recover source-side data without querying across databases.
4
6
  */
5
7
  export type CloneMapping<GenericConfig extends AnyDialecteConfig> = {
6
- source: Ref<GenericConfig, ElementsOf<GenericConfig>>;
8
+ source: Ref<GenericConfig, ElementsOf<GenericConfig>> & {
9
+ attributes: readonly AnyAttribute[];
10
+ };
7
11
  target: Ref<GenericConfig, ElementsOf<GenericConfig>>;
8
12
  };
9
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"clone.types.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/clone/clone.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAE5E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,aAAa,SAAS,iBAAiB,IAAI;IACnE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CACrD,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CACtB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;IACH,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAChD,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,CAAA;CACvC,CAAA"}
1
+ {"version":3,"file":"clone.types.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/clone/clone.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAE1F;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,aAAa,SAAS,iBAAiB,IAAI;IACnE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG;QACvD,UAAU,EAAE,SAAS,YAAY,EAAE,CAAA;KACnC,CAAA;IACD,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;CACrD,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CACtB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;IACH,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAChD,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,CAAA;CACvC,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { AddChildParams } from './create.types';
2
2
  import { Context, Query } from '../..';
3
- import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, Ref } from '../../../types';
3
+ import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, Ref, TransactionHooks } from '../../../types';
4
4
  /**
5
5
  * Fetches parent, builds and stages operations for adding a child.
6
6
  * Pushes operations directly to context.stagedOperations.
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;
10
+ hooks?: TransactionHooks<GenericConfig>;
10
11
  context: Context<GenericConfig>;
11
12
  query: Query<GenericConfig>;
12
13
  parentRef: Ref<GenericConfig, GenericElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/create/create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAExF;;;GAGG;AACH,wBAAsB,aAAa,CAClC,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,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,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAA;CAC1E,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAoDzD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/create/create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,SAAS,EACT,GAAG,EACH,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;GAGG;AACH,wBAAsB,aAAa,CAClC,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,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAA;CAC1E,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAqDzD"}
@@ -1,12 +1,12 @@
1
1
  import { Context, Query } from '../..';
2
- import { AnyDialecteConfig, ElementsOf, ParentsOf, Ref, RawRecord } from '../../../types';
2
+ import { AnyDialecteConfig, ElementsOf, ParentsOf, Ref, RawRecord, TransactionHooks } from '../../../types';
3
3
  /**
4
4
  * Stages deletion of a record and all its descendants.
5
5
  * Also removes the deleted record from its parent's children list.
6
6
  * Returns the parent ref for convenience
7
7
  */
8
8
  export declare function stageDelete<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
9
- dialecteConfig: GenericConfig;
9
+ hooks?: TransactionHooks<GenericConfig>;
10
10
  context: Context<GenericConfig>;
11
11
  query: Query<GenericConfig>;
12
12
  ref: Ref<GenericConfig, GenericElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/delete/delete.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,SAAS,EAET,GAAG,EACH,SAAS,EACT,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3B,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CACvC,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CA4C9E"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/delete/delete.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,SAAS,EAET,GAAG,EACH,SAAS,EACT,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,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,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CACvC,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CA4C9E"}
@@ -1,6 +1,6 @@
1
1
  import { AddChildParams } from '../create/create.types';
2
2
  import { Context, Query } from '../..';
3
- import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, TrackedRecord, Ref } from '../../../types';
3
+ import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, TrackedRecord, Ref, TransactionHooks } from '../../../types';
4
4
  /**
5
5
  * Get an existing child record or create it under the given parent.
6
6
  *
@@ -17,6 +17,7 @@ import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, TrackedRecord, Re
17
17
  */
18
18
  export declare function stageEnsureChild<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(params: {
19
19
  dialecteConfig: GenericConfig;
20
+ hooks?: TransactionHooks<GenericConfig>;
20
21
  context: Context<GenericConfig>;
21
22
  query: Query<GenericConfig>;
22
23
  parentRef: Ref<GenericConfig, GenericElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/ensure/ensure.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,GAAG,EACH,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACrC,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,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,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAA;CAC1E,GAAG,OAAO,CACV,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACjG,CA4BA"}
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/ensure/ensure.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,GAAG,EACH,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACrC,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,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAA;CAC1E,GAAG,OAAO,CACV,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACjG,CA6BA"}
@@ -1,10 +1,10 @@
1
1
  import { Query } from '../query';
2
2
  import { DocumentState, Context } from '../types';
3
- import { CloneResult } from './clone';
3
+ import { CloneResult, CloneMapping } from './clone';
4
4
  import { AddChildParams } from './create';
5
5
  import { UpdateParams } from './update';
6
6
  import { Store } from '../../store';
7
- import { AnyDialecteConfig, AnyRawRecord, ChildrenOf, ElementsOf, Operation, ParentsOf, RawRecord, RefOrRecord, TreeRecord } from '../../types';
7
+ import { AnyDialecteConfig, AnyRawRecord, ChildrenOf, ElementsOf, Operation, ParentsOf, RawRecord, RefOrRecord, TreeRecord, TransactionHooks } from '../../types';
8
8
  /**
9
9
  * Transaction — a scoped unit of work against a document.
10
10
  *
@@ -23,7 +23,9 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
23
23
  protected stagedOperations: Operation<GenericConfig>[];
24
24
  protected documentState: DocumentState;
25
25
  protected recordCache: Map<string, AnyRawRecord>;
26
- constructor(store: Store, dialecteConfig: GenericConfig, documentState: DocumentState);
26
+ protected hooks: TransactionHooks<GenericConfig> | undefined;
27
+ protected cumulativeCloneMappings: CloneMapping<GenericConfig>[];
28
+ constructor(store: Store, dialecteConfig: GenericConfig, documentState: DocumentState, hooks?: TransactionHooks<GenericConfig>);
27
29
  /**
28
30
  * Override: returns staged operations so Query's record methods overlay them.
29
31
  */
@@ -119,6 +121,8 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
119
121
  clearStagedOperations(): void;
120
122
  /** Free cached records from memory */
121
123
  clearRecordCache(): void;
124
+ /** Free cumulative clone mappings from memory */
125
+ clearCumulativeCloneMappings(): void;
122
126
  /**
123
127
  * Commit all staged operations to the store atomically.
124
128
  * Called by Document.transaction() after user callback completes.
@@ -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,6 +1,6 @@
1
1
  import { UpdateParams } from './update.types';
2
2
  import { Context, Query } from '../..';
3
- import { AnyDialecteConfig, ElementsOf, RawRecord, Ref } from '../../../types';
3
+ import { AnyDialecteConfig, ElementsOf, RawRecord, Ref, TransactionHooks } from '../../../types';
4
4
  /**
5
5
  * Merges attribute/value changes onto an existing record.
6
6
  * Undefined/null attribute values are stripped (treated as removals).
@@ -8,6 +8,7 @@ import { AnyDialecteConfig, ElementsOf, RawRecord, Ref } from '../../../types';
8
8
  */
9
9
  export declare function stageUpdate<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
10
10
  dialecteConfig: GenericConfig;
11
+ hooks?: TransactionHooks<GenericConfig>;
11
12
  context: Context<GenericConfig>;
12
13
  query: Query<GenericConfig>;
13
14
  ref: Ref<GenericConfig, GenericElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/update/update.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAE5E;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3B,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CACnD,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CA8CpD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/update/update.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE9F;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,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,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CACnD,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CA8CpD"}
@@ -59,6 +59,10 @@ export declare const ERROR_CATALOG: {
59
59
  readonly code: "D3003";
60
60
  readonly message: "Root element cannot be deleted";
61
61
  };
62
+ readonly REQUIRED_ATTRIBUTE_MISSING: {
63
+ readonly code: "D3004";
64
+ readonly message: "Required attribute is missing";
65
+ };
62
66
  readonly ALREADY_COMMITTED: {
63
67
  readonly code: "D4001";
64
68
  readonly message: "Transaction already committed";
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+FhB,CAAA"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGhB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { RawRecord, TrackedRecord, AnyDialecteConfig, ElementsOf, FullAttributeObjectOf, AttributesValueObjectOf, TreeRecord, AnyRelationship } from '../types';
1
+ import { RawRecord, TrackedRecord, AnyDialecteConfig, ElementsOf, AttributesOf, FullAttributeObjectOf, AttributesValueObjectOf, TreeRecord, AnyRelationship } from '../types';
2
2
  /**
3
3
  * Type guard to check if attributes are in array format (FullAttributeObject[])
4
4
  */
@@ -37,4 +37,23 @@ export declare function isChildOf<T extends string>(child: AnyRelationship, tagN
37
37
  export declare function isParentOf<T extends string>(parent: AnyRelationship, tagName: T): parent is AnyRelationship & {
38
38
  tagName: T;
39
39
  };
40
+ /**
41
+ * Type predicate narrowing a string to a valid element tag name for a given config.
42
+ *
43
+ *
44
+ * @example
45
+ * if (isElementOf<MyConfig>(tagName, dialecteConfig)) {
46
+ * const records = await query.getRecordsByTagName(tagName) // fully typed
47
+ * }
48
+ */
49
+ export declare function isElementOf<GenericConfig extends AnyDialecteConfig>(tagName: string, dialecteConfig: GenericConfig): tagName is ElementsOf<GenericConfig>;
50
+ /**
51
+ * Type predicate narrowing a string to a valid attribute name for a given record.
52
+ *
53
+ * @example
54
+ * if (isAttributeOf(record, entry.uuidAttr)) {
55
+ * const value = await query.getAttribute(record, entry.uuidAttr) // fully typed
56
+ * }
57
+ */
58
+ export declare function isAttributeOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(record: RawRecord<GenericConfig, GenericElement> | TrackedRecord<GenericConfig, GenericElement> | TreeRecord<GenericConfig, GenericElement>, name: string): name is AttributesOf<GenericConfig, GenericElement>;
40
59
  //# sourceMappingURL=guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/helpers/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EAIV,eAAe,EACf,MAAM,SAAS,CAAA;AAkChB;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,UAAU,EACP,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,GACtD,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,GACvD,UAAU,IAAI,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAC1B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EACH,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,GACxC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAC1C,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EACH,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,GACxC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAC1C,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAErD;AAED,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC5D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACtD,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC/D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACzD,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC3D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAQrD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACzC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,CAAC,GACR,KAAK,IAAI,eAAe,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC1C,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,CAAC,GACR,MAAM,IAAI,eAAe,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAE5C"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/helpers/guard.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ export * from './guard';
3
3
  export * from './converter';
4
4
  export * from './standardizing';
5
5
  export * from './merge-extensions';
6
+ export * from './strip-attributes';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -1,6 +1,7 @@
1
- import { AnyDialecteConfig, ElementsOf, FullAttributeObjectOf, RawRecord, AttributesValueObjectOf } from '../types';
1
+ import { AnyDialecteConfig, ElementsOf, FullAttributeObjectOf, RawRecord, AttributesValueObjectOf, TransactionHooks } from '../types';
2
2
  export declare function standardizeRecord<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
3
3
  dialecteConfig: GenericConfig;
4
+ hooks?: TransactionHooks<GenericConfig>;
4
5
  record: {
5
6
  tagName: GenericElement;
6
7
  attributes?: AttributesValueObjectOf<GenericConfig, GenericElement> | FullAttributeObjectOf<GenericConfig, GenericElement>[];
@@ -1 +1 @@
1
- {"version":3,"file":"standardizing.d.ts","sourceRoot":"","sources":["../../src/helpers/standardizing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,uBAAuB,EACvB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,iBAAiB,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,MAAM,EAAE;QACP,OAAO,EAAE,cAAc,CAAA;QACvB,UAAU,CAAC,EACR,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,GACtD,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAA;KACzD,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;CACzE,GAAG,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAsE3C"}
1
+ {"version":3,"file":"standardizing.d.ts","sourceRoot":"","sources":["../../src/helpers/standardizing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,iBAAiB,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACvC,MAAM,EAAE;QACP,OAAO,EAAE,cAAc,CAAA;QACvB,UAAU,CAAC,EACR,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,GACtD,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAA;KACzD,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;CACzE,GAAG,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAsE3C"}
@@ -0,0 +1,9 @@
1
+ import { AnyDialecteConfig, ElementsOf, RawRecord, TrackedRecord, TreeRecord } from '../types';
2
+ /**
3
+ * Returns a new record with specified attribute names removed.
4
+ * Pure function — does not mutate the input.
5
+ */
6
+ export declare function stripAttributes<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(record: TreeRecord<GenericConfig, GenericElement>, names: string[]): TreeRecord<GenericConfig, GenericElement>;
7
+ export declare function stripAttributes<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(record: TrackedRecord<GenericConfig, GenericElement>, names: string[]): TrackedRecord<GenericConfig, GenericElement>;
8
+ export declare function stripAttributes<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(record: RawRecord<GenericConfig, GenericElement>, names: string[]): RawRecord<GenericConfig, GenericElement>;
9
+ //# sourceMappingURL=strip-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-attributes.d.ts","sourceRoot":"","sources":["../../src/helpers/strip-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElG;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EACjD,KAAK,EAAE,MAAM,EAAE,GACb,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAE5C,wBAAgB,eAAe,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EACpD,KAAK,EAAE,MAAM,EAAE,GACb,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAE/C,wBAAgB,eAAe,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAChD,KAAK,EAAE,MAAM,EAAE,GACb,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA"}