@danceroutine/tango-schema 1.3.0 → 1.4.0

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.
@@ -4,6 +4,12 @@ export interface ModelWriteHookManager<TModel extends Record<string, unknown>> {
4
4
  delete(id: TModel[keyof TModel]): Promise<void>;
5
5
  bulkCreate(inputs: Partial<TModel>[]): Promise<TModel[]>;
6
6
  }
7
+ export interface ModelWriteHookOnCommitOptions {
8
+ robust?: boolean;
9
+ }
10
+ export interface ModelWriteHookTransaction {
11
+ onCommit(callback: () => void, options?: ModelWriteHookOnCommitOptions): void;
12
+ }
7
13
  /**
8
14
  * Structural model contract passed into write lifecycle hooks.
9
15
  */
@@ -20,11 +26,13 @@ export interface BeforeCreateHookArgs<TModel extends Record<string, unknown>> {
20
26
  data: Partial<TModel>;
21
27
  model: ModelHookModel<TModel>;
22
28
  manager: ModelWriteHookManager<TModel>;
29
+ transaction?: ModelWriteHookTransaction;
23
30
  }
24
31
  export interface AfterCreateHookArgs<TModel extends Record<string, unknown>> {
25
32
  record: TModel;
26
33
  model: ModelHookModel<TModel>;
27
34
  manager: ModelWriteHookManager<TModel>;
35
+ transaction?: ModelWriteHookTransaction;
28
36
  }
