@dialecte/core 0.1.11 → 0.1.12

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 (56) 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 +10 -0
  8. package/dist/document/query/main.d.ts.map +1 -1
  9. package/dist/document/transaction/clone/clone.d.ts +2 -1
  10. package/dist/document/transaction/clone/clone.d.ts.map +1 -1
  11. package/dist/document/transaction/create/create.d.ts +2 -1
  12. package/dist/document/transaction/create/create.d.ts.map +1 -1
  13. package/dist/document/transaction/delete/delete.d.ts +2 -2
  14. package/dist/document/transaction/delete/delete.d.ts.map +1 -1
  15. package/dist/document/transaction/ensure/ensure.d.ts +2 -1
  16. package/dist/document/transaction/ensure/ensure.d.ts.map +1 -1
  17. package/dist/document/transaction/main.d.ts +3 -2
  18. package/dist/document/transaction/main.d.ts.map +1 -1
  19. package/dist/document/transaction/update/update.d.ts +2 -1
  20. package/dist/document/transaction/update/update.d.ts.map +1 -1
  21. package/dist/errors/codes.d.ts +4 -0
  22. package/dist/errors/codes.d.ts.map +1 -1
  23. package/dist/helpers/guard.d.ts +20 -1
  24. package/dist/helpers/guard.d.ts.map +1 -1
  25. package/dist/helpers/index.d.ts +1 -0
  26. package/dist/helpers/index.d.ts.map +1 -1
  27. package/dist/helpers/standardizing.d.ts +2 -1
  28. package/dist/helpers/standardizing.d.ts.map +1 -1
  29. package/dist/helpers/strip-attributes.d.ts +9 -0
  30. package/dist/helpers/strip-attributes.d.ts.map +1 -0
  31. package/dist/helpers.js +27 -161
  32. package/dist/{index-aALGfPYv.js → index-B1qiHOqL.js} +4 -0
  33. package/dist/index-DI6N50M1.js +6334 -0
  34. package/dist/index.js +27 -26
  35. package/dist/merge-extensions-BWXwiKx1.js +172 -0
  36. package/dist/test/config.d.ts +0 -1
  37. package/dist/test/config.d.ts.map +1 -1
  38. package/dist/test/create-test-dialecte.d.ts +2 -1
  39. package/dist/test/create-test-dialecte.d.ts.map +1 -1
  40. package/dist/test/run-test-cases.d.ts +2 -3
  41. package/dist/test/run-test-cases.d.ts.map +1 -1
  42. package/dist/test/run-test-cases.type.d.ts +3 -1
  43. package/dist/test/run-test-cases.type.d.ts.map +1 -1
  44. package/dist/test/test-record.d.ts +0 -8
  45. package/dist/test/test-record.d.ts.map +1 -1
  46. package/dist/test.js +215 -201
  47. package/dist/types/dialecte-config.d.ts +7 -8
  48. package/dist/types/dialecte-config.d.ts.map +1 -1
  49. package/dist/utils/index.d.ts +1 -1
  50. package/dist/utils/index.d.ts.map +1 -1
  51. package/dist/utils/{assert.d.ts → invariant.d.ts} +1 -1
  52. package/dist/utils/invariant.d.ts.map +1 -0
  53. package/dist/utils.js +1 -1
  54. package/package.json +3 -3
  55. package/dist/index-DRYqQRsA.js +0 -6229
  56. 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;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"}
@@ -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
  *
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { CloneResult } 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,6 +8,7 @@ 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>;
@@ -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,EAAgB,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;CACtD,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CA2B3D"}
@@ -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"}
@@ -4,7 +4,7 @@ import { CloneResult } 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,8 @@ 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
+ constructor(store: Store, dialecteConfig: GenericConfig, documentState: DocumentState, hooks?: TransactionHooks<GenericConfig>);
27
28
  /**
28
29
  * Override: returns staged operations so Query's record methods overlay them.
29
30
  */
