@datastream/indexeddb
Advanced tools
+7
-3
| // Copyright 2026 will Farrell, and datastream contributors. | ||
| // SPDX-License-Identifier: MIT | ||
| import type { StreamOptions } from "@datastream/core"; | ||
| import type { | ||
| DatastreamReadable, | ||
| DatastreamWritable, | ||
| StreamOptions, | ||
| } from "@datastream/core"; | ||
@@ -15,3 +19,3 @@ export { openDB as indexedDBConnect } from "idb"; | ||
| streamOptions?: StreamOptions, | ||
| ): Promise<unknown>; | ||
| ): Promise<DatastreamReadable>; | ||
@@ -24,2 +28,2 @@ export function indexedDBWriteStream( | ||
| streamOptions?: StreamOptions, | ||
| ): Promise<unknown>; | ||
| ): Promise<DatastreamWritable>; |
+2
-2
@@ -5,5 +5,5 @@ import { createReadableStream, createWritableStream } from "@datastream/core"; | ||
| const indexedDBReadStream = async ({ db, store, index, key }, streamOptions = {}) => { | ||
| const input = db.transaction(store).store; | ||
| let input = db.transaction(store).store; | ||
| if (index && key) { | ||
| input.index(index).iterate(key); | ||
| input = input.index(index).iterate(key); | ||
| } | ||
@@ -10,0 +10,0 @@ return createReadableStream(input, streamOptions); |
| { | ||
| "version": 3, | ||
| "sources": ["index.web.js"], | ||
| "sourcesContent": ["// Copyright 2026 will Farrell, and datastream contributors.\n// SPDX-License-Identifier: MIT\nimport { createReadableStream, createWritableStream } from \"@datastream/core\";\nimport { openDB } from \"idb\";\n\nexport const indexedDBConnect = openDB;\n\nexport const indexedDBReadStream = async (\n\t{ db, store, index, key },\n\tstreamOptions = {},\n) => {\n\tconst input = db.transaction(store).store;\n\tif (index && key) {\n\t\tinput.index(index).iterate(key);\n\t}\n\treturn createReadableStream(input, streamOptions);\n};\n\nexport const indexedDBWriteStream = async (\n\t{ db, store },\n\tstreamOptions = {},\n) => {\n\tconst tx = db.transaction(store, \"readwrite\");\n\tconst write = async (chunk) => {\n\t\tawait tx.store.add(chunk);\n\t};\n\tconst final = async () => {\n\t\tawait tx.done;\n\t};\n\treturn createWritableStream(write, final, streamOptions);\n};\n\nexport default {\n\tconnect: indexedDBConnect,\n\treadStream: indexedDBReadStream,\n\twriteStream: indexedDBWriteStream,\n};\n"], | ||
| "mappings": "AAEA,SAAS,sBAAsB,4BAA4B;AAC3D,SAAS,cAAc;AAEhB,MAAM,mBAAmB;AAEzB,MAAM,sBAAsB,OAClC,EAAE,IAAI,OAAO,OAAO,IAAI,GACxB,gBAAgB,CAAC,MACb;AACJ,QAAM,QAAQ,GAAG,YAAY,KAAK,EAAE;AACpC,MAAI,SAAS,KAAK;AACjB,UAAM,MAAM,KAAK,EAAE,QAAQ,GAAG;AAAA,EAC/B;AACA,SAAO,qBAAqB,OAAO,aAAa;AACjD;AAEO,MAAM,uBAAuB,OACnC,EAAE,IAAI,MAAM,GACZ,gBAAgB,CAAC,MACb;AACJ,QAAM,KAAK,GAAG,YAAY,OAAO,WAAW;AAC5C,QAAM,QAAQ,OAAO,UAAU;AAC9B,UAAM,GAAG,MAAM,IAAI,KAAK;AAAA,EACzB;AACA,QAAM,QAAQ,YAAY;AACzB,UAAM,GAAG;AAAA,EACV;AACA,SAAO,qBAAqB,OAAO,OAAO,aAAa;AACxD;AAEA,IAAO,oBAAQ;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AACd;", | ||
| "sourcesContent": ["// Copyright 2026 will Farrell, and datastream contributors.\n// SPDX-License-Identifier: MIT\nimport { createReadableStream, createWritableStream } from \"@datastream/core\";\nimport { openDB } from \"idb\";\n\nexport const indexedDBConnect = openDB;\n\nexport const indexedDBReadStream = async (\n\t{ db, store, index, key },\n\tstreamOptions = {},\n) => {\n\tlet input = db.transaction(store).store;\n\tif (index && key) {\n\t\tinput = input.index(index).iterate(key);\n\t}\n\treturn createReadableStream(input, streamOptions);\n};\n\nexport const indexedDBWriteStream = async (\n\t{ db, store },\n\tstreamOptions = {},\n) => {\n\tconst tx = db.transaction(store, \"readwrite\");\n\tconst write = async (chunk) => {\n\t\tawait tx.store.add(chunk);\n\t};\n\tconst final = async () => {\n\t\tawait tx.done;\n\t};\n\treturn createWritableStream(write, final, streamOptions);\n};\n\nexport default {\n\tconnect: indexedDBConnect,\n\treadStream: indexedDBReadStream,\n\twriteStream: indexedDBWriteStream,\n};\n"], | ||
| "mappings": "AAEA,SAAS,sBAAsB,4BAA4B;AAC3D,SAAS,cAAc;AAEhB,MAAM,mBAAmB;AAEzB,MAAM,sBAAsB,OAClC,EAAE,IAAI,OAAO,OAAO,IAAI,GACxB,gBAAgB,CAAC,MACb;AACJ,MAAI,QAAQ,GAAG,YAAY,KAAK,EAAE;AAClC,MAAI,SAAS,KAAK;AACjB,YAAQ,MAAM,MAAM,KAAK,EAAE,QAAQ,GAAG;AAAA,EACvC;AACA,SAAO,qBAAqB,OAAO,aAAa;AACjD;AAEO,MAAM,uBAAuB,OACnC,EAAE,IAAI,MAAM,GACZ,gBAAgB,CAAC,MACb;AACJ,QAAM,KAAK,GAAG,YAAY,OAAO,WAAW;AAC5C,QAAM,QAAQ,OAAO,UAAU;AAC9B,UAAM,GAAG,MAAM,IAAI,KAAK;AAAA,EACzB;AACA,QAAM,QAAQ,YAAY;AACzB,UAAM,GAAG;AAAA,EACV;AACA,SAAO,qBAAqB,OAAO,OAAO,aAAa;AACxD;AAEA,IAAO,oBAAQ;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AACd;", | ||
| "names": [] | ||
| } |
+2
-2
| { | ||
| "name": "@datastream/indexeddb", | ||
| "version": "0.3.0", | ||
| "version": "0.3.1", | ||
| "description": "IndexedDB readable and writable streams for browser storage", | ||
@@ -63,5 +63,5 @@ "type": "module", | ||
| "dependencies": { | ||
| "@datastream/core": "0.3.0", | ||
| "@datastream/core": "0.3.1", | ||
| "idb": "8.0.3" | ||
| } | ||
| } |
9833
0.85%70
6.06%+ Added
- Removed
Updated