@belopash/typeorm-store 1.5.0 → 1.6.0-rc.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.
Files changed (56) hide show
  1. package/lib/database.d.ts +55 -9
  2. package/lib/database.d.ts.map +1 -1
  3. package/lib/database.js +166 -26
  4. package/lib/database.js.map +1 -1
  5. package/lib/index.d.ts +2 -2
  6. package/lib/index.d.ts.map +1 -1
  7. package/lib/index.js +6 -18
  8. package/lib/index.js.map +1 -1
  9. package/lib/store.d.ts +112 -85
  10. package/lib/store.d.ts.map +1 -1
  11. package/lib/store.js +213 -435
  12. package/lib/store.js.map +1 -1
  13. package/lib/utils/cacheMap.d.ts +9 -12
  14. package/lib/utils/cacheMap.d.ts.map +1 -1
  15. package/lib/utils/cacheMap.js +16 -18
  16. package/lib/utils/cacheMap.js.map +1 -1
  17. package/lib/utils/commitOrder.d.ts +7 -0
  18. package/lib/utils/commitOrder.d.ts.map +1 -0
  19. package/lib/utils/commitOrder.js +62 -0
  20. package/lib/utils/commitOrder.js.map +1 -0
  21. package/lib/utils/deferList.js +1 -1
  22. package/lib/utils/deferList.js.map +1 -1
  23. package/lib/utils/misc.d.ts +7 -3
  24. package/lib/utils/misc.d.ts.map +1 -1
  25. package/lib/utils/misc.js +25 -54
  26. package/lib/utils/misc.js.map +1 -1
  27. package/lib/utils/stateManager.d.ts +55 -0
  28. package/lib/utils/stateManager.d.ts.map +1 -0
  29. package/lib/utils/stateManager.js +263 -0
  30. package/lib/utils/stateManager.js.map +1 -0
  31. package/package.json +7 -6
  32. package/src/database.ts +260 -37
  33. package/src/index.ts +10 -2
  34. package/src/store.ts +291 -584
  35. package/src/utils/cacheMap.ts +21 -25
  36. package/src/utils/commitOrder.ts +77 -0
  37. package/src/utils/deferList.ts +2 -2
  38. package/src/utils/misc.ts +32 -50
  39. package/src/utils/stateManager.ts +316 -0
  40. package/lib/test/lib/model.d.ts +0 -25
  41. package/lib/test/lib/model.d.ts.map +0 -1
  42. package/lib/test/lib/model.js +0 -107
  43. package/lib/test/lib/model.js.map +0 -1
  44. package/lib/test/store.test.d.ts +0 -6
  45. package/lib/test/store.test.d.ts.map +0 -1
  46. package/lib/test/store.test.js +0 -167
  47. package/lib/test/store.test.js.map +0 -1
  48. package/lib/test/util.d.ts +0 -13
  49. package/lib/test/util.d.ts.map +0 -1
  50. package/lib/test/util.js +0 -57
  51. package/lib/test/util.js.map +0 -1
  52. package/lib/utils/relationGraph.d.ts +0 -3
  53. package/lib/utils/relationGraph.d.ts.map +0 -1
  54. package/lib/utils/relationGraph.js +0 -61
  55. package/lib/utils/relationGraph.js.map +0 -1
  56. package/src/utils/relationGraph.ts +0 -69
