@nymphjs/nymph 1.0.0-alpha.1 → 1.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +17 -7
  3. package/dist/Entity.d.ts +3 -0
  4. package/dist/Entity.js +15 -17
  5. package/dist/Entity.js.map +1 -1
  6. package/dist/Entity.test.js +6 -3
  7. package/dist/Entity.test.js.map +1 -1
  8. package/dist/Entity.types.d.ts +4 -1
  9. package/dist/Nymph.d.ts +56 -53
  10. package/dist/Nymph.js +138 -67
  11. package/dist/Nymph.js.map +1 -1
  12. package/dist/Nymph.types.d.ts +49 -28
  13. package/dist/Nymph.types.js +8 -0
  14. package/dist/Nymph.types.js.map +1 -1
  15. package/dist/driver/NymphDriver.d.ts +5 -2
  16. package/dist/driver/NymphDriver.js +68 -39
  17. package/dist/driver/NymphDriver.js.map +1 -1
  18. package/dist/driver/testArtifacts.d.ts +4 -3
  19. package/dist/driver/testArtifacts.js +265 -167
  20. package/dist/driver/testArtifacts.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.js +3 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/nymphJoiProps.d.ts +8 -0
  25. package/dist/nymphJoiProps.js +24 -0
  26. package/dist/nymphJoiProps.js.map +1 -0
  27. package/dist/testArtifacts.js +0 -3
  28. package/dist/testArtifacts.js.map +1 -1
  29. package/dist/testMocks.d.ts +14 -13
  30. package/dist/testMocks.js +21 -11
  31. package/dist/testMocks.js.map +1 -1
  32. package/dist/utils.d.ts +2 -1
  33. package/dist/utils.js +9 -10
  34. package/dist/utils.js.map +1 -1
  35. package/package.json +3 -2
  36. package/src/Entity.test.ts +7 -4
  37. package/src/Entity.ts +22 -12
  38. package/src/Entity.types.ts +10 -1
  39. package/src/Nymph.ts +203 -119
  40. package/src/Nymph.types.ts +91 -22
  41. package/src/driver/NymphDriver.ts +93 -46
  42. package/src/driver/testArtifacts.ts +307 -161
  43. package/src/index.ts +3 -1
  44. package/src/nymphJoiProps.ts +24 -0
  45. package/src/testArtifacts.ts +0 -5
  46. package/src/testMocks.ts +34 -29
  47. package/src/utils.ts +12 -10
package/dist/Nymph.js CHANGED
@@ -8,162 +8,253 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  const conf_1 = require("./conf");
16
+ const Entity_1 = __importDefault(require("./Entity"));
13
17
  const errors_1 = require("./errors");
