@belopash/typeorm-store 1.3.0 → 1.4.1
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/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/store.d.ts +38 -31
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +133 -79
- package/lib/store.js.map +1 -1
- package/lib/utils/cacheMap.d.ts +23 -0
- package/lib/utils/cacheMap.d.ts.map +1 -0
- package/lib/{cacheMap.js → utils/cacheMap.js} +12 -27
- package/lib/utils/cacheMap.js.map +1 -0
- package/lib/utils/deferList.d.ts +14 -0
- package/lib/utils/deferList.d.ts.map +1 -0
- package/lib/utils/deferList.js +32 -0
- package/lib/utils/deferList.js.map +1 -0
- package/lib/utils/misc.d.ts +5 -0
- package/lib/utils/misc.d.ts.map +1 -0
- package/lib/{utils.js → utils/misc.js} +1 -1
- package/lib/utils/misc.js.map +1 -0
- package/lib/utils/relationGraph.d.ts.map +1 -0
- package/lib/utils/relationGraph.js.map +1 -0
- package/lib/utils/updateMap.d.ts +22 -0
- package/lib/utils/updateMap.d.ts.map +1 -0
- package/lib/{changeTracker.js → utils/updateMap.js} +23 -26
- package/lib/utils/updateMap.js.map +1 -0
- package/package.json +11 -10
- package/src/store.ts +215 -120
- package/src/{cacheMap.ts → utils/cacheMap.ts} +13 -29
- package/src/utils/deferList.ts +40 -0
- package/src/{utils.ts → utils/misc.ts} +2 -3
- package/src/utils/updateMap.ts +78 -0
- package/lib/cacheMap.d.ts +0 -26
- package/lib/cacheMap.d.ts.map +0 -1
- package/lib/cacheMap.js.map +0 -1
- package/lib/changeTracker.d.ts +0 -24
- package/lib/changeTracker.d.ts.map +0 -1
- package/lib/changeTracker.js.map +0 -1
- package/lib/deferQueue.d.ts +0 -19
- package/lib/deferQueue.d.ts.map +0 -1
- package/lib/deferQueue.js +0 -35
- package/lib/deferQueue.js.map +0 -1
- package/lib/relationGraph.d.ts.map +0 -1
- package/lib/relationGraph.js.map +0 -1
- package/lib/utils.d.ts +0 -6
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js.map +0 -1
- package/src/changeTracker.ts +0 -82
- package/src/deferQueue.ts +0 -44
- /package/lib/{relationGraph.d.ts → utils/relationGraph.d.ts} +0 -0
- /package/lib/{relationGraph.js → utils/relationGraph.js} +0 -0
- /package/src/{relationGraph.ts → utils/relationGraph.ts} +0 -0
package/lib/index.js
CHANGED
|
@@ -14,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.StoreWithCache = void 0;
|
|
17
|
+
exports.StoreWithCache = exports.Entity = void 0;
|
|
18
18
|
__exportStar(require("./database"), exports);
|
|
19
19
|
var store_1 = require("./store");
|
|
20
|
+
Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return store_1.Entity; } });
|
|
20
21
|
Object.defineProperty(exports, "StoreWithCache", { enumerable: true, get: function () { return store_1.StoreWithCache; } });
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iCAA4F;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iCAA4F;AAAvE,+FAAA,MAAM,OAAA;AAAmC,uGAAA,cAAc,OAAA"}
|
package/lib/store.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { Entity
|
|
1
|
+
import { Entity, EntityClass, FindManyOptions, FindOneOptions, Store } from '@subsquid/typeorm-store';
|
|
2
2
|
import { ChangeTracker } from '@subsquid/typeorm-store/lib/hot';
|
|
3
3
|
import { EntityManager, EntityMetadata, EntityTarget, FindOptionsRelations, FindOptionsWhere } from 'typeorm';
|
|
4
4
|
export { Entity, EntityClass, FindManyOptions, FindOneOptions };
|
|
5
|
-
export type
|
|
5
|
+
export type EntityType = {
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
export type ChangeSet<E extends EntityType> = {
|
|
6
9
|
metadata: EntityMetadata;
|
|
7
10
|
inserts: E[];
|
|
8
11
|
upserts: E[];
|
|
9
|
-
removes:
|
|
12
|
+
removes: string[];
|
|
10
13
|
extraUpserts: E[];
|
|
11
14
|
};
|
|
12
15
|
export interface GetOptions<Entity = any> {
|
|
@@ -16,42 +19,45 @@ export interface GetOptions<Entity = any> {
|
|
|
16
19
|
export declare class StoreWithCache extends Store {
|
|
17
20
|
private em;
|
|
18
21
|
private updates;
|
|
19
|
-
private
|
|
22
|
+
private defers;
|
|
20
23
|
private cache;
|
|
21
24
|
private logger;
|
|
25
|
+
private currentCommit;
|
|
26
|
+
private currentLoad;
|
|
22
27
|
constructor(em: () => EntityManager, changes?: ChangeTracker);
|
|
23
|
-
insert<E extends
|
|
24
|
-
insert<E extends
|
|
25
|
-
upsert<E extends
|
|
26
|
-
upsert<E extends
|
|
27
|
-
save<E extends
|
|
28
|
-
save<E extends
|
|
29
|
-
remove<E extends
|
|
30
|
-
remove<E extends
|
|
31
|
-
remove<E extends
|
|
32
|
-
count<E extends
|
|
33
|
-
countBy<E extends
|
|
34
|
-
find<E extends
|
|
35
|
-
findBy<E extends
|
|
36
|
-
findOne<E extends
|
|
37
|
-
findOneOrFail<E extends
|
|
38
|
-
findOneBy<E extends
|
|
39
|
-
findOneByOrFail<E extends
|
|
40
|
-
get<E extends
|
|
41
|
-
get<E extends
|
|
42
|
-
getOrFail<E extends
|
|
43
|
-
getOrFail<E extends
|
|
44
|
-
getOrInsert<E extends
|
|
45
|
-
getOrInsert<E extends
|
|
28
|
+
insert<E extends EntityType>(entity: E): Promise<void>;
|
|
29
|
+
insert<E extends EntityType>(entities: E[]): Promise<void>;
|
|
30
|
+
upsert<E extends EntityType>(entity: E): Promise<void>;
|
|
31
|
+
upsert<E extends EntityType>(entities: E[]): Promise<void>;
|
|
32
|
+
save<E extends EntityType>(entity: E): Promise<void>;
|
|
33
|
+
save<E extends EntityType>(entities: E[]): Promise<void>;
|
|
34
|
+
remove<E extends EntityType>(entity: E): Promise<void>;
|
|
35
|
+
remove<E extends EntityType>(entities: E[]): Promise<void>;
|
|
36
|
+
remove<E extends EntityType>(entityClass: EntityTarget<E>, id: string | string[]): Promise<void>;
|
|
37
|
+
count<E extends EntityType>(entityClass: EntityTarget<E>, options?: FindManyOptions<E>): Promise<number>;
|
|
38
|
+
countBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<number>;
|
|
39
|
+
find<E extends EntityType>(entityClass: EntityTarget<E>, options: FindManyOptions<E>): Promise<E[]>;
|
|
40
|
+
findBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E[]>;
|
|
41
|
+
findOne<E extends EntityType>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E | undefined>;
|
|
42
|
+
findOneOrFail<E extends EntityType>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E>;
|
|
43
|
+
findOneBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E | undefined>;
|
|
44
|
+
findOneByOrFail<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E>;
|
|
45
|
+
get<E extends EntityType>(entityClass: EntityTarget<E>, id: string): Promise<E | undefined>;
|
|
46
|
+
get<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E | undefined>;
|
|
47
|
+
getOrFail<E extends EntityType>(entityClass: EntityTarget<E>, id: string): Promise<E>;
|
|
48
|
+
getOrFail<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E>;
|
|
49
|
+
getOrInsert<E extends EntityType>(entityClass: EntityTarget<E>, id: string, create: (id: string) => E | Promise<E>): Promise<E>;
|
|
50
|
+
getOrInsert<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
|
|
46
51
|
/**
|
|
47
52
|
* @deprecated use {@link getOrInsert} instead
|
|
48
53
|
*/
|
|
49
|
-
getOrCreate<E extends
|
|
50
|
-
defer<E extends
|
|
51
|
-
defer<E extends
|
|
54
|
+
getOrCreate<E extends EntityType>(entityClass: EntityTarget<E>, idOrOptions: string | GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
|
|
55
|
+
defer<E extends EntityType>(entityClass: EntityTarget<E>, id: string): DeferredEntity<E>;
|
|
56
|
+
defer<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): DeferredEntity<E>;
|
|
52
57
|
commit(): Promise<void>;
|
|
53
58
|
clear(): void;
|
|
54
59
|
flush(): Promise<void>;
|
|
60
|
+
private computeChangeSets;
|
|
55
61
|
private getChangeSet;
|
|
56
62
|
private load;
|
|
57
63
|
private getCached;
|
|
@@ -62,11 +68,12 @@ export declare class StoreWithCache extends Store {
|
|
|
62
68
|
private cloneEntity;
|
|
63
69
|
private traverseEntity;
|
|
64
70
|
private getEntityMetadata;
|
|
71
|
+
private getEntityPkHash;
|
|
65
72
|
private saveMany;
|
|
66
73
|
private getFkSignature;
|
|
67
74
|
private upsertMany;
|
|
68
75
|
}
|
|
69
|
-
export declare class DeferredEntity<E extends
|
|
76
|
+
export declare class DeferredEntity<E extends EntityType> {
|
|
70
77
|
private opts;
|
|
71
78
|
constructor(opts: {
|
|
72
79
|
get: () => Promise<E | undefined>;
|
package/lib/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAC,MAAM,yBAAyB,CAAA;AACtH,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAA;AAI7D,OAAO,EACH,aAAa,EACb,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAGnB,MAAM,SAAS,CAAA;AAQhB,OAAO,EAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAC,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,IAAI;IAC1C,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,EAAE,CAAC,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,GAAG;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;CAC3C;AAGD,qBAAa,cAAe,SAAQ,KAAK;IASzB,OAAO,CAAC,EAAE;IARtB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,WAAW,CAAc;gBAEb,EAAE,EAAE,MAAM,aAAa,EAAE,OAAO,CAAC,EAAE,aAAa;IAQ9D,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACtD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACtD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1D,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACpD,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACtD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BhG,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxG,OAAO,CAAC,CAAC,SAAS,UAAU,EAC9B,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,MAAM,CAAC;IAKZ,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAYnG,MAAM,CAAC,CAAC,SAAS,UAAU,EAC7B,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,CAAC,EAAE,CAAC;IAcT,OAAO,CAAC,CAAC,SAAS,UAAU,EAC9B,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAcnB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUzG,SAAS,CAAC,CAAC,SAAS,UAAU,EAChC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYnB,eAAe,CAAC,CAAC,SAAS,UAAU,EACtC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,CAAC,CAAC;IAUP,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3F,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkBvG,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACrF,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBjG,WAAW,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC;IACP,WAAW,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC;IAiBb;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EACnC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAK1C,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IACxF,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAc9F,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC7B,KAAK,IAAI,IAAI;IAKP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,YAAY;YA+CN,IAAI;IAmBlB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;YAmBT,QAAQ;IA2BtB,OAAO,CAAC,cAAc;YAIR,UAAU;CAG3B;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU;IAExC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE;QACV,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;QACjC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;QAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;KACtE;IAGC,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7B,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAIvB,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGxE"}
|
package/lib/store.js
CHANGED
|
@@ -12,67 +12,77 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.DeferredEntity = exports.StoreWithCache = void 0;
|
|
15
|
+
exports.DeferredEntity = exports.StoreWithCache = exports.Entity = void 0;
|
|
16
16
|
const logger_1 = require("@subsquid/logger");
|
|
17
17
|
const typeorm_store_1 = require("@subsquid/typeorm-store");
|
|
18
|
+
Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return typeorm_store_1.Entity; } });
|
|
18
19
|
const util_internal_1 = require("@subsquid/util-internal");
|
|
19
20
|
const assert_1 = __importDefault(require("assert"));
|
|
21
|
+
const async_mutex_1 = require("async-mutex");
|
|
20
22
|
const typeorm_1 = require("typeorm");
|
|
21
|
-
const cacheMap_1 = require("./cacheMap");
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
23
|
+
const cacheMap_1 = require("./utils/cacheMap");
|
|
24
|
+
const deferList_1 = require("./utils/deferList");
|
|
25
|
+
const relationGraph_1 = require("./utils/relationGraph");
|
|
26
|
+
const updateMap_1 = require("./utils/updateMap");
|
|
27
|
+
const misc_1 = require("./utils/misc");
|
|
26
28
|
// @ts-ignore
|
|
27
29
|
class StoreWithCache extends typeorm_store_1.Store {
|
|
28
30
|
constructor(em, changes) {
|
|
29
31
|
super(em, changes);
|
|
30
32
|
this.em = em;
|
|
33
|
+
this.currentCommit = new async_mutex_1.Mutex();
|
|
34
|
+
this.currentLoad = new async_mutex_1.Mutex();
|
|
31
35
|
this.logger = (0, logger_1.createLogger)('sqd:store');
|
|
32
|
-
this.cache = new cacheMap_1.CacheMap(
|
|
33
|
-
this.updates = new
|
|
34
|
-
this.
|
|
36
|
+
this.cache = new cacheMap_1.CacheMap({ logger: this.logger });
|
|
37
|
+
this.updates = new updateMap_1.UpdateMap();
|
|
38
|
+
this.defers = new deferList_1.DeferList();
|
|
35
39
|
}
|
|
36
40
|
async insert(e) {
|
|
41
|
+
await this.currentCommit.waitForUnlock();
|
|
37
42
|
const entities = Array.isArray(e) ? e : [e];
|
|
38
43
|
if (entities.length == 0)
|
|
39
44
|
return;
|
|
40
45
|
for (const entity of entities) {
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
46
|
+
const md = this.getEntityMetadata(entity.constructor);
|
|
47
|
+
this.updates.insert(md, entity.id);
|
|
48
|
+
this.cache.add(md, entity, true);
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
async upsert(e) {
|
|
52
|
+
await this.currentCommit.waitForUnlock();
|
|
46
53
|
let entities = Array.isArray(e) ? e : [e];
|
|
47
54
|
if (entities.length == 0)
|
|
48
55
|
return;
|
|
49
56
|
for (const entity of entities) {
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
57
|
+
const md = this.getEntityMetadata(entity.constructor);
|
|
58
|
+
const isNew = this.updates.get(md, entity.id) === updateMap_1.UpdateType.Remove;
|
|
59
|
+
this.updates.upsert(md, entity.id);
|
|
60
|
+
this.cache.add(md, entity, isNew);
|
|
52
61
|
}
|
|
53
62
|
}
|
|
54
63
|
async save(e) {
|
|
55
64
|
return await this.upsert(e);
|
|
56
65
|
}
|
|
57
66
|
async remove(e, id) {
|
|
67
|
+
await this.currentCommit.waitForUnlock();
|
|
58
68
|
if (id == null) {
|
|
59
69
|
const entities = Array.isArray(e) ? e : [e];
|
|
60
70
|
if (entities.length == 0)
|
|
61
71
|
return;
|
|
62
72
|
for (const entity of entities) {
|
|
63
|
-
const
|
|
64
|
-
this.updates.remove(
|
|
65
|
-
this.cache.delete(
|
|
73
|
+
const md = this.getEntityMetadata(entity.constructor);
|
|
74
|
+
this.updates.remove(md, entity.id);
|
|
75
|
+
this.cache.delete(md, entity.id);
|
|
66
76
|
}
|
|
67
77
|
}
|
|
68
78
|
else {
|
|
69
79
|
const ids = Array.isArray(id) ? id : [id];
|
|
70
80
|
if (ids.length == 0)
|
|
71
81
|
return;
|
|
72
|
-
const
|
|
82
|
+
const md = this.getEntityMetadata(e);
|
|
73
83
|
for (const id of ids) {
|
|
74
|
-
this.updates.remove(
|
|
75
|
-
this.cache.delete(
|
|
84
|
+
this.updates.remove(md, id);
|
|
85
|
+
this.cache.delete(md, id);
|
|
76
86
|
}
|
|
77
87
|
}
|
|
78
88
|
}
|
|
@@ -88,7 +98,10 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
88
98
|
await this.commit();
|
|
89
99
|
const res = await super.find(entityClass, options);
|
|
90
100
|
for (const entity of res) {
|
|
91
|
-
this.traverseEntity(entity, options.relations || null, (e) =>
|
|
101
|
+
this.traverseEntity(entity, options.relations || null, (e) => {
|
|
102
|
+
const md = this.getEntityMetadata(e.constructor);
|
|
103
|
+
this.cache.add(md, e);
|
|
104
|
+
});
|
|
92
105
|
}
|
|
93
106
|
return res;
|
|
94
107
|
}
|
|
@@ -96,7 +109,10 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
96
109
|
await this.commit();
|
|
97
110
|
const res = await super.findBy(entityClass, where);
|
|
98
111
|
for (const entity of res) {
|
|
99
|
-
this.traverseEntity(entity, null, (e) =>
|
|
112
|
+
this.traverseEntity(entity, null, (e) => {
|
|
113
|
+
const md = this.getEntityMetadata(entityClass);
|
|
114
|
+
this.cache.add(md, e);
|
|
115
|
+
});
|
|
100
116
|
}
|
|
101
117
|
return res;
|
|
102
118
|
}
|
|
@@ -104,28 +120,40 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
104
120
|
await this.commit();
|
|
105
121
|
const res = await super.findOne(entityClass, options);
|
|
106
122
|
if (res != null) {
|
|
107
|
-
this.traverseEntity(res, options.relations || null, (e) =>
|
|
123
|
+
this.traverseEntity(res, options.relations || null, (e) => {
|
|
124
|
+
const md = this.getEntityMetadata(e.constructor);
|
|
125
|
+
this.cache.add(md, e);
|
|
126
|
+
});
|
|
108
127
|
}
|
|
109
128
|
return res;
|
|
110
129
|
}
|
|
111
130
|
async findOneOrFail(entityClass, options) {
|
|
112
131
|
await this.commit();
|
|
113
132
|
const res = await super.findOneOrFail(entityClass, options);
|
|
114
|
-
this.traverseEntity(res, options.relations || null, (e) =>
|
|
133
|
+
this.traverseEntity(res, options.relations || null, (e) => {
|
|
134
|
+
const md = this.getEntityMetadata(e.constructor);
|
|
135
|
+
this.cache.add(md, e);
|
|
136
|
+
});
|
|
115
137
|
return res;
|
|
116
138
|
}
|
|
117
139
|
async findOneBy(entityClass, where) {
|
|
118
140
|
await this.commit();
|
|
119
141
|
const res = await super.findOneBy(entityClass, where);
|
|
120
142
|
if (res != null) {
|
|
121
|
-
this.traverseEntity(res, null, (e) =>
|
|
143
|
+
this.traverseEntity(res, null, (e) => {
|
|
144
|
+
const md = this.getEntityMetadata(e.constructor);
|
|
145
|
+
this.cache.add(md, e);
|
|
146
|
+
});
|
|
122
147
|
}
|
|
123
148
|
return res;
|
|
124
149
|
}
|
|
125
150
|
async findOneByOrFail(entityClass, where) {
|
|
126
151
|
await this.commit();
|
|
127
152
|
const res = await super.findOneByOrFail(entityClass, where);
|
|
128
|
-
this.traverseEntity(res, null, (e) =>
|
|
153
|
+
this.traverseEntity(res, null, (e) => {
|
|
154
|
+
const md = this.getEntityMetadata(e.constructor);
|
|
155
|
+
this.cache.add(md, e);
|
|
156
|
+
});
|
|
129
157
|
return res;
|
|
130
158
|
}
|
|
131
159
|
async get(entityClass, idOrOptions) {
|
|
@@ -164,8 +192,9 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
164
192
|
return this.getOrInsert(entityClass, idOrOptions, create);
|
|
165
193
|
}
|
|
166
194
|
defer(entityClass, idOrOptions) {
|
|
195
|
+
const md = this.getEntityMetadata(entityClass);
|
|
167
196
|
const options = parseGetOptions(idOrOptions);
|
|
168
|
-
this.
|
|
197
|
+
this.defers.add(md, options.id, options.relations);
|
|
169
198
|
return new DeferredEntity({
|
|
170
199
|
get: async () => this.get(entityClass, options),
|
|
171
200
|
getOrFail: async () => this.getOrFail(entityClass, options),
|
|
@@ -173,57 +202,64 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
173
202
|
});
|
|
174
203
|
}
|
|
175
204
|
async commit() {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (inserts.length) {
|
|
189
|
-
log.debug(`commit inserts for ${metadata.name} (${inserts.length})`);
|
|
190
|
-
await super.insert(inserts);
|
|
205
|
+
await this.currentCommit.runExclusive(async () => {
|
|
206
|
+
const log = this.logger.child('commit');
|
|
207
|
+
const changeSets = this.computeChangeSets();
|
|
208
|
+
for (const { metadata, inserts, upserts } of changeSets) {
|
|
209
|
+
if (upserts.length > 0) {
|
|
210
|
+
log.debug(`commit upserts for ${metadata.name} (${upserts.length})`);
|
|
211
|
+
await super.upsert(upserts);
|
|
212
|
+
}
|
|
213
|
+
if (inserts.length > 0) {
|
|
214
|
+
log.debug(`commit inserts for ${metadata.name} (${inserts.length})`);
|
|
215
|
+
await super.insert(inserts);
|
|
216
|
+
}
|
|
191
217
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
218
|
+
const changeSetsReversed = [...changeSets].reverse();
|
|
219
|
+
for (const { metadata, removes } of changeSetsReversed) {
|
|
220
|
+
if (removes.length > 0) {
|
|
221
|
+
log.debug(`commit removes for ${metadata.name} (${removes.length})`);
|
|
222
|
+
await super.remove(metadata.target, removes);
|
|
223
|
+
}
|
|
198
224
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
225
|
+
for (const { metadata, extraUpserts } of changeSets) {
|
|
226
|
+
if (extraUpserts.length > 0) {
|
|
227
|
+
log.debug(`commit extra upserts for ${metadata.name} (${extraUpserts.length})`);
|
|
228
|
+
await super.upsert(extraUpserts);
|
|
229
|
+
}
|
|
204
230
|
}
|
|
205
|
-
}
|
|
206
|
-
this.updates.clear();
|
|
231
|
+
});
|
|
207
232
|
}
|
|
208
233
|
clear() {
|
|
209
234
|
this.cache.clear();
|
|
235
|
+
this.updates.clear();
|
|
210
236
|
}
|
|
211
237
|
async flush() {
|
|
212
238
|
await this.commit();
|
|
213
239
|
this.clear();
|
|
214
240
|
}
|
|
241
|
+
computeChangeSets() {
|
|
242
|
+
const entityOrder = this.getCommitOrder();
|
|
243
|
+
const changeSets = [];
|
|
244
|
+
for (const metadata of entityOrder) {
|
|
245
|
+
const changeSet = this.getChangeSet(metadata.target);
|
|
246
|
+
changeSets.push(changeSet);
|
|
247
|
+
}
|
|
248
|
+
this.updates.clear();
|
|
249
|
+
return changeSets;
|
|
250
|
+
}
|
|
215
251
|
getChangeSet(target) {
|
|
216
252
|
const metadata = this.getEntityMetadata(target);
|
|
217
253
|
const inserts = [];
|
|
218
254
|
const upserts = [];
|
|
219
255
|
const removes = [];
|
|
220
256
|
const extraUpserts = [];
|
|
221
|
-
const updates = this.updates.getUpdates(metadata
|
|
257
|
+
const updates = this.updates.getUpdates(metadata);
|
|
222
258
|
for (const [id, type] of updates) {
|
|
223
|
-
const cached = this.cache.get(metadata
|
|
259
|
+
const cached = this.cache.get(metadata, id);
|
|
224
260
|
switch (type) {
|
|
225
|
-
case
|
|
226
|
-
(0, assert_1.default)(cached?.value != null);
|
|
261
|
+
case updateMap_1.UpdateType.Insert: {
|
|
262
|
+
(0, assert_1.default)(cached?.value != null, `unable to insert entity ${metadata.name} ${id}`);
|
|
227
263
|
inserts.push(cached.value);
|
|
228
264
|
const extraUpsert = this.extractExtraUpsert(cached.value);
|
|
229
265
|
if (extraUpsert != null) {
|
|
@@ -231,8 +267,8 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
231
267
|
}
|
|
232
268
|
break;
|
|
233
269
|
}
|
|
234
|
-
case
|
|
235
|
-
(0, assert_1.default)(cached?.value != null);
|
|
270
|
+
case updateMap_1.UpdateType.Upsert: {
|
|
271
|
+
(0, assert_1.default)(cached?.value != null, `unable to upsert entity ${metadata.name} ${id}`);
|
|
236
272
|
upserts.push(cached.value);
|
|
237
273
|
const extraUpsert = this.extractExtraUpsert(cached.value);
|
|
238
274
|
if (extraUpsert != null) {
|
|
@@ -240,10 +276,8 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
240
276
|
}
|
|
241
277
|
break;
|
|
242
278
|
}
|
|
243
|
-
case
|
|
244
|
-
|
|
245
|
-
e.id = id;
|
|
246
|
-
removes.push(e);
|
|
279
|
+
case updateMap_1.UpdateType.Remove: {
|
|
280
|
+
removes.push(id);
|
|
247
281
|
break;
|
|
248
282
|
}
|
|
249
283
|
}
|
|
@@ -251,21 +285,24 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
251
285
|
return { metadata, inserts, upserts, extraUpserts, removes };
|
|
252
286
|
}
|
|
253
287
|
async load() {
|
|
254
|
-
|
|
255
|
-
const metadata
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
288
|
+
await this.currentLoad.runExclusive(async () => {
|
|
289
|
+
for (const [metadata, data] of this.defers.values()) {
|
|
290
|
+
const ids = Array.from(data.ids);
|
|
291
|
+
for (let batch of (0, misc_1.splitIntoBatches)(ids, 30000)) {
|
|
292
|
+
if (batch.length == 0)
|
|
293
|
+
continue;
|
|
294
|
+
await this.find(metadata.target, { where: { id: (0, typeorm_1.In)(batch) }, relations: data.relations });
|
|
295
|
+
}
|
|
296
|
+
for (const id of ids) {
|
|
297
|
+
this.cache.ensure(metadata, id);
|
|
298
|
+
}
|
|
263
299
|
}
|
|
264
|
-
|
|
265
|
-
|
|
300
|
+
this.defers.clear();
|
|
301
|
+
});
|
|
266
302
|
}
|
|
267
303
|
getCached(entityClass, id, mask) {
|
|
268
|
-
const
|
|
304
|
+
const md = this.getEntityMetadata(entityClass);
|
|
305
|
+
const cached = this.cache.get(md, id);
|
|
269
306
|
if (cached == null) {
|
|
270
307
|
return undefined;
|
|
271
308
|
}
|
|
@@ -293,8 +330,8 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
293
330
|
if (invCommitOrderIndex < commitOrderIndex)
|
|
294
331
|
continue;
|
|
295
332
|
(0, assert_1.default)(relation.isNullable);
|
|
296
|
-
const invUpdateType = this.updates.get(inverseMetadata
|
|
297
|
-
if (invUpdateType ===
|
|
333
|
+
const invUpdateType = this.updates.get(inverseMetadata, inverseEntity.id);
|
|
334
|
+
if (invUpdateType === updateMap_1.UpdateType.Insert) {
|
|
298
335
|
if (extraUpsert == null) {
|
|
299
336
|
extraUpsert = metadata.create();
|
|
300
337
|
extraUpsert.id = entity.id;
|
|
@@ -324,7 +361,7 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
324
361
|
for (const column of metadata.nonVirtualColumns) {
|
|
325
362
|
const objectColumnValue = column.getEntityValue(entity);
|
|
326
363
|
if (objectColumnValue !== undefined) {
|
|
327
|
-
column.setEntityValue(clonedEntity, (0,
|
|
364
|
+
column.setEntityValue(clonedEntity, (0, misc_1.copy)(objectColumnValue));
|
|
328
365
|
}
|
|
329
366
|
}
|
|
330
367
|
if (mask != null) {
|
|
@@ -378,6 +415,23 @@ class StoreWithCache extends typeorm_store_1.Store {
|
|
|
378
415
|
const em = this.em();
|
|
379
416
|
return em.connection.getMetadata(entityClass);
|
|
380
417
|
}
|
|
418
|
+
getEntityPkHash(metadata, entity) {
|
|
419
|
+
const columns = metadata.primaryColumns;
|
|
420
|
+
if (columns.length === 1) {
|
|
421
|
+
const pk = columns[0].getEntityValue(entity);
|
|
422
|
+
(0, assert_1.default)(pk != null);
|
|
423
|
+
return String(pk);
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
return columns
|
|
427
|
+
.map((c) => {
|
|
428
|
+
const pk = c.getEntityValue(entity);
|
|
429
|
+
(0, assert_1.default)(pk != null);
|
|
430
|
+
return String(pk);
|
|
431
|
+
})
|
|
432
|
+
.join(':');
|
|
433
|
+
}
|
|
434
|
+
}
|
|
381
435
|
// @ts-ignore
|
|
382
436
|
async saveMany(entityClass, entities) {
|
|
383
437
|
(0, assert_1.default)(entities.length > 0);
|
package/lib/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|