package/lib/database.d.ts CHANGED
@@ -1,12 +1,58 @@
1
- import { IsolationLevel, TypeormDatabase, TypeormDatabaseOptions } from '@subsquid/typeorm-store';
2
- import { FinalTxInfo, HotTxInfo, HashAndHeight } from '@subsquid/typeorm-store/lib/interfaces';
3
- import { StoreWithCache } from './store';
4
- export { IsolationLevel, TypeormDatabaseOptions };
5
- export declare class TypeormDatabaseWithCache extends TypeormDatabase {
6
- transact(info: FinalTxInfo, cb: (store: StoreWithCache) => Promise<void>): Promise<void>;
7
- transactHot(info: HotTxInfo, cb: (store: StoreWithCache, block: HashAndHeight) => Promise<void>): Promise<void>;
8
- transactHot2(info: HotTxInfo, cb: (store: StoreWithCache, sliceBeg: number, sliceEnd: number) => Promise<void>): Promise<void>;
1
+ import { TypeormDatabaseOptions as TypeormDatabaseOptions_, IsolationLevel } from '@subsquid/typeorm-store';
2
+ import { DatabaseState, FinalTxInfo, HashAndHeight, HotTxInfo } from '@subsquid/typeorm-store/lib/interfaces';
3
+ import { DataSource } from 'typeorm';
4
+ import { Store } from './store';
5
+ import { StateManager } from './utils/stateManager';
6
+ export { IsolationLevel };
7
+ export interface TypeormDatabaseOptions extends TypeormDatabaseOptions_ {
8
+ /**
9
+ * If true, will batch write operations
10
+ * @default true
11
+ */
12
+ batchWriteOperations?: boolean;
13
+ /**
14
+ * If true, will cache entities on request
15
+ * @default true
16
+ */
17
+ cacheEntities: boolean;
18
+ /**
19
+ * If true, will sync entities on request
20
+ * @default true
21
+ */
22
+ syncEntities: boolean;
23
+ /**
24
+ * If true, will reset the state on commit
25
+ * @default true
26
+ */
27
+ resetOnCommit?: boolean;
28
+ }
29
+ declare const StateManagerSymbol: unique symbol;
30
+ export declare class TypeormDatabase {
31
+ protected statusSchema: string;
32
+ protected isolationLevel: IsolationLevel;
33
+ protected batchWriteOperations: boolean;
34
+ protected cacheEntities: boolean;
35
+ protected syncEntities: boolean;
36
+ protected resetOnCommit: boolean;
37
+ protected con?: DataSource & {
38
+ [StateManagerSymbol]?: StateManager;
39
+ };
40
+ protected projectDir: string;
41
+ readonly supportsHotBlocks: boolean;
42
+ constructor(options?: TypeormDatabaseOptions);
43
+ connect: () => Promise<DatabaseState>;
44
+ disconnect: () => Promise<void>;
45
+ private getState;
46
+ transact(info: FinalTxInfo, cb: (store: Store) => Promise<void>): Promise<void>;
47
+ transactHot(info: HotTxInfo, cb: (store: Store, block: HashAndHeight) => Promise<void>): Promise<void>;
48
+ transactHot2(info: HotTxInfo, cb: (store: Store, sliceBeg: number, sliceEnd: number) => Promise<void>): Promise<void>;
49
+ private deleteHotBlocks;
50
+ private insertHotBlock;
51
+ private updateStatus;
9
52
  private performUpdates;
10
- private getCommitOrder;
53
+ private submit;
54
+ private escapedSchema;
55
+ private getLogger;
56
+ private getStateManager;
11
57
  }
12
58
  //# sourceMappingURL=database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAA;AAE/F,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,wCAAwC,CAAA;AAG5F,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAItC,OAAO,EAAC,cAAc,EAAE,sBAAsB,EAAC,CAAA;AAG/C,qBAAa,wBAAyB,SAAQ,eAAe;IAEzD,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/G,YAAY,CACR,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACjF,OAAO,CAAC,IAAI,CAAC;YAIF,cAAc;IA2B5B,OAAO,CAAC,cAAc;CAGzB"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,sBAAsB,IAAI,uBAAuB,EACjD,cAAc,EACjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,wCAAwC,CAAA;AAG3G,OAAO,EAAC,UAAU,EAAgB,MAAM,SAAS,CAAA;AACjD,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAC,cAAc,EAAC,CAAA;AAEvB,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACnE;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,QAAA,MAAM,kBAAkB,eAAyB,CAAA;AAEjD,qBAAa,eAAe;IACxB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,cAAc,EAAE,cAAc,CAAA;IACxC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACvC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAA;IAChC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAA;IAC/B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAA;IAChC,SAAS,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG;QACzB,CAAC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAA;KACtC,CAAA;IACD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAE5B,SAAgB,iBAAiB,EAAE,OAAO,CAAA;gBAE9B,OAAO,CAAC,EAAE,sBAAsB;IAW5C,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAgD;IACrF,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAmD;YAEpE,QAAQ;IActB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/E,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtG,YAAY,CACR,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACxE,OAAO,CAAC,IAAI,CAAC;IAmDhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;YAOR,YAAY;YAeZ,cAAc;YA4Bd,MAAM;IAiBpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;CAa1B"}
package/lib/database.js CHANGED
@@ -12,52 +12,192 @@ 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.TypeormDatabaseWithCache = void 0;
15
+ exports.TypeormDatabase = void 0;
16
+ const logger_1 = require("@subsquid/logger");
16
17
  const typeorm_store_1 = require("@subsquid/typeorm-store");
18
+ const hot_1 = require("@subsquid/typeorm-store/lib/hot");
19
+ const util_internal_1 = require("@subsquid/util-internal");
17
20
  const assert_1 = __importDefault(require("assert"));
18
21
  const store_1 = require("./store");
19
- const util_internal_1 = require("@subsquid/util-internal");
20
- const relationGraph_1 = require("./utils/relationGraph");
21
- // @ts-ignore
22
- class TypeormDatabaseWithCache extends typeorm_store_1.TypeormDatabase {
23
- // @ts-ignore
22
+ const stateManager_1 = require("./utils/stateManager");
23
+ const StateManagerSymbol = Symbol('StateManager');
24
+ class TypeormDatabase {
25
+ constructor(options) {
26
+ this.connect = typeorm_store_1.TypeormDatabase.prototype.connect.bind(this);
27
+ this.disconnect = typeorm_store_1.TypeormDatabase.prototype.disconnect.bind(this);
28
+ this.statusSchema = options?.stateSchema || 'squid_processor';
29
+ this.isolationLevel = options?.isolationLevel || 'SERIALIZABLE';
30
+ this.batchWriteOperations = options?.batchWriteOperations ?? true;
31
+ this.cacheEntities = options?.cacheEntities ?? true;
32
+ this.syncEntities = options?.syncEntities ?? true;
33
+ this.resetOnCommit = options?.resetOnCommit ?? true;
34
+ this.supportsHotBlocks = options?.supportHotBlocks !== false;
35
+ this.projectDir = options?.projectDir || process.cwd();
36
+ }
37
+ async getState(em) {
38
+ let schema = this.escapedSchema();
39
+ let status = await em.query(`SELECT height, hash, nonce FROM ${schema}.status WHERE id = 0`);
40
+ (0, assert_1.default)(status.length == 1);
41
+ let top = await em.query(`SELECT hash, height FROM ${schema}.hot_block ORDER BY height`);
42
+ return assertStateInvariants({ ...status[0], top });
43
+ }
24
44
  transact(info, cb) {
25
- return super.transact(info, cb);
45
+ return this.submit(async (em) => {
46
+ let state = await this.getState(em);
47
+ let { prevHead: prev, nextHead: next } = info;
48
+ (0, assert_1.default)(state.hash === info.prevHead.hash, RACE_MSG);
49
+ (0, assert_1.default)(state.height === prev.height);
50
+ (0, assert_1.default)(prev.height < next.height);
51
+ (0, assert_1.default)(prev.hash != next.hash);
52
+ for (let i = state.top.length - 1; i >= 0; i--) {
53
+ let block = state.top[i];
54
+ await (0, hot_1.rollbackBlock)(this.statusSchema, em, block.height);
55
+ }
56
+ await this.performUpdates(cb, em);
57
+ await this.updateStatus(em, state.nonce, next);
58
+ });
26
59
  }
27
- // @ts-ignore
28
60
  transactHot(info, cb) {
29
- return super.transactHot(info, cb);
61
+ return this.transactHot2(info, async (store, sliceBeg, sliceEnd) => {
62
+ for (let i = sliceBeg; i < sliceEnd; i++) {
63
+ await cb(store, info.newBlocks[i]);
64
+ }
65
+ });
30
66
  }
31
- // @ts-ignore
32
67
  transactHot2(info, cb) {
33
- return super.transactHot2(info, cb);
34
- }
35
- async performUpdates(cb, em, changes) {
36
- let running = true;
37
- let store = new store_1.StoreWithCache(() => {
38
- (0, assert_1.default)(running, `too late to perform db updates, make sure you haven't forgot to await on db query`);
39
- return em;
40
- }, {
41
- changeTracker: changes,
42
- commitOrder: this.getCommitOrder(),
68
+ return this.submit(async (em) => {
69
+ let state = await this.getState(em);
70
+ let chain = [state, ...state.top];
71
+ assertChainContinuity(info.baseHead, info.newBlocks);
72
+ (0, assert_1.default)(info.finalizedHead.height <= ((0, util_internal_1.maybeLast)(info.newBlocks) ?? info.baseHead).height);
73
+ (0, assert_1.default)(chain.find((b) => b.hash === info.baseHead.hash), RACE_MSG);
74
+ if (info.newBlocks.length == 0) {
75
+ (0, assert_1.default)((0, util_internal_1.last)(chain).hash === info.baseHead.hash, RACE_MSG);
76
+ }
77
+ (0, assert_1.default)(chain[0].height <= info.finalizedHead.height, RACE_MSG);
78
+ let rollbackPos = info.baseHead.height + 1 - chain[0].height;
79
+ for (let i = chain.length - 1; i >= rollbackPos; i--) {
80
+ await (0, hot_1.rollbackBlock)(this.statusSchema, em, chain[i].height);
81
+ }
82
+ if (info.newBlocks.length) {
83
+ let finalizedEnd = info.finalizedHead.height - info.newBlocks[0].height + 1;
84
+ if (finalizedEnd > 0) {
85
+ await this.performUpdates((store) => cb(store, 0, finalizedEnd), em);
86
+ }
87
+ else {
88
+ finalizedEnd = 0;
89
+ }
90
+ for (let i = finalizedEnd; i < info.newBlocks.length; i++) {
91
+ let b = info.newBlocks[i];
92
+ await this.insertHotBlock(em, b);
93
+ await this.performUpdates((store) => cb(store, i, i + 1), em, new hot_1.ChangeTracker(em, this.statusSchema, b.height));
94
+ }
95
+ }
96
+ chain = chain.slice(0, rollbackPos).concat(info.newBlocks);
97
+ let finalizedHeadPos = info.finalizedHead.height - chain[0].height;
98
+ (0, assert_1.default)(chain[finalizedHeadPos].hash === info.finalizedHead.hash);
99
+ await this.deleteHotBlocks(em, info.finalizedHead.height);
100
+ await this.updateStatus(em, state.nonce, info.finalizedHead);
101
+ });
102
+ }
103
+ deleteHotBlocks(em, finalizedHeight) {
104
+ return em.query(`DELETE FROM ${this.escapedSchema()}.hot_block WHERE height <= $1`, [finalizedHeight]);
105
+ }
106
+ insertHotBlock(em, block) {
107
+ return em.query(`INSERT INTO ${this.escapedSchema()}.hot_block (height, hash) VALUES ($1, $2)`, [
108
+ block.height,
109
+ block.hash,
110
+ ]);
111
+ }
112
+ async updateStatus(em, nonce, next) {
113
+ let schema = this.escapedSchema();
114
+ let result = await em.query(`UPDATE ${schema}.status SET height = $1, hash = $2, nonce = nonce + 1 WHERE id = 0 AND nonce = $3`, [next.height, next.hash, nonce]);
115
+ let rowsChanged = result[1];
116
+ // Will never happen if isolation level is SERIALIZABLE or REPEATABLE_READ,
117
+ // but occasionally people use multiprocessor setups and READ_COMMITTED.
118
+ assert_1.default.strictEqual(rowsChanged, 1, RACE_MSG);
119
+ }
120
+ async performUpdates(cb, em, changeWriter) {
121
+ let store = new store_1.Store({
122
+ em,
123
+ state: this.getStateManager(),
124
+ logger: this.getLogger(),
125
+ changes: changeWriter,
126
+ batchWriteOperations: this.batchWriteOperations,
127
+ cacheEntities: this.cacheEntities,
128
+ syncEntities: this.syncEntities,
43
129
  });
44
130
  try {
45
131
  await cb(store);
46
- await store.flush();
132
+ if (this.resetOnCommit) {
133
+ await store.flush();
134
+ }
135
+ else {
136
+ await store.sync();
137
+ }
47
138
  }
48
139
  finally {
49
- running = false;
140
+ store['isClosed'] = true;
141
+ }
142
+ }
143
+ async submit(tx) {
144
+ let retries = 3;
145
+ while (true) {
146
+ try {
147
+ let con = this.con;
148
+ (0, assert_1.default)(con != null, 'not connected');
149
+ return await con.transaction(this.isolationLevel, tx);
150
+ }
151
+ catch (e) {
152
+ if (e.code == '40001' && retries) {
153
+ retries -= 1;
154
+ }
155
+ else {
156
+ throw e;
157
+ }
158
+ }
50
159
  }
51
160
  }
52
- getCommitOrder() {
53
- return (0, relationGraph_1.getCommitOrder)(this['con'].entityMetadatas);
161
+ escapedSchema() {
162
+ let con = (0, util_internal_1.assertNotNull)(this.con);
163
+ return con.driver.escape(this.statusSchema);
164
+ }
165
+ getLogger() {
166
+ return (0, logger_1.createLogger)('sqd:typeorm-db');
167
+ }
168
+ getStateManager() {
169
+ let connection = (0, util_internal_1.assertNotNull)(this.con);
170
+ let stateManager = connection[StateManagerSymbol];
171
+ if (stateManager == null) {
172
+ stateManager = new stateManager_1.StateManager({
173
+ connection,
174
+ logger: this.getLogger(),
175
+ });
176
+ connection[StateManagerSymbol] = stateManager;
177
+ }
178
+ return stateManager;
54
179
  }
55
180
  }
56
- exports.TypeormDatabaseWithCache = TypeormDatabaseWithCache;
181
+ exports.TypeormDatabase = TypeormDatabase;
57
182
  __decorate([
58
183
  util_internal_1.def,
59
184
  __metadata("design:type", Function),
60
185
  __metadata("design:paramtypes", []),
61
186
  __metadata("design:returntype", void 0)
62
- ], TypeormDatabaseWithCache.prototype, "getCommitOrder", null);
187
+ ], TypeormDatabase.prototype, "getLogger", null);
188
+ const RACE_MSG = 'status table was updated by foreign process, make sure no other processor is running';
189
+ function assertStateInvariants(state) {
190
+ let height = state.height;
191
+ // Sanity check. Who knows what driver will return?
192
+ (0, assert_1.default)(Number.isSafeInteger(height));
193
+ assertChainContinuity(state, state.top);
194
+ return state;
195
+ }
196
+ function assertChainContinuity(base, chain) {
197
+ let prev = base;
198
+ for (let b of chain) {
199
+ (0, assert_1.default)(b.height === prev.height + 1, 'blocks must form a continues chain');
200
+ prev = b;
201
+ }
202
+ }
63
203
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2DAA+F;AAG/F,oDAA2B;AAE3B,mCAAsC;AACtC,2DAA2C;AAC3C,yDAAoD;AAIpD,aAAa;AACb,MAAa,wBAAyB,SAAQ,+BAAe;IACzD,aAAa;IACb,QAAQ,CAAC,IAAiB,EAAE,EAA4C;QACpE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC1C,CAAC;IAED,aAAa;IACb,WAAW,CAAC,IAAe,EAAE,EAAkE;QAC3F,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC7C,CAAC;IAED,aAAa;IACb,YAAY,CACR,IAAe,EACf,EAAgF;QAEhF,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAA4C,EAC5C,EAAiB,EACjB,OAAuB;QAEvB,IAAI,OAAO,GAAG,IAAI,CAAA;QAElB,IAAI,KAAK,GAAG,IAAI,sBAAc,CAC1B,GAAG,EAAE;YACD,IAAA,gBAAM,EAAC,OAAO,EAAE,mFAAmF,CAAC,CAAA;YACpG,OAAO,EAAE,CAAA;QACb,CAAC,EACD;YACI,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;SACrC,CACJ,CAAA;QAED,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;YACf,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;gBAAS,CAAC;YACP,OAAO,GAAG,KAAK,CAAA;QACnB,CAAC;IACL,CAAC;IAGO,cAAc;QAClB,OAAO,IAAA,8BAAc,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAA;IACtD,CAAC;CACJ;AAjDD,4DAiDC;AAHW;IADP,mBAAG;;;;8DAGH"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './database';
2
- export { EntityClass, Entity, FindManyOptions, FindOneOptions, StoreWithCache } from './store';
1
+ export { TypeormDatabase, TypeormDatabase as TypeormDatabaseWithCache, TypeormDatabaseOptions } from './database';
2
+ export { EntityTarget, EntityLiteral, EntityLiteral as Entity, FindManyOptions, FindOneOptions, Store, Store as StoreWithCache, } from './store';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,eAAe,IAAI,wBAAwB,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAA;AAC/G,OAAO,EACH,YAAY,EACZ,aAAa,EACb,aAAa,IAAI,MAAM,EACvB,eAAe,EACf,cAAc,EACd,KAAK,EACL,KAAK,IAAI,cAAc,GAC1B,MAAM,SAAS,CAAA"}
package/lib/index.js CHANGED
@@ -1,22 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.StoreWithCache = exports.Entity = void 0;
18
- __exportStar(require("./database"), exports);
3
+ exports.StoreWithCache = exports.Store = exports.TypeormDatabaseWithCache = exports.TypeormDatabase = void 0;
4
+ var database_1 = require("./database");
5
+ Object.defineProperty(exports, "TypeormDatabase", { enumerable: true, get: function () { return database_1.TypeormDatabase; } });
6
+ Object.defineProperty(exports, "TypeormDatabaseWithCache", { enumerable: true, get: function () { return database_1.TypeormDatabase; } });
19
7
  var store_1 = require("./store");
20
- Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return store_1.Entity; } });
21
- Object.defineProperty(exports, "StoreWithCache", { enumerable: true, get: function () { return store_1.StoreWithCache; } });
8
+ Object.defineProperty(exports, "Store", { enumerable: true, get: function () { return store_1.Store; } });
9
+ Object.defineProperty(exports, "StoreWithCache", { enumerable: true, get: function () { return store_1.Store; } });
22
10
  //# 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;AAAvE,+FAAA,MAAM,OAAA;AAAmC,uGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAA+G;AAAvG,2GAAA,eAAe,OAAA;AAAE,oHAAA,eAAe,OAA4B;AACpE,iCAQgB;AAFZ,8FAAA,KAAK,OAAA;AACL,uGAAA,KAAK,OAAkB"}
