@furystack/core 10.3.8 → 10.4.4

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.
@@ -1,4 +1,5 @@
1
1
  import { PhysicalStore } from './models/physical-store';
2
+ import { Injector } from '@furystack/inject';
2
3
  export declare class TestClass {
3
4
  id: number;
4
5
  stringValue1: string;
@@ -11,7 +12,7 @@ export declare class TestClass {
11
12
  export declare const createMockEntity: (part?: Partial<TestClass> | undefined) => TestClass;
12
13
  export interface StoreTestOptions<T, TPrimaryKey extends keyof T> {
13
14
  typeName: string;
14
- createStore: () => PhysicalStore<T, TPrimaryKey>;
15
+ createStore: (i: Injector) => PhysicalStore<T, TPrimaryKey>;
15
16
  skipRegexTests?: boolean;
16
17
  }
17
18
  export declare const createStoreTest: (options: StoreTestOptions<TestClass, 'id'>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"create-physical-store-tests.d.ts","sourceRoot":"","sources":["../src/create-physical-store-tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAGvD,qBAAa,SAAS;IACpB,EAAE,EAAG,MAAM,CAAA;IACX,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,OAAO,CAAA;IACtB,SAAS,EAAG,IAAI,CAAA;CACjB;AAGD,eAAO,MAAM,gBAAgB,sDAUZ,CAAA;AAEjB,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IAChD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,YAAa,iBAAiB,SAAS,EAAE,IAAI,CAAC,SAqTzE,CAAA"}
1
+ {"version":3,"file":"create-physical-store-tests.d.ts","sourceRoot":"","sources":["../src/create-physical-store-tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,qBAAa,SAAS;IACpB,EAAE,EAAG,MAAM,CAAA;IACX,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,OAAO,CAAA;IACtB,SAAS,EAAG,IAAI,CAAA;CACjB;AAGD,eAAO,MAAM,gBAAgB,sDAUZ,CAAA;AAEjB,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,YAAa,iBAAiB,SAAS,EAAE,IAAI,CAAC,SA2gBzE,CAAA"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createStoreTest = exports.createMockEntity = exports.TestClass = void 0;
4
4
  const utils_1 = require("@furystack/utils");
5
+ const inject_1 = require("@furystack/inject");
5
6
  class TestClass {
6
7
  }
7
8
  exports.TestClass = TestClass;
@@ -21,13 +22,15 @@ const createStoreTest = (options) => {
21
22
  describe(`Standard Physical Store tests for '${options.typeName}'`, () => {
22
23
  describe('General CRUD', () => {
23
24
  it('Should be created with empty by default', async () => {
24
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
25
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
26
+ const store = options.createStore(i);
25
27
  const count = await store.count();
26
28
  expect(count).toBe(0);
27
29
  });
28
30
  });
29
31
  it('Should be able to store an entity', async () => {
30
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
32
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
33
+ const store = options.createStore(i);
31
34
  const entity = (0, exports.createMockEntity)();
32
35
  await store.add(entity);
33
36
  const count = await store.count();
@@ -35,7 +38,8 @@ const createStoreTest = (options) => {
35
38
  });
36
39
  });
37
40
  it('Should be able to store an entity without providing an unique Id', async () => {
38
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
41
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
42
+ const store = options.createStore(i);
39
43
  const { id, ...entityWithoutId } = (0, exports.createMockEntity)();
40
44
  const { created } = await store.add(entityWithoutId);
41
45
  expect(created.length).toBe(1);
@@ -46,7 +50,8 @@ const createStoreTest = (options) => {
46
50
  });
47
51
  });
48
52
  it('Should be able to store multiple entities', async () => {
49
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
53
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
54
+ const store = options.createStore(i);
50
55
  const entity1 = (0, exports.createMockEntity)();
51
56
  const entity2 = (0, exports.createMockEntity)();
52
57
  await store.add(entity1, entity2);
@@ -55,7 +60,8 @@ const createStoreTest = (options) => {
55
60
  });
56
61
  });
57
62
  it('Add should throw and skip adding on duplicate IDs', async () => {
58
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
63
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
64
+ const store = options.createStore(i);
59
65
  const entity = (0, exports.createMockEntity)();
60
66
  await store.add(entity);
61
67
  await expect(store.add(entity)).rejects.toThrow();
@@ -64,13 +70,15 @@ const createStoreTest = (options) => {
64
70
  });
65
71
  });
66
72
  it('Should return undefined if no entry has been found', async () => {
67
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
73
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
74
+ const store = options.createStore(i);
68
75
  const entity = await store.get(1);
69
76
  expect(entity).toBeUndefined();
70
77
  });
71
78
  });
72
79
  it('Should be able to retrieve an added entity', async () => {
73
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
80
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
81
+ const store = options.createStore(i);
74
82
  const entity = (0, exports.createMockEntity)();
75
83
  await store.add(entity);
76
84
  const retrieved = await store.get(entity.id);
@@ -78,7 +86,8 @@ const createStoreTest = (options) => {
78
86
  });
79
87
  });
80
88
  it('Should be able to retrieve an added entity with projection', async () => {
81
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
89
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
90
+ const store = options.createStore(i);
82
91
  const entity = (0, exports.createMockEntity)();
83
92
  await store.add(entity);
84
93
  const retrieved = await store.get(entity.id, ['id', 'stringValue1']);
@@ -89,7 +98,8 @@ const createStoreTest = (options) => {
89
98
  });
90
99
  });
