@nymphjs/nymph 1.0.0-beta.1 → 1.0.0-beta.3
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 +12 -0
- package/dist/Nymph.d.ts +1 -1
- package/dist/Nymph.js +19 -19
- package/dist/Nymph.js.map +1 -1
- package/dist/Nymph.types.d.ts +18 -18
- package/dist/Nymph.types.js.map +1 -1
- package/dist/driver/NymphDriver.d.ts +7 -4
- package/dist/driver/NymphDriver.js +81 -64
- package/dist/driver/NymphDriver.js.map +1 -1
- package/package.json +3 -3
- package/src/Nymph.ts +19 -22
- package/src/Nymph.types.ts +35 -19
- package/src/driver/NymphDriver.ts +100 -74
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2022-11-21)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- don't run query callbacks asynchronously ([02ab89d](https://github.com/sciactive/nymphjs/commit/02ab89d174d6dd366e417d070672587937b4d4b3))
|
|
11
|
+
|
|
12
|
+
# [1.0.0-beta.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-11-21)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- migrate all callbacks to async so errors are properly caught ([7dc8241](https://github.com/sciactive/nymphjs/commit/7dc82411eab381ad81ece044d0998b0c0707749c))
|
|
17
|
+
|
|
6
18
|
# [1.0.0-beta.1](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2022-11-21)
|
|
7
19
|
|
|
8
20
|
### Bug Fixes
|
package/dist/Nymph.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export default class Nymph {
|
|
|
34
34
|
clone(): Nymph;
|
|
35
35
|
connect(): Promise<boolean>;
|
|
36
36
|
disconnect(): Promise<boolean>;
|
|
37
|
-
runQueryCallbacks(options: Options, selectors: FormattedSelector[]):
|
|
37
|
+
runQueryCallbacks(options: Options, selectors: FormattedSelector[]): void;
|
|
38
38
|
startTransaction(name: string): Promise<Nymph>;
|
|
39
39
|
commit(name: string): Promise<boolean>;
|
|
40
40
|
rollback(name: string): Promise<boolean>;
|
package/dist/Nymph.js
CHANGED
|
@@ -102,7 +102,7 @@ class Nymph {
|
|
|
102
102
|
const result = this.driver.connect();
|
|
103
103
|
for (let callback of this.connectCallbacks) {
|
|
104
104
|
if (callback) {
|
|
105
|
-
callback(this, result);
|
|
105
|
+
await callback(this, result);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
return await result;
|
|
@@ -111,12 +111,12 @@ class Nymph {
|
|
|
111
111
|
const result = this.driver.disconnect();
|
|
112
112
|
for (let callback of this.disconnectCallbacks) {
|
|
113
113
|
if (callback) {
|
|
114
|
-
callback(this, result);
|
|
114
|
+
await callback(this, result);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
return await result;
|
|
118
118
|
}
|
|
119
|
-
|
|
119
|
+
runQueryCallbacks(options, selectors) {
|
|
120
120
|
for (let callback of this.queryCallbacks) {
|
|
121
121
|
if (callback) {
|
|
122
122
|
callback(this, options, selectors);
|
|
@@ -138,13 +138,13 @@ class Nymph {
|
|
|
138
138
|
async newUID(name) {
|
|
139
139
|
for (let callback of this.beforeNewUIDCallbacks) {
|
|
140
140
|
if (callback) {
|
|
141
|
-
callback(this, name);
|
|
141
|
+
await callback(this, name);
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
const result = this.driver.newUID(name);
|
|
145
145
|
for (let callback of this.afterNewUIDCallbacks) {
|
|
146
146
|
if (callback) {
|
|
147
|
-
callback(this, result);
|
|
147
|
+
await callback(this, result);
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
return await result;
|
|
@@ -155,13 +155,13 @@ class Nymph {
|
|
|
155
155
|
async setUID(name, value) {
|
|
156
156
|
for (let callback of this.beforeSetUIDCallbacks) {
|
|
157
157
|
if (callback) {
|
|
158
|
-
callback(this, name, value);
|
|
158
|
+
await callback(this, name, value);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
const result = this.driver.setUID(name, value);
|
|
162
162
|
for (let callback of this.afterSetUIDCallbacks) {
|
|
163
163
|
if (callback) {
|
|
164
|
-
callback(this, result);
|
|
164
|
+
await callback(this, result);
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
return await result;
|
|
@@ -169,13 +169,13 @@ class Nymph {
|
|
|
169
169
|
async deleteUID(name) {
|
|
170
170
|
for (let callback of this.beforeDeleteUIDCallbacks) {
|
|
171
171
|
if (callback) {
|
|
172
|
-
callback(this, name);
|
|
172
|
+
await callback(this, name);
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
const result = this.driver.deleteUID(name);
|
|
176
176
|
for (let callback of this.afterDeleteUIDCallbacks) {
|
|
177
177
|
if (callback) {
|
|
178
|
-
callback(this, result);
|
|
178
|
+
await callback(this, result);
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
return await result;
|
|
@@ -183,13 +183,13 @@ class Nymph {
|
|
|
183
183
|
async renameUID(oldName, newName) {
|
|
184
184
|
for (let callback of this.beforeRenameUIDCallbacks) {
|
|
185
185
|
if (callback) {
|
|
186
|
-
callback(this, oldName, newName);
|
|
186
|
+
await callback(this, oldName, newName);
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
const result = this.driver.renameUID(oldName, newName);
|
|
190
190
|
for (let callback of this.afterRenameUIDCallbacks) {
|
|
191
191
|
if (callback) {
|
|
192
|
-
callback(this, result);
|
|
192
|
+
await callback(this, result);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
return await result;
|
|
@@ -197,13 +197,13 @@ class Nymph {
|
|
|
197
197
|
async saveEntity(entity) {
|
|
198
198
|
for (let callback of this.beforeSaveEntityCallbacks) {
|
|
199
199
|
if (callback) {
|
|
200
|
-
callback(this, entity);
|
|
200
|
+
await callback(this, entity);
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
const result = this.driver.saveEntity(entity);
|
|
204
204
|
for (let callback of this.afterSaveEntityCallbacks) {
|
|
205
205
|
if (callback) {
|
|
206
|
-
callback(this, result);
|
|
206
|
+
await callback(this, result);
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
return await result;
|
|
@@ -211,7 +211,7 @@ class Nymph {
|
|
|
211
211
|
async getEntities(options = {}, ...selectors) {
|
|
212
212
|
for (let callback of this.beforeGetEntitiesCallbacks) {
|
|
213
213
|
if (callback) {
|
|
214
|
-
callback(this, options, selectors);
|
|
214
|
+
await callback(this, options, selectors);
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
return await this.driver.getEntities(options, ...selectors);
|
|
@@ -223,7 +223,7 @@ class Nymph {
|
|
|
223
223
|
options.limit = 1;
|
|
224
224
|
for (let callback of this.beforeGetEntityCallbacks) {
|
|
225
225
|
if (callback) {
|
|
226
|
-
callback(this, options, selectors);
|
|
226
|
+
await callback(this, options, selectors);
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
const entities = await this.driver.getEntities(options, ...selectors);
|
|
@@ -238,13 +238,13 @@ class Nymph {
|
|
|
238
238
|
async deleteEntity(entity) {
|
|
239
239
|
for (let callback of this.beforeDeleteEntityCallbacks) {
|
|
240
240
|
if (callback) {
|
|
241
|
-
callback(this, entity);
|
|
241
|
+
await callback(this, entity);
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
const result = this.driver.deleteEntity(entity);
|
|
245
245
|
for (let callback of this.afterDeleteEntityCallbacks) {
|
|
246
246
|
if (callback) {
|
|
247
|
-
callback(this, result);
|
|
247
|
+
await callback(this, result);
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
return await result;
|
|
@@ -252,13 +252,13 @@ class Nymph {
|
|
|
252
252
|
async deleteEntityByID(guid, className) {
|
|
253
253
|
for (let callback of this.beforeDeleteEntityByIDCallbacks) {
|
|
254
254
|
if (callback) {
|
|
255
|
-
callback(this, guid, className);
|
|
255
|
+
await callback(this, guid, className);
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
const result = this.driver.deleteEntityByID(guid, className);
|
|
259
259
|
for (let callback of this.afterDeleteEntityByIDCallbacks) {
|
|
260
260
|
if (callback) {
|
|
261
|
-
callback(this, result);
|
|
261
|
+
await callback(this, result);
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
return await 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":";;;;;AAAA,iCAA4D;AAE5D,sDAA8B;AAE9B,qCAAkD;AAqClD,MAAqB,KAAK;IAgDjB,cAAc,CAAC,WAA8B;QAClD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QACpD,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEM,cAAc,CAAC,SAAiB;QACrC,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;YACzB,OAAO,WAAW,CAAC;SACpB;QACD,MAAM,IAAI,+BAAsB,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACvE,CAAC;IASD,YACE,MAAuB,EACvB,MAAmB,EACnB,OAA0B;QA1DrB,YAAO,GAAsB,SAAS,CAAC;QAKtC,kBAAa,GAAuC,EAAE,CAAC;QAKxD,WAAM,GAAkB,gBAAM,CAAC;QAE9B,qBAAgB,GAA2B,EAAE,CAAC;QAC9C,wBAAmB,GAA8B,EAAE,CAAC;QACpD,mBAAc,GAAyB,EAAE,CAAC;QAC1C,6BAAwB,GAAmC,EAAE,CAAC;QAC9D,+BAA0B,GAAqC,EAAE,CAAC;QAClE,8BAAyB,GAAoC,EAAE,CAAC;QAChE,6BAAwB,GAAmC,EAAE,CAAC;QAC9D,gCAA2B,GAAsC,EAAE,CAAC;QACpE,+BAA0B,GAAqC,EAAE,CAAC;QAClE,oCAA+B,GACrC,EAAE,CAAC;QACG,mCAA8B,GACpC,EAAE,CAAC;QACG,0BAAqB,GAAgC,EAAE,CAAC;QACxD,yBAAoB,GAA+B,EAAE,CAAC;QACtD,0BAAqB,GAAgC,EAAE,CAAC;QACxD,yBAAoB,GAA+B,EAAE,CAAC;QACtD,6BAAwB,GAAmC,EAAE,CAAC;QAC9D,4BAAuB,GAAkC,EAAE,CAAC;QAC5D,6BAAwB,GAAmC,EAAE,CAAC;QAC9D,4BAAuB,GAAkC,EAAE,CAAC;QA4BlE,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QAED,MAAM,WAA+C,SAAQ,gBAAS;SAAG;QACzE,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;IAOM,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;YACrC,IAAI,IAAI,KAAK,QAAQ,IAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAS,CAAC,WAAW,EAAE;gBACtE,SAAS;aACV;YACD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;SAChD;QAED,MAAM,MAAM,GAAG;YACb,SAAS;YACT,YAAY;YACZ,OAAO;YACP,iBAAiB;YACjB,mBAAmB;YACnB,kBAAkB;YAClB,iBAAiB;YACjB,oBAAoB;YACpB,mBAAmB;YACnB,wBAAwB;YACxB,uBAAuB;YACvB,cAAc;YACd,aAAa;YACb,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;SACjB,CAAC;QAEF,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC;YAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;gBAC9B,IAAI,QAAQ,CAAC,WAAW,EAAE;oBACxB,SAAS;iBACV;gBACD,KAAK,CAAC,EAAE,CAAC,KAAuB,EAAE,QAAQ,CAAC,CAAC;aAC7C;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAOM,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC1C,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IAOM,KAAK,CAAC,UAAU;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACxC,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7C,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IAKM,iBAAiB,CAAC,OAAgB,EAAE,SAA8B;QACvE,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE;YACxC,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;aACpC;SACF;IACH,CAAC;IAcM,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAOM,KAAK,CAAC,MAAM,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAOM,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAOM,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAuBM,KAAK,CAAC,MAAM,CAAC,IAAY;QAC9B,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC/C,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5B;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC9C,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IAOM,KAAK,CAAC,MAAM,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IASM,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAAa;QAC7C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC/C,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;aACnC;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC9C,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IAQM,KAAK,CAAC,SAAS,CAAC,IAAY;QACjC,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAClD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5B;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACjD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IASM,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAe;QACrD,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAClD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aACxC;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACjD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IAaM,KAAK,CAAC,UAAU,CAAC,MAAuB;QAC7C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,yBAAyB,EAAE;YACnD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAClD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IA6KM,KAAK,CAAC,WAAW,CACtB,UAAsB,EAAE,EACxB,GAAG,SAAqB;QAExB,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACpD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;aAC1C;SACF;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAC9D,CAAC;IAmCM,KAAK,CAAC,SAAS,CACpB,UAAsB,EAAE,EACxB,GAAG,SAAgC;QAGnC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACpC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACjD;QACD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAClB,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAClD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAuB,CAAC,CAAC;aACxD;SACF;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,OAAO,EACP,GAAI,SAAwB,CAC7B,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;YAC9B,OAAO,QAA6B,CAAC;SACtC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAQM,KAAK,CAAC,YAAY,CAAC,MAAuB;QAC/C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACrD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACpD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IASM,KAAK,CAAC,gBAAgB,CAC3B,IAAY,EACZ,SAAkB;QAElB,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,+BAA+B,EAAE;YACzD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;aACvC;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7D,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,8BAA8B,EAAE;YACxD,IAAI,QAAQ,EAAE;gBACZ,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;IAsCM,KAAK,CAAC,MAAM,CAAC,QAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAOM,KAAK,CAAC,WAAW;QACtB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAQM,KAAK,CAAC,MAAM,CAAC,QAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEM,EAAE,CACP,KAAQ,EACR,QAsCS;QAET,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,WAAW,CAsCxB,CAAC;QACV,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEM,GAAG,CACR,KAAQ,EACR,QAsCS;QAET,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,WAAW,CAsCxB,CAAC;QACV,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAEV,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA33BD,wBA23BC"}
|
package/dist/Nymph.types.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { EntityConstructor, EntityInterface } from './Entity.types';
|
|
2
2
|
import Nymph from './Nymph';
|
|
3
3
|
export type NymphEventType = 'connect' | 'disconnect' | 'query' | 'beforeGetEntity' | 'beforeGetEntities' | 'beforeSaveEntity' | 'afterSaveEntity' | 'beforeDeleteEntity' | 'afterDeleteEntity' | 'beforeDeleteEntityByID' | 'afterDeleteEntityByID' | 'beforeNewUID' | 'afterNewUID' | 'beforeSetUID' | 'afterSetUID' | 'beforeRenameUID' | 'afterRenameUID' | 'beforeDeleteUID' | 'afterDeleteUID';
|
|
4
|
-
export type NymphConnectCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
5
|
-
export type NymphDisconnectCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
4
|
+
export type NymphConnectCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
5
|
+
export type NymphDisconnectCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
6
6
|
export type NymphQueryCallback = (nymph: Nymph, options: Options, selectors: FormattedSelector[]) => void;
|
|
7
|
-
export type NymphBeforeGetEntityCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => void
|
|
8
|
-
export type NymphBeforeGetEntitiesCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => void
|
|
9
|
-
export type NymphBeforeSaveEntityCallback = (nymph: Nymph, entity: EntityInterface) => void
|
|
10
|
-
export type NymphAfterSaveEntityCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
11
|
-
export type NymphBeforeDeleteEntityCallback = (nymph: Nymph, entity: EntityInterface) => void
|
|
12
|
-
export type NymphAfterDeleteEntityCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
13
|
-
export type NymphBeforeDeleteEntityByIDCallback = (nymph: Nymph, guid: string, className?: string) => void
|
|
14
|
-
export type NymphAfterDeleteEntityByIDCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
15
|
-
export type NymphBeforeNewUIDCallback = (nymph: Nymph, name: string) => void
|
|
16
|
-
export type NymphAfterNewUIDCallback = (nymph: Nymph, result: Promise<number | null>) => void
|
|
17
|
-
export type NymphBeforeSetUIDCallback = (nymph: Nymph, name: string, value: number) => void
|
|
18
|
-
export type NymphAfterSetUIDCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
19
|
-
export type NymphBeforeRenameUIDCallback = (nymph: Nymph, oldName: string, newName: string) => void
|
|
20
|
-
export type NymphAfterRenameUIDCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
21
|
-
export type NymphBeforeDeleteUIDCallback = (nymph: Nymph, name: string) => void
|
|
22
|
-
export type NymphAfterDeleteUIDCallback = (nymph: Nymph, result: Promise<boolean>) => void
|
|
7
|
+
export type NymphBeforeGetEntityCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => Promise<void>;
|
|
8
|
+
export type NymphBeforeGetEntitiesCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => Promise<void>;
|
|
9
|
+
export type NymphBeforeSaveEntityCallback = (nymph: Nymph, entity: EntityInterface) => Promise<void>;
|
|
10
|
+
export type NymphAfterSaveEntityCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
11
|
+
export type NymphBeforeDeleteEntityCallback = (nymph: Nymph, entity: EntityInterface) => Promise<void>;
|
|
12
|
+
export type NymphAfterDeleteEntityCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
13
|
+
export type NymphBeforeDeleteEntityByIDCallback = (nymph: Nymph, guid: string, className?: string) => Promise<void>;
|
|
14
|
+
export type NymphAfterDeleteEntityByIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
15
|
+
export type NymphBeforeNewUIDCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
16
|
+
export type NymphAfterNewUIDCallback = (nymph: Nymph, result: Promise<number | null>) => Promise<void>;
|
|
17
|
+
export type NymphBeforeSetUIDCallback = (nymph: Nymph, name: string, value: number) => Promise<void>;
|
|
18
|
+
export type NymphAfterSetUIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
19
|
+
export type NymphBeforeRenameUIDCallback = (nymph: Nymph, oldName: string, newName: string) => Promise<void>;
|
|
20
|
+
export type NymphAfterRenameUIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
21
|
+
export type NymphBeforeDeleteUIDCallback = (nymph: Nymph, name: string) => Promise<void>;
|
|
22
|
+
export type NymphAfterDeleteUIDCallback = (nymph: Nymph, result: Promise<boolean>) => Promise<void>;
|
|
23
23
|
export type Options<T extends EntityConstructor = EntityConstructor> = {
|
|
24
24
|
class?: T;
|
|
25
25
|
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":";;;AAwSA,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"}
|
|
@@ -58,7 +58,10 @@ export default abstract class NymphDriver {
|
|
|
58
58
|
protected cleanCache(guid: string): void;
|
|
59
59
|
deleteEntity(entity: EntityInterface): Promise<boolean>;
|
|
60
60
|
protected entityReferenceSearch(value: any, entity: EntityInterface | EntityReference | string | (EntityInterface | EntityReference | string)[]): boolean;
|
|
61
|
-
formatSelectors(selectors: Selector[], options?: Options):
|
|
61
|
+
formatSelectors(selectors: Selector[], options?: Options): {
|
|
62
|
+
selectors: FormattedSelector[];
|
|
63
|
+
qrefs: [Options, ...FormattedSelector[]][];
|
|
64
|
+
};
|
|
62
65
|
protected iterateSelectorsForQuery(selectors: FormattedSelector[], callback: (key: string, value: any, typeIsOr: boolean, typeIsNot: boolean) => string): string[];
|
|
63
66
|
getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
64
67
|
return: 'count';
|
|
@@ -87,7 +90,7 @@ export default abstract class NymphDriver {
|
|
|
87
90
|
svalue: string;
|
|
88
91
|
}): {
|
|
89
92
|
result: any;
|
|
90
|
-
process: () => number;
|
|
93
|
+
process: () => number | Error;
|
|
91
94
|
};
|
|
92
95
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
93
96
|
return: 'guid';
|
|
@@ -102,7 +105,7 @@ export default abstract class NymphDriver {
|
|
|
102
105
|
svalue: string;
|
|
103
106
|
}): {
|
|
104
107
|
result: any;
|
|
105
|
-
process: () => string[];
|
|
108
|
+
process: () => string[] | Error;
|
|
106
109
|
};
|
|
107
110
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(options: Options<T>, selectors: Selector[], performQueryCallback: (options: Options<T>, formattedSelectors: FormattedSelector[], etype: string) => {
|
|
108
111
|
result: any;
|
|
@@ -115,7 +118,7 @@ export default abstract class NymphDriver {
|
|
|
115
118
|
svalue: string;
|
|
116
119
|
}): {
|
|
117
120
|
result: any;
|
|
118
|
-
process: () => ReturnType<T['factorySync']>[];
|
|
121
|
+
process: () => ReturnType<T['factorySync']>[] | Error;
|
|
119
122
|
};
|
|
120
123
|
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
124
|
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();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NymphDriver.js","sourceRoot":"","sources":["../../src/driver/NymphDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NymphDriver.js","sourceRoot":"","sources":["../../src/driver/NymphDriver.ts"],"names":[],"mappings":"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"}
|
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.3",
|
|
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.3",
|
|
35
35
|
"joi": "^17.7.0",
|
|
36
36
|
"locutus": "^2.0.16",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"ts-jest": "^29.0.3",
|
|
48
48
|
"typescript": "^4.9.3"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "7270586be5b2b03fa42d98791a91d0f51c5fd299"
|
|
51
51
|
}
|
package/src/Nymph.ts
CHANGED
|
@@ -190,7 +190,7 @@ export default class Nymph {
|
|
|
190
190
|
const result = this.driver.connect();
|
|
191
191
|
for (let callback of this.connectCallbacks) {
|
|
192
192
|
if (callback) {
|
|
193
|
-
callback(this, result);
|
|
193
|
+
await callback(this, result);
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
196
|
return await result;
|
|
@@ -205,7 +205,7 @@ export default class Nymph {
|
|
|
205
205
|
const result = this.driver.disconnect();
|
|
206
206
|
for (let callback of this.disconnectCallbacks) {
|
|
207
207
|
if (callback) {
|
|
208
|
-
callback(this, result);
|
|
208
|
+
await callback(this, result);
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
return await result;
|
|
@@ -214,10 +214,7 @@ export default class Nymph {
|
|
|
214
214
|
/**
|
|
215
215
|
* Run all the query callbacks on a query.
|
|
216
216
|
*/
|
|
217
|
-
public
|
|
218
|
-
options: Options,
|
|
219
|
-
selectors: FormattedSelector[]
|
|
220
|
-
) {
|
|
217
|
+
public runQueryCallbacks(options: Options, selectors: FormattedSelector[]) {
|
|
221
218
|
for (let callback of this.queryCallbacks) {
|
|
222
219
|
if (callback) {
|
|
223
220
|
callback(this, options, selectors);
|
|
@@ -292,13 +289,13 @@ export default class Nymph {
|
|
|
292
289
|
public async newUID(name: string): Promise<number | null> {
|
|
293
290
|
for (let callback of this.beforeNewUIDCallbacks) {
|
|
294
291
|
if (callback) {
|
|
295
|
-
callback(this, name);
|
|
292
|
+
await callback(this, name);
|
|
296
293
|
}
|
|
297
294
|
}
|
|
298
295
|
const result = this.driver.newUID(name);
|
|
299
296
|
for (let callback of this.afterNewUIDCallbacks) {
|
|
300
297
|
if (callback) {
|
|
301
|
-
callback(this, result);
|
|
298
|
+
await callback(this, result);
|
|
302
299
|
}
|
|
303
300
|
}
|
|
304
301
|
return await result;
|
|
@@ -323,13 +320,13 @@ export default class Nymph {
|
|
|
323
320
|
public async setUID(name: string, value: number): Promise<boolean> {
|
|
324
321
|
for (let callback of this.beforeSetUIDCallbacks) {
|
|
325
322
|
if (callback) {
|
|
326
|
-
callback(this, name, value);
|
|
323
|
+
await callback(this, name, value);
|
|
327
324
|
}
|
|
328
325
|
}
|
|
329
326
|
const result = this.driver.setUID(name, value);
|
|
330
327
|
for (let callback of this.afterSetUIDCallbacks) {
|
|
331
328
|
if (callback) {
|
|
332
|
-
callback(this, result);
|
|
329
|
+
await callback(this, result);
|
|
333
330
|
}
|
|
334
331
|
}
|
|
335
332
|
return await result;
|
|
@@ -344,13 +341,13 @@ export default class Nymph {
|
|
|
344
341
|
public async deleteUID(name: string): Promise<boolean> {
|
|
345
342
|
for (let callback of this.beforeDeleteUIDCallbacks) {
|
|
346
343
|
if (callback) {
|
|
347
|
-
callback(this, name);
|
|
344
|
+
await callback(this, name);
|
|
348
345
|
}
|
|
349
346
|
}
|
|
350
347
|
const result = this.driver.deleteUID(name);
|
|
351
348
|
for (let callback of this.afterDeleteUIDCallbacks) {
|
|
352
349
|
if (callback) {
|
|
353
|
-
callback(this, result);
|
|
350
|
+
await callback(this, result);
|
|
354
351
|
}
|
|
355
352
|
}
|
|
356
353
|
return await result;
|
|
@@ -366,13 +363,13 @@ export default class Nymph {
|
|
|
366
363
|
public async renameUID(oldName: string, newName: string): Promise<boolean> {
|
|
367
364
|
for (let callback of this.beforeRenameUIDCallbacks) {
|
|
368
365
|
if (callback) {
|
|
369
|
-
callback(this, oldName, newName);
|
|
366
|
+
await callback(this, oldName, newName);
|
|
370
367
|
}
|
|
371
368
|
}
|
|
372
369
|
const result = this.driver.renameUID(oldName, newName);
|
|
373
370
|
for (let callback of this.afterRenameUIDCallbacks) {
|
|
374
371
|
if (callback) {
|
|
375
|
-
callback(this, result);
|
|
372
|
+
await callback(this, result);
|
|
376
373
|
}
|
|
377
374
|
}
|
|
378
375
|
return await result;
|
|
@@ -392,13 +389,13 @@ export default class Nymph {
|
|
|
392
389
|
public async saveEntity(entity: EntityInterface): Promise<boolean> {
|
|
393
390
|
for (let callback of this.beforeSaveEntityCallbacks) {
|
|
394
391
|
if (callback) {
|
|
395
|
-
callback(this, entity);
|
|
392
|
+
await callback(this, entity);
|
|
396
393
|
}
|
|
397
394
|
}
|
|
398
395
|
const result = this.driver.saveEntity(entity);
|
|
399
396
|
for (let callback of this.afterSaveEntityCallbacks) {
|
|
400
397
|
if (callback) {
|
|
401
|
-
callback(this, result);
|
|
398
|
+
await callback(this, result);
|
|
402
399
|
}
|
|
403
400
|
}
|
|
404
401
|
return await result;
|
|
@@ -581,7 +578,7 @@ export default class Nymph {
|
|
|
581
578
|
): Promise<ReturnType<T['factorySync']>[] | string[] | number> {
|
|
582
579
|
for (let callback of this.beforeGetEntitiesCallbacks) {
|
|
583
580
|
if (callback) {
|
|
584
|
-
callback(this, options, selectors);
|
|
581
|
+
await callback(this, options, selectors);
|
|
585
582
|
}
|
|
586
583
|
}
|
|
587
584
|
return await this.driver.getEntities(options, ...selectors);
|
|
@@ -631,7 +628,7 @@ export default class Nymph {
|
|
|
631
628
|
options.limit = 1;
|
|
632
629
|
for (let callback of this.beforeGetEntityCallbacks) {
|
|
633
630
|
if (callback) {
|
|
634
|
-
callback(this, options, selectors as Selector[]);
|
|
631
|
+
await callback(this, options, selectors as Selector[]);
|
|
635
632
|
}
|
|
636
633
|
}
|
|
637
634
|
const entities = await this.driver.getEntities(
|
|
@@ -656,13 +653,13 @@ export default class Nymph {
|
|
|
656
653
|
public async deleteEntity(entity: EntityInterface): Promise<boolean> {
|
|
657
654
|
for (let callback of this.beforeDeleteEntityCallbacks) {
|
|
658
655
|
if (callback) {
|
|
659
|
-
callback(this, entity);
|
|
656
|
+
await callback(this, entity);
|
|
660
657
|
}
|
|
661
658
|
}
|
|
662
659
|
const result = this.driver.deleteEntity(entity);
|
|
663
660
|
for (let callback of this.afterDeleteEntityCallbacks) {
|
|
664
661
|
if (callback) {
|
|
665
|
-
callback(this, result);
|
|
662
|
+
await callback(this, result);
|
|
666
663
|
}
|
|
667
664
|
}
|
|
668
665
|
return await result;
|
|
@@ -681,13 +678,13 @@ export default class Nymph {
|
|
|
681
678
|
): Promise<boolean> {
|
|
682
679
|
for (let callback of this.beforeDeleteEntityByIDCallbacks) {
|
|
683
680
|
if (callback) {
|
|
684
|
-
callback(this, guid, className);
|
|
681
|
+
await callback(this, guid, className);
|
|
685
682
|
}
|
|
686
683
|
}
|
|
687
684
|
const result = this.driver.deleteEntityByID(guid, className);
|
|
688
685
|
for (let callback of this.afterDeleteEntityByIDCallbacks) {
|
|
689
686
|
if (callback) {
|
|
690
|
-
callback(this, result);
|
|
687
|
+
await callback(this, result);
|
|
691
688
|
}
|
|
692
689
|
}
|
|
693
690
|
return await result;
|
package/src/Nymph.types.ts
CHANGED
|
@@ -24,12 +24,22 @@ export type NymphEventType =
|
|
|
24
24
|
export type NymphConnectCallback = (
|
|
25
25
|
nymph: Nymph,
|
|
26
26
|
result: Promise<boolean>
|
|
27
|
-
) => void
|
|
27
|
+
) => Promise<void>;
|
|
28
28
|
export type NymphDisconnectCallback = (
|
|
29
29
|
nymph: Nymph,
|
|
30
30
|
result: Promise<boolean>
|
|
31
|
-
) => void
|
|
32
|
-
/**
|
|
31
|
+
) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* The NymphQueryCallback will be called on both top level and qref queries.
|
|
34
|
+
*
|
|
35
|
+
* This is the only callback that is not asynchronous.
|
|
36
|
+
*
|
|
37
|
+
* This also isn't necessarily run on every "query". It is run before a database
|
|
38
|
+
* query for an entity, but it is not run during PubSub entity change
|
|
39
|
+
* propagation. Therefore, it shouldn't do anything _entity_ specific, instead
|
|
40
|
+
* it should be _query_ specific. For example, throw an error if the user is not
|
|
41
|
+
* permitted to run the query at all.
|
|
42
|
+
*/
|
|
33
43
|
export type NymphQueryCallback = (
|
|
34
44
|
nymph: Nymph,
|
|
35
45
|
options: Options,
|
|
@@ -39,65 +49,71 @@ export type NymphBeforeGetEntityCallback = (
|
|
|
39
49
|
nymph: Nymph,
|
|
40
50
|
options: Options,
|
|
41
51
|
selectors: Selector[]
|
|
42
|
-
) => void
|
|
52
|
+
) => Promise<void>;
|
|
43
53
|
export type NymphBeforeGetEntitiesCallback = (
|
|
44
54
|
nymph: Nymph,
|
|
45
55
|
options: Options,
|
|
46
56
|
selectors: Selector[]
|
|
47
|
-
) => void
|
|
57
|
+
) => Promise<void>;
|
|
48
58
|
export type NymphBeforeSaveEntityCallback = (
|
|
49
59
|
nymph: Nymph,
|
|
50
60
|
entity: EntityInterface
|
|
51
|
-
) => void
|
|
61
|
+
) => Promise<void>;
|
|
52
62
|
export type NymphAfterSaveEntityCallback = (
|
|
53
63
|
nymph: Nymph,
|
|
54
64
|
result: Promise<boolean>
|
|
55
|
-
) => void
|
|
65
|
+
) => Promise<void>;
|
|
56
66
|
export type NymphBeforeDeleteEntityCallback = (
|
|
57
67
|
nymph: Nymph,
|
|
58
68
|
entity: EntityInterface
|
|
59
|
-
) => void
|
|
69
|
+
) => Promise<void>;
|
|
60
70
|
export type NymphAfterDeleteEntityCallback = (
|
|
61
71
|
nymph: Nymph,
|
|
62
72
|
result: Promise<boolean>
|
|
63
|
-
) => void
|
|
73
|
+
) => Promise<void>;
|
|
64
74
|
export type NymphBeforeDeleteEntityByIDCallback = (
|
|
65
75
|
nymph: Nymph,
|
|
66
76
|
guid: string,
|
|
67
77
|
className?: string
|
|
68
|
-
) => void
|
|
78
|
+
) => Promise<void>;
|
|
69
79
|
export type NymphAfterDeleteEntityByIDCallback = (
|
|
70
80
|
nymph: Nymph,
|
|
71
81
|
result: Promise<boolean>
|
|
72
|
-
) => void
|
|
73
|
-
export type NymphBeforeNewUIDCallback = (
|
|
82
|
+
) => Promise<void>;
|
|
83
|
+
export type NymphBeforeNewUIDCallback = (
|
|
84
|
+
nymph: Nymph,
|
|
85
|
+
name: string
|
|
86
|
+
) => Promise<void>;
|
|
74
87
|
export type NymphAfterNewUIDCallback = (
|
|
75
88
|
nymph: Nymph,
|
|
76
89
|
result: Promise<number | null>
|
|
77
|
-
) => void
|
|
90
|
+
) => Promise<void>;
|
|
78
91
|
export type NymphBeforeSetUIDCallback = (
|
|
79
92
|
nymph: Nymph,
|
|
80
93
|
name: string,
|
|
81
94
|
value: number
|
|
82
|
-
) => void
|
|
95
|
+
) => Promise<void>;
|
|
83
96
|
export type NymphAfterSetUIDCallback = (
|
|
84
97
|
nymph: Nymph,
|
|
85
98
|
result: Promise<boolean>
|
|
86
|
-
) => void
|
|
99
|
+
) => Promise<void>;
|
|
87
100
|
export type NymphBeforeRenameUIDCallback = (
|
|
88
101
|
nymph: Nymph,
|
|
89
102
|
oldName: string,
|
|
90
103
|
newName: string
|
|
91
|
-
) => void
|
|
104
|
+
) => Promise<void>;
|
|
92
105
|
export type NymphAfterRenameUIDCallback = (
|
|
93
106
|
nymph: Nymph,
|
|
94
107
|
result: Promise<boolean>
|
|
95
|
-
) => void
|
|
96
|
-
export type NymphBeforeDeleteUIDCallback = (
|
|
108
|
+
) => Promise<void>;
|
|
109
|
+
export type NymphBeforeDeleteUIDCallback = (
|
|
110
|
+
nymph: Nymph,
|
|
111
|
+
name: string
|
|
112
|
+
) => Promise<void>;
|
|
97
113
|
export type NymphAfterDeleteUIDCallback = (
|
|
98
114
|
nymph: Nymph,
|
|
99
115
|
result: Promise<boolean>
|
|
100
|
-
) => void
|
|
116
|
+
) => Promise<void>;
|
|
101
117
|
|
|
102
118
|
export type Options<T extends EntityConstructor = EntityConstructor> = {
|
|
103
119
|
class?: T;
|
|
@@ -283,7 +283,7 @@ export default abstract class NymphDriver {
|
|
|
283
283
|
guid: string | null = null,
|
|
284
284
|
tags: string[] | null = null
|
|
285
285
|
) {
|
|
286
|
-
const formattedSelectors = this.formatSelectors(selectors);
|
|
286
|
+
const formattedSelectors = this.formatSelectors(selectors).selectors;
|
|
287
287
|
|
|
288
288
|
for (const curSelector of formattedSelectors) {
|
|
289
289
|
const type = curSelector.type;
|
|
@@ -575,8 +575,12 @@ export default abstract class NymphDriver {
|
|
|
575
575
|
public formatSelectors(
|
|
576
576
|
selectors: Selector[],
|
|
577
577
|
options: Options = {}
|
|
578
|
-
):
|
|
578
|
+
): {
|
|
579
|
+
selectors: FormattedSelector[];
|
|
580
|
+
qrefs: [Options, ...FormattedSelector[]][];
|
|
581
|
+
} {
|
|
579
582
|
const newSelectors: FormattedSelector[] = [];
|
|
583
|
+
const qrefs: [Options, ...FormattedSelector[]][] = [];
|
|
580
584
|
|
|
581
585
|
for (const curSelector of selectors) {
|
|
582
586
|
const newSelector: FormattedSelector = {
|
|
@@ -615,13 +619,18 @@ export default abstract class NymphDriver {
|
|
|
615
619
|
source: options.source,
|
|
616
620
|
};
|
|
617
621
|
const newSelectors = this.formatSelectors(qrefSelectors, options);
|
|
618
|
-
|
|
619
|
-
|
|
622
|
+
qrefs.push(
|
|
623
|
+
[newOptions, ...newSelectors.selectors],
|
|
624
|
+
...newSelectors.qrefs
|
|
625
|
+
);
|
|
626
|
+
formatArr[i] = [name, [newOptions, ...newSelectors.selectors]];
|
|
620
627
|
}
|
|
621
628
|
newSelector[key] = formatArr;
|
|
622
629
|
} else if (key === 'selector' || key === '!selector') {
|
|
623
630
|
const tmpArr = (Array.isArray(value) ? value : [value]) as Selector[];
|
|
624
|
-
|
|
631
|
+
const newSelectors = this.formatSelectors(tmpArr, options);
|
|
632
|
+
newSelector[key] = newSelectors.selectors;
|
|
633
|
+
qrefs.push(...newSelectors.qrefs);
|
|
625
634
|
} else if (!Array.isArray(value)) {
|
|
626
635
|
// @ts-ignore: ts doesn't know what value is here.
|
|
627
636
|
newSelector[key] = [[value]];
|
|
@@ -655,7 +664,7 @@ export default abstract class NymphDriver {
|
|
|
655
664
|
newSelectors.push(newSelector);
|
|
656
665
|
}
|
|
657
666
|
|
|
658
|
-
return newSelectors;
|
|
667
|
+
return { selectors: newSelectors, qrefs };
|
|
659
668
|
}
|
|
660
669
|
|
|
661
670
|
protected iterateSelectorsForQuery(
|
|
@@ -774,7 +783,7 @@ export default abstract class NymphDriver {
|
|
|
774
783
|
name: string;
|
|
775
784
|
svalue: string;
|
|
776
785
|
}
|
|
777
|
-
): { result: any; process: () => number };
|
|
786
|
+
): { result: any; process: () => number | Error };
|
|
778
787
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(
|
|
779
788
|
options: Options<T> & { return: 'guid' },
|
|
780
789
|
selectors: Selector[],
|
|
@@ -798,7 +807,7 @@ export default abstract class NymphDriver {
|
|
|
798
807
|
name: string;
|
|
799
808
|
svalue: string;
|
|
800
809
|
}
|
|
801
|
-
): { result: any; process: () => string[] };
|
|
810
|
+
): { result: any; process: () => string[] | Error };
|
|
802
811
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(
|
|
803
812
|
options: Options<T>,
|
|
804
813
|
selectors: Selector[],
|
|
@@ -822,7 +831,7 @@ export default abstract class NymphDriver {
|
|
|
822
831
|
name: string;
|
|
823
832
|
svalue: string;
|
|
824
833
|
}
|
|
825
|
-
): { result: any; process: () => ReturnType<T['factorySync']>[] };
|
|
834
|
+
): { result: any; process: () => ReturnType<T['factorySync']>[] | Error };
|
|
826
835
|
protected getEntitesRowLike<T extends EntityConstructor = EntityConstructor>(
|
|
827
836
|
options: Options<T>,
|
|
828
837
|
selectors: Selector[],
|
|
@@ -848,7 +857,7 @@ export default abstract class NymphDriver {
|
|
|
848
857
|
}
|
|
849
858
|
): {
|
|
850
859
|
result: any;
|
|
851
|
-
process: () => ReturnType<T['factorySync']>[] | string[] | number;
|
|
860
|
+
process: () => ReturnType<T['factorySync']>[] | string[] | number | Error;
|
|
852
861
|
} {
|
|
853
862
|
if (!this.isConnected()) {
|
|
854
863
|
throw new UnableToConnectError('not connected to DB');
|
|
@@ -918,78 +927,95 @@ export default abstract class NymphDriver {
|
|
|
918
927
|
}
|
|
919
928
|
}
|
|
920
929
|
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
930
|
+
try {
|
|
931
|
+
const formattedSelectors = this.formatSelectors(selectors, options);
|
|
932
|
+
this.nymph.runQueryCallbacks(options, formattedSelectors.selectors);
|
|
933
|
+
for (let qref of formattedSelectors.qrefs) {
|
|
934
|
+
const [options, ...selectors] = qref;
|
|
935
|
+
this.nymph.runQueryCallbacks(options, selectors);
|
|
936
|
+
}
|
|
937
|
+
const { result } = performQueryCallback(
|
|
938
|
+
options,
|
|
939
|
+
formattedSelectors.selectors,
|
|
940
|
+
etype
|
|
941
|
+
);
|
|
924
942
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
row = rowFetchCallback();
|
|
933
|
-
}
|
|
934
|
-
} else if (options.return === 'guid') {
|
|
935
|
-
while (row != null) {
|
|
936
|
-
(entities as string[]).push(getGUIDCallback(row));
|
|
937
|
-
row = rowFetchCallback();
|
|
938
|
-
}
|
|
939
|
-
} else {
|
|
940
|
-
while (row != null) {
|
|
941
|
-
const guid = getGUIDCallback(row);
|
|
942
|
-
const tagsAndDates = getTagsAndDatesCallback(row);
|
|
943
|
-
const tags = tagsAndDates.tags;
|
|
944
|
-
const cdate = tagsAndDates.cdate;
|
|
945
|
-
const mdate = tagsAndDates.mdate;
|
|
946
|
-
let dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
947
|
-
// Data.
|
|
948
|
-
const data: EntityData = {};
|
|
949
|
-
// Serialized data.
|
|
950
|
-
const sdata: SerializedEntityData = {};
|
|
951
|
-
if (dataNameAndSValue.name !== '') {
|
|
952
|
-
// This do will keep going and adding the data until the
|
|
953
|
-
// next entity is reached. $row will end on the next entity.
|
|
954
|
-
do {
|
|
955
|
-
dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
956
|
-
sdata[dataNameAndSValue.name] = dataNameAndSValue.svalue;
|
|
957
|
-
row = rowFetchCallback();
|
|
958
|
-
} while (row != null && getGUIDCallback(row) === guid);
|
|
959
|
-
} else {
|
|
960
|
-
// Make sure that $row is incremented :)
|
|
943
|
+
return {
|
|
944
|
+
result,
|
|
945
|
+
process: () => {
|
|
946
|
+
let row = rowFetchCallback();
|
|
947
|
+
if (options.return === 'count') {
|
|
948
|
+
while (row != null) {
|
|
949
|
+
count += getCountCallback(row);
|
|
961
950
|
row = rowFetchCallback();
|
|
962
951
|
}
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
if (options.skipAc != null) {
|
|
968
|
-
entity.$useSkipAc(!!options.skipAc);
|
|
969
|
-
}
|
|
970
|
-
entity.guid = guid;
|
|
971
|
-
entity.cdate = cdate;
|
|
972
|
-
entity.mdate = mdate;
|
|
973
|
-
entity.tags = tags;
|
|
974
|
-
this.putDataCounter++;
|
|
975
|
-
if (this.putDataCounter == 100) {
|
|
976
|
-
throw new Error('Infinite loop detected in Entity loading.');
|
|
952
|
+
} else if (options.return === 'guid') {
|
|
953
|
+
while (row != null) {
|
|
954
|
+
(entities as string[]).push(getGUIDCallback(row));
|
|
955
|
+
row = rowFetchCallback();
|
|
977
956
|
}
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
957
|
+
} else {
|
|
958
|
+
while (row != null) {
|
|
959
|
+
const guid = getGUIDCallback(row);
|
|
960
|
+
const tagsAndDates = getTagsAndDatesCallback(row);
|
|
961
|
+
const tags = tagsAndDates.tags;
|
|
962
|
+
const cdate = tagsAndDates.cdate;
|
|
963
|
+
const mdate = tagsAndDates.mdate;
|
|
964
|
+
let dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
965
|
+
// Data.
|
|
966
|
+
const data: EntityData = {};
|
|
967
|
+
// Serialized data.
|
|
968
|
+
const sdata: SerializedEntityData = {};
|
|
969
|
+
if (dataNameAndSValue.name !== '') {
|
|
970
|
+
// This do will keep going and adding the data until the
|
|
971
|
+
// next entity is reached. $row will end on the next entity.
|
|
972
|
+
do {
|
|
973
|
+
dataNameAndSValue = getDataNameAndSValueCallback(row);
|
|
974
|
+
sdata[dataNameAndSValue.name] = dataNameAndSValue.svalue;
|
|
975
|
+
row = rowFetchCallback();
|
|
976
|
+
} while (row != null && getGUIDCallback(row) === guid);
|
|
977
|
+
} else {
|
|
978
|
+
// Make sure that $row is incremented :)
|
|
979
|
+
row = rowFetchCallback();
|
|
980
|
+
}
|
|
981
|
+
const entity = EntityClass.factorySync() as ReturnType<
|
|
982
|
+
T['factorySync']
|
|
983
|
+
>;
|
|
984
|
+
entity.$nymph = this.nymph;
|
|
985
|
+
if (options.skipAc != null) {
|
|
986
|
+
entity.$useSkipAc(!!options.skipAc);
|
|
987
|
+
}
|
|
988
|
+
entity.guid = guid;
|
|
989
|
+
entity.cdate = cdate;
|
|
990
|
+
entity.mdate = mdate;
|
|
991
|
+
entity.tags = tags;
|
|
992
|
+
this.putDataCounter++;
|
|
993
|
+
if (this.putDataCounter == 100) {
|
|
994
|
+
throw new Error('Infinite loop detected in Entity loading.');
|
|
995
|
+
}
|
|
996
|
+
entity.$putData(data, sdata);
|
|
997
|
+
this.putDataCounter--;
|
|
998
|
+
if (this.nymph.config.cache) {
|
|
999
|
+
this.pushCache(guid, cdate, mdate, tags, data, sdata);
|
|
1000
|
+
}
|
|
1001
|
+
// @ts-ignore: ts doesn't know the return type here.
|
|
1002
|
+
entities.push(entity);
|
|
982
1003
|
}
|
|
983
|
-
// @ts-ignore: ts doesn't know the return type here.
|
|
984
|
-
entities.push(entity);
|
|
985
1004
|
}
|
|
986
|
-
}
|
|
987
1005
|
|
|
988
|
-
|
|
1006
|
+
freeResultCallback();
|
|
989
1007
|
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
1008
|
+
return options.return === 'count' ? count : entities;
|
|
1009
|
+
},
|
|
1010
|
+
};
|
|
1011
|
+
} catch (e: any) {
|
|
1012
|
+
return {
|
|
1013
|
+
result: Promise.resolve(e),
|
|
1014
|
+
process: () => {
|
|
1015
|
+
return e;
|
|
1016
|
+
},
|
|
1017
|
+
};
|
|
1018
|
+
}
|
|
993
1019
|
}
|
|
994
1020
|
|
|
995
1021
|
protected async saveEntityRowLike(
|