package/lib/store.d.ts CHANGED
@@ -1,100 +1,127 @@
1
- import { Entity, EntityClass, FindManyOptions as FindManyOptions_, FindOneOptions as FindOneOptions_, Store } from '@subsquid/typeorm-store';
1
+ import { EntityManager, FindOptionsOrder, FindOptionsRelations, FindOptionsWhere } from 'typeorm';
2
+ import { EntityTarget } from 'typeorm/common/EntityTarget';
2
3
  import { ChangeTracker } from '@subsquid/typeorm-store/lib/hot';
3
- import { EntityManager, EntityMetadata, EntityTarget, FindOptionsRelations, FindOptionsWhere, ObjectLiteral } from 'typeorm';
4
- export { Entity, EntityClass };
5
- export interface EntityType extends ObjectLiteral {
6
- id: string;
7
- }
8
- export type ChangeSet = {
9
- metadata: EntityMetadata;
10
- inserts: EntityType[];
11
- upserts: EntityType[];
12
- removes: string[];
13
- extraUpserts: EntityType[];
14
- };
4
+ import { StateManager } from './utils/stateManager';
5
+ import { Logger } from '@subsquid/logger';
6
+ import { Future } from '@subsquid/util-internal';
7
+ import { EntityLiteral } from './utils/misc';
8
+ export { EntityTarget, EntityLiteral };
15
9
  export interface GetOptions<E = any> {
16
10
  id: string;
17
11
  relations?: FindOptionsRelations<E>;
12
+ cacheEntities?: boolean;
13
+ }
14
+ /**
15
+ * Defines a special criteria to find specific entity.
16
+ */
17
+ export interface FindOneOptions<Entity = any> {
18
+ /**
19
+ * Adds a comment with the supplied string in the generated query. This is
20
+ * helpful for debugging purposes, such as finding a specific query in the
21
+ * database server's logs, or for categorization using an APM product.
22
+ */
23
+ comment?: string;
24
+ /**
25
+ * Simple condition that should be applied to match entities.
26
+ */
27
+ where?: FindOptionsWhere<Entity>[] | FindOptionsWhere<Entity>;
28
+ /**
29
+ * Indicates what relations of entity should be loaded (simplified left join form).
30
+ */
31
+ relations?: FindOptionsRelations<Entity>;
32
+ /**
33
+ * Order, in which entities should be ordered.
34
+ */
35
+ order?: FindOptionsOrder<Entity>;
36
+ cacheEntities?: boolean;
37
+ syncEntities?: boolean;
18
38
  }
