@peerbit/blocks 4.1.8 → 4.1.9
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-blockstore.d.ts","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACN,KAAK,MAAM,EAKX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACX,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,KAAK,EAAU,MAAM,oBAAoB,CAAC;AAGxD,qBAAa,aAAc,YAAW,MAAM;IAC3C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,gBAAgB,CAAkB;
|
|
1
|
+
{"version":3,"file":"any-blockstore.d.ts","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACN,KAAK,MAAM,EAKX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACX,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,KAAK,EAAU,MAAM,oBAAoB,CAAC;AAGxD,qBAAa,aAAc,YAAW,MAAM;IAC3C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAC/B,KAAK,GAAE,QAAwB;IAIrC,GAAG,CACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,MAAM,EAAE;YACP,OAAO,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACF,GACC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA+B5B,GAAG,CACR,KAAK,EAAE,UAAU,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACnE,OAAO,CAAC,MAAM,CAAC;IAyBZ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7B,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAM7D,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,MAAM;IAGA,OAAO,CACZ,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,IAAI;IAIV,SAAS,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvC"}
|
|
@@ -42,7 +42,23 @@ export class AnyBlockStore {
|
|
|
42
42
|
async put(bytes) {
|
|
43
43
|
const put = bytes instanceof Uint8Array ? await calculateRawCid(bytes) : bytes;
|
|
44
44
|
const bbytes = put.block.bytes;
|
|
45
|
-
|
|
45
|
+
try {
|
|
46
|
+
await this._store.put(put.cid, bbytes);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const status = await this._store.status();
|
|
50
|
+
if (typeof error?.code === "string" &&
|
|
51
|
+
error.code === "LEVEL_DATABASE_NOT_OPEN" &&
|
|
52
|
+
this._closeController?.signal.aborted === true &&
|
|
53
|
+
(status === "closing" || status === "closed")) {
|
|
54
|
+
// Late replication writes can outlive shutdown. At this point the
|
|
55
|
+
// backing store is intentionally closing, so report the deterministic
|
|
56
|
+
// CID while discarding the write instead of leaking an unhandled
|
|
57
|
+
// LevelDB rejection.
|
|
58
|
+
return put.cid;
|
|
59
|
+
}
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
46
62
|
return put.cid;
|
|
47
63
|
}
|
|
48
64
|
async rm(cid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-blockstore.js","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAEN,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAc,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C,MAAM,OAAO,aAAa;IACjB,MAAM,CAAW;IACjB,QAAQ,CAAe;IACvB,QAAQ,CAA0B;IAClC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"any-blockstore.js","sourceRoot":"","sources":["../../src/any-blockstore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/blocks",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.9",
|
|
4
4
|
"description": "Block store streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -82,13 +82,13 @@
|
|
|
82
82
|
"p-queue": "^8.0.1",
|
|
83
83
|
"uint8arrays": "^5.1.0",
|
|
84
84
|
"@peerbit/any-store": "2.2.9",
|
|
85
|
-
"@peerbit/blocks-interface": "2.0.11",
|
|
86
85
|
"@peerbit/any-store-interface": "1.1.0",
|
|
87
|
-
"@peerbit/
|
|
86
|
+
"@peerbit/blocks-interface": "2.0.12",
|
|
88
87
|
"@peerbit/crypto": "3.1.1",
|
|
88
|
+
"@peerbit/cache": "3.0.0",
|
|
89
89
|
"@peerbit/logger": "2.0.1",
|
|
90
|
-
"@peerbit/stream
|
|
91
|
-
"@peerbit/stream": "
|
|
90
|
+
"@peerbit/stream": "5.0.17",
|
|
91
|
+
"@peerbit/stream-interface": "6.0.10",
|
|
92
92
|
"@peerbit/time": "3.0.0"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
package/src/any-blockstore.ts
CHANGED
|
@@ -20,7 +20,7 @@ export class AnyBlockStore implements Blocks {
|
|
|
20
20
|
private _store: AnyStore;
|
|
21
21
|
private _opening: Promise<any>;
|
|
22
22
|
private _onClose: (() => any) | undefined;
|
|
23
|
-
private _closeController
|
|
23
|
+
private _closeController?: AbortController;
|
|
24
24
|
constructor(store: AnyStore = createStore()) {
|
|
25
25
|
this._store = store;
|
|
26
26
|
}
|
|
@@ -72,7 +72,24 @@ export class AnyBlockStore implements Blocks {
|
|
|
72
72
|
const put =
|
|
73
73
|
bytes instanceof Uint8Array ? await calculateRawCid(bytes) : bytes;
|
|
74
74
|
const bbytes = put.block.bytes;
|
|
75
|
-
|
|
75
|
+
try {
|
|
76
|
+
await this._store.put(put.cid, bbytes);
|
|
77
|
+
} catch (error: any) {
|
|
78
|
+
const status = await this._store.status();
|
|
79
|
+
if (
|
|
80
|
+
typeof error?.code === "string" &&
|
|
81
|
+
error.code === "LEVEL_DATABASE_NOT_OPEN" &&
|
|
82
|
+
this._closeController?.signal.aborted === true &&
|
|
83
|
+
(status === "closing" || status === "closed")
|
|
84
|
+
) {
|
|
85
|
+
// Late replication writes can outlive shutdown. At this point the
|
|
86
|
+
// backing store is intentionally closing, so report the deterministic
|
|
87
|
+
// CID while discarding the write instead of leaking an unhandled
|
|
88
|
+
// LevelDB rejection.
|
|
89
|
+
return put.cid;
|
|
90
|
+
}
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
76
93
|
return put.cid;
|
|
77
94
|
}
|
|
78
95
|
|