@ocap/statedb-sqlite 1.29.5 → 1.29.7

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/esm/db.d.mts CHANGED
@@ -74,6 +74,7 @@ declare class SqliteStateDB extends StateDB implements IStateDB {
74
74
  */
75
75
  runAsLambda<T>(fn: (txn: Transaction<Database>) => T | Promise<T>, options?: {
76
76
  retryLimit?: number;
77
+ onCommit?: (commitHash?: string) => void | Promise<void>;
77
78
  }): Promise<T>;
78
79
  /**
79
80
  * Reset all tables (for testing)
package/esm/db.mjs CHANGED
@@ -217,9 +217,13 @@ var SqliteStateDB = class extends StateDB {
217
217
  const { retryLimit = 2 } = options;
218
218
  let lastError;
219
219
  for (let attempt = 0; attempt <= retryLimit; attempt++) try {
220
- return await this.db.transaction().execute(async (txn) => {
220
+ const result = await this.db.transaction().execute(async (txn) => {
221
221
  return await fn(txn);
222
222
  });
223
+ if (options.onCommit) try {
224
+ await options.onCommit();
225
+ } catch (_err) {}
226
+ return result;
223
227
  } catch (err) {
224
228
  lastError = err;
225
229
  const code = err?.code;
package/esm/package.mjs CHANGED
@@ -51,7 +51,8 @@ var package_default = {
51
51
  "lint": "biome check",
52
52
  "lint:fix": "biome check --write",
53
53
  "test": "bun test",
54
- "coverage": "npm run test -- --coverage"
54
+ "coverage": "npm run test -- --coverage",
55
+ "clean": "rm -rf lib esm"
55
56
  },
56
57
  dependencies: {
57
58
  "@ocap/state": "workspace:*",
package/lib/db.cjs CHANGED
@@ -219,9 +219,13 @@ var SqliteStateDB = class extends _ocap_statedb.StateDB {
219
219
  const { retryLimit = 2 } = options;
220
220
  let lastError;
221
221
  for (let attempt = 0; attempt <= retryLimit; attempt++) try {
222
- return await this.db.transaction().execute(async (txn) => {
222
+ const result = await this.db.transaction().execute(async (txn) => {
223
223
  return await fn(txn);
224
224
  });
225
+ if (options.onCommit) try {
226
+ await options.onCommit();
227
+ } catch (_err) {}
228
+ return result;
225
229
  } catch (err) {
226
230
  lastError = err;
227
231
  const code = err?.code;
package/lib/db.d.cts CHANGED
@@ -74,6 +74,7 @@ declare class SqliteStateDB extends StateDB implements IStateDB {
74
74
  */
75
75
  runAsLambda<T>(fn: (txn: Transaction<Database>) => T | Promise<T>, options?: {
76
76
  retryLimit?: number;
77
+ onCommit?: (commitHash?: string) => void | Promise<void>;
77
78
  }): Promise<T>;
78
79
  /**
79
80
  * Reset all tables (for testing)
package/lib/package.cjs CHANGED
@@ -52,7 +52,8 @@ var package_default = {
52
52
  "lint": "biome check",
53
53
  "lint:fix": "biome check --write",
54
54
  "test": "bun test",
55
- "coverage": "npm run test -- --coverage"
55
+ "coverage": "npm run test -- --coverage",
56
+ "clean": "rm -rf lib esm"
56
57
  },
57
58
  dependencies: {
58
59
  "@ocap/state": "workspace:*",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ocap/statedb-sqlite",
3
3
  "description": "OCAP statedb adapter that uses SQLite as backend",
4
- "version": "1.29.5",
4
+ "version": "1.29.7",
5
5
  "author": "wangshijun <shijun@arcblock.io> (https://www.arcblock.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/ArcBlock/blockchain/issues",
@@ -14,7 +14,7 @@
14
14
  "wangshijun <shijun@arcblock.io> (https://www.arcblock.io)"
15
15
  ],
16
16
  "devDependencies": {
17
- "@ocap/statedb-test": "1.29.5"
17
+ "@ocap/statedb-test": "1.29.7"
18
18
  },
19
19
  "homepage": "https://github.com/ArcBlock/blockchain/tree/master/statedb/sqlite",
20
20
  "keywords": [
@@ -59,13 +59,14 @@
59
59
  "lint": "biome check",
60
60
  "lint:fix": "biome check --write",
61
61
  "test": "bun test",
62
- "coverage": "npm run test -- --coverage"
62
+ "coverage": "npm run test -- --coverage",
63
+ "clean": "rm -rf lib esm"
63
64
  },
64
65
  "dependencies": {
65
- "@ocap/state": "1.29.5",
66
- "@ocap/statedb": "1.29.5",
67
- "@ocap/types": "1.29.5",
68
- "@ocap/util": "1.29.5",
66
+ "@ocap/state": "1.29.7",
67
+ "@ocap/statedb": "1.29.7",
68
+ "@ocap/types": "1.29.7",
69
+ "@ocap/util": "1.29.7",
69
70
  "debug": "^4.4.3",
70
71
  "better-sqlite3": "^11.8.1",
71
72
  "kysely": "^0.27.0",