@nymphjs/nymph 1.0.0-beta.12 → 1.0.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/Nymph.d.ts +17 -3
- package/dist/Nymph.js +148 -10
- package/dist/Nymph.js.map +1 -1
- package/dist/Nymph.types.d.ts +14 -1
- package/dist/Nymph.types.js.map +1 -1
- package/package.json +3 -3
- package/src/Nymph.ts +274 -11
- package/src/Nymph.types.ts +69 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-beta.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2023-03-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/nymph
|
|
9
|
+
|
|
10
|
+
# [1.0.0-beta.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2023-03-16)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- pubsub publishing changes before transaction is finished ([a918cc1](https://github.com/sciactive/nymphjs/commit/a918cc1451e03015ecce20f1c9bf6ceb62b7dff1))
|
|
15
|
+
|
|
6
16
|
# [1.0.0-beta.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2023-03-04)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @nymphjs/nymph
|
package/dist/Nymph.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import { Config } from './conf';
|
|
|
2
2
|
import { NymphDriver } from './driver';
|
|
3
3
|
import Entity from './Entity';
|
|
4
4
|
import { EntityConstructor, EntityInterface } from './Entity.types';
|
|
5
|
-
import type { Selector, Options, NymphConnectCallback, NymphDisconnectCallback, NymphBeforeGetEntityCallback, NymphBeforeGetEntitiesCallback, NymphBeforeSaveEntityCallback, NymphAfterSaveEntityCallback, NymphBeforeDeleteEntityCallback, NymphAfterDeleteEntityCallback, NymphBeforeDeleteEntityByIDCallback, NymphAfterDeleteEntityByIDCallback, NymphBeforeNewUIDCallback, NymphAfterNewUIDCallback, NymphBeforeSetUIDCallback, NymphAfterSetUIDCallback, NymphBeforeRenameUIDCallback, NymphAfterRenameUIDCallback, NymphBeforeDeleteUIDCallback, NymphAfterDeleteUIDCallback, NymphEventType, NymphQueryCallback, FormattedSelector, TilmeldInterface } from './Nymph.types';
|
|
5
|
+
import type { Selector, Options, NymphConnectCallback, NymphDisconnectCallback, NymphBeforeGetEntityCallback, NymphBeforeGetEntitiesCallback, NymphBeforeSaveEntityCallback, NymphAfterSaveEntityCallback, NymphFailedSaveEntityCallback, NymphBeforeDeleteEntityCallback, NymphAfterDeleteEntityCallback, NymphFailedDeleteEntityCallback, NymphBeforeDeleteEntityByIDCallback, NymphAfterDeleteEntityByIDCallback, NymphFailedDeleteEntityByIDCallback, NymphBeforeNewUIDCallback, NymphAfterNewUIDCallback, NymphFailedNewUIDCallback, NymphBeforeSetUIDCallback, NymphAfterSetUIDCallback, NymphFailedSetUIDCallback, NymphBeforeRenameUIDCallback, NymphAfterRenameUIDCallback, NymphFailedRenameUIDCallback, NymphBeforeDeleteUIDCallback, NymphAfterDeleteUIDCallback, NymphFailedDeleteUIDCallback, NymphBeforeStartTransactionCallback, NymphAfterStartTransactionCallback, NymphBeforeCommitTransactionCallback, NymphAfterCommitTransactionCallback, NymphBeforeRollbackTransactionCallback, NymphAfterRollbackTransactionCallback, NymphEventType, NymphQueryCallback, FormattedSelector, TilmeldInterface } from './Nymph.types';
|
|
6
6
|
export default class Nymph {
|
|
7
7
|
config: Config;
|
|
8
|
+
parent: Nymph | null;
|
|
8
9
|
driver: NymphDriver;
|
|
9
10
|
tilmeld?: TilmeldInterface;
|
|
10
11
|
private entityClasses;
|
|
@@ -16,18 +17,31 @@ export default class Nymph {
|
|
|
16
17
|
private beforeGetEntitiesCallbacks;
|
|
17
18
|
private beforeSaveEntityCallbacks;
|
|
18
19
|
private afterSaveEntityCallbacks;
|
|
20
|
+
private failedSaveEntityCallbacks;
|
|
19
21
|
private beforeDeleteEntityCallbacks;
|
|
20
22
|
private afterDeleteEntityCallbacks;
|
|
23
|
+
private failedDeleteEntityCallbacks;
|
|
21
24
|
private beforeDeleteEntityByIDCallbacks;
|
|
22
25
|
private afterDeleteEntityByIDCallbacks;
|
|
26
|
+
private failedDeleteEntityByIDCallbacks;
|
|
23
27
|
private beforeNewUIDCallbacks;
|
|
24
28
|
private afterNewUIDCallbacks;
|
|
29
|
+
private failedNewUIDCallbacks;
|
|
25
30
|
private beforeSetUIDCallbacks;
|
|
26
31
|
private afterSetUIDCallbacks;
|
|
32
|
+
private failedSetUIDCallbacks;
|
|
27
33
|
private beforeRenameUIDCallbacks;
|
|
28
34
|
private afterRenameUIDCallbacks;
|
|
35
|
+
private failedRenameUIDCallbacks;
|
|
29
36
|
private beforeDeleteUIDCallbacks;
|
|
30
37
|
private afterDeleteUIDCallbacks;
|
|
38
|
+
private failedDeleteUIDCallbacks;
|
|
39
|
+
private beforeStartTransactionCallbacks;
|
|
40
|
+
private afterStartTransactionCallbacks;
|
|
41
|
+
private beforeCommitTransactionCallbacks;
|
|
42
|
+
private afterCommitTransactionCallbacks;
|
|
43
|
+
private beforeRollbackTransactionCallbacks;
|
|
44
|
+
private afterRollbackTransactionCallbacks;
|
|
31
45
|
constructor(config: Partial<Config>, driver: NymphDriver, tilmeld?: TilmeldInterface);
|
|
32
46
|
addEntityClass<T extends EntityConstructor>(entityClass: T): T;
|
|
33
47
|
getEntityClass(className: string): EntityConstructor;
|
|
@@ -68,6 +82,6 @@ export default class Nymph {
|
|
|
68
82
|
export(filename: string): Promise<boolean>;
|
|
69
83
|
exportPrint(): Promise<boolean>;
|
|
70
84
|
import(filename: string): Promise<boolean>;
|
|
71
|
-
on<T extends NymphEventType>(event: T, callback: T extends 'connect' ? NymphConnectCallback : T extends 'disconnect' ? NymphDisconnectCallback : T extends 'query' ? NymphQueryCallback : T extends 'beforeGetEntity' ? NymphBeforeGetEntityCallback : T extends 'beforeGetEntities' ? NymphBeforeGetEntitiesCallback : T extends 'beforeSaveEntity' ? NymphBeforeSaveEntityCallback : T extends 'afterSaveEntity' ? NymphAfterSaveEntityCallback : T extends 'beforeDeleteEntity' ? NymphBeforeDeleteEntityCallback : T extends 'afterDeleteEntity' ? NymphAfterDeleteEntityCallback : T extends 'beforeDeleteEntityByID' ? NymphBeforeDeleteEntityByIDCallback : T extends 'afterDeleteEntityByID' ? NymphAfterDeleteEntityByIDCallback : T extends 'beforeNewUID' ? NymphBeforeNewUIDCallback : T extends 'afterNewUID' ? NymphAfterNewUIDCallback : T extends 'beforeSetUID' ? NymphBeforeSetUIDCallback : T extends 'afterSetUID' ? NymphAfterSetUIDCallback : T extends 'beforeRenameUID' ? NymphBeforeRenameUIDCallback : T extends 'afterRenameUID' ? NymphAfterRenameUIDCallback : T extends 'beforeDeleteUID' ? NymphBeforeDeleteUIDCallback : T extends 'afterDeleteUID' ? NymphAfterDeleteUIDCallback : never): () => boolean;
|
|
72
|
-
off<T extends NymphEventType>(event: T, callback: T extends 'connect' ? NymphConnectCallback : T extends 'disconnect' ? NymphDisconnectCallback : T extends 'query' ? NymphQueryCallback : T extends 'beforeGetEntity' ? NymphBeforeGetEntityCallback : T extends 'beforeGetEntities' ? NymphBeforeGetEntitiesCallback : T extends 'beforeSaveEntity' ? NymphBeforeSaveEntityCallback : T extends 'afterSaveEntity' ? NymphAfterSaveEntityCallback : T extends 'beforeDeleteEntity' ? NymphBeforeDeleteEntityCallback : T extends 'afterDeleteEntity' ? NymphAfterDeleteEntityCallback : T extends 'beforeDeleteEntityByID' ? NymphBeforeDeleteEntityByIDCallback : T extends 'afterDeleteEntityByID' ? NymphAfterDeleteEntityByIDCallback : T extends 'beforeNewUID' ? NymphBeforeNewUIDCallback : T extends 'afterNewUID' ? NymphAfterNewUIDCallback : T extends 'beforeSetUID' ? NymphBeforeSetUIDCallback : T extends 'afterSetUID' ? NymphAfterSetUIDCallback : T extends 'beforeRenameUID' ? NymphBeforeRenameUIDCallback : T extends 'afterRenameUID' ? NymphAfterRenameUIDCallback : T extends 'beforeDeleteUID' ? NymphBeforeDeleteUIDCallback : T extends 'afterDeleteUID' ? NymphAfterDeleteUIDCallback : never): boolean;
|
|
85
|
+
on<T extends NymphEventType>(event: T, callback: T extends 'connect' ? NymphConnectCallback : T extends 'disconnect' ? NymphDisconnectCallback : T extends 'query' ? NymphQueryCallback : T extends 'beforeGetEntity' ? NymphBeforeGetEntityCallback : T extends 'beforeGetEntities' ? NymphBeforeGetEntitiesCallback : T extends 'beforeSaveEntity' ? NymphBeforeSaveEntityCallback : T extends 'afterSaveEntity' ? NymphAfterSaveEntityCallback : T extends 'failedSaveEntity' ? NymphFailedSaveEntityCallback : T extends 'beforeDeleteEntity' ? NymphBeforeDeleteEntityCallback : T extends 'afterDeleteEntity' ? NymphAfterDeleteEntityCallback : T extends 'failedDeleteEntity' ? NymphFailedDeleteEntityCallback : T extends 'beforeDeleteEntityByID' ? NymphBeforeDeleteEntityByIDCallback : T extends 'afterDeleteEntityByID' ? NymphAfterDeleteEntityByIDCallback : T extends 'failedDeleteEntityByID' ? NymphFailedDeleteEntityByIDCallback : T extends 'beforeNewUID' ? NymphBeforeNewUIDCallback : T extends 'afterNewUID' ? NymphAfterNewUIDCallback : T extends 'failedNewUID' ? NymphFailedNewUIDCallback : T extends 'beforeSetUID' ? NymphBeforeSetUIDCallback : T extends 'afterSetUID' ? NymphAfterSetUIDCallback : T extends 'failedSetUID' ? NymphFailedSetUIDCallback : T extends 'beforeRenameUID' ? NymphBeforeRenameUIDCallback : T extends 'afterRenameUID' ? NymphAfterRenameUIDCallback : T extends 'failedRenameUID' ? NymphFailedRenameUIDCallback : T extends 'beforeDeleteUID' ? NymphBeforeDeleteUIDCallback : T extends 'afterDeleteUID' ? NymphAfterDeleteUIDCallback : T extends 'failedDeleteUID' ? NymphFailedDeleteUIDCallback : T extends 'beforeStartTransaction' ? NymphBeforeStartTransactionCallback : T extends 'afterStartTransaction' ? NymphAfterStartTransactionCallback : T extends 'beforeCommitTransaction' ? NymphBeforeCommitTransactionCallback : T extends 'afterCommitTransaction' ? NymphAfterCommitTransactionCallback : T extends 'beforeRollbackTransaction' ? NymphBeforeRollbackTransactionCallback : T extends 'afterRollbackTransaction' ? NymphAfterRollbackTransactionCallback : never): () => boolean;
|
|
86
|
+
off<T extends NymphEventType>(event: T, callback: T extends 'connect' ? NymphConnectCallback : T extends 'disconnect' ? NymphDisconnectCallback : T extends 'query' ? NymphQueryCallback : T extends 'beforeGetEntity' ? NymphBeforeGetEntityCallback : T extends 'beforeGetEntities' ? NymphBeforeGetEntitiesCallback : T extends 'beforeSaveEntity' ? NymphBeforeSaveEntityCallback : T extends 'afterSaveEntity' ? NymphAfterSaveEntityCallback : T extends 'failedSaveEntity' ? NymphFailedSaveEntityCallback : T extends 'beforeDeleteEntity' ? NymphBeforeDeleteEntityCallback : T extends 'afterDeleteEntity' ? NymphAfterDeleteEntityCallback : T extends 'failedDeleteEntity' ? NymphFailedDeleteEntityCallback : T extends 'beforeDeleteEntityByID' ? NymphBeforeDeleteEntityByIDCallback : T extends 'afterDeleteEntityByID' ? NymphAfterDeleteEntityByIDCallback : T extends 'failedDeleteEntityByID' ? NymphFailedDeleteEntityByIDCallback : T extends 'beforeNewUID' ? NymphBeforeNewUIDCallback : T extends 'afterNewUID' ? NymphAfterNewUIDCallback : T extends 'failedNewUID' ? NymphFailedNewUIDCallback : T extends 'beforeSetUID' ? NymphBeforeSetUIDCallback : T extends 'afterSetUID' ? NymphAfterSetUIDCallback : T extends 'failedSetUID' ? NymphFailedSetUIDCallback : T extends 'beforeRenameUID' ? NymphBeforeRenameUIDCallback : T extends 'afterRenameUID' ? NymphAfterRenameUIDCallback : T extends 'failedRenameUID' ? NymphFailedRenameUIDCallback : T extends 'beforeDeleteUID' ? NymphBeforeDeleteUIDCallback : T extends 'afterDeleteUID' ? NymphAfterDeleteUIDCallback : T extends 'failedDeleteUID' ? NymphFailedDeleteUIDCallback : T extends 'beforeStartTransaction' ? NymphBeforeStartTransactionCallback : T extends 'afterStartTransaction' ? NymphAfterStartTransactionCallback : T extends 'beforeCommitTransaction' ? NymphBeforeCommitTransactionCallback : T extends 'afterCommitTransaction' ? NymphAfterCommitTransactionCallback : T extends 'beforeRollbackTransaction' ? NymphBeforeRollbackTransactionCallback : T extends 'afterRollbackTransaction' ? NymphAfterRollbackTransactionCallback : never): boolean;
|
|
73
87
|
}
|
package/dist/Nymph.js
CHANGED
|
@@ -17,20 +17,34 @@ class Nymph {
|
|
|
17
17
|
this.beforeGetEntitiesCallbacks = [];
|
|
18
18
|
this.beforeSaveEntityCallbacks = [];
|
|
19
19
|
this.afterSaveEntityCallbacks = [];
|
|
20
|
+
this.failedSaveEntityCallbacks = [];
|
|
20
21
|
this.beforeDeleteEntityCallbacks = [];
|
|
21
22
|
this.afterDeleteEntityCallbacks = [];
|
|
23
|
+
this.failedDeleteEntityCallbacks = [];
|
|
22
24
|
this.beforeDeleteEntityByIDCallbacks = [];
|
|
23
25
|
this.afterDeleteEntityByIDCallbacks = [];
|
|
26
|
+
this.failedDeleteEntityByIDCallbacks = [];
|
|
24
27
|
this.beforeNewUIDCallbacks = [];
|
|
25
28
|
this.afterNewUIDCallbacks = [];
|
|
29
|
+
this.failedNewUIDCallbacks = [];
|
|
26
30
|
this.beforeSetUIDCallbacks = [];
|
|
27
31
|
this.afterSetUIDCallbacks = [];
|
|
32
|
+
this.failedSetUIDCallbacks = [];
|
|
28
33
|
this.beforeRenameUIDCallbacks = [];
|
|
29
34
|
this.afterRenameUIDCallbacks = [];
|
|
35
|
+
this.failedRenameUIDCallbacks = [];
|
|
30
36
|
this.beforeDeleteUIDCallbacks = [];
|
|
31
37
|
this.afterDeleteUIDCallbacks = [];
|
|
38
|
+
this.failedDeleteUIDCallbacks = [];
|
|
39
|
+
this.beforeStartTransactionCallbacks = [];
|
|
40
|
+
this.afterStartTransactionCallbacks = [];
|
|
41
|
+
this.beforeCommitTransactionCallbacks = [];
|
|
42
|
+
this.afterCommitTransactionCallbacks = [];
|
|
43
|
+
this.beforeRollbackTransactionCallbacks = [];
|
|
44
|
+
this.afterRollbackTransactionCallbacks = [];
|
|
32
45
|
this.config = { ...conf_1.ConfigDefaults, ...config };
|
|
33
46
|
this.driver = driver;
|
|
47
|
+
this.parent = null;
|
|
34
48
|
this.Entity = this.addEntityClass(Entity_1.default);
|
|
35
49
|
if (typeof tilmeld !== 'undefined') {
|
|
36
50
|
this.tilmeld = tilmeld;
|
|
@@ -59,6 +73,7 @@ class Nymph {
|
|
|
59
73
|
}
|
|
60
74
|
clone() {
|
|
61
75
|
const nymph = new Nymph(this.config, this.driver.clone(), this.tilmeld?.clone());
|
|
76
|
+
nymph.parent = this;
|
|
62
77
|
for (const name in this.entityClasses) {
|
|
63
78
|
if (name === 'Entity' || this.entityClasses[name].skipOnClone) {
|
|
64
79
|
continue;
|
|
@@ -73,18 +88,31 @@ class Nymph {
|
|
|
73
88
|
'beforeGetEntities',
|
|
74
89
|
'beforeSaveEntity',
|
|
75
90
|
'afterSaveEntity',
|
|
91
|
+
'failedSaveEntity',
|
|
76
92
|
'beforeDeleteEntity',
|
|
77
93
|
'afterDeleteEntity',
|
|
94
|
+
'failedDeleteEntity',
|
|
78
95
|
'beforeDeleteEntityByID',
|
|
79
96
|
'afterDeleteEntityByID',
|
|
97
|
+
'failedDeleteEntityByID',
|
|
80
98
|
'beforeNewUID',
|
|
81
99
|
'afterNewUID',
|
|
100
|
+
'failedNewUID',
|
|
82
101
|
'beforeSetUID',
|
|
83
102
|
'afterSetUID',
|
|
103
|
+
'failedSetUID',
|
|
84
104
|
'beforeRenameUID',
|
|
85
105
|
'afterRenameUID',
|
|
106
|
+
'failedRenameUID',
|
|
86
107
|
'beforeDeleteUID',
|
|
87
108
|
'afterDeleteUID',
|
|
109
|
+
'failedDeleteUID',
|
|
110
|
+
'beforeStartTransaction',
|
|
111
|
+
'afterStartTransaction',
|
|
112
|
+
'beforeCommitTransaction',
|
|
113
|
+
'afterCommitTransaction',
|
|
114
|
+
'beforeRollbackTransaction',
|
|
115
|
+
'afterRollbackTransaction',
|
|
88
116
|
];
|
|
89
117
|
for (let event of events) {
|
|
90
118
|
const prop = event + 'Callbacks';
|
|
@@ -124,13 +152,46 @@ class Nymph {
|
|
|
124
152
|
}
|
|
125
153
|
}
|
|
126
154
|
async startTransaction(name) {
|
|
127
|
-
|
|
155
|
+
for (let callback of this.beforeStartTransactionCallbacks) {
|
|
156
|
+
if (callback) {
|
|
157
|
+
await callback(this, name);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const result = await this.driver.startTransaction(name);
|
|
161
|
+
for (let callback of this.afterStartTransactionCallbacks) {
|
|
162
|
+
if (callback) {
|
|
163
|
+
await callback(this, name, result);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return result;
|
|
128
167
|
}
|
|
129
168
|
async commit(name) {
|
|
130
|
-
|
|
169
|
+
for (let callback of this.beforeCommitTransactionCallbacks) {
|
|
170
|
+
if (callback) {
|
|
171
|
+
await callback(this, name);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const result = await this.driver.commit(name);
|
|
175
|
+
for (let callback of this.afterCommitTransactionCallbacks) {
|
|
176
|
+
if (callback) {
|
|
177
|
+
await callback(this, name, result);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
131
181
|
}
|
|
132
182
|
async rollback(name) {
|
|
133
|
-
|
|
183
|
+
for (let callback of this.beforeRollbackTransactionCallbacks) {
|
|
184
|
+
if (callback) {
|
|
185
|
+
await callback(this, name);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const result = await this.driver.rollback(name);
|
|
189
|
+
for (let callback of this.afterRollbackTransactionCallbacks) {
|
|
190
|
+
if (callback) {
|
|
191
|
+
await callback(this, name, result);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return result;
|
|
134
195
|
}
|
|
135
196
|
async inTransaction() {
|
|
136
197
|
return await this.driver.inTransaction();
|
|
@@ -141,7 +202,18 @@ class Nymph {
|
|
|
141
202
|
await callback(this, name);
|
|
142
203
|
}
|
|
143
204
|
}
|
|
144
|
-
|
|
205
|
+
let result;
|
|
206
|
+
try {
|
|
207
|
+
result = this.driver.newUID(name);
|
|
208
|
+
}
|
|
209
|
+
catch (e) {
|
|
210
|
+
for (let callback of this.failedNewUIDCallbacks) {
|
|
211
|
+
if (callback) {
|
|
212
|
+
await callback(this, e);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
throw e;
|
|
216
|
+
}
|
|
145
217
|
for (let callback of this.afterNewUIDCallbacks) {
|
|
146
218
|
if (callback) {
|
|
147
219
|
await callback(this, result);
|
|
@@ -158,7 +230,18 @@ class Nymph {
|
|
|
158
230
|
await callback(this, name, value);
|
|
159
231
|
}
|
|
160
232
|
}
|
|
161
|
-
|
|
233
|
+
let result;
|
|
234
|
+
try {
|
|
235
|
+
result = this.driver.setUID(name, value);
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
for (let callback of this.failedSetUIDCallbacks) {
|
|
239
|
+
if (callback) {
|
|
240
|
+
await callback(this, e);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
throw e;
|
|
244
|
+
}
|
|
162
245
|
for (let callback of this.afterSetUIDCallbacks) {
|
|
163
246
|
if (callback) {
|
|
164
247
|
await callback(this, result);
|
|
@@ -172,7 +255,18 @@ class Nymph {
|
|
|
172
255
|
await callback(this, name);
|
|
173
256
|
}
|
|
174
257
|
}
|
|
175
|
-
|
|
258
|
+
let result;
|
|
259
|
+
try {
|
|
260
|
+
result = this.driver.deleteUID(name);
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
for (let callback of this.failedDeleteUIDCallbacks) {
|
|
264
|
+
if (callback) {
|
|
265
|
+
await callback(this, e);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
throw e;
|
|
269
|
+
}
|
|
176
270
|
for (let callback of this.afterDeleteUIDCallbacks) {
|
|
177
271
|
if (callback) {
|
|
178
272
|
await callback(this, result);
|
|
@@ -186,7 +280,18 @@ class Nymph {
|
|
|
186
280
|
await callback(this, oldName, newName);
|
|
187
281
|
}
|
|
188
282
|
}
|
|
189
|
-
|
|
283
|
+
let result;
|
|
284
|
+
try {
|
|
285
|
+
result = this.driver.renameUID(oldName, newName);
|
|
286
|
+
}
|
|
287
|
+
catch (e) {
|
|
288
|
+
for (let callback of this.failedRenameUIDCallbacks) {
|
|
289
|
+
if (callback) {
|
|
290
|
+
await callback(this, e);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
throw e;
|
|
294
|
+
}
|
|
190
295
|
for (let callback of this.afterRenameUIDCallbacks) {
|
|
191
296
|
if (callback) {
|
|
192
297
|
await callback(this, result);
|
|
@@ -200,7 +305,18 @@ class Nymph {
|
|
|
200
305
|
await callback(this, entity);
|
|
201
306
|
}
|
|
202
307
|
}
|
|
203
|
-
|
|
308
|
+
let result;
|
|
309
|
+
try {
|
|
310
|
+
result = this.driver.saveEntity(entity);
|
|
311
|
+
}
|
|
312
|
+
catch (e) {
|
|
313
|
+
for (let callback of this.failedSaveEntityCallbacks) {
|
|
314
|
+
if (callback) {
|
|
315
|
+
await callback(this, e);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
throw e;
|
|
319
|
+
}
|
|
204
320
|
for (let callback of this.afterSaveEntityCallbacks) {
|
|
205
321
|
if (callback) {
|
|
206
322
|
await callback(this, result);
|
|
@@ -241,7 +357,18 @@ class Nymph {
|
|
|
241
357
|
await callback(this, entity);
|
|
242
358
|
}
|
|
243
359
|
}
|
|
244
|
-
|
|
360
|
+
let result;
|
|
361
|
+
try {
|
|
362
|
+
result = this.driver.deleteEntity(entity);
|
|
363
|
+
}
|
|
364
|
+
catch (e) {
|
|
365
|
+
for (let callback of this.failedDeleteEntityCallbacks) {
|
|
366
|
+
if (callback) {
|
|
367
|
+
await callback(this, e);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
throw e;
|
|
371
|
+
}
|
|
245
372
|
for (let callback of this.afterDeleteEntityCallbacks) {
|
|
246
373
|
if (callback) {
|
|
247
374
|
await callback(this, result);
|
|
@@ -255,7 +382,18 @@ class Nymph {
|
|
|
255
382
|
await callback(this, guid, className);
|
|
256
383
|
}
|
|
257
384
|
}
|
|
258
|
-
|
|
385
|
+
let result;
|
|
386
|
+
try {
|
|
387
|
+
result = this.driver.deleteEntityByID(guid, className);
|
|
388
|
+
}
|
|
389
|
+
catch (e) {
|
|
390
|
+
for (let callback of this.failedDeleteEntityByIDCallbacks) {
|
|
391
|
+
if (callback) {
|
|
392
|
+
await callback(this, e);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
throw e;
|
|
396
|
+
}
|
|
259
397
|
for (let callback of this.afterDeleteEntityByIDCallbacks) {
|
|
260
398
|
if (callback) {
|
|
261
399
|
await callback(this, result);
|
package/dist/Nymph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nymph.js","sourceRoot":"","sources":["../src/Nymph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Nymph.js","sourceRoot":"","sources":["../src/Nymph.ts"],"names":[],"mappings":"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"}
|
package/dist/Nymph.types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityConstructor, EntityInterface } from './Entity.types';
|
|
2
2
|
import Nymph from './Nymph';
|
|
3
|
-
export type NymphEventType = 'connect' | 'disconnect' | 'query' | 'beforeGetEntity' | 'beforeGetEntities' | 'beforeSaveEntity' | 'afterSaveEntity' | 'beforeDeleteEntity' | 'afterDeleteEntity' | 'beforeDeleteEntityByID' | 'afterDeleteEntityByID' | 'beforeNewUID' | 'afterNewUID' | 'beforeSetUID' | 'afterSetUID' | 'beforeRenameUID' | 'afterRenameUID' | 'beforeDeleteUID' | 'afterDeleteUID';
|
|
3
|
+
export type NymphEventType = 'connect' | 'disconnect' | 'query' | 'beforeGetEntity' | 'beforeGetEntities' | 'beforeSaveEntity' | 'afterSaveEntity' | 'failedSaveEntity' | 'beforeDeleteEntity' | 'afterDeleteEntity' | 'failedDeleteEntity' | 'beforeDeleteEntityByID' | 'afterDeleteEntityByID' | 'failedDeleteEntityByID' | 'beforeNewUID' | 'afterNewUID' | 'failedNewUID' | 'beforeSetUID' | 'afterSetUID' | 'failedSetUID' | 'beforeRenameUID' | 'afterRenameUID' | 'failedRenameUID' | 'beforeDeleteUID' | 'afterDeleteUID' | 'failedDeleteUID' | 'beforeStartTransaction' | 'afterStartTransaction' | 'beforeCommitTransaction' | 'afterCommitTransaction' | 'beforeRollbackTransaction' | 'afterRollbackTransaction';
|
|
4
4
|
export type NymphConnectCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
5
5
|
export type NymphDisconnectCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
6
6
|
export type NymphQueryCallback = (nymph: Nymph, options: Options, selectors: FormattedSelector[]) => void;
|
|
@@ -8,18 +8,31 @@ export type NymphBeforeGetEntityCallback = (nymph: Nymph, options: Options, sele
|
|
|
8
8
|
export type NymphBeforeGetEntitiesCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => Promise<void>;
|
|
9
9
|
export type NymphBeforeSaveEntityCallback = (nymph: Nymph, entity: EntityInterface) => Promise<void>;
|
|
10
10
|
export type NymphAfterSaveEntityCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
11
|
+
export type NymphFailedSaveEntityCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
11
12
|
export type NymphBeforeDeleteEntityCallback = (nymph: Nymph, entity: EntityInterface) => Promise<void>;
|
|
12
13
|
export type NymphAfterDeleteEntityCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
14
|
+
export type NymphFailedDeleteEntityCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
13
15
|
export type NymphBeforeDeleteEntityByIDCallback = (nymph: Nymph, guid: string, className?: string) => Promise<void>;
|
|
14
16
|
export type NymphAfterDeleteEntityByIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
17
|
+
export type NymphFailedDeleteEntityByIDCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
15
18
|
export type NymphBeforeNewUIDCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
16
19
|
export type NymphAfterNewUIDCallback = (nymph: Nymph, result: Promise<number | null>) => Promise<void>;
|
|
20
|
+
export type NymphFailedNewUIDCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
17
21
|
export type NymphBeforeSetUIDCallback = (nymph: Nymph, name: string, value: number) => Promise<void>;
|
|
18
22
|
export type NymphAfterSetUIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
23
|
+
export type NymphFailedSetUIDCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
19
24
|
export type NymphBeforeRenameUIDCallback = (nymph: Nymph, oldName: string, newName: string) => Promise<void>;
|
|
20
25
|
export type NymphAfterRenameUIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
26
|
+
export type NymphFailedRenameUIDCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
21
27
|
export type NymphBeforeDeleteUIDCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
22
28
|
export type NymphAfterDeleteUIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
29
|
+
export type NymphFailedDeleteUIDCallback = (nymph: Nymph, error: any) => Promise<void>;
|
|
30
|
+
export type NymphBeforeStartTransactionCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
31
|
+
export type NymphAfterStartTransactionCallback = (nymph: Nymph, name: string, result: Nymph) => Promise<void>;
|
|
32
|
+
export type NymphBeforeCommitTransactionCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
33
|
+
export type NymphAfterCommitTransactionCallback = (nymph: Nymph, name: string, result: boolean) => Promise<void>;
|
|
34
|
+
export type NymphBeforeRollbackTransactionCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
35
|
+
export type NymphAfterRollbackTransactionCallback = (nymph: Nymph, name: string, result: boolean) => Promise<void>;
|
|
23
36
|
export type Options<T extends EntityConstructor = EntityConstructor> = {
|
|
24
37
|
class?: T;
|
|
25
38
|
limit?: number;
|
package/dist/Nymph.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nymph.types.js","sourceRoot":"","sources":["../src/Nymph.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Nymph.types.js","sourceRoot":"","sources":["../src/Nymph.types.ts"],"names":[],"mappings":";;;AA4WA,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,uEAAa,CAAA;IACb,2EAAe,CAAA;IACf,6EAAgB,CAAA;IAEhB,2EAAe,CAAA;AACjB,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/nymph",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.14",
|
|
4
4
|
"description": "NymphJS - Nymph ORM",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@nymphjs/guid": "^1.0.0-beta.
|
|
34
|
+
"@nymphjs/guid": "^1.0.0-beta.14",
|
|
35
35
|
"joi": "^17.8.3",
|
|
36
36
|
"locutus": "^2.0.16",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"ts-jest": "^29.0.5",
|
|
48
48
|
"typescript": "^4.9.5"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "5999838901bd6fc2fbbf44ca0b0ca990094396c3"
|
|
51
51
|
}
|
package/src/Nymph.ts
CHANGED
|
@@ -12,18 +12,31 @@ import type {
|
|
|
12
12
|
NymphBeforeGetEntitiesCallback,
|
|
13
13
|
NymphBeforeSaveEntityCallback,
|
|
14
14
|
NymphAfterSaveEntityCallback,
|
|
15
|
+
NymphFailedSaveEntityCallback,
|
|
15
16
|
NymphBeforeDeleteEntityCallback,
|
|
16
17
|
NymphAfterDeleteEntityCallback,
|
|
18
|
+
NymphFailedDeleteEntityCallback,
|
|
17
19
|
NymphBeforeDeleteEntityByIDCallback,
|
|
18
20
|
NymphAfterDeleteEntityByIDCallback,
|
|
21
|
+
NymphFailedDeleteEntityByIDCallback,
|
|
19
22
|
NymphBeforeNewUIDCallback,
|
|
20
23
|
NymphAfterNewUIDCallback,
|
|
24
|
+
NymphFailedNewUIDCallback,
|
|
21
25
|
NymphBeforeSetUIDCallback,
|
|
22
26
|
NymphAfterSetUIDCallback,
|
|
27
|
+
NymphFailedSetUIDCallback,
|
|
23
28
|
NymphBeforeRenameUIDCallback,
|
|
24
29
|
NymphAfterRenameUIDCallback,
|
|
30
|
+
NymphFailedRenameUIDCallback,
|
|
25
31
|
NymphBeforeDeleteUIDCallback,
|
|
26
32
|
NymphAfterDeleteUIDCallback,
|
|
33
|
+
NymphFailedDeleteUIDCallback,
|
|
34
|
+
NymphBeforeStartTransactionCallback,
|
|
35
|
+
NymphAfterStartTransactionCallback,
|
|
36
|
+
NymphBeforeCommitTransactionCallback,
|
|
37
|
+
NymphAfterCommitTransactionCallback,
|
|
38
|
+
NymphBeforeRollbackTransactionCallback,
|
|
39
|
+
NymphAfterRollbackTransactionCallback,
|
|
27
40
|
NymphEventType,
|
|
28
41
|
NymphQueryCallback,
|
|
29
42
|
FormattedSelector,
|
|
@@ -41,10 +54,16 @@ import type {
|
|
|
41
54
|
*/
|
|
42
55
|
export default class Nymph {
|
|
43
56
|
/**
|
|
44
|
-
* The
|
|
57
|
+
* The Nymph config.
|
|
45
58
|
*/
|
|
46
59
|
public config: Config;
|
|
47
60
|
|
|
61
|
+
/**
|
|
62
|
+
* The Nymph instance that this one was cloned from, or null if it's not a
|
|
63
|
+
* clone.
|
|
64
|
+
*/
|
|
65
|
+
public parent: Nymph | null;
|
|
66
|
+
|
|
48
67
|
/**
|
|
49
68
|
* The Nymph database driver.
|
|
50
69
|
*/
|
|
@@ -72,20 +91,40 @@ export default class Nymph {
|
|
|
72
91
|
private beforeGetEntitiesCallbacks: NymphBeforeGetEntitiesCallback[] = [];
|
|
73
92
|
private beforeSaveEntityCallbacks: NymphBeforeSaveEntityCallback[] = [];
|
|
74
93
|
private afterSaveEntityCallbacks: NymphAfterSaveEntityCallback[] = [];
|
|
94
|
+
private failedSaveEntityCallbacks: NymphFailedSaveEntityCallback[] = [];
|
|
75
95
|
private beforeDeleteEntityCallbacks: NymphBeforeDeleteEntityCallback[] = [];
|
|
76
96
|
private afterDeleteEntityCallbacks: NymphAfterDeleteEntityCallback[] = [];
|
|
97
|
+
private failedDeleteEntityCallbacks: NymphFailedDeleteEntityCallback[] = [];
|
|
77
98
|
private beforeDeleteEntityByIDCallbacks: NymphBeforeDeleteEntityByIDCallback[] =
|
|
78
99
|
[];
|
|
79
100
|
private afterDeleteEntityByIDCallbacks: NymphAfterDeleteEntityByIDCallback[] =
|
|
80
101
|
[];
|
|
102
|
+
private failedDeleteEntityByIDCallbacks: NymphFailedDeleteEntityByIDCallback[] =
|
|
103
|
+
[];
|
|
81
104
|
private beforeNewUIDCallbacks: NymphBeforeNewUIDCallback[] = [];
|
|
82
105
|
private afterNewUIDCallbacks: NymphAfterNewUIDCallback[] = [];
|
|
106
|
+
private failedNewUIDCallbacks: NymphFailedNewUIDCallback[] = [];
|
|
83
107
|
private beforeSetUIDCallbacks: NymphBeforeSetUIDCallback[] = [];
|
|
84
108
|
private afterSetUIDCallbacks: NymphAfterSetUIDCallback[] = [];
|
|
109
|
+
private failedSetUIDCallbacks: NymphFailedSetUIDCallback[] = [];
|
|
85
110
|
private beforeRenameUIDCallbacks: NymphBeforeRenameUIDCallback[] = [];
|
|
86
111
|
private afterRenameUIDCallbacks: NymphAfterRenameUIDCallback[] = [];
|
|
112
|
+
private failedRenameUIDCallbacks: NymphFailedRenameUIDCallback[] = [];
|
|
87
113
|
private beforeDeleteUIDCallbacks: NymphBeforeDeleteUIDCallback[] = [];
|
|
88
114
|
private afterDeleteUIDCallbacks: NymphAfterDeleteUIDCallback[] = [];
|
|
115
|
+
private failedDeleteUIDCallbacks: NymphFailedDeleteUIDCallback[] = [];
|
|
116
|
+
private beforeStartTransactionCallbacks: NymphBeforeStartTransactionCallback[] =
|
|
117
|
+
[];
|
|
118
|
+
private afterStartTransactionCallbacks: NymphAfterStartTransactionCallback[] =
|
|
119
|
+
[];
|
|
120
|
+
private beforeCommitTransactionCallbacks: NymphBeforeCommitTransactionCallback[] =
|
|
121
|
+
[];
|
|
122
|
+
private afterCommitTransactionCallbacks: NymphAfterCommitTransactionCallback[] =
|
|
123
|
+
[];
|
|
124
|
+
private beforeRollbackTransactionCallbacks: NymphBeforeRollbackTransactionCallback[] =
|
|
125
|
+
[];
|
|
126
|
+
private afterRollbackTransactionCallbacks: NymphAfterRollbackTransactionCallback[] =
|
|
127
|
+
[];
|
|
89
128
|
|
|
90
129
|
/**
|
|
91
130
|
* Initialize Nymph.
|
|
@@ -101,6 +140,7 @@ export default class Nymph {
|
|
|
101
140
|
) {
|
|
102
141
|
this.config = { ...defaults, ...config };
|
|
103
142
|
this.driver = driver;
|
|
143
|
+
this.parent = null;
|
|
104
144
|
|
|
105
145
|
this.Entity = this.addEntityClass(Entity);
|
|
106
146
|
|
|
@@ -158,6 +198,9 @@ export default class Nymph {
|
|
|
158
198
|
this.driver.clone(),
|
|
159
199
|
this.tilmeld?.clone()
|
|
160
200
|
);
|
|
201
|
+
|
|
202
|
+
nymph.parent = this;
|
|
203
|
+
|
|
161
204
|
for (const name in this.entityClasses) {
|
|
162
205
|
if (name === 'Entity' || (this.entityClasses[name] as any).skipOnClone) {
|
|
163
206
|
continue;
|
|
@@ -173,18 +216,31 @@ export default class Nymph {
|
|
|
173
216
|
'beforeGetEntities',
|
|
174
217
|
'beforeSaveEntity',
|
|
175
218
|
'afterSaveEntity',
|
|
219
|
+
'failedSaveEntity',
|
|
176
220
|
'beforeDeleteEntity',
|
|
177
221
|
'afterDeleteEntity',
|
|
222
|
+
'failedDeleteEntity',
|
|
178
223
|
'beforeDeleteEntityByID',
|
|
179
224
|
'afterDeleteEntityByID',
|
|
225
|
+
'failedDeleteEntityByID',
|
|
180
226
|
'beforeNewUID',
|
|
181
227
|
'afterNewUID',
|
|
228
|
+
'failedNewUID',
|
|
182
229
|
'beforeSetUID',
|
|
183
230
|
'afterSetUID',
|
|
231
|
+
'failedSetUID',
|
|
184
232
|
'beforeRenameUID',
|
|
185
233
|
'afterRenameUID',
|
|
234
|
+
'failedRenameUID',
|
|
186
235
|
'beforeDeleteUID',
|
|
187
236
|
'afterDeleteUID',
|
|
237
|
+
'failedDeleteUID',
|
|
238
|
+
'beforeStartTransaction',
|
|
239
|
+
'afterStartTransaction',
|
|
240
|
+
'beforeCommitTransaction',
|
|
241
|
+
'afterCommitTransaction',
|
|
242
|
+
'beforeRollbackTransaction',
|
|
243
|
+
'afterRollbackTransaction',
|
|
188
244
|
];
|
|
189
245
|
|
|
190
246
|
for (let event of events) {
|
|
@@ -256,7 +312,18 @@ export default class Nymph {
|
|
|
256
312
|
* @returns A new instance of Nymph that should be used for the transaction.
|
|
257
313
|
*/
|
|
258
314
|
public async startTransaction(name: string): Promise<Nymph> {
|
|
259
|
-
|
|
315
|
+
for (let callback of this.beforeStartTransactionCallbacks) {
|
|
316
|
+
if (callback) {
|
|
317
|
+
await callback(this, name);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
const result = await this.driver.startTransaction(name);
|
|
321
|
+
for (let callback of this.afterStartTransactionCallbacks) {
|
|
322
|
+
if (callback) {
|
|
323
|
+
await callback(this, name, result);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return result;
|
|
260
327
|
}
|
|
261
328
|
|
|
262
329
|
/**
|
|
@@ -267,7 +334,18 @@ export default class Nymph {
|
|
|
267
334
|
* @returns True on success, false on failure.
|
|
268
335
|
*/
|
|
269
336
|
public async commit(name: string): Promise<boolean> {
|
|
270
|
-
|
|
337
|
+
for (let callback of this.beforeCommitTransactionCallbacks) {
|
|
338
|
+
if (callback) {
|
|
339
|
+
await callback(this, name);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
const result = await this.driver.commit(name);
|
|
343
|
+
for (let callback of this.afterCommitTransactionCallbacks) {
|
|
344
|
+
if (callback) {
|
|
345
|
+
await callback(this, name, result);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return result;
|
|
271
349
|
}
|
|
272
350
|
|
|
273
351
|
/**
|
|
@@ -278,7 +356,18 @@ export default class Nymph {
|
|
|
278
356
|
* @returns True on success, false on failure.
|
|
279
357
|
*/
|
|
280
358
|
public async rollback(name: string): Promise<boolean> {
|
|
281
|
-
|
|
359
|
+
for (let callback of this.beforeRollbackTransactionCallbacks) {
|
|
360
|
+
if (callback) {
|
|
361
|
+
await callback(this, name);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
const result = await this.driver.rollback(name);
|
|
365
|
+
for (let callback of this.afterRollbackTransactionCallbacks) {
|
|
366
|
+
if (callback) {
|
|
367
|
+
await callback(this, name, result);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return result;
|
|
282
371
|
}
|
|
283
372
|
|
|
284
373
|
/**
|
|
@@ -317,7 +406,17 @@ export default class Nymph {
|
|
|
317
406
|
await callback(this, name);
|
|
318
407
|
}
|
|
319
408
|
}
|
|
320
|
-
|
|
409
|
+
let result: Promise<number | null>;
|
|
410
|
+
try {
|
|
411
|
+
result = this.driver.newUID(name);
|
|
412
|
+
} catch (e: any) {
|
|
413
|
+
for (let callback of this.failedNewUIDCallbacks) {
|
|
414
|
+
if (callback) {
|
|
415
|
+
await callback(this, e);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
throw e;
|
|
419
|
+
}
|
|
321
420
|
for (let callback of this.afterNewUIDCallbacks) {
|
|
322
421
|
if (callback) {
|
|
323
422
|
await callback(this, result);
|
|
@@ -348,7 +447,17 @@ export default class Nymph {
|
|
|
348
447
|
await callback(this, name, value);
|
|
349
448
|
}
|
|
350
449
|
}
|
|
351
|
-
|
|
450
|
+
let result: Promise<boolean>;
|
|
451
|
+
try {
|
|
452
|
+
result = this.driver.setUID(name, value);
|
|
453
|
+
} catch (e: any) {
|
|
454
|
+
for (let callback of this.failedSetUIDCallbacks) {
|
|
455
|
+
if (callback) {
|
|
456
|
+
await callback(this, e);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
throw e;
|
|
460
|
+
}
|
|
352
461
|
for (let callback of this.afterSetUIDCallbacks) {
|
|
353
462
|
if (callback) {
|
|
354
463
|
await callback(this, result);
|
|
@@ -369,7 +478,17 @@ export default class Nymph {
|
|
|
369
478
|
await callback(this, name);
|
|
370
479
|
}
|
|
371
480
|
}
|
|
372
|
-
|
|
481
|
+
let result: Promise<boolean>;
|
|
482
|
+
try {
|
|
483
|
+
result = this.driver.deleteUID(name);
|
|
484
|
+
} catch (e: any) {
|
|
485
|
+
for (let callback of this.failedDeleteUIDCallbacks) {
|
|
486
|
+
if (callback) {
|
|
487
|
+
await callback(this, e);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
throw e;
|
|
491
|
+
}
|
|
373
492
|
for (let callback of this.afterDeleteUIDCallbacks) {
|
|
374
493
|
if (callback) {
|
|
375
494
|
await callback(this, result);
|
|
@@ -391,7 +510,17 @@ export default class Nymph {
|
|
|
391
510
|
await callback(this, oldName, newName);
|
|
392
511
|
}
|
|
393
512
|
}
|
|
394
|
-
|
|
513
|
+
let result: Promise<boolean>;
|
|
514
|
+
try {
|
|
515
|
+
result = this.driver.renameUID(oldName, newName);
|
|
516
|
+
} catch (e: any) {
|
|
517
|
+
for (let callback of this.failedRenameUIDCallbacks) {
|
|
518
|
+
if (callback) {
|
|
519
|
+
await callback(this, e);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
throw e;
|
|
523
|
+
}
|
|
395
524
|
for (let callback of this.afterRenameUIDCallbacks) {
|
|
396
525
|
if (callback) {
|
|
397
526
|
await callback(this, result);
|
|
@@ -417,7 +546,17 @@ export default class Nymph {
|
|
|
417
546
|
await callback(this, entity);
|
|
418
547
|
}
|
|
419
548
|
}
|
|
420
|
-
|
|
549
|
+
let result: Promise<boolean>;
|
|
550
|
+
try {
|
|
551
|
+
result = this.driver.saveEntity(entity);
|
|
552
|
+
} catch (e: any) {
|
|
553
|
+
for (let callback of this.failedSaveEntityCallbacks) {
|
|
554
|
+
if (callback) {
|
|
555
|
+
await callback(this, e);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
throw e;
|
|
559
|
+
}
|
|
421
560
|
for (let callback of this.afterSaveEntityCallbacks) {
|
|
422
561
|
if (callback) {
|
|
423
562
|
await callback(this, result);
|
|
@@ -681,7 +820,17 @@ export default class Nymph {
|
|
|
681
820
|
await callback(this, entity);
|
|
682
821
|
}
|
|
683
822
|
}
|
|
684
|
-
|
|
823
|
+
let result: Promise<boolean>;
|
|
824
|
+
try {
|
|
825
|
+
result = this.driver.deleteEntity(entity);
|
|
826
|
+
} catch (e: any) {
|
|
827
|
+
for (let callback of this.failedDeleteEntityCallbacks) {
|
|
828
|
+
if (callback) {
|
|
829
|
+
await callback(this, e);
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
throw e;
|
|
833
|
+
}
|
|
685
834
|
for (let callback of this.afterDeleteEntityCallbacks) {
|
|
686
835
|
if (callback) {
|
|
687
836
|
await callback(this, result);
|
|
@@ -706,7 +855,17 @@ export default class Nymph {
|
|
|
706
855
|
await callback(this, guid, className);
|
|
707
856
|
}
|
|
708
857
|
}
|
|
709
|
-
|
|
858
|
+
let result: Promise<boolean>;
|
|
859
|
+
try {
|
|
860
|
+
result = this.driver.deleteEntityByID(guid, className);
|
|
861
|
+
} catch (e: any) {
|
|
862
|
+
for (let callback of this.failedDeleteEntityByIDCallbacks) {
|
|
863
|
+
if (callback) {
|
|
864
|
+
await callback(this, e);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
throw e;
|
|
868
|
+
}
|
|
710
869
|
for (let callback of this.afterDeleteEntityByIDCallbacks) {
|
|
711
870
|
if (callback) {
|
|
712
871
|
await callback(this, result);
|
|
@@ -790,30 +949,56 @@ export default class Nymph {
|
|
|
790
949
|
? NymphBeforeSaveEntityCallback
|
|
791
950
|
: T extends 'afterSaveEntity'
|
|
792
951
|
? NymphAfterSaveEntityCallback
|
|
952
|
+
: T extends 'failedSaveEntity'
|
|
953
|
+
? NymphFailedSaveEntityCallback
|
|
793
954
|
: T extends 'beforeDeleteEntity'
|
|
794
955
|
? NymphBeforeDeleteEntityCallback
|
|
795
956
|
: T extends 'afterDeleteEntity'
|
|
796
957
|
? NymphAfterDeleteEntityCallback
|
|
958
|
+
: T extends 'failedDeleteEntity'
|
|
959
|
+
? NymphFailedDeleteEntityCallback
|
|
797
960
|
: T extends 'beforeDeleteEntityByID'
|
|
798
961
|
? NymphBeforeDeleteEntityByIDCallback
|
|
799
962
|
: T extends 'afterDeleteEntityByID'
|
|
800
963
|
? NymphAfterDeleteEntityByIDCallback
|
|
964
|
+
: T extends 'failedDeleteEntityByID'
|
|
965
|
+
? NymphFailedDeleteEntityByIDCallback
|
|
801
966
|
: T extends 'beforeNewUID'
|
|
802
967
|
? NymphBeforeNewUIDCallback
|
|
803
968
|
: T extends 'afterNewUID'
|
|
804
969
|
? NymphAfterNewUIDCallback
|
|
970
|
+
: T extends 'failedNewUID'
|
|
971
|
+
? NymphFailedNewUIDCallback
|
|
805
972
|
: T extends 'beforeSetUID'
|
|
806
973
|
? NymphBeforeSetUIDCallback
|
|
807
974
|
: T extends 'afterSetUID'
|
|
808
975
|
? NymphAfterSetUIDCallback
|
|
976
|
+
: T extends 'failedSetUID'
|
|
977
|
+
? NymphFailedSetUIDCallback
|
|
809
978
|
: T extends 'beforeRenameUID'
|
|
810
979
|
? NymphBeforeRenameUIDCallback
|
|
811
980
|
: T extends 'afterRenameUID'
|
|
812
981
|
? NymphAfterRenameUIDCallback
|
|
982
|
+
: T extends 'failedRenameUID'
|
|
983
|
+
? NymphFailedRenameUIDCallback
|
|
813
984
|
: T extends 'beforeDeleteUID'
|
|
814
985
|
? NymphBeforeDeleteUIDCallback
|
|
815
986
|
: T extends 'afterDeleteUID'
|
|
816
987
|
? NymphAfterDeleteUIDCallback
|
|
988
|
+
: T extends 'failedDeleteUID'
|
|
989
|
+
? NymphFailedDeleteUIDCallback
|
|
990
|
+
: T extends 'beforeStartTransaction'
|
|
991
|
+
? NymphBeforeStartTransactionCallback
|
|
992
|
+
: T extends 'afterStartTransaction'
|
|
993
|
+
? NymphAfterStartTransactionCallback
|
|
994
|
+
: T extends 'beforeCommitTransaction'
|
|
995
|
+
? NymphBeforeCommitTransactionCallback
|
|
996
|
+
: T extends 'afterCommitTransaction'
|
|
997
|
+
? NymphAfterCommitTransactionCallback
|
|
998
|
+
: T extends 'beforeRollbackTransaction'
|
|
999
|
+
? NymphBeforeRollbackTransactionCallback
|
|
1000
|
+
: T extends 'afterRollbackTransaction'
|
|
1001
|
+
? NymphAfterRollbackTransactionCallback
|
|
817
1002
|
: never
|
|
818
1003
|
) {
|
|
819
1004
|
const prop = (event + 'Callbacks') as T extends 'connect'
|
|
@@ -830,30 +1015,56 @@ export default class Nymph {
|
|
|
830
1015
|
? 'beforeSaveEntityCallbacks'
|
|
831
1016
|
: T extends 'afterSaveEntity'
|
|
832
1017
|
? 'afterSaveEntityCallbacks'
|
|
1018
|
+
: T extends 'failedSaveEntity'
|
|
1019
|
+
? 'failedSaveEntityCallbacks'
|
|
833
1020
|
: T extends 'beforeDeleteEntity'
|
|
834
1021
|
? 'beforeDeleteEntityCallbacks'
|
|
835
1022
|
: T extends 'afterDeleteEntity'
|
|
836
1023
|
? 'afterDeleteEntityCallbacks'
|
|
1024
|
+
: T extends 'failedDeleteEntity'
|
|
1025
|
+
? 'failedDeleteEntityCallbacks'
|
|
837
1026
|
: T extends 'beforeDeleteEntityByID'
|
|
838
1027
|
? 'beforeDeleteEntityByIDCallbacks'
|
|
839
1028
|
: T extends 'afterDeleteEntityByID'
|
|
840
1029
|
? 'afterDeleteEntityByIDCallbacks'
|
|
1030
|
+
: T extends 'failedDeleteEntityByID'
|
|
1031
|
+
? 'failedDeleteEntityByIDCallbacks'
|
|
841
1032
|
: T extends 'beforeNewUID'
|
|
842
1033
|
? 'beforeNewUIDCallbacks'
|
|
843
1034
|
: T extends 'afterNewUID'
|
|
844
1035
|
? 'afterNewUIDCallbacks'
|
|
1036
|
+
: T extends 'failedNewUID'
|
|
1037
|
+
? 'failedNewUIDCallbacks'
|
|
845
1038
|
: T extends 'beforeSetUID'
|
|
846
1039
|
? 'beforeSetUIDCallbacks'
|
|
847
1040
|
: T extends 'afterSetUID'
|
|
848
1041
|
? 'afterSetUIDCallbacks'
|
|
1042
|
+
: T extends 'failedSetUID'
|
|
1043
|
+
? 'failedSetUIDCallbacks'
|
|
849
1044
|
: T extends 'beforeRenameUID'
|
|
850
1045
|
? 'beforeRenameUIDCallbacks'
|
|
851
1046
|
: T extends 'afterRenameUID'
|
|
852
1047
|
? 'afterRenameUIDCallbacks'
|
|
1048
|
+
: T extends 'failedRenameUID'
|
|
1049
|
+
? 'failedRenameUIDCallbacks'
|
|
853
1050
|
: T extends 'beforeDeleteUID'
|
|
854
1051
|
? 'beforeDeleteUIDCallbacks'
|
|
855
1052
|
: T extends 'afterDeleteUID'
|
|
856
1053
|
? 'afterDeleteUIDCallbacks'
|
|
1054
|
+
: T extends 'failedDeleteUID'
|
|
1055
|
+
? 'failedDeleteUIDCallbacks'
|
|
1056
|
+
: T extends 'beforeStartTransaction'
|
|
1057
|
+
? 'beforeStartTransactionCallbacks'
|
|
1058
|
+
: T extends 'afterStartTransaction'
|
|
1059
|
+
? 'afterStartTransactionCallbacks'
|
|
1060
|
+
: T extends 'beforeCommitTransaction'
|
|
1061
|
+
? 'beforeCommitTransactionCallbacks'
|
|
1062
|
+
: T extends 'afterCommitTransaction'
|
|
1063
|
+
? 'afterCommitTransactionCallbacks'
|
|
1064
|
+
: T extends 'beforeRollbackTransaction'
|
|
1065
|
+
? 'beforeRollbackTransactionCallbacks'
|
|
1066
|
+
: T extends 'afterRollbackTransaction'
|
|
1067
|
+
? 'afterRollbackTransactionCallbacks'
|
|
857
1068
|
: never;
|
|
858
1069
|
if (!(prop in this)) {
|
|
859
1070
|
throw new Error('Invalid event type.');
|
|
@@ -879,30 +1090,56 @@ export default class Nymph {
|
|
|
879
1090
|
? NymphBeforeSaveEntityCallback
|
|
880
1091
|
: T extends 'afterSaveEntity'
|
|
881
1092
|
? NymphAfterSaveEntityCallback
|
|
1093
|
+
: T extends 'failedSaveEntity'
|
|
1094
|
+
? NymphFailedSaveEntityCallback
|
|
882
1095
|
: T extends 'beforeDeleteEntity'
|
|
883
1096
|
? NymphBeforeDeleteEntityCallback
|
|
884
1097
|
: T extends 'afterDeleteEntity'
|
|
885
1098
|
? NymphAfterDeleteEntityCallback
|
|
1099
|
+
: T extends 'failedDeleteEntity'
|
|
1100
|
+
? NymphFailedDeleteEntityCallback
|
|
886
1101
|
: T extends 'beforeDeleteEntityByID'
|
|
887
1102
|
? NymphBeforeDeleteEntityByIDCallback
|
|
888
1103
|
: T extends 'afterDeleteEntityByID'
|
|
889
1104
|
? NymphAfterDeleteEntityByIDCallback
|
|
1105
|
+
: T extends 'failedDeleteEntityByID'
|
|
1106
|
+
? NymphFailedDeleteEntityByIDCallback
|
|
890
1107
|
: T extends 'beforeNewUID'
|
|
891
1108
|
? NymphBeforeNewUIDCallback
|
|
892
1109
|
: T extends 'afterNewUID'
|
|
893
1110
|
? NymphAfterNewUIDCallback
|
|
1111
|
+
: T extends 'failedNewUID'
|
|
1112
|
+
? NymphFailedNewUIDCallback
|
|
894
1113
|
: T extends 'beforeSetUID'
|
|
895
1114
|
? NymphBeforeSetUIDCallback
|
|
896
1115
|
: T extends 'afterSetUID'
|
|
897
1116
|
? NymphAfterSetUIDCallback
|
|
1117
|
+
: T extends 'failedSetUID'
|
|
1118
|
+
? NymphFailedSetUIDCallback
|
|
898
1119
|
: T extends 'beforeRenameUID'
|
|
899
1120
|
? NymphBeforeRenameUIDCallback
|
|
900
1121
|
: T extends 'afterRenameUID'
|
|
901
1122
|
? NymphAfterRenameUIDCallback
|
|
1123
|
+
: T extends 'failedRenameUID'
|
|
1124
|
+
? NymphFailedRenameUIDCallback
|
|
902
1125
|
: T extends 'beforeDeleteUID'
|
|
903
1126
|
? NymphBeforeDeleteUIDCallback
|
|
904
1127
|
: T extends 'afterDeleteUID'
|
|
905
1128
|
? NymphAfterDeleteUIDCallback
|
|
1129
|
+
: T extends 'failedDeleteUID'
|
|
1130
|
+
? NymphFailedDeleteUIDCallback
|
|
1131
|
+
: T extends 'beforeStartTransaction'
|
|
1132
|
+
? NymphBeforeStartTransactionCallback
|
|
1133
|
+
: T extends 'afterStartTransaction'
|
|
1134
|
+
? NymphAfterStartTransactionCallback
|
|
1135
|
+
: T extends 'beforeCommitTransaction'
|
|
1136
|
+
? NymphBeforeCommitTransactionCallback
|
|
1137
|
+
: T extends 'afterCommitTransaction'
|
|
1138
|
+
? NymphAfterCommitTransactionCallback
|
|
1139
|
+
: T extends 'beforeRollbackTransaction'
|
|
1140
|
+
? NymphBeforeRollbackTransactionCallback
|
|
1141
|
+
: T extends 'afterRollbackTransaction'
|
|
1142
|
+
? NymphAfterRollbackTransactionCallback
|
|
906
1143
|
: never
|
|
907
1144
|
) {
|
|
908
1145
|
const prop = (event + 'Callbacks') as T extends 'connect'
|
|
@@ -919,30 +1156,56 @@ export default class Nymph {
|
|
|
919
1156
|
? 'beforeGetEntitiesCallbacks'
|
|
920
1157
|
: T extends 'afterSaveEntity'
|
|
921
1158
|
? 'afterSaveEntityCallbacks'
|
|
1159
|
+
: T extends 'failedSaveEntity'
|
|
1160
|
+
? 'failedSaveEntityCallbacks'
|
|
922
1161
|
: T extends 'beforeDeleteEntity'
|
|
923
1162
|
? 'beforeDeleteEntityCallbacks'
|
|
924
1163
|
: T extends 'afterDeleteEntity'
|
|
925
1164
|
? 'afterDeleteEntityCallbacks'
|
|
1165
|
+
: T extends 'failedDeleteEntity'
|
|
1166
|
+
? 'failedDeleteEntityCallbacks'
|
|
926
1167
|
: T extends 'beforeDeleteEntityByID'
|
|
927
1168
|
? 'beforeDeleteEntityByIDCallbacks'
|
|
928
1169
|
: T extends 'afterDeleteEntityByID'
|
|
929
1170
|
? 'afterDeleteEntityByIDCallbacks'
|
|
1171
|
+
: T extends 'failedDeleteEntityByID'
|
|
1172
|
+
? 'failedDeleteEntityByIDCallbacks'
|
|
930
1173
|
: T extends 'beforeNewUID'
|
|
931
1174
|
? 'beforeNewUIDCallbacks'
|
|
932
1175
|
: T extends 'afterNewUID'
|
|
933
1176
|
? 'afterNewUIDCallbacks'
|
|
1177
|
+
: T extends 'failedNewUID'
|
|
1178
|
+
? 'failedNewUIDCallbacks'
|
|
934
1179
|
: T extends 'beforeSetUID'
|
|
935
1180
|
? 'beforeSetUIDCallbacks'
|
|
936
1181
|
: T extends 'afterSetUID'
|
|
937
1182
|
? 'afterSetUIDCallbacks'
|
|
1183
|
+
: T extends 'failedSetUID'
|
|
1184
|
+
? 'failedSetUIDCallbacks'
|
|
938
1185
|
: T extends 'beforeRenameUID'
|
|
939
1186
|
? 'beforeRenameUIDCallbacks'
|
|
940
1187
|
: T extends 'afterRenameUID'
|
|
941
1188
|
? 'afterRenameUIDCallbacks'
|
|
1189
|
+
: T extends 'failedRenameUID'
|
|
1190
|
+
? 'failedRenameUIDCallbacks'
|
|
942
1191
|
: T extends 'beforeDeleteUID'
|
|
943
1192
|
? 'beforeDeleteUIDCallbacks'
|
|
944
1193
|
: T extends 'afterDeleteUID'
|
|
945
1194
|
? 'afterDeleteUIDCallbacks'
|
|
1195
|
+
: T extends 'failedDeleteUID'
|
|
1196
|
+
? 'failedDeleteUIDCallbacks'
|
|
1197
|
+
: T extends 'beforeStartTransaction'
|
|
1198
|
+
? 'beforeStartTransactionCallbacks'
|
|
1199
|
+
: T extends 'afterStartTransaction'
|
|
1200
|
+
? 'afterStartTransactionCallbacks'
|
|
1201
|
+
: T extends 'beforeCommitTransaction'
|
|
1202
|
+
? 'beforeCommitTransactionCallbacks'
|
|
1203
|
+
: T extends 'afterCommitTransaction'
|
|
1204
|
+
? 'afterCommitTransactionCallbacks'
|
|
1205
|
+
: T extends 'beforeRollbackTransaction'
|
|
1206
|
+
? 'beforeRollbackTransactionCallbacks'
|
|
1207
|
+
: T extends 'afterRollbackTransaction'
|
|
1208
|
+
? 'afterRollbackTransactionCallbacks'
|
|
946
1209
|
: never;
|
|
947
1210
|
if (!(prop in this)) {
|
|
948
1211
|
return false;
|
package/src/Nymph.types.ts
CHANGED
|
@@ -9,18 +9,31 @@ export type NymphEventType =
|
|
|
9
9
|
| 'beforeGetEntities'
|
|
10
10
|
| 'beforeSaveEntity'
|
|
11
11
|
| 'afterSaveEntity'
|
|
12
|
+
| 'failedSaveEntity'
|
|
12
13
|
| 'beforeDeleteEntity'
|
|
13
14
|
| 'afterDeleteEntity'
|
|
15
|
+
| 'failedDeleteEntity'
|
|
14
16
|
| 'beforeDeleteEntityByID'
|
|
15
17
|
| 'afterDeleteEntityByID'
|
|
18
|
+
| 'failedDeleteEntityByID'
|
|
16
19
|
| 'beforeNewUID'
|
|
17
20
|
| 'afterNewUID'
|
|
21
|
+
| 'failedNewUID'
|
|
18
22
|
| 'beforeSetUID'
|
|
19
23
|
| 'afterSetUID'
|
|
24
|
+
| 'failedSetUID'
|
|
20
25
|
| 'beforeRenameUID'
|
|
21
26
|
| 'afterRenameUID'
|
|
27
|
+
| 'failedRenameUID'
|
|
22
28
|
| 'beforeDeleteUID'
|
|
23
|
-
| 'afterDeleteUID'
|
|
29
|
+
| 'afterDeleteUID'
|
|
30
|
+
| 'failedDeleteUID'
|
|
31
|
+
| 'beforeStartTransaction'
|
|
32
|
+
| 'afterStartTransaction'
|
|
33
|
+
| 'beforeCommitTransaction'
|
|
34
|
+
| 'afterCommitTransaction'
|
|
35
|
+
| 'beforeRollbackTransaction'
|
|
36
|
+
| 'afterRollbackTransaction';
|
|
24
37
|
export type NymphConnectCallback = (
|
|
25
38
|
nymph: Nymph,
|
|
26
39
|
result: Promise<boolean>
|
|
@@ -63,6 +76,10 @@ export type NymphAfterSaveEntityCallback = (
|
|
|
63
76
|
nymph: Nymph,
|
|
64
77
|
result: Promise<boolean>
|
|
65
78
|
) => Promise<void>;
|
|
79
|
+
export type NymphFailedSaveEntityCallback = (
|
|
80
|
+
nymph: Nymph,
|
|
81
|
+
error: any
|
|
82
|
+
) => Promise<void>;
|
|
66
83
|
export type NymphBeforeDeleteEntityCallback = (
|
|
67
84
|
nymph: Nymph,
|
|
68
85
|
entity: EntityInterface
|
|
@@ -71,6 +88,10 @@ export type NymphAfterDeleteEntityCallback = (
|
|
|
71
88
|
nymph: Nymph,
|
|
72
89
|
result: Promise<boolean>
|
|
73
90
|
) => Promise<void>;
|
|
91
|
+
export type NymphFailedDeleteEntityCallback = (
|
|
92
|
+
nymph: Nymph,
|
|
93
|
+
error: any
|
|
94
|
+
) => Promise<void>;
|
|
74
95
|
export type NymphBeforeDeleteEntityByIDCallback = (
|
|
75
96
|
nymph: Nymph,
|
|
76
97
|
guid: string,
|
|
@@ -80,6 +101,10 @@ export type NymphAfterDeleteEntityByIDCallback = (
|
|
|
80
101
|
nymph: Nymph,
|
|
81
102
|
result: Promise<boolean>
|
|
82
103
|
) => Promise<void>;
|
|
104
|
+
export type NymphFailedDeleteEntityByIDCallback = (
|
|
105
|
+
nymph: Nymph,
|
|
106
|
+
error: any
|
|
107
|
+
) => Promise<void>;
|
|
83
108
|
export type NymphBeforeNewUIDCallback = (
|
|
84
109
|
nymph: Nymph,
|
|
85
110
|
name: string
|
|
@@ -88,6 +113,10 @@ export type NymphAfterNewUIDCallback = (
|
|
|
88
113
|
nymph: Nymph,
|
|
89
114
|
result: Promise<number | null>
|
|
90
115
|
) => Promise<void>;
|
|
116
|
+
export type NymphFailedNewUIDCallback = (
|
|
117
|
+
nymph: Nymph,
|
|
118
|
+
error: any
|
|
119
|
+
) => Promise<void>;
|
|
91
120
|
export type NymphBeforeSetUIDCallback = (
|
|
92
121
|
nymph: Nymph,
|
|
93
122
|
name: string,
|
|
@@ -97,6 +126,10 @@ export type NymphAfterSetUIDCallback = (
|
|
|
97
126
|
nymph: Nymph,
|
|
98
127
|
result: Promise<boolean>
|
|
99
128
|
) => Promise<void>;
|
|
129
|
+
export type NymphFailedSetUIDCallback = (
|
|
130
|
+
nymph: Nymph,
|
|
131
|
+
error: any
|
|
132
|
+
) => Promise<void>;
|
|
100
133
|
export type NymphBeforeRenameUIDCallback = (
|
|
101
134
|
nymph: Nymph,
|
|
102
135
|
oldName: string,
|
|
@@ -106,6 +139,10 @@ export type NymphAfterRenameUIDCallback = (
|
|
|
106
139
|
nymph: Nymph,
|
|
107
140
|
result: Promise<boolean>
|
|
108
141
|
) => Promise<void>;
|
|
142
|
+
export type NymphFailedRenameUIDCallback = (
|
|
143
|
+
nymph: Nymph,
|
|
144
|
+
error: any
|
|
145
|
+
) => Promise<void>;
|
|
109
146
|
export type NymphBeforeDeleteUIDCallback = (
|
|
110
147
|
nymph: Nymph,
|
|
111
148
|
name: string
|
|
@@ -114,6 +151,37 @@ export type NymphAfterDeleteUIDCallback = (
|
|
|
114
151
|
nymph: Nymph,
|
|
115
152
|
result: Promise<boolean>
|
|
116
153
|
) => Promise<void>;
|
|
154
|
+
export type NymphFailedDeleteUIDCallback = (
|
|
155
|
+
nymph: Nymph,
|
|
156
|
+
error: any
|
|
157
|
+
) => Promise<void>;
|
|
158
|
+
export type NymphBeforeStartTransactionCallback = (
|
|
159
|
+
nymph: Nymph,
|
|
160
|
+
name: string
|
|
161
|
+
) => Promise<void>;
|
|
162
|
+
export type NymphAfterStartTransactionCallback = (
|
|
163
|
+
nymph: Nymph,
|
|
164
|
+
name: string,
|
|
165
|
+
result: Nymph
|
|
166
|
+
) => Promise<void>;
|
|
167
|
+
export type NymphBeforeCommitTransactionCallback = (
|
|
168
|
+
nymph: Nymph,
|
|
169
|
+
name: string
|
|
170
|
+
) => Promise<void>;
|
|
171
|
+
export type NymphAfterCommitTransactionCallback = (
|
|
172
|
+
nymph: Nymph,
|
|
173
|
+
name: string,
|
|
174
|
+
result: boolean
|
|
175
|
+
) => Promise<void>;
|
|
176
|
+
export type NymphBeforeRollbackTransactionCallback = (
|
|
177
|
+
nymph: Nymph,
|
|
178
|
+
name: string
|
|
179
|
+
) => Promise<void>;
|
|
180
|
+
export type NymphAfterRollbackTransactionCallback = (
|
|
181
|
+
nymph: Nymph,
|
|
182
|
+
name: string,
|
|
183
|
+
result: boolean
|
|
184
|
+
) => Promise<void>;
|
|
117
185
|
|
|
118
186
|
export type Options<T extends EntityConstructor = EntityConstructor> = {
|
|
119
187
|
class?: T;
|