91
100
  it('Should be able to update an added entity', async () => {
92
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
101
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
102
+ const store = options.createStore(i);
93
103
  const entity = (0, exports.createMockEntity)();
94
104
  await store.add(entity);
95
105
  await store.update(entity.id, { stringValue1: 'modified' });
@@ -98,13 +108,15 @@ const createStoreTest = (options) => {
98
108
  });
99
109
  });
100
110
  it('Update should throw an error if the entity does not exists', async () => {
101
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
111
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
112
+ const store = options.createStore(i);
102
113
  const entity = (0, exports.createMockEntity)();
103
114
  await expect(store.update(entity.id, entity)).rejects.toThrow('Entity not found');
104
115
  });
105
116
  });
106
117
  it('Should remove an entity', async () => {
107
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
118
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
119
+ const store = options.createStore(i);
108
120
  const entity = (0, exports.createMockEntity)();
109
121
  await store.add(entity);
110
122
  const count = await store.count();
@@ -115,7 +127,8 @@ const createStoreTest = (options) => {
115
127
  });
116
128
  });
117
129
  it('Should remove multiple entities at once', async () => {
118
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
130
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
131
+ const store = options.createStore(i);
119
132
  const entity1 = (0, exports.createMockEntity)();
120
133
  const entity2 = (0, exports.createMockEntity)();
121
134
  const entity3 = (0, exports.createMockEntity)();
@@ -133,7 +146,8 @@ const createStoreTest = (options) => {
133
146
  });
134
147
  describe('Top, skip', () => {
135
148
  it('Should respect top and skip', async () => {
136
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
149
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (injector) => {
150
+ const store = options.createStore(injector);
137
151
  for (let i = 0; i < 10; i++) {
138
152
  await store.add((0, exports.createMockEntity)({ id: i }));
139
153
  }
@@ -148,7 +162,8 @@ const createStoreTest = (options) => {
148
162
  });
149
163
  describe('Ordering', () => {
150
164
  it('Should sort by numeric values', async () => {
151
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
165
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (injector) => {
166
+ const store = options.createStore(injector);
152
167
  for (let i = 0; i < 10; i++) {
153
168
  await store.add((0, exports.createMockEntity)({ id: i, numberValue1: Math.random(), numberValue2: Math.random() }));
154
169
  }
@@ -176,28 +191,32 @@ const createStoreTest = (options) => {
176
191
  });
177
192
  describe('Filtering', () => {
178
193
  it('should filter strings with $eq', async () => {
179
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
194
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
195
+ const store = options.createStore(i);
180
196
  await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'def' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'def' }));
181
197
  const result = await store.find({ filter: { stringValue1: { $eq: 'def' } } });
182
198
  expect(result.length).toBe(2);
183
199
  });
184
200
  });
185
201
  it('should filter numbers with $eq', async () => {
186
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
202
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
203
+ const store = options.createStore(i);
187
204
  await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 2 }));
188
205
  const result = await store.find({ filter: { numberValue1: { $eq: 2 } } });
189
206
  expect(result.length).toBe(2);
190
207
  });
191
208
  });
192
209
  it('filter should return the corresponding entries for multiple props', async () => {
193
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
210
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
211
+ const store = options.createStore(i);
194
212
  await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'def', stringValue2: 'def' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'def' }));
