@ddd-ts/store-inmemory 0.0.3-39 → 0.0.3-41
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/dist/store/in-memory.database.d.ts +1 -7
- package/dist/store/in-memory.database.d.ts.map +1 -1
- package/dist/store/in-memory.database.js.map +1 -1
- package/dist/store/in-memory.store.d.ts +2 -2
- package/dist/store/in-memory.store.d.ts.map +1 -1
- package/dist/store/in-memory.store.js +2 -1
- package/dist/store/in-memory.store.js.map +1 -1
- package/dist/store/in-memory.store.spec.js +17 -1
- package/dist/store/in-memory.store.spec.js.map +1 -1
- package/package.json +1 -1
|
@@ -44,13 +44,7 @@ export declare class InMemoryDatabase {
|
|
|
44
44
|
load(collectionName: string, id: string, trx?: InMemoryUnderlyingTransaction): any;
|
|
45
45
|
delete(collectionName: string, id: string, trx?: InMemoryUnderlyingTransaction): void;
|
|
46
46
|
loadAll(collectionName: string, trx?: InMemoryUnderlyingTransaction, filterResult?: (data: any) => boolean): any[];
|
|
47
|
-
loadFiltered(collectionName: string, filterResult: (data: any) => PromiseOr<boolean>, trx?: InMemoryUnderlyingTransaction): Promise<
|
|
48
|
-
id: string;
|
|
49
|
-
data: {
|
|
50
|
-
savedAt: number;
|
|
51
|
-
data: any;
|
|
52
|
-
};
|
|
53
|
-
}[]>;
|
|
47
|
+
loadFiltered(collectionName: string, filterResult: (data: any) => PromiseOr<boolean>, trx?: InMemoryUnderlyingTransaction): Promise<any[]>;
|
|
54
48
|
loadLatestSnapshot(id: string): any;
|
|
55
49
|
save(collectionName: string, id: string, data: any, trx?: InMemoryUnderlyingTransaction): void;
|
|
56
50
|
private static transactionTries;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.database.d.ts","sourceRoot":"","sources":["../../src/store/in-memory.database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,qBAAsB,SAAQ,KAAK;;CAI/C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;;CAI9C;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,KAAK,EAAE,MAAM;CAG1B;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;AAE7E,qBAAa,6BAA6B;IACxC,SAAgB,UAAU,EAAE,oBAAoB,EAAE,CAAM;IAExD,SAAgB,EAAE,SAAyC;IAE3D,OAAO,CAAC,cAAc;IAUf,QAAQ,CACb,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GAAG,SAAS;IAMtB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAItD,WAAW,CAChB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,GAAG,EACP,OAAO,EAAE,MAAM,GAAG,SAAS;IAKtB,gBAAgB,CAAC,OAAO,EAAE,OAAO;CAkBzC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAiB;IAEhC,KAAK,CAAC,cAAc,EAAE,MAAM;IAI5B,IAAI,CACF,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,GAAG,CAAC,EAAE,6BAA6B,GAClC,GAAG;IAUN,MAAM,CACJ,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,GAAG,CAAC,EAAE,6BAA6B,GAClC,IAAI;IASP,OAAO,CACL,cAAc,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,6BAA6B,EACnC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GACpC,GAAG,EAAE;IAmBF,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,SAAS,CAAC,OAAO,CAAC,EAC/C,GAAG,CAAC,EAAE,6BAA6B
|
|
1
|
+
{"version":3,"file":"in-memory.database.d.ts","sourceRoot":"","sources":["../../src/store/in-memory.database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,qBAAsB,SAAQ,KAAK;;CAI/C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;;CAI9C;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,KAAK,EAAE,MAAM;CAG1B;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;AAE7E,qBAAa,6BAA6B;IACxC,SAAgB,UAAU,EAAE,oBAAoB,EAAE,CAAM;IAExD,SAAgB,EAAE,SAAyC;IAE3D,OAAO,CAAC,cAAc;IAUf,QAAQ,CACb,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GAAG,SAAS;IAMtB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAItD,WAAW,CAChB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,GAAG,EACP,OAAO,EAAE,MAAM,GAAG,SAAS;IAKtB,gBAAgB,CAAC,OAAO,EAAE,OAAO;CAkBzC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAiB;IAEhC,KAAK,CAAC,cAAc,EAAE,MAAM;IAI5B,IAAI,CACF,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,GAAG,CAAC,EAAE,6BAA6B,GAClC,GAAG;IAUN,MAAM,CACJ,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,GAAG,CAAC,EAAE,6BAA6B,GAClC,IAAI;IASP,OAAO,CACL,cAAc,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,6BAA6B,EACnC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GACpC,GAAG,EAAE;IAmBF,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,SAAS,CAAC,OAAO,CAAC,EAC/C,GAAG,CAAC,EAAE,6BAA6B;IAcrC,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAI7B,IAAI,CACF,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,GAAG,EACT,GAAG,CAAC,EAAE,6BAA6B,GAClC,IAAI;IAQP,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAK;IAE9B,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,GAAG;IA2B3D,OAAO,CAAC,MAAM;IAkBd,KAAK;CAGN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.database.js","sourceRoot":"","sources":["../../src/store/in-memory.database.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"in-memory.database.js","sourceRoot":"","sources":["../../src/store/in-memory.database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Store, Model } from "@ddd-ts/model";
|
|
2
2
|
import { InMemoryDatabase } from "./in-memory.database";
|
|
3
3
|
import { InMemoryTransaction } from "../in-memory.transaction";
|
|
4
|
-
import { ISerializer
|
|
4
|
+
import { ISerializer } from "@ddd-ts/serialization";
|
|
5
5
|
/**
|
|
6
6
|
* This in memory store is a copy store. It stores a copy of the actual model.
|
|
7
7
|
* It is the recommended inmemory store to use, as it reflects more closely the behaviour of a real store.
|
|
@@ -12,7 +12,7 @@ export declare class InMemoryStore<M extends Model> implements Store<M> {
|
|
|
12
12
|
readonly serializer: ISerializer<M>;
|
|
13
13
|
constructor(collection: string, database: InMemoryDatabase, serializer: ISerializer<M>);
|
|
14
14
|
private serializeId;
|
|
15
|
-
protected filter(predicate: (model: M) =>
|
|
15
|
+
protected filter(predicate: (model: M) => boolean, trx?: InMemoryTransaction): Promise<M[]>;
|
|
16
16
|
clear(): void;
|
|
17
17
|
save(model: M, trx?: InMemoryTransaction): Promise<void>;
|
|
18
18
|
load(id: M["id"], trx?: InMemoryTransaction): Promise<M | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.store.d.ts","sourceRoot":"","sources":["../../src/store/in-memory.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"in-memory.store.d.ts","sourceRoot":"","sources":["../../src/store/in-memory.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAa,MAAM,uBAAuB,CAAC;AAC/D;;;GAGG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;aAE3C,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,gBAAgB;aAC1B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;gBAF1B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAG5C,OAAO,CAAC,WAAW;cASH,MAAM,CACpB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAChC,GAAG,CAAC,EAAE,mBAAmB,GACxB,OAAO,CAAC,CAAC,EAAE,CAAC;IASf,KAAK;IAIC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAc1E,OAAO,CAAC,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM1C,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKjE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC;CAKrC"}
|
|
@@ -23,7 +23,8 @@ class InMemoryStore {
|
|
|
23
23
|
return id.toString();
|
|
24
24
|
}
|
|
25
25
|
async filter(predicate, trx) {
|
|
26
|
-
|
|
26
|
+
const serialized = await this.database.loadFiltered(this.collection, async (item) => predicate(await this.serializer.deserialize(item)), trx?.transaction);
|
|
27
|
+
return Promise.all(serialized.map((e) => this.serializer.deserialize(e)));
|
|
27
28
|
}
|
|
28
29
|
clear() {
|
|
29
30
|
this.database.clear(this.collection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.store.js","sourceRoot":"","sources":["../../src/store/in-memory.store.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,MAAa,aAAa;IAEN;IACA;IACA;IAHlB,YACkB,UAAkB,EAClB,QAA0B,EAC1B,UAA0B;QAF1B,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,eAAU,GAAV,UAAU,CAAgB;IACzC,CAAC;IAEI,WAAW,CAAC,EAAW;QAC7B,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACxD,IAAI,WAAW,IAAI,EAAE,EAAE;gBACrB,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;aACvB;SACF;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,MAAM,CACpB,
|
|
1
|
+
{"version":3,"file":"in-memory.store.js","sourceRoot":"","sources":["../../src/store/in-memory.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,18 @@ class MyElementSerializer extends (0, serialization_1.Serializer)(MyElement)(1n)
|
|
|
22
22
|
return new MyElement(value.id, value.name);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
class MyElementStore extends __1.InMemoryStore {
|
|
26
|
+
constructor(database) {
|
|
27
|
+
super("my_collection", database, new MyElementSerializer());
|
|
28
|
+
}
|
|
29
|
+
loadEven() {
|
|
30
|
+
return this.filter((e) => +(e.name.split("-")[1] ?? -1) % 2 === 0);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
25
33
|
describe("InMemoryStore", () => {
|
|
26
34
|
function getStore() {
|
|
27
35
|
const database = new __1.InMemoryDatabase();
|
|
28
|
-
const store = new
|
|
36
|
+
const store = new MyElementStore(database);
|
|
29
37
|
const transactionPerformer = new __1.InMemoryTransactionPerformer(database);
|
|
30
38
|
return { store, transactionPerformer };
|
|
31
39
|
}
|
|
@@ -41,6 +49,14 @@ describe("InMemoryStore", () => {
|
|
|
41
49
|
const pristine = await store.load(element.id);
|
|
42
50
|
expect(pristine).toEqual(element);
|
|
43
51
|
});
|
|
52
|
+
it("filters", async () => {
|
|
53
|
+
const { store } = getStore();
|
|
54
|
+
const elements = [...Array.from({ length: 100 }).keys()].map((e) => new MyElement(e.toString(), `name-${e.toString()}`));
|
|
55
|
+
await Promise.all(elements.map((e) => store.save(e)));
|
|
56
|
+
const onlyEven = await store.loadEven();
|
|
57
|
+
expect(onlyEven.length).toBe(50);
|
|
58
|
+
expect(onlyEven.map((e) => e.name)).toEqual([...Array.from({ length: 50 }).keys()].map((e) => `name-${(e * 2).toString()}`));
|
|
59
|
+
});
|
|
44
60
|
it("deletes", async () => {
|
|
45
61
|
const { store } = getStore();
|
|
46
62
|
const element = new MyElement("myid", "timothee");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.store.spec.js","sourceRoot":"","sources":["../../src/store/in-memory.store.spec.ts"],"names":[],"mappings":";;AAAA,yDAA+D;AAC/D,0BAIY;AACZ,6DAG8B;AAE9B,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"in-memory.store.spec.js","sourceRoot":"","sources":["../../src/store/in-memory.store.spec.ts"],"names":[],"mappings":"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"}
|