@@ -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"}
package/dist/helpers.js CHANGED
@@ -1,164 +1,30 @@
1
- import { i as R } from "./index-aALGfPYv.js";
2
- const v = "db-id", C = {
3
- uri: "http://dialecte.dev/XML/DEV",
4
- prefix: "dev"
5
- }, U = `${C.prefix}:${v}`, E = [
6
- "id",
7
- "tagName",
8
- "namespace",
9
- "attributes",
10
- "children",
11
- "parent",
12
- "value"
13
- ], b = [...E, "status"], D = [...b, "tree"];
14
- function d(e, t) {
15
- if (typeof e != "object" || e === null)
16
- return !1;
17
- const r = Object.keys(e);
18
- return t.every((a) => a in e) && r.every((a) => t.includes(a)) && r.length === t.length;
19
- }
20
- function S(e) {
21
- return Array.isArray(e);
22
- }
23
- function $(e) {
24
- return d(e, E);
25
- }
26
- function z(e) {
27
- return d(e, b);
28
- }
29
- function F(e) {
30
- return d(e, D);
31
- }
32
- function K(e, t) {
33
- return e.tagName === t;
34
- }
35
- function L(e, t) {
36
- return e.tagName === t;
37
- }
38
- function V(e, t) {
39
- return e.tagName === t;
40
- }
41
- function I(e) {
42
- return {
43
- id: e.id,
44
- tagName: e.tagName,
45
- namespace: e.namespace,
46
- attributes: e.attributes,
47
- value: e.value,
48
- parent: e.parent,
49
- children: e.children
50
- };
51
- }
52
- function M(e) {
53
- const { record: t, status: r } = e, a = r ?? ("status" in t ? t.status : "unchanged");
54
- return {
55
- ...I(t),
56
- status: a
57
- };
58
- }
59
- function Y(e) {
60
- const { record: t, status: r, tree: a } = e, n = a ?? ("tree" in t ? t.tree : []);
61
- return {
62
- ...M({ record: t, status: r }),
63
- tree: n
64
- };
65
- }
66
- function k(e) {
67
- const { dialecteConfig: t, tagName: r, attributes: a } = e;
68
- return S(a) ? a : Object.entries(a).map(
69
- ([n, i]) => ({
70
- name: n,
71
- value: i,
72
- namespace: t.definition[r]?.attributes.details[n]?.namespace || void 0
73
- })
74
- );
75
- }
76
- function w(e) {
77
- return R(e, {
78
- detail: "The record or ref is undefined"
79
- }), {
80
- id: e.id,
81
- tagName: e.tagName
82
- };
83
- }
84
- function B(e) {
85
- const { dialecteConfig: t, record: r } = e, { id: a, tagName: n, attributes: i, namespace: A, value: N } = r, O = a ?? crypto.randomUUID(), o = i ? k({ tagName: n, attributes: i, dialecteConfig: t }) : [], l = {
86
- id: O,
87
- tagName: n,
88
- attributes: o,
89
- namespace: A ?? {
90
- prefix: "prefixNeededForNotSupportedNamespace",
91
- uri: "uriNeededForNotSupportedNamespace"
92
- },
93
- value: N ?? "",
94
- parent: r.parent ?? null,
95
- children: r.children ?? []
96
- };
97
- if (!t.elements.includes(n)) return l;
98
- const f = t.definition[n].attributes.sequence, c = t.definition[n].attributes.details, T = f.flatMap((s) => {
99
- const y = c[s].required, h = c[s]?.namespace || void 0, p = o.find((_) => _.name === s)?.value || (y ? c[s]?.default || "" : void 0);
100
- return p === void 0 ? [] : [
101
- {
102
- name: s,
103
- value: p,
104
- namespace: h
105
- }
106
- ];
107
- }), g = o.filter(
108
- (s) => "namespace" in s && s.namespace != null && !f.includes(s.name)
109
- );
110
- let u = {
111
- ...l,
112
- namespace: t.definition[n].namespace,
113
- attributes: [...T, ...g]
114
- };
115
- return t.hooks?.afterStandardizedRecord && (u = t.hooks.afterStandardizedRecord({
116
- record: u
117
- })), u;
118
- }
119
- function m(e, t, r, a) {
120
- if (!e || !t) return;
121
- const n = Object.keys(t).filter((i) => i in e);
122
- R(n.length === 0, {
123
- key: "EXTENSION_METHOD_COLLISION",
124
- detail: `Module "${r}" has conflicting ${a} method(s): ${n.map((i) => `"${i}"`).join(", ")}`
125
- });
126
- }
127
- function P(e) {
128
- const t = {}, r = {}, a = [
129
- ...Object.entries(e.base ?? {}),
130
- ...Object.entries(e.custom ?? {})
131
- ];
132
- for (const [n, i] of a)
133
- i.query && (m(
134
- t[n],
135
- i.query,
136
- n,
137
- "query"
138
- ), t[n] = { ...t[n], ...i.query }), i.transaction && (m(
139
- r[n],
140
- i.transaction,
141
- n,
142
- "transaction"
143
- ), r[n] = { ...r[n], ...i.transaction });
144
- return { query: t, transaction: r };
1
+ import { C as n, a as T, D as d, i as A, b as E, c, d as f, e as u, f as O, g as _, h as l, j as C, m as b, s as D, t as m, k as p, l as I, n as S, o as M } from "./merge-extensions-BWXwiKx1.js";
2
+ function i(t, s) {
3
+ const r = new Set(s), a = { ...t, attributes: t.attributes.filter((e) => !r.has(e.name)) };
4
+ return "tree" in t ? {
5
+ ...a,
6
+ tree: t.tree.map((e) => i(e, s))
7
+ } : a;
145
8
  }
146
9
  export {
147
- U as CUSTOM_RECORD_ID_ATTRIBUTE,
148
- v as CUSTOM_RECORD_ID_ATTRIBUTE_NAME,
149
- C as DIALECTE_DEV_NAMESPACE,
150
- L as isChildOf,
151
- S as isFullAttributeArray,
152
- V as isParentOf,
153
- $ as isRawRecord,
154
- K as isRecordOf,
155
- z as isTrackedRecord,
156
- F as isTreeRecord,
157
- P as mergeExtensions,
158
- B as standardizeRecord,
159
- k as toFullAttributeArray,
160
- I as toRawRecord,
161
- w as toRef,
162
- M as toTrackedRecord,
163
- Y as toTreeRecord
10
+ n as CUSTOM_RECORD_ID_ATTRIBUTE,
11
+ T as CUSTOM_RECORD_ID_ATTRIBUTE_NAME,
12
+ d as DIALECTE_DEV_NAMESPACE,
13
+ A as isAttributeOf,
14
+ E as isChildOf,
15
+ c as isElementOf,
16
+ f as isFullAttributeArray,
17
+ u as isParentOf,
18
+ O as isRawRecord,
19
+ _ as isRecordOf,
20
+ l as isTrackedRecord,
21
+ C as isTreeRecord,
22
+ b as mergeExtensions,
23
+ D as standardizeRecord,
24
+ i as stripAttributes,
25
+ m as toFullAttributeArray,
26
+ p as toRawRecord,
27
+ I as toRef,
28
+ S as toTrackedRecord,
29
+ M as toTreeRecord
164
30
  };
@@ -63,6 +63,10 @@ const c = {
63
63
  code: "D3003",
64
64
  message: "Root element cannot be deleted"
65
65
  },
66
+ REQUIRED_ATTRIBUTE_MISSING: {
67
+ code: "D3004",
68
+ message: "Required attribute is missing"
69
+ },
66
70
  // D4xxx — Transaction lifecycle
67
71
  ALREADY_COMMITTED: {
68
72
  code: "D4001",