195
213
  const result = await store.find({ filter: { stringValue1: { $eq: 'def' }, stringValue2: { $eq: 'def' } } });
196
214
  expect(result.length).toBe(1);
197
215
  });
198
216
  });
199
217
  it('filter should return the corresponding entries with $in statement', async () => {
200
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
218
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
219
+ const store = options.createStore(i);
201
220
  await store.add((0, exports.createMockEntity)({ stringValue1: 'asd' }), (0, exports.createMockEntity)({ stringValue1: 'def' }), (0, exports.createMockEntity)({ stringValue1: 'sdf' }));
202
221
  const result = await store.find({ filter: { stringValue1: { $in: ['asd', 'def'] } } });
203
222
  expect(result.length).toBe(2);
@@ -205,7 +224,8 @@ const createStoreTest = (options) => {
205
224
  });
206
225
  });
207
226
  it('filter should return the corresponding entries with $nin statement', async () => {
208
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
227
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
228
+ const store = options.createStore(i);
209
229
  await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'def' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'sdf' }));
210
230
  const result = await store.find({ filter: { stringValue1: { $nin: ['asd', 'def'] } } });
211
231
  expect(result.length).toBe(1);
@@ -213,24 +233,155 @@ const createStoreTest = (options) => {
213
233
  });
214
234
  });
215
235
  it('filter should return the corresponding entries with $ne statement', async () => {
216
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
236
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
237
+ const store = options.createStore(i);
217
238
  await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'def' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'sdf' }));
218
239
  const result = await store.find({ filter: { stringValue1: { $ne: 'asd' } } });
219
240
  expect(result.length).toBe(2);
220
241
  expect(result.map((r) => r.stringValue1)).toEqual(['def', 'sdf']);
221
242
  });
222
243
  });
244
+ it('filter should return the corresponding entries with $lt statement', async () => {
245
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
246
+ const store = options.createStore(i);
247
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3 }));
248
+ const result = await store.find({ filter: { numberValue1: { $lt: 2 } } });
249
+ expect(result.length).toBe(1);
250
+ expect(result).toEqual([created[0]]);
251
+ });
252
+ });
253
+ it('filter should return the corresponding entries with $lte statement', async () => {
254
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
255
+ const store = options.createStore(i);
256
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3 }));
257
+ const result = await store.find({ filter: { numberValue1: { $lte: 2 } } });
258
+ expect(result.length).toBe(2);
259
+ expect(result).toEqual([created[0], created[1]]);
260
+ });
261
+ });
262
+ it('filter should return the corresponding entries with $gt statement', async () => {
263
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
264
+ const store = options.createStore(i);
265
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3 }));
266
+ const result = await store.find({ filter: { numberValue1: { $gt: 2 } } });
267
+ expect(result.length).toBe(1);
268
+ expect(result).toEqual([created[2]]);
269
+ });
270
+ });
271
+ it('filter should return the corresponding entries with $gte statement', async () => {
272
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
273
+ const store = options.createStore(i);
274
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3 }));
275
+ const result = await store.find({ filter: { numberValue1: { $gte: 2 } } });
276
+ expect(result.length).toBe(2);
277
+ expect(result).toEqual([created[1], created[2]]);
278
+ });
279
+ });
223
280
  it('filter should return the corresponding entries with $in AND $eq statement', async () => {
224
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
281
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
282
+ const store = options.createStore(i);
225
283
  await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'def' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'sdf' }));
226
284
  const result = await store.find({ filter: { stringValue1: { $in: ['asd', 'def'], $eq: 'asd' } } });
227
285
  expect(result.length).toBe(1);
228
286
  expect(result.map((r) => r.stringValue1)).toEqual(['asd']);
229
287
  });
230
288
  });