29
37
  export interface BeforeUpdateHookArgs<TModel extends Record<string, unknown>> {
30
38
  id: TModel[keyof TModel];
@@ -32,6 +40,7 @@ export interface BeforeUpdateHookArgs<TModel extends Record<string, unknown>> {
32
40
  current: TModel;
33
41
  model: ModelHookModel<TModel>;
34
42
  manager: ModelWriteHookManager<TModel>;
43
+ transaction?: ModelWriteHookTransaction;
35
44
  }
36
45
  export interface AfterUpdateHookArgs<TModel extends Record<string, unknown>> {
37
46
  id: TModel[keyof TModel];
@@ -40,28 +49,33 @@ export interface AfterUpdateHookArgs<TModel extends Record<string, unknown>> {
40
49
  record: TModel;
41
50
  model: ModelHookModel<TModel>;
42
51
  manager: ModelWriteHookManager<TModel>;
52
+ transaction?: ModelWriteHookTransaction;
43
53
  }
44
54
  export interface BeforeDeleteHookArgs<TModel extends Record<string, unknown>> {
45
55
  id: TModel[keyof TModel];
46
56
  current: TModel;
47
57
  model: ModelHookModel<TModel>;
48
58
  manager: ModelWriteHookManager<TModel>;
59
+ transaction?: ModelWriteHookTransaction;
49
60
  }
50
61
  export interface AfterDeleteHookArgs<TModel extends Record<string, unknown>> {
51
62
  id: TModel[keyof TModel];
52
63
  previous: TModel;
53
64
  model: ModelHookModel<TModel>;
54
65
  manager: ModelWriteHookManager<TModel>;
66
+ transaction?: ModelWriteHookTransaction;
55
67
  }
56
68
  export interface BeforeBulkCreateHookArgs<TModel extends Record<string, unknown>> {
57
69
  rows: Partial<TModel>[];
58
70
  model: ModelHookModel<TModel>;
59
71
  manager: ModelWriteHookManager<TModel>;
72
+ transaction?: ModelWriteHookTransaction;
60
73
  }
61
74
  export interface AfterBulkCreateHookArgs<TModel extends Record<string, unknown>> {
62
75
  records: TModel[];
63
76
  model: ModelHookModel<TModel>;
64
77
  manager: ModelWriteHookManager<TModel>;
78
+ transaction?: ModelWriteHookTransaction;
65
79
  }
66
80
  /**
67
81
  * Async-capable model-owned write lifecycle hooks.
@@ -10,4 +10,4 @@ export type { IndexDef } from './IndexDef';
10
10
  export type { RelationDef } from './RelationDef';
11
11
  export type { ModelMetadata } from './ModelMetadata';
12
12
  export type { Model, ModelAugmentations, ModelKeyOf, PersistedModelOutput } from './Model';
13
- export type { ModelHookModel, ModelWriteHookManager, ModelWriteHooks, BeforeCreateHookArgs, AfterCreateHookArgs, BeforeUpdateHookArgs, AfterUpdateHookArgs, BeforeDeleteHookArgs, AfterDeleteHookArgs, BeforeBulkCreateHookArgs, AfterBulkCreateHookArgs, } from './ModelWriteHooks';
13
+ export type { ModelHookModel, ModelWriteHookOnCommitOptions, ModelWriteHookManager, ModelWriteHookTransaction, ModelWriteHooks, BeforeCreateHookArgs, AfterCreateHookArgs, BeforeUpdateHookArgs, AfterUpdateHookArgs, BeforeDeleteHookArgs, AfterDeleteHookArgs, BeforeBulkCreateHookArgs, AfterBulkCreateHookArgs, } from './ModelWriteHooks';
@@ -1 +1 @@
1
- {"version":3,"file":"domain-Cufz6y1q.js","names":[],"sources":["../src/domain/index.ts"],"sourcesContent":["/**\n * Domain boundary barrel: centralizes this subdomain's public contract.\n */\n\nexport type { FieldType } from './FieldType';\nexport type { DeleteReferentialAction } from './DeleteReferentialAction';\nexport type { UpdateReferentialAction } from './UpdateReferentialAction';\nexport type { RelationType } from './RelationType';\nexport type { Field } from './Field';\nexport type { IndexDef } from './IndexDef';\nexport type { RelationDef } from './RelationDef';\nexport type { ModelMetadata } from './ModelMetadata';\nexport type { Model, ModelAugmentations, ModelKeyOf, PersistedModelOutput } from './Model';\nexport type {\n ModelHookModel,\n ModelWriteHookManager,\n ModelWriteHooks,\n BeforeCreateHookArgs,\n AfterCreateHookArgs,\n BeforeUpdateHookArgs,\n AfterUpdateHookArgs,\n BeforeDeleteHookArgs,\n AfterDeleteHookArgs,\n BeforeBulkCreateHookArgs,\n AfterBulkCreateHookArgs,\n} from './ModelWriteHooks';\n"],"mappings":""}
1
+ {"version":3,"file":"domain-Cufz6y1q.js","names":[],"sources":["../src/domain/index.ts"],"sourcesContent":["/**\n * Domain boundary barrel: centralizes this subdomain's public contract.\n */\n\nexport type { FieldType } from './FieldType';\nexport type { DeleteReferentialAction } from './DeleteReferentialAction';\nexport type { UpdateReferentialAction } from './UpdateReferentialAction';\nexport type { RelationType } from './RelationType';\nexport type { Field } from './Field';\nexport type { IndexDef } from './IndexDef';\nexport type { RelationDef } from './RelationDef';\nexport type { ModelMetadata } from './ModelMetadata';\nexport type { Model, ModelAugmentations, ModelKeyOf, PersistedModelOutput } from './Model';\nexport type {\n ModelHookModel,\n ModelWriteHookOnCommitOptions,\n ModelWriteHookManager,\n ModelWriteHookTransaction,\n ModelWriteHooks,\n BeforeCreateHookArgs,\n AfterCreateHookArgs,\n BeforeUpdateHookArgs,\n AfterUpdateHookArgs,\n BeforeDeleteHookArgs,\n AfterDeleteHookArgs,\n BeforeBulkCreateHookArgs,\n AfterBulkCreateHookArgs,\n} from './ModelWriteHooks';\n"],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danceroutine/tango-schema",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Model factory, Zod helpers, and metadata utilities for Tango",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "zod": "^4.0.0",
41
- "@danceroutine/tango-core": "1.3.0"
41
+ "@danceroutine/tango-core": "1.4.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/node": "^22.9.0",