@nymphjs/nymph 1.0.0-beta.2 → 1.0.0-beta.21
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 +101 -0
- package/README.md +4 -2
- package/dist/Entity.js +41 -10
- package/dist/Entity.js.map +1 -1
- package/dist/Entity.test.js +17 -15
- package/dist/Entity.test.js.map +1 -1
- package/dist/Entity.types.d.ts +1 -1
- package/dist/Nymph.d.ts +22 -8
- package/dist/Nymph.js +170 -32
- package/dist/Nymph.js.map +1 -1
- package/dist/Nymph.types.d.ts +16 -3
- package/dist/Nymph.types.js.map +1 -1
- package/dist/driver/NymphDriver.d.ts +8 -4
- package/dist/driver/NymphDriver.js +81 -64
- package/dist/driver/NymphDriver.js.map +1 -1
- package/dist/driver/testArtifacts.js +192 -155
- package/dist/driver/testArtifacts.js.map +1 -1
- package/dist/testArtifacts.js +2 -2
- package/dist/testArtifacts.js.map +1 -1
- package/dist/testMocks.d.ts +3 -1
- package/dist/testMocks.js +11 -6
- package/dist/testMocks.js.map +1 -1
- package/package.json +11 -11
- package/src/Entity.test.ts +14 -7
- package/src/Entity.ts +64 -19
- package/src/Entity.types.ts +1 -1
- package/src/Nymph.ts +331 -44
- package/src/Nymph.types.ts +82 -4
- package/src/driver/NymphDriver.ts +116 -74
- package/src/driver/testArtifacts.ts +104 -33
- package/src/testMocks.ts +14 -7
package/dist/Nymph.js
CHANGED
|
@@ -7,22 +7,9 @@ const conf_1 = require("./conf");
|
|
|
7
7
|
const Entity_1 = __importDefault(require("./Entity"));
|
|
8
8
|
const errors_1 = require("./errors");
|
|
9
9
|
class Nymph {
|
|
10
|
-
addEntityClass(entityClass) {
|
|
11
|
-
this.entityClasses[entityClass.class] = entityClass;
|
|
12
|
-
entityClass.nymph = this;
|
|
13
|
-
}
|
|
14
|
-
getEntityClass(className) {
|
|
15
|
-
if (className in this.entityClasses) {
|
|
16
|
-
const EntityClass = this.entityClasses[className];
|
|
17
|
-
EntityClass.nymph = this;
|
|
18
|
-
return EntityClass;
|
|
19
|
-
}
|
|
20
|
-
throw new errors_1.ClassNotAvailableError('Tried to use class: ' + className);
|
|
21
|
-
}
|
|
22
10
|
constructor(config, driver, tilmeld) {
|
|
23
11
|
this.tilmeld = undefined;
|
|
24
12
|
this.entityClasses = {};
|
|
25
|
-
this.Entity = Entity_1.default;
|
|
26
13
|
this.connectCallbacks = [];
|
|
27
14
|
this.disconnectCallbacks = [];
|
|
28
15
|
this.queryCallbacks = [];
|
|
@@ -30,35 +17,63 @@ class Nymph {
|
|
|
30
17
|
this.beforeGetEntitiesCallbacks = [];
|
|
31
18
|
this.beforeSaveEntityCallbacks = [];
|
|
32
19
|
this.afterSaveEntityCallbacks = [];
|
|
20
|
+
this.failedSaveEntityCallbacks = [];
|
|
33
21
|
this.beforeDeleteEntityCallbacks = [];
|
|
34
22
|
this.afterDeleteEntityCallbacks = [];
|
|
23
|
+
this.failedDeleteEntityCallbacks = [];
|
|
35
24
|
this.beforeDeleteEntityByIDCallbacks = [];
|
|
36
25
|
this.afterDeleteEntityByIDCallbacks = [];
|
|
26
|
+
this.failedDeleteEntityByIDCallbacks = [];
|
|
37
27
|
this.beforeNewUIDCallbacks = [];
|
|
38
28
|
this.afterNewUIDCallbacks = [];
|
|
29
|
+
this.failedNewUIDCallbacks = [];
|
|
39
30
|
this.beforeSetUIDCallbacks = [];
|
|
40
31
|
this.afterSetUIDCallbacks = [];
|
|
32
|
+
this.failedSetUIDCallbacks = [];
|
|
41
33
|
this.beforeRenameUIDCallbacks = [];
|
|
42
34
|
this.afterRenameUIDCallbacks = [];
|
|
35
|
+
this.failedRenameUIDCallbacks = [];
|
|
43
36
|
this.beforeDeleteUIDCallbacks = [];
|
|
44
37
|
this.afterDeleteUIDCallbacks = [];
|
|
38
|
+
this.failedDeleteUIDCallbacks = [];
|
|
39
|
+
this.beforeStartTransactionCallbacks = [];
|
|
40
|
+
this.afterStartTransactionCallbacks = [];
|
|
41
|
+
this.beforeCommitTransactionCallbacks = [];
|
|
42
|
+
this.afterCommitTransactionCallbacks = [];
|
|
43
|
+
this.beforeRollbackTransactionCallbacks = [];
|
|
44
|
+
this.afterRollbackTransactionCallbacks = [];
|
|
45
45
|
this.config = { ...conf_1.ConfigDefaults, ...config };
|
|
46
46
|
this.driver = driver;
|
|
47
|
-
|
|
47
|
+
this.parent = null;
|
|
48
|
+
this.Entity = this.addEntityClass(Entity_1.default);
|
|
49
|
+
if (tilmeld != null) {
|
|
48
50
|
this.tilmeld = tilmeld;
|
|
49
51
|
}
|
|
50
|
-
class NymphEntity extends Entity_1.default {
|
|
51
|
-
}
|
|
52
|
-
NymphEntity.nymph = this;
|
|
53
|
-
this.Entity = NymphEntity;
|
|
54
|
-
this.addEntityClass(NymphEntity);
|
|
55
52
|
this.driver.init(this);
|
|
56
53
|
if (this.tilmeld) {
|
|
57
54
|
this.tilmeld.init(this);
|
|
58
55
|
}
|
|
59
56
|
}
|
|
57
|
+
addEntityClass(entityClass) {
|
|
58
|
+
const nymph = this;
|
|
59
|
+
class NymphEntity extends entityClass {
|
|
60
|
+
constructor(...args) {
|
|
61
|
+
super(...args);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
NymphEntity.nymph = nymph;
|
|
65
|
+
this.entityClasses[entityClass.class] = NymphEntity;
|
|
66
|
+
return NymphEntity;
|
|
67
|
+
}
|
|
68
|
+
getEntityClass(className) {
|
|
69
|
+
if (className in this.entityClasses) {
|
|
70
|
+
return this.entityClasses[className];
|
|
71
|
+
}
|
|
72
|
+
throw new errors_1.ClassNotAvailableError('Tried to use class: ' + className);
|
|
73
|
+
}
|
|
60
74
|
clone() {
|
|
61
|
-
const nymph = new Nymph(this.config, this.driver, this.tilmeld?.clone());
|
|
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';
|
|
@@ -116,21 +144,54 @@ class Nymph {
|
|
|
116
144
|
}
|
|
117
145
|
return await result;
|
|
118
146
|
}
|
|
119
|
-
|
|
147
|
+
runQueryCallbacks(options, selectors) {
|
|
120
148
|
for (let callback of this.queryCallbacks) {
|
|
121
149
|
if (callback) {
|
|
122
|
-
|
|
150
|
+
callback(this, options, selectors);
|
|
123
151
|
}
|
|
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,31 +1,44 @@
|
|
|
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
|
-
export type NymphQueryCallback = (nymph: Nymph, options: Options, selectors: FormattedSelector[]) =>
|
|
6
|
+
export type NymphQueryCallback = (nymph: Nymph, options: Options, selectors: FormattedSelector[]) => void;
|
|
7
7
|
export type NymphBeforeGetEntityCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => Promise<void>;
|
|
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;
|
|
26
39
|
offset?: number;
|
|
27
40
|
reverse?: boolean;
|
|
28
|
-
sort?: 'cdate' | 'mdate';
|
|
41
|
+
sort?: 'cdate' | 'mdate' | string;
|
|
29
42
|
return?: 'entity' | 'guid' | 'count';
|
|
30
43
|
source?: string;
|
|
31
44
|
skipCache?: boolean;
|
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"}
|
|
@@ -16,6 +16,7 @@ export default abstract class NymphDriver {
|
|
|
16
16
|
[k: string]: number;
|
|
17
17
|
};
|
|
18
18
|
private putDataCounter;
|
|
19
|
+
abstract clone(): NymphDriver;
|
|
19
20
|
abstract connect(): Promise<boolean>;
|
|
20
21
|
abstract isConnected(): boolean;
|
|
21
22
|
abstract startTransaction(name: string): Promise<Nymph>;
|
|
@@ -58,7 +59,10 @@ export default abstract class NymphDriver {
|
|
|
58
59
|
protected cleanCache(guid: string): void;
|
|
59
60
|
deleteEntity(entity: EntityInterface): Promise<boolean>;
|
|
60
61
|
protected entityReferenceSearch(value: any, entity: EntityInterface | EntityReference | string | (EntityInterface | EntityReference | string)[]): boolean;
|
|
61
|
-
formatSelectors(selectors: Selector[], options?: Options):
|
|
62
|
+
formatSelectors(selectors: Selector[], options?: Options): {
|
|
63
|
+
selectors: FormattedSelector[];
|
|
64
|
+
qrefs: [Options, ...FormattedSelector[]][];
|
|
65
|
+
};
|
|
62
66
|
protected iterateSelectorsForQuery(selectors: FormattedSelector[], callback: (key: string, value: any, typeIsOr: boolean, typeIsNot: boolean) => string): string[];
|
|
63
67
|
getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
64
68
|
return: 'count';
|
|
@@ -87,7 +91,7 @@ export default abstract class NymphDriver {
|
|
|
87
91
|
svalue: string;
|
|
88
92
|
}): {
|
|
89
93
|
result: any;
|
|
90
|
-
process: () => number;
|
|
94
|
+
process: () => number | Error;
|
|
91
95
|
};
|
|
92
96
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
93
97
|
return: 'guid';
|
|
@@ -102,7 +106,7 @@ export default abstract class NymphDriver {
|
|
|
102
106
|
svalue: string;
|
|
103
107
|
}): {
|
|
104
108
|
result: any;
|
|
105
|
-
process: () => string[];
|
|
109
|
+
process: () => string[] | Error;
|
|
106
110
|
};
|
|
107
111
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(options: Options<T>, selectors: Selector[], performQueryCallback: (options: Options<T>, formattedSelectors: FormattedSelector[], etype: string) => {
|
|
108
112
|
result: any;
|
|
@@ -115,7 +119,7 @@ export default abstract class NymphDriver {
|
|
|
115
119
|
svalue: string;
|
|
116
120
|
}): {
|
|
117
121
|
result: any;
|
|
118
|
-
process: () => ReturnType<T['factorySync']>[];
|
|
122
|
+
process: () => ReturnType<T['factorySync']>[] | Error;
|
|
119
123
|
};
|
|
120
124
|
protected saveEntityRowLike(entity: EntityInterface, saveNewEntityCallback: (entity: EntityInterface, guid: string, tags: string[], data: EntityData, sdata: SerializedEntityData, cdate: number, etype: string) => Promise<boolean>, saveExistingEntityCallback: (entity: EntityInterface, guid: string, tags: string[], data: EntityData, sdata: SerializedEntityData, mdate: number, etype: string) => Promise<boolean>, startTransactionCallback?: (() => Promise<void>) | null, commitTransactionCallback?: ((success: boolean) => Promise<boolean>) | null): Promise<boolean>;
|
|
121
125
|
protected pullCache<T extends EntityInterface = EntityInterface>(guid: string, className: string, useSkipAc?: boolean): T | null;
|
|
@@ -144,7 +144,7 @@ class NymphDriver {
|
|
|
144
144
|
return true;
|
|
145
145
|
}
|
|
146
146
|
checkData(data, sdata, selectors, guid = null, tags = null) {
|
|
147
|
-
const formattedSelectors = this.formatSelectors(selectors);
|
|
147
|
+
const formattedSelectors = this.formatSelectors(selectors).selectors;
|
|
148
148
|
for (const curSelector of formattedSelectors) {
|
|
149
149
|
const type = curSelector.type;
|
|
150
150
|
const typeIsNot = type === '!&' || type === '!|';
|
|
@@ -334,6 +334,7 @@ class NymphDriver {
|
|
|
334
334
|
}
|
|
335
335
|
formatSelectors(selectors, options = {}) {
|
|
336
336
|
const newSelectors = [];
|
|
337
|
+
const qrefs = [];
|
|
337
338
|
for (const curSelector of selectors) {
|
|
338
339
|
const newSelector = {
|
|
339
340
|
type: curSelector.type,
|
|
@@ -364,14 +365,16 @@ class NymphDriver {
|
|
|
364
365
|
source: options.source,
|
|
365
366
|
};
|
|
366
367
|
const newSelectors = this.formatSelectors(qrefSelectors, options);
|
|
367
|
-
|
|
368
|
-
formatArr[i] = [name, [newOptions, ...newSelectors]];
|
|
368
|
+
qrefs.push([newOptions, ...newSelectors.selectors], ...newSelectors.qrefs);
|
|
369
|
+
formatArr[i] = [name, [newOptions, ...newSelectors.selectors]];
|
|
369
370
|
}
|
|
370
371
|
newSelector[key] = formatArr;
|
|
371
372
|
}
|
|
372
373
|
else if (key === 'selector' || key === '!selector') {
|
|
373
374
|
const tmpArr = (Array.isArray(value) ? value : [value]);
|
|
374
|
-
|
|
375
|
+
const newSelectors = this.formatSelectors(tmpArr, options);
|
|
376
|
+
newSelector[key] = newSelectors.selectors;
|
|
377
|
+
qrefs.push(...newSelectors.qrefs);
|
|
375
378
|
}
|
|
376
379
|
else if (!Array.isArray(value)) {
|
|
377
380
|
newSelector[key] = [[value]];
|
|
@@ -399,7 +402,7 @@ class NymphDriver {
|
|
|
399
402
|
}
|
|
400
403
|
newSelectors.push(newSelector);
|
|
401
404
|
}
|
|
402
|
-
return newSelectors;
|
|
405
|
+
return { selectors: newSelectors, qrefs };
|
|
403
406
|
}
|
|
404
407
|
iterateSelectorsForQuery(selectors, callback) {
|
|
405
408
|
const queryParts = [];
|
|
@@ -486,70 +489,84 @@ class NymphDriver {
|
|
|
486
489
|
}
|
|
487
490
|
}
|
|
488
491
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
entities.push(getGUIDCallback(row));
|
|
505
|
-
row = rowFetchCallback();
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
else {
|
|
509
|
-
while (row != null) {
|
|
510
|
-
const guid = getGUIDCallback(row);
|
|
511
|
-
const tagsAndDates = getTagsAndDatesCallback(row);
|
|
512
|
-
const tags = tagsAndDates.tags;
|
|
513
|
-
const cdate = tagsAndDates.cdate;
|
|
514
|
-
const mdate = tagsAndDates.mdate;
|
|
515
|
-
let dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
516
|
-
const data = {};
|
|
517
|
-
const sdata = {};
|
|
518
|
-
if (dataNameAndSValue.name !== '') {
|
|
519
|
-
do {
|
|
520
|
-
dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
521
|
-
sdata[dataNameAndSValue.name] = dataNameAndSValue.svalue;
|
|
522
|
-
row = rowFetchCallback();
|
|
523
|
-
} while (row != null && getGUIDCallback(row) === guid);
|
|
524
|
-
}
|
|
525
|
-
else {
|
|
492
|
+
try {
|
|
493
|
+
const formattedSelectors = this.formatSelectors(selectors, options);
|
|
494
|
+
this.nymph.runQueryCallbacks(options, formattedSelectors.selectors);
|
|
495
|
+
for (let qref of formattedSelectors.qrefs) {
|
|
496
|
+
const [options, ...selectors] = qref;
|
|
497
|
+
this.nymph.runQueryCallbacks(options, selectors);
|
|
498
|
+
}
|
|
499
|
+
const { result } = performQueryCallback(options, formattedSelectors.selectors, etype);
|
|
500
|
+
return {
|
|
501
|
+
result,
|
|
502
|
+
process: () => {
|
|
503
|
+
let row = rowFetchCallback();
|
|
504
|
+
if (options.return === 'count') {
|
|
505
|
+
while (row != null) {
|
|
506
|
+
count += getCountCallback(row);
|
|
526
507
|
row = rowFetchCallback();
|
|
527
508
|
}
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
entity.guid = guid;
|
|
534
|
-
entity.cdate = cdate;
|
|
535
|
-
entity.mdate = mdate;
|
|
536
|
-
entity.tags = tags;
|
|
537
|
-
this.putDataCounter++;
|
|
538
|
-
if (this.putDataCounter == 100) {
|
|
539
|
-
throw new Error('Infinite loop detected in Entity loading.');
|
|
509
|
+
}
|
|
510
|
+
else if (options.return === 'guid') {
|
|
511
|
+
while (row != null) {
|
|
512
|
+
entities.push(getGUIDCallback(row));
|
|
513
|
+
row = rowFetchCallback();
|
|
540
514
|
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
while (row != null) {
|
|
518
|
+
const guid = getGUIDCallback(row);
|
|
519
|
+
const tagsAndDates = getTagsAndDatesCallback(row);
|
|
520
|
+
const tags = tagsAndDates.tags;
|
|
521
|
+
const cdate = tagsAndDates.cdate;
|
|
522
|
+
const mdate = tagsAndDates.mdate;
|
|
523
|
+
let dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
524
|
+
const data = {};
|
|
525
|
+
const sdata = {};
|
|
526
|
+
if (dataNameAndSValue.name !== '') {
|
|
527
|
+
do {
|
|
528
|
+
dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
529
|
+
sdata[dataNameAndSValue.name] = dataNameAndSValue.svalue;
|
|
530
|
+
row = rowFetchCallback();
|
|
531
|
+
} while (row != null && getGUIDCallback(row) === guid);
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
row = rowFetchCallback();
|
|
535
|
+
}
|
|
536
|
+
const entity = EntityClass.factorySync();
|
|
537
|
+
entity.$nymph = this.nymph;
|
|
538
|
+
if (options.skipAc != null) {
|
|
539
|
+
entity.$useSkipAc(!!options.skipAc);
|
|
540
|
+
}
|
|
541
|
+
entity.guid = guid;
|
|
542
|
+
entity.cdate = cdate;
|
|
543
|
+
entity.mdate = mdate;
|
|
544
|
+
entity.tags = tags;
|
|
545
|
+
this.putDataCounter++;
|
|
546
|
+
if (this.putDataCounter == 100) {
|
|
547
|
+
throw new Error('Infinite loop detected in Entity loading.');
|
|
548
|
+
}
|
|
549
|
+
entity.$putData(data, sdata);
|
|
550
|
+
this.putDataCounter--;
|
|
551
|
+
if (this.nymph.config.cache) {
|
|
552
|
+
this.pushCache(guid, cdate, mdate, tags, data, sdata);
|
|
553
|
+
}
|
|
554
|
+
entities.push(entity);
|
|
545
555
|
}
|
|
546
|
-
entities.push(entity);
|
|
547
556
|
}
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
}
|
|
552
|
-
}
|
|
557
|
+
freeResultCallback();
|
|
558
|
+
return options.return === 'count' ? count : entities;
|
|
559
|
+
},
|
|
560
|
+
};
|
|
561
|
+
}
|
|
562
|
+
catch (e) {
|
|
563
|
+
return {
|
|
564
|
+
result: Promise.resolve(e),
|
|
565
|
+
process: () => {
|
|
566
|
+
return e;
|
|
567
|
+
},
|
|
568
|
+
};
|
|
569
|
+
}
|
|
553
570
|
}
|
|
554
571
|
async saveEntityRowLike(entity, saveNewEntityCallback, saveExistingEntityCallback, startTransactionCallback = null, commitTransactionCallback = null) {
|
|
555
572
|
const mdate = Date.now();
|