19
- export interface FindOneOptions<E> extends FindOneOptions_<E> {
20
- cache?: boolean;
39
+ export interface FindManyOptions<Entity = any> extends FindOneOptions<Entity> {
40
+ /**
41
+ * Offset (paginated) where from entities should be taken.
42
+ */
43
+ skip?: number;
44
+ /**
45
+ * Limit (paginated) - max number of entities should be taken.
46
+ */
47
+ take?: number;
48
+ cacheEntities?: boolean;
49
+ syncEntities?: boolean;
21
50
  }
22
- export interface FindManyOptions<E> extends FindManyOptions_<E> {
23
- cache?: boolean;
51
+ export interface StoreOptions {
52
+ em: EntityManager;
53
+ state: StateManager;
54
+ changes?: ChangeTracker;
55
+ logger?: Logger;
56
+ batchWriteOperations: boolean;
57
+ cacheEntities: boolean;
58
+ syncEntities: boolean;
24
59
  }
25
- export declare class StoreWithCache extends Store {
26
- private em;
27
- private commitOrder;
28
- private updates;
29
- private defers;
30
- private cache;
31
- private logger;
32
- private currentCommit;
33
- private currentLoad;
34
- constructor(em: () => EntityManager, opts: {
35
- changeTracker?: ChangeTracker;
36
- commitOrder: EntityMetadata[];
37
- });
38
- insert<E extends EntityType>(entity: E): Promise<void>;
39
- insert<E extends EntityType>(entities: E[]): Promise<void>;
40
- upsert<E extends EntityType>(entity: E): Promise<void>;
41
- upsert<E extends EntityType>(entities: E[]): Promise<void>;
42
- save<E extends EntityType>(entity: E): Promise<void>;
43
- save<E extends EntityType>(entities: E[]): Promise<void>;
44
- remove<E extends EntityType>(entity: E): Promise<void>;
45
- remove<E extends EntityType>(entities: E[]): Promise<void>;
46
- remove<E extends EntityType>(entityClass: EntityTarget<E>, id: string | string[]): Promise<void>;
47
- count<E extends EntityType>(entityClass: EntityTarget<E>, options?: FindManyOptions<E>): Promise<number>;
48
- countBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<number>;
49
- find<E extends EntityType>(entityClass: EntityTarget<E>, options: FindManyOptions<E>): Promise<E[]>;
50
- findBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[], cache?: boolean): Promise<E[]>;
51
- findOne<E extends EntityType>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E | undefined>;
52
- findOneOrFail<E extends EntityType>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E>;
53
- findOneBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[], cache?: boolean): Promise<E | undefined>;
54
- findOneByOrFail<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[], cache?: boolean): Promise<E>;
55
- get<E extends EntityType>(entityClass: EntityTarget<E>, id: string): Promise<E | undefined>;
56
- get<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E | undefined>;
57
- getOrFail<E extends EntityType>(entityClass: EntityTarget<E>, id: string): Promise<E>;
58
- getOrFail<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E>;
59
- getOrInsert<E extends EntityType>(entityClass: EntityTarget<E>, id: string, create: (id: string) => E | Promise<E>): Promise<E>;
60
- getOrInsert<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
60
+ /**
61
+ * Restricted version of TypeORM entity manager for squid data handlers.
62
+ */
63
+ export declare class Store {
64
+ protected em: EntityManager;
65
+ protected state: StateManager;
66
+ protected changes?: ChangeTracker;
67
+ protected logger?: Logger;
68
+ protected batchWriteOperations: boolean;
69
+ protected cacheEntities: boolean;
70
+ protected syncEntities: boolean;
71
+ protected pendingCommit?: Future<void>;
72
+ protected isClosed: boolean;
73
+ constructor({ em, changes, logger, state, ...opts }: StoreOptions);
74
+ get _em(): EntityManager;
75
+ get _state(): StateManager;
61
76
  /**
62
- * @deprecated use {@link getOrInsert} instead
77
+ * Alias for {@link Store.upsert}
63
78
  */
64
- getOrCreate<E extends EntityType>(entityClass: EntityTarget<E>, idOrOptions: string | GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
65
- defer<E extends EntityType>(entityClass: EntityTarget<E>, id: string): DeferredEntity<E>;
66
- defer<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): DeferredEntity<E>;
67
- commit(): Promise<void>;
68
- clear(): void;
69
- flush(): Promise<void>;
70
- private computeChangeSets;
71
- private computeChangeSet;
72
- private load;
73
- private getCached;
74
- private extractExtraUpsert;
75
- private commitOrderIndexes;
76
- private getCommitOrderIndex;
77
- private cloneEntity;
78
- private traverseEntity;
79
- private getEntityMetadata;
80
- private getEntityPkHash;
81
- private saveMany;
79
+ save<E extends EntityLiteral>(e: E | E[]): Promise<void>;
80
+ /**
81
+ * Upserts a given entity or entities into the database.
82
+ *
83
+ * It always executes a primitive operation without cascades, relations, etc.
84
+ */
85
+ upsert<E extends EntityLiteral>(e: E | E[]): Promise<void>;
82
86
  private getFkSignature;
87
+ private _upsert;
83
88
  private upsertMany;
84
- }
85
- export declare class DeferredEntity<E extends EntityType> {
86
- private opts;
87
- constructor(opts: {
88
- get: () => Promise<E | undefined>;
89
- getOrFail: () => Promise<E>;
90
- getOrInsert: (create: (id: string) => E | Promise<E>) => Promise<E>;
91
- });
92
- get(): Promise<E | undefined>;
93
- getOrFail(): Promise<E>;
94
- getOrInsert(create: (id: string) => E | Promise<E>): Promise<E>;
95
89
  /**
96
- * @deprecated use {@link getOrInsert} instead
90
+ * Inserts a given entity or entities into the database.
91
+ * Does not check if the entity(s) exist in the database and will fail if a duplicate is inserted.
92
+ *
93
+ * Executes a primitive INSERT operation without cascades, relations, etc.
94
+ */
95
+ insert<E extends EntityLiteral>(e: E | E[]): Promise<void>;
96
+ private _insert;
97
+ private insertMany;
98
+ /**
99
+ * Deletes a given entity or entities from the database.
100
+ *
101
+ * Executes a primitive DELETE query without cascades, relations, etc.
97
102
  */
98
- getOrCreate(create: (id: string) => E | Promise<E>): Promise<E>;
103
+ delete<E extends EntityLiteral>(e: E | E[]): Promise<void>;
104
+ delete<E extends EntityLiteral>(target: EntityTarget<E>, id: string | string[]): Promise<void>;
105
+ private _delete;
106
+ count<E extends EntityLiteral>(target: EntityTarget<E>, options?: FindManyOptions<E>): Promise<number>;
107
+ countBy<E extends EntityLiteral>(target: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<number>;
108
+ find<E extends EntityLiteral>(target: EntityTarget<E>, options: FindManyOptions<E>): Promise<E[]>;
109
+ findBy<E extends EntityLiteral>(target: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E[]>;
110
+ findOne<E extends EntityLiteral>(target: EntityTarget<E>, options: FindOneOptions<E>): Promise<E | undefined>;
111
+ findOneBy<E extends EntityLiteral>(target: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E | undefined>;
112
+ findOneOrFail<E extends EntityLiteral>(target: EntityTarget<E>, options: FindOneOptions<E>): Promise<E>;
113
+ findOneByOrFail<E extends EntityLiteral>(target: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E>;
114
+ get<E extends EntityLiteral>(target: EntityTarget<E>, id: string): Promise<E | undefined>;
115
+ get<E extends EntityLiteral>(target: EntityTarget<E>, options: GetOptions<E>): Promise<E | undefined>;
116
+ getOrFail<E extends EntityLiteral>(target: EntityTarget<E>, id: string): Promise<E>;
117
+ getOrFail<E extends EntityLiteral>(target: EntityTarget<E>, options: GetOptions<E>): Promise<E>;
118
+ reset(): void;
119
+ sync(): Promise<void>;
120
+ flush(): Promise<void>;
121
+ private performRead;
122
+ private performWrite;
123
+ private assertNotClosed;
124
+ private cacheEntity;
125
+ private getEntityMetadata;
99
126
  }
100
127
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAGb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAe,MAAM,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAC,aAAa,EAA2C,MAAM,cAAc,CAAA;AAKpF,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,CAAA;AAEpC,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IACnC,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,GAAG;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAC7D;;OAEG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAEhC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,cAAc,CAAC,MAAM,CAAC;IACzE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,aAAa,CAAA;IACjB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,KAAK;IACd,SAAS,CAAC,EAAE,EAAE,aAAa,CAAA;IAC3B,SAAS,CAAC,KAAK,EAAE,YAAY,CAAA;IAC7B,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEzB,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACvC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAA;IAChC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAA;IAE/B,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,SAAS,CAAC,QAAQ,UAAQ;gBAEd,EAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAC,EAAE,YAAY;IAU/D,IAAI,GAAG,kBAEN;IAED,IAAI,MAAM,iBAET;IAED;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D;;;;OAIG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE,OAAO,CAAC,cAAc;YASR,OAAO;YAyBP,UAAU;IAMxB;;;;;OAKG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAWlD,OAAO;YAMP,UAAU;IAMxB;;;;OAIG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAqBtF,OAAO;IAMf,KAAK,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtG,OAAO,CAAC,CAAC,SAAS,aAAa,EACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,MAAM,CAAC;IAIZ,IAAI,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAejG,MAAM,CAAC,CAAC,SAAS,aAAa,EAChC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,CAAC,EAAE,CAAC;IAIT,OAAO,CAAC,CAAC,SAAS,aAAa,EACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAcnB,SAAS,CAAC,CAAC,SAAS,aAAa,EACnC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInB,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAOvG,eAAe,CAAC,CAAC,SAAS,aAAa,EACzC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,CAAC,CAAC,CAAC;IAOP,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACzF,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAarG,SAAS,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACnF,SAAS,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUrG,KAAK,IAAI,IAAI;IAIP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAKd,WAAW;YAQX,YAAY;IAS1B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,iBAAiB;CAG5B"}