289
+ describe('logical $and statements', () => {
290
+ it('should filter $and logical statements with $eq statements', async () => {
291
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
292
+ const store = options.createStore(i);
293
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1, numberValue2: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2, numberValue2: 1 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3, numberValue2: 1 }));
294
+ const result = await store.find({
295
+ filter: { $and: [{ numberValue1: { $eq: 2 } }, { numberValue2: { $eq: 1 } }] },
296
+ });
297
+ expect(result.length).toBe(1);
298
+ expect(result[0]).toEqual(created[1]);
299
+ });
300
+ });
301
+ it('should filter $and logical statements with $ne statements', async () => {
302
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
303
+ const store = options.createStore(i);
304
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1, numberValue2: 2 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2, numberValue2: 3 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3, numberValue2: 1 }));
305
+ const result = await store.find({
306
+ filter: { $and: [{ numberValue1: { $ne: 2 } }, { numberValue2: { $ne: 1 } }] },
307
+ });
308
+ expect(result.length).toBe(1);
309
+ expect(result[0]).toEqual(created[0]);
310
+ });
311
+ });
312
+ it('should filter $and logical statements with $lt/$gt statements', async () => {
313
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
314
+ const store = options.createStore(i);
315
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1, numberValue2: 2 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2, numberValue2: 3 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3, numberValue2: 1 }));
316
+ const result = await store.find({
317
+ filter: { $and: [{ numberValue1: { $lt: 3 } }, { numberValue2: { $gt: 2 } }] },
318
+ });
319
+ expect(result.length).toBe(1);
320
+ expect(result[0]).toEqual(created[1]);
321
+ });
322
+ });
323
+ it('should filter $and logical statements with $lte/$gte statements', async () => {
324
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
325
+ const store = options.createStore(i);
326
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1, numberValue2: 1 }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2, numberValue2: 2 }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3, numberValue2: 3 }));
327
+ const result = await store.find({
328
+ filter: { $and: [{ numberValue1: { $lte: 2 } }, { numberValue2: { $gte: 2 } }] },
329
+ });
330
+ expect(result.length).toBe(1);
331
+ expect(result[0]).toEqual(created[1]);
332
+ });
333
+ });
334
+ });
335
+ describe('logical $or statements', () => {
336
+ it('should filter logical $or statements with $eq statements', async () => {
337
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
338
+ const store = options.createStore(i);
339
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'aaa' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'bbb' }));
340
+ const result = await store.find({
341
+ filter: { $or: [{ stringValue1: { $eq: 'aaa' } }, { stringValue1: { $eq: 'bbb' } }] },
342
+ });
343
+ expect(result.length).toBe(2);
344
+ expect(result).toEqual([created[1], created[2]]);
345
+ });
346
+ });
347
+ it('should filter logical $or statements with $neq statements', async () => {
348
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
349
+ const store = options.createStore(i);
350
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'aaa' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'bbb' }));
351
+ const result = await store.find({
352
+ filter: { $or: [{ stringValue1: { $ne: 'aaa' } }, { stringValue1: { $ne: 'bbb' } }] },
353
+ });
354
+ expect(result.length).toBe(3);
355
+ expect(result).toEqual(created);
356
+ });
357
+ });
358
+ });
359
+ describe('Nested $or and $and logical operators', () => {
360
+ it('should filter $and operators inside $or-s', async () => {
361
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
362
+ const store = options.createStore(i);
363
+ const { created } = await store.add((0, exports.createMockEntity)({ id: 1, numberValue1: 1, numberValue2: 3, booleanValue: true }), (0, exports.createMockEntity)({ id: 2, numberValue1: 2, numberValue2: 2, booleanValue: false }), (0, exports.createMockEntity)({ id: 3, numberValue1: 3, numberValue2: 1, booleanValue: true }));
364
+ const result = await store.find({
365
+ filter: {
366
+ $or: [
367
+ {
368
+ $and: [{ numberValue1: { $ne: 2 } }, { numberValue2: { $eq: 1 } }],
369
+ },
370
+ {
371
+ $and: [{ numberValue1: { $ne: 3 } }, { booleanValue: { $ne: true } }],
372
+ },
373
+ ],
374
+ },
375
+ });
376
+ expect(result.length).toBe(2);
377
+ expect(result).toEqual([created[1], created[2]]);
378
+ });
379
+ });
380
+ });
231
381
  if (!options.skipRegexTests) {
232
382
  it('filter should return the corresponding entries with $regex', async () => {
233
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
383
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
384
+ const store = options.createStore(i);
234
385
  await store.add((0, exports.createMockEntity)({ id: 1, stringValue1: 'asd' }), (0, exports.createMockEntity)({ id: 2, stringValue1: 'aaa' }), (0, exports.createMockEntity)({ id: 3, stringValue1: 'bbb' }));
235
386
  const result = await store.find({ filter: { stringValue1: { $regex: '([a])' } } });
236
387
  expect(result.length).toBe(2);
@@ -241,14 +392,16 @@ const createStoreTest = (options) => {
241
392
  });
242
393
  describe('Count', () => {
243
394
  it('Should return the count', async () => {
244
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
395
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
396
+ const store = options.createStore(i);
245
397
  await store.add((0, exports.createMockEntity)(), (0, exports.createMockEntity)(), (0, exports.createMockEntity)());
246
398
  const count = await store.count();
247
399
  expect(count).toBe(3);
248
400
  });
249
401
  });
250
402
  it('Should respect filters', async () => {
251
- await (0, utils_1.usingAsync)(options.createStore(), async (store) => {
403
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
404
+ const store = options.createStore(i);
252
405
  await store.add((0, exports.createMockEntity)({ numberValue1: 1 }), (0, exports.createMockEntity)({ numberValue1: 1 }), (0, exports.createMockEntity)({ numberValue1: 2 }));
253
406
  const count = await store.count({ numberValue1: { $eq: 1 } });
254
407
  expect(count).toBe(2);
@@ -1 +1 @@
1
- {"version":3,"file":"create-physical-store-tests.js","sourceRoot":"","sources":["../src/create-physical-store-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-physical-store-tests.js","sourceRoot":"","sources":["../src/create-physical-store-tests.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../src/in-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EACL,aAAa,EACb,WAAW,EAEX,aAAa,EACb,UAAU,EAEV,YAAY,EACZ,cAAc,EACf,MAAM,yBAAyB,CAAA;AAEhC,qBAAa,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;IACjG;;;OAGG;IACU,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAetF,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAY;IACzC,GAAG,QAAe,CAAC,CAAC,WAAW,CAAC,8DAGtC;IAED,OAAO,CAAC,cAAc;IAqDT,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC;IA2B3E,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAI5B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAUxC,OAAO;IAId,SAAgB,UAAU,EAAE,WAAW,CAAA;IACvC,SAAgB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAEvC;;;;;;OAMG;gBACS,OAAO,EAAE;QACnB;;WAEG;QACH,UAAU,EAAE,WAAW,CAAA;QACvB;;WAEG;QACH,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KACxB;CAIF"}
1
+ {"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../src/in-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EACL,aAAa,EACb,WAAW,EAEX,aAAa,EACb,UAAU,EAEV,YAAY,EACZ,cAAc,EAEf,MAAM,yBAAyB,CAAA;AAEhC,qBAAa,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;IACjG;;;OAGG;IACU,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAetF,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAY;IACzC,GAAG,QAAe,CAAC,CAAC,WAAW,CAAC,8DAGtC;IAED,OAAO,CAAC,cAAc;IAyFT,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC;IA2B3E,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAI5B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAUxC,OAAO;IAId,SAAgB,UAAU,EAAE,WAAW,CAAA;IACvC,SAAgB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAEvC;;;;;;OAMG;gBACS,OAAO,EAAE;QACnB;;WAEG;QACH,UAAU,EAAE,WAAW,CAAA;QACvB;;WAEG;QACH,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KACxB;CAIF"}
@@ -47,7 +47,24 @@ class InMemoryStore {
47
47
  }
48
48
  return values.filter((item) => {
49
49
  for (const key in filter) {
50
- if (typeof filter[key] === 'object') {
50
+ if ((0, physical_store_1.isLogicalOperator)(key)) {
51
+ const filterValue = filter[key];
52
+ switch (key) {
53
+ case '$and':
54
+ if (filterValue.some((v) => !this.filterInternal([item], v).length)) {
55
+ return false;
56
+ }
57
+ break;
58
+ case '$or':
59
+ if (filterValue.some((v) => this.filterInternal([item], v).length)) {
60
+ break;
61
+ }
62
+ return false;
63
+ default:
64
+ throw new Error(`The logical operation '${key}' is not a valid operation`);
65
+ }
66
+ }
67
+ else if (typeof filter[key] === 'object') {
51
68
  for (const filterKey in filter[key]) {
52
69
  if ((0, physical_store_1.isOperator)(filterKey)) {
53
70
  const itemValue = item[key];
@@ -73,13 +90,33 @@ class InMemoryStore {
73
90
  return false;
74
91
  }
75
92
  break;
93
+ case '$lt':
94
+ if (itemValue < filterValue) {
95
+ break;
96
+ }
97
+ return false;
98
+ case '$lte':
99
+ if (itemValue <= filterValue) {
100
+ break;
101
+ }
102
+ return false;
103
+ case '$gt':
104
+ if (itemValue > filterValue) {
105
+ break;
106
+ }
107
+ return false;
108
+ case '$gte':
109
+ if (itemValue >= filterValue) {
110
+ break;
111
+ }
112
+ return false;
76
113
  case '$regex':
77
114
  if (!new RegExp(filterValue).test(itemValue.toString())) {
78
115
  return false;
79
116
  }
80
117
  break;
81
118
  default:
82
- throw new Error(`The expression (${key}) is not supported by '${this.constructor.name}'!`);
119
+ throw new Error(`The expression (${filterKey}) is not supported by '${this.constructor.name}'!`);
83
120
  }
84
121
  }
85
122
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-store.js","sourceRoot":"","sources":["../src/in-memory-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-store.js","sourceRoot":"","sources":["../src/in-memory-store.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ describe('InMemoryStore', () => {
7
7
  (0, create_physical_store_tests_1.createStoreTest)({
8
8
  createStore,
9
9
  typeName: 'InMemoryStore',
10
+ // skipAdvancedTests: true, // TODO
10
11
  });
11
12
  it('dispose should empty the cache', async () => {
12
13
  const f = createStore();
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-store.spec.js","sourceRoot":"","sources":["../src/in-memory-store.spec.ts"],"names":[],"mappings":";;AAAA,uDAAiD;AACjD,+EAA4F;AAE5F,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,+BAAa,CAAC,EAAE,KAAK,EAAE,uCAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnF,IAAA,6CAAe,EAAC;QACd,WAAW;QACX,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,CAAC,GAAG,WAAW,EAAE,CAAA;QACvB,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,8CAAgB,GAAE,CAAC,CAAA;QAC/B,CAAC,CAAC,OAAO,EAAE,CAAA;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"in-memory-store.spec.js","sourceRoot":"","sources":["../src/in-memory-store.spec.ts"],"names":[],"mappings":";;AAAA,uDAAiD;AACjD,+EAA4F;AAE5F,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,+BAAa,CAAC,EAAE,KAAK,EAAE,uCAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnF,IAAA,6CAAe,EAAC;QACd,WAAW;QACX,QAAQ,EAAE,eAAe;QACzB,mCAAmC;KACpC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,CAAC,GAAG,WAAW,EAAE,CAAA;QACvB,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,8CAAgB,GAAE,CAAC,CAAA;QAC/B,CAAC,CAAC,OAAO,EAAE,CAAA;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -18,6 +18,7 @@ export declare type FilterType<T> = {
18
18
  } & {
19
19
  [LO in typeof LogicalOperators[number]]?: Array<FilterType<T>>;
20
20
  };
21
+ export declare const isLogicalOperator: (propertyString: string) => propertyString is "$and" | "$not" | "$nor" | "$or";
21
22
  export declare const isOperator: (propertyString: string) => propertyString is "$gt" | "$gte" | "$lt" | "$lte" | "$eq" | "$ne" | "$in" | "$nin" | "$and" | "$not" | "$nor" | "$or" | "$regex";
22
23
  export declare const t: FilterType<{
23
24
  a: number;