14
18
  class Nymph {
15
- static setEntityClass(className, entityClass) {
16
- this.entityClasses[className] = entityClass;
19
+ constructor(config, driver, tilmeld) {
20
+ this.tilmeld = undefined;
21
+ this.entityClasses = {};
22
+ this.Entity = Entity_1.default;
23
+ this.connectCallbacks = [];
24
+ this.disconnectCallbacks = [];
25
+ this.queryCallbacks = [];
26
+ this.beforeGetEntityCallbacks = [];
27
+ this.beforeGetEntitiesCallbacks = [];
28
+ this.beforeSaveEntityCallbacks = [];
29
+ this.afterSaveEntityCallbacks = [];
30
+ this.beforeDeleteEntityCallbacks = [];
31
+ this.afterDeleteEntityCallbacks = [];
32
+ this.beforeDeleteEntityByIDCallbacks = [];
33
+ this.afterDeleteEntityByIDCallbacks = [];
34
+ this.beforeNewUIDCallbacks = [];
35
+ this.afterNewUIDCallbacks = [];
36
+ this.beforeSetUIDCallbacks = [];
37
+ this.afterSetUIDCallbacks = [];
38
+ this.beforeRenameUIDCallbacks = [];
39
+ this.afterRenameUIDCallbacks = [];
40
+ this.beforeDeleteUIDCallbacks = [];
41
+ this.afterDeleteUIDCallbacks = [];
42
+ this.config = Object.assign(Object.assign({}, conf_1.ConfigDefaults), config);
43
+ this.driver = driver;
44
+ if (typeof tilmeld !== 'undefined') {
45
+ this.tilmeld = tilmeld;
46
+ }
47
+ class NymphEntity extends Entity_1.default {
48
+ }
49
+ NymphEntity.nymph = this;
50
+ this.Entity = NymphEntity;
51
+ this.addEntityClass(NymphEntity);
52
+ this.driver.init(this);
53
+ if (this.tilmeld) {
54
+ this.tilmeld.init(this);
55
+ }
56
+ }
57
+ addEntityClass(entityClass) {
58
+ this.entityClasses[entityClass.class] = entityClass;
59
+ entityClass.nymph = this;
17
60
  }
18
- static getEntityClass(className) {
61
+ getEntityClass(className) {
19
62
  if (className in this.entityClasses) {
20
- return this.entityClasses[className];
63
+ const EntityClass = this.entityClasses[className];
64
+ EntityClass.nymph = this;
65
+ return EntityClass;
21
66
  }
22
67
  throw new errors_1.ClassNotAvailableError('Tried to use class: ' + className);
23
68
  }
24
- static init(config, driver, Tilmeld) {
25
- this.config = Object.assign(Object.assign({}, conf_1.ConfigDefaults), config);
26
- this.driver = driver;
27
- this.Tilmeld = Tilmeld;
69
+ clone() {
70
+ var _a;
71
+ const nymph = new Nymph(this.config, this.driver, (_a = this.tilmeld) === null || _a === void 0 ? void 0 : _a.clone());
72
+ for (const name in this.entityClasses) {
73
+ if (name === 'Entity' || this.entityClasses[name].skipOnClone) {
74
+ continue;
75
+ }
76
+ nymph.addEntityClass(this.entityClasses[name]);
77
+ }
78
+ const events = [
79
+ 'connect',
80
+ 'disconnect',
81
+ 'query',
82
+ 'beforeGetEntity',
83
+ 'beforeGetEntities',
84
+ 'beforeSaveEntity',
85
+ 'afterSaveEntity',
86
+ 'beforeDeleteEntity',
87
+ 'afterDeleteEntity',
88
+ 'beforeDeleteEntityByID',
89
+ 'afterDeleteEntityByID',
90
+ 'beforeNewUID',
91
+ 'afterNewUID',
92
+ 'beforeSetUID',
93
+ 'afterSetUID',
94
+ 'beforeRenameUID',
95
+ 'afterRenameUID',
96
+ 'beforeDeleteUID',
97
+ 'afterDeleteUID',
98
+ ];
99
+ for (let event of events) {
100
+ const prop = event + 'Callbacks';
101
+ const callbacks = this[prop];
102
+ for (let callback of callbacks) {
103
+ if (callback.skipOnClone) {
104
+ continue;
105
+ }
106
+ nymph.on(event, callback);
107
+ }
108
+ }
109
+ return nymph;
28
110
  }
29
- static connect() {
111
+ connect() {
30
112
  return __awaiter(this, void 0, void 0, function* () {
31
113
  const result = this.driver.connect();
32
114
  for (let callback of this.connectCallbacks) {
33
115
  if (callback) {
34
- callback(result);
116
+ callback(this, result);
35
117
  }
36
118
  }
37
119
  return yield result;
38
120
  });
39
121
  }
40
- static disconnect() {
122
+ disconnect() {
41
123
  return __awaiter(this, void 0, void 0, function* () {
42
124
  const result = this.driver.disconnect();
43
125
  for (let callback of this.disconnectCallbacks) {
44
126
  if (callback) {
45
- callback(result);
127
+ callback(this, result);
46
128
  }
47
129
  }
48
130
  return yield result;
49
131
  });
50
132
  }
51
- static startTransaction(name) {
133
+ runQueryCallbacks(options, selectors) {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ for (let callback of this.queryCallbacks) {
136
+ if (callback) {
137
+ callback(this, options, selectors);
138
+ }
139
+ }
140
+ });
141
+ }
142
+ startTransaction(name) {
52
143
  return __awaiter(this, void 0, void 0, function* () {
53
144
  return yield this.driver.startTransaction(name);
54
145
  });
55
146
  }
56
- static commit(name) {
147
+ commit(name) {
57
148
  return __awaiter(this, void 0, void 0, function* () {
58
149
  return yield this.driver.commit(name);
59
150
  });
60
151
  }
61
- static rollback(name) {
152
+ rollback(name) {
62
153
  return __awaiter(this, void 0, void 0, function* () {
63
154
  return yield this.driver.rollback(name);
64
155
  });
65
156
  }
66
- static inTransaction() {
157
+ inTransaction() {
67
158
  return __awaiter(this, void 0, void 0, function* () {
68
159
  return yield this.driver.inTransaction();
69
160
  });
70
161
  }
71
- static newUID(name) {
162
+ newUID(name) {
72
163
  return __awaiter(this, void 0, void 0, function* () {
73
164
  for (let callback of this.beforeNewUIDCallbacks) {
74
165
  if (callback) {
75
- callback(name);
166
+ callback(this, name);
76
167
  }
77
168
  }
78
169
  const result = this.driver.newUID(name);
79
170
  for (let callback of this.afterNewUIDCallbacks) {
80
171
  if (callback) {
81
- callback(result);
172
+ callback(this, result);
82
173
  }
83
174
  }
84
175
  return yield result;
85
176
  });
86
177
  }
87
- static getUID(name) {
178
+ getUID(name) {
88
179
  return __awaiter(this, void 0, void 0, function* () {
89
180
  return yield this.driver.getUID(name);
90
181
  });
91
182
  }
92
- static setUID(name, value) {
183
+ setUID(name, value) {
93
184
  return __awaiter(this, void 0, void 0, function* () {
94
185
  for (let callback of this.beforeSetUIDCallbacks) {
95
186
  if (callback) {
96
- callback(name, value);
187
+ callback(this, name, value);
97
188
  }
98
189
  }
99
190
  const result = this.driver.setUID(name, value);
100
191
  for (let callback of this.afterSetUIDCallbacks) {
101
192
  if (callback) {
102
- callback(result);
193
+ callback(this, result);
103
194
  }
104
195
  }
105
196
  return yield result;
106
197
  });
107
198
  }
108
- static deleteUID(name) {
199
+ deleteUID(name) {
109
200
  return __awaiter(this, void 0, void 0, function* () {
110
201
  for (let callback of this.beforeDeleteUIDCallbacks) {
111
202
  if (callback) {
112
- callback(name);
203
+ callback(this, name);
113
204
  }
114
205
  }
115
206
  const result = this.driver.deleteUID(name);
116
207
  for (let callback of this.afterDeleteUIDCallbacks) {
117
208
  if (callback) {
118
- callback(result);
209
+ callback(this, result);
119
210
  }
120
211
  }
121
212
  return yield result;
122
213
  });
123
214
  }
124
- static renameUID(oldName, newName) {
215
+ renameUID(oldName, newName) {
125
216
  return __awaiter(this, void 0, void 0, function* () {
126
217
  for (let callback of this.beforeRenameUIDCallbacks) {
127
218
  if (callback) {
128
- callback(oldName, newName);
219
+ callback(this, oldName, newName);
129
220
  }
130
221
  }
131
222
  const result = this.driver.renameUID(oldName, newName);
132
223
  for (let callback of this.afterRenameUIDCallbacks) {
133
224
  if (callback) {
134
- callback(result);
225
+ callback(this, result);
135
226
  }
136
227
  }
137
228
  return yield result;
138
229
  });
139
230
  }
140
- static saveEntity(entity) {
231
+ saveEntity(entity) {
141
232
  return __awaiter(this, void 0, void 0, function* () {
142
233
  for (let callback of this.beforeSaveEntityCallbacks) {
143
234
  if (callback) {
144
- callback(entity);
235
+ callback(this, entity);
145
236
  }
146
237
  }
147
238
  const result = this.driver.saveEntity(entity);
148
239
  for (let callback of this.afterSaveEntityCallbacks) {
149
240
  if (callback) {
150
- callback(result);
241
+ callback(this, result);
151
242
  }
152
243
  }
153
244
  return yield result;
154
245
  });
155
246
  }
156
- static getEntities(options = {}, ...selectors) {
247
+ getEntities(options = {}, ...selectors) {
157
248
  return __awaiter(this, void 0, void 0, function* () {
158
249
  for (let callback of this.beforeGetEntitiesCallbacks) {
159
250
  if (callback) {
160
- callback(options, selectors);
251
+ callback(this, options, selectors);
161
252
  }
162
253
  }
163
254
  return yield this.driver.getEntities(options, ...selectors);
164
255
  });
165
256
  }
166
- static getEntity(options = {}, ...selectors) {
257
+ getEntity(options = {}, ...selectors) {
167
258
  return __awaiter(this, void 0, void 0, function* () {
168
259
  if (typeof selectors[0] === 'string') {
169
260
  selectors = [{ type: '&', guid: selectors[0] }];
@@ -171,7 +262,7 @@ class Nymph {
171
262
  options.limit = 1;
172
263
  for (let callback of this.beforeGetEntityCallbacks) {
173
264
  if (callback) {
174
- callback(options, selectors);
265
+ callback(this, options, selectors);
175
266
  }
176
267
  }
177
268
  const entities = yield this.driver.getEntities(options, ...selectors);
@@ -181,54 +272,54 @@ class Nymph {
181
272
  return entities[0];
182
273
  });
183
274
  }
184
- static deleteEntity(entity) {
275
+ deleteEntity(entity) {
185
276
  return __awaiter(this, void 0, void 0, function* () {
186
277
  for (let callback of this.beforeDeleteEntityCallbacks) {
187
278
  if (callback) {
188
- callback(entity);
279
+ callback(this, entity);
189
280
  }
190
281
  }
191
282
  const result = this.driver.deleteEntity(entity);
192
283
  for (let callback of this.afterDeleteEntityCallbacks) {
193
284
  if (callback) {
194
- callback(result);
285
+ callback(this, result);
195
286
  }
196
287
  }
197
288
  return yield result;
198
289
  });
199
290
  }
200
- static deleteEntityByID(guid, className) {
291
+ deleteEntityByID(guid, className) {
201
292
  return __awaiter(this, void 0, void 0, function* () {
202
293
  for (let callback of this.beforeDeleteEntityByIDCallbacks) {
203
294
  if (callback) {
204
- callback(guid, className);
295
+ callback(this, guid, className);
205
296
  }
206
297
  }
207
298
  const result = this.driver.deleteEntityByID(guid, className);
208
299
  for (let callback of this.afterDeleteEntityByIDCallbacks) {
209
300
  if (callback) {
210
- callback(result);
301
+ callback(this, result);
211
302
  }
212
303
  }
213
304
  return yield result;
214
305
  });
215
306
  }
216
- static export(filename) {
307
+ export(filename) {
217
308
  return __awaiter(this, void 0, void 0, function* () {
218
309
  return yield this.driver.export(filename);
219
310
  });
220
311
  }
221
- static exportPrint() {
312
+ exportPrint() {
222
313
  return __awaiter(this, void 0, void 0, function* () {
223
314
  return yield this.driver.exportPrint();
224
315
  });
225
316
  }
226
- static import(filename) {
317
+ import(filename) {
227
318
  return __awaiter(this, void 0, void 0, function* () {
228
319
  return yield this.driver.import(filename);
229
320
  });
230
321
  }
231
- static on(event, callback) {
322
+ on(event, callback) {
232
323
  const prop = (event + 'Callbacks');
233
324
  if (!this.hasOwnProperty(prop)) {
234
325
  throw new Error('Invalid event type.');
@@ -236,7 +327,7 @@ class Nymph {
236
327
  this[prop].push(callback);
237
328
  return () => this.off(event, callback);
238
329
  }
239
- static off(event, callback) {
330
+ off(event, callback) {
240
331
  const prop = (event + 'Callbacks');
241
332
  if (!this.hasOwnProperty(prop)) {
242
333
  return false;
@@ -249,24 +340,4 @@ class Nymph {
249
340
  }
250
341
  }
251
342
  exports.default = Nymph;
252
- Nymph.entityClasses = {};
253
- Nymph.Tilmeld = undefined;
254
- Nymph.connectCallbacks = [];
255
- Nymph.disconnectCallbacks = [];
256
- Nymph.beforeGetEntityCallbacks = [];
257
- Nymph.beforeGetEntitiesCallbacks = [];
258
- Nymph.beforeSaveEntityCallbacks = [];
259
- Nymph.afterSaveEntityCallbacks = [];
260
- Nymph.beforeDeleteEntityCallbacks = [];
261
- Nymph.afterDeleteEntityCallbacks = [];
262
- Nymph.beforeDeleteEntityByIDCallbacks = [];
263
- Nymph.afterDeleteEntityByIDCallbacks = [];
264
- Nymph.beforeNewUIDCallbacks = [];
265
- Nymph.afterNewUIDCallbacks = [];
266
- Nymph.beforeSetUIDCallbacks = [];
267
- Nymph.afterSetUIDCallbacks = [];
268
- Nymph.beforeRenameUIDCallbacks = [];
269
- Nymph.afterRenameUIDCallbacks = [];
270
- Nymph.beforeDeleteUIDCallbacks = [];
271
- Nymph.afterDeleteUIDCallbacks = [];
272
343
  //# sourceMappingURL=Nymph.js.map
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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"}
@@ -1,23 +1,25 @@
1
1
  import { EntityConstructor, EntityInterface } from './Entity.types';
2
- export declare type NymphEventType = 'connect' | 'disconnect' | 'beforeGetEntity' | 'beforeGetEntities' | 'beforeSaveEntity' | 'afterSaveEntity' | 'beforeDeleteEntity' | 'afterDeleteEntity' | 'beforeDeleteEntityByID' | 'afterDeleteEntityByID' | 'beforeNewUID' | 'afterNewUID' | 'beforeSetUID' | 'afterSetUID' | 'beforeRenameUID' | 'afterRenameUID' | 'beforeDeleteUID' | 'afterDeleteUID';
3
- export declare type NymphConnectCallback = (result: Promise<boolean>) => void;
4
- export declare type NymphDisconnectCallback = (result: Promise<boolean>) => void;
5
- export declare type NymphBeforeGetEntityCallback = (options: Options, selectors: Selector[]) => void;
6
- export declare type NymphBeforeGetEntitiesCallback = (options: Options, selectors: Selector[]) => void;
7
- export declare type NymphBeforeSaveEntityCallback = (entity: EntityInterface) => void;
8
- export declare type NymphAfterSaveEntityCallback = (result: Promise<boolean>) => void;
9
- export declare type NymphBeforeDeleteEntityCallback = (entity: EntityInterface) => void;
10
- export declare type NymphAfterDeleteEntityCallback = (result: Promise<boolean>) => void;
11
- export declare type NymphBeforeDeleteEntityByIDCallback = (guid: string, className?: string) => void;
12
- export declare type NymphAfterDeleteEntityByIDCallback = (result: Promise<boolean>) => void;
13
- export declare type NymphBeforeNewUIDCallback = (name: string) => void;
14
- export declare type NymphAfterNewUIDCallback = (result: Promise<number | null>) => void;
15
- export declare type NymphBeforeSetUIDCallback = (name: string, value: number) => void;
16
- export declare type NymphAfterSetUIDCallback = (result: Promise<boolean>) => void;
17
- export declare type NymphBeforeRenameUIDCallback = (oldName: string, newName: string) => void;
18
- export declare type NymphAfterRenameUIDCallback = (result: Promise<boolean>) => void;
19
- export declare type NymphBeforeDeleteUIDCallback = (name: string) => void;
20
- export declare type NymphAfterDeleteUIDCallback = (result: Promise<boolean>) => void;
2
+ import Nymph from './Nymph';
3
+ export declare type NymphEventType = 'connect' | 'disconnect' | 'query' | 'beforeGetEntity' | 'beforeGetEntities' | 'beforeSaveEntity' | 'afterSaveEntity' | 'beforeDeleteEntity' | 'afterDeleteEntity' | 'beforeDeleteEntityByID' | 'afterDeleteEntityByID' | 'beforeNewUID' | 'afterNewUID' | 'beforeSetUID' | 'afterSetUID' | 'beforeRenameUID' | 'afterRenameUID' | 'beforeDeleteUID' | 'afterDeleteUID';
4
+ export declare type NymphConnectCallback = (nymph: Nymph, result: Promise<boolean>) => void;
5
+ export declare type NymphDisconnectCallback = (nymph: Nymph, result: Promise<boolean>) => void;
6
+ export declare type NymphQueryCallback = (nymph: Nymph, options: Options, selectors: FormattedSelector[]) => void;
7
+ export declare type NymphBeforeGetEntityCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => void;
8
+ export declare type NymphBeforeGetEntitiesCallback = (nymph: Nymph, options: Options, selectors: Selector[]) => void;
9
+ export declare type NymphBeforeSaveEntityCallback = (nymph: Nymph, entity: EntityInterface) => void;
10
+ export declare type NymphAfterSaveEntityCallback = (nymph: Nymph, result: Promise<boolean>) => void;
11
+ export declare type NymphBeforeDeleteEntityCallback = (nymph: Nymph, entity: EntityInterface) => void;
12
+ export declare type NymphAfterDeleteEntityCallback = (nymph: Nymph, result: Promise<boolean>) => void;
13
+ export declare type NymphBeforeDeleteEntityByIDCallback = (nymph: Nymph, guid: string, className?: string) => void;
14
+ export declare type NymphAfterDeleteEntityByIDCallback = (nymph: Nymph, result: Promise<boolean>) => void;
15
+ export declare type NymphBeforeNewUIDCallback = (nymph: Nymph, name: string) => void;
16
+ export declare type NymphAfterNewUIDCallback = (nymph: Nymph, result: Promise<number | null>) => void;
17
+ export declare type NymphBeforeSetUIDCallback = (nymph: Nymph, name: string, value: number) => void;
18
+ export declare type NymphAfterSetUIDCallback = (nymph: Nymph, result: Promise<boolean>) => void;
19
+ export declare type NymphBeforeRenameUIDCallback = (nymph: Nymph, oldName: string, newName: string) => void;
20
+ export declare type NymphAfterRenameUIDCallback = (nymph: Nymph, result: Promise<boolean>) => void;
21
+ export declare type NymphBeforeDeleteUIDCallback = (nymph: Nymph, name: string) => void;
22
+ export declare type NymphAfterDeleteUIDCallback = (nymph: Nymph, result: Promise<boolean>) => void;
21
23
  export declare type Options<T extends EntityConstructor = EntityConstructor> = {
22
24
  class?: T;
23
25
  limit?: number;
@@ -99,21 +101,21 @@ export declare type Selector = {
99
101
  '!lte'?: Clause<OrWithTime<PrimitiveSelector['lte']>>;
100
102
  ref?: Clause<PrimitiveSelector['ref']>;
101
103
  '!ref'?: Clause<PrimitiveSelector['ref']>;
102
- qref?: [string, [Options, ...Selector[]]];
104
+ qref?: Clause<[string, [Options, ...Selector[]]]>;
103
105
  '!qref'?: Selector['qref'];
104
106
  selector?: Clause<Selector>;
105
107
  '!selector'?: Selector['selector'];
106
108
  };
107
109
  export declare type FormattedSelector = {
108
110
  type: '&' | '|' | '!&' | '!|';
109
- guid?: PrimitiveSelector['guid'][];
110
- '!guid'?: PrimitiveSelector['guid'][];
111
- tag?: PrimitiveSelector['tag'][];
112
- '!tag'?: PrimitiveSelector['tag'][];
113
- defined?: PrimitiveSelector['defined'][];
114
- '!defined'?: PrimitiveSelector['defined'][];
115
- truthy?: PrimitiveSelector['truthy'][];
116
- '!truthy'?: PrimitiveSelector['truthy'][];
111
+ guid?: PrimitiveSelector['guid'][][];
112
+ '!guid'?: PrimitiveSelector['guid'][][];
113
+ tag?: PrimitiveSelector['tag'][][];
114
+ '!tag'?: PrimitiveSelector['tag'][][];
115
+ defined?: PrimitiveSelector['defined'][][];
116
+ '!defined'?: PrimitiveSelector['defined'][][];
117
+ truthy?: PrimitiveSelector['truthy'][][];
118
+ '!truthy'?: PrimitiveSelector['truthy'][][];
117
119
  equal?: PrimitiveSelector['equal'][];
118
120
  '!equal'?: PrimitiveSelector['equal'][];
119
121
  contain?: PrimitiveSelector['contain'][];
@@ -141,4 +143,23 @@ export declare type FormattedSelector = {
141
143
  selector?: FormattedSelector[];
142
144
  '!selector'?: FormattedSelector['selector'];
143
145
  };
146
+ export declare enum TilmeldAccessLevels {
147
+ NO_ACCESS = 0,
148
+ READ_ACCESS = 1,
149
+ WRITE_ACCESS = 2,
150
+ FULL_ACCESS = 4
151
+ }
152
+ export interface TilmeldInterface {
153
+ nymph: Nymph;
154
+ request: any;
155
+ response: any;
156
+ init(nymph: Nymph): void;
157
+ clone(): TilmeldInterface;
158
+ gatekeeper(ability?: string): boolean;
159
+ authenticate(): void;
160
+ clearSession(): void;
161
+ extractToken(token: string): Promise<any>;
162
+ fillSession(user: any): void;
163
+ checkClientUIDPermissions(name: string, type?: TilmeldAccessLevels): boolean;
164
+ }
144
165
  export {};
@@ -1,3 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TilmeldAccessLevels = void 0;
4
+ var TilmeldAccessLevels;
5
+ (function (TilmeldAccessLevels) {
6
+ TilmeldAccessLevels[TilmeldAccessLevels["NO_ACCESS"] = 0] = "NO_ACCESS";
7
+ TilmeldAccessLevels[TilmeldAccessLevels["READ_ACCESS"] = 1] = "READ_ACCESS";
8
+ TilmeldAccessLevels[TilmeldAccessLevels["WRITE_ACCESS"] = 2] = "WRITE_ACCESS";
9
+ TilmeldAccessLevels[TilmeldAccessLevels["FULL_ACCESS"] = 4] = "FULL_ACCESS";
10
+ })(TilmeldAccessLevels = exports.TilmeldAccessLevels || (exports.TilmeldAccessLevels = {}));
3
11
  //# sourceMappingURL=Nymph.types.js.map
@@ -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":";;;AAwRA,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"}
@@ -1,6 +1,8 @@
1
+ import type Nymph from '../Nymph';
1
2
  import { EntityConstructor, EntityData, EntityInterface, SerializedEntityData } from '../Entity.types';
2
3
  import { Selector, Options, FormattedSelector } from '../Nymph.types';
3
4
  export default abstract class NymphDriver {
5
+ protected nymph: Nymph;
4
6
  protected entityCache: {
5
7
  [k: string]: {
6
8
  cdate: number;
@@ -16,7 +18,7 @@ export default abstract class NymphDriver {
16
18
  private putDataCounter;
17
19
  abstract connect(): Promise<boolean>;
18
20
  abstract isConnected(): boolean;
19
- abstract startTransaction(name: string): Promise<boolean>;
21
+ abstract startTransaction(name: string): Promise<Nymph>;
20
22
  abstract commit(name: string): Promise<boolean>;
21
23
  abstract rollback(name: string): Promise<boolean>;
22
24
  abstract inTransaction(): Promise<boolean>;
@@ -41,6 +43,7 @@ export default abstract class NymphDriver {
41
43
  abstract renameUID(oldName: string, newName: string): Promise<boolean>;
42
44
  abstract saveEntity(entity: EntityInterface): Promise<boolean>;
43
45
  abstract setUID(name: string, value: number): Promise<boolean>;
46
+ init(nymph: Nymph): void;
44
47
  protected posixRegexMatch(pattern: string, subject: string, caseInsensitive?: boolean): boolean;
45
48
  export(filename: string): Promise<boolean>;
46
49
  exportPrint(): Promise<boolean>;
@@ -49,7 +52,7 @@ export default abstract class NymphDriver {
49
52
  protected cleanCache(guid: string): void;
50
53
  deleteEntity(entity: EntityInterface): Promise<boolean>;
51
54
  protected entityReferenceSearch(value: any, entity: EntityInterface | string | (EntityInterface | string)[]): boolean;
52
- formatSelectors(selectors: Selector[]): FormattedSelector[];
55
+ formatSelectors(selectors: Selector[], options?: Options): FormattedSelector[];
53
56
  protected iterateSelectorsForQuery(selectors: FormattedSelector[], callback: (key: string, value: any, typeIsOr: boolean, typeIsNot: boolean) => string): string[];
54
57
  getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
55
58
  return: 'guid';