@unikvs/indexeddb 0.0.9 → 0.0.12
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/README.md +3 -0
- package/dist/src/indexeddb.d.ts +15 -41
- package/dist/src/indexeddb.d.ts.map +1 -1
- package/dist/src/indexeddb.js +14 -40
- package/package.json +15 -14
- package/src/indexeddb.ts +15 -41
package/README.md
ADDED
package/dist/src/indexeddb.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IStorage } from "@unikvs/core";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
4
4
|
*/
|
|
5
5
|
export default class Indexeddb implements IStorage {
|
|
6
6
|
/**
|
|
@@ -18,77 +18,51 @@ export default class Indexeddb implements IStorage {
|
|
|
18
18
|
*/
|
|
19
19
|
private readonly storeName;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
22
22
|
*/
|
|
23
23
|
readonly name: string;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* @param dbName データベース名です。デフォルトは `"unikvs_db"` です。
|
|
28
|
-
* @param storeName データを保存するオブジェクトストア名です。デフォルトは `"kvs_store"` です。
|
|
25
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
29
26
|
*/
|
|
30
27
|
constructor(dbName?: string, storeName?: string);
|
|
31
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
30
|
+
*/
|
|
32
31
|
get isOpen(): boolean;
|
|
33
32
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* 既にオープンされている場合は何も行いません。
|
|
33
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
37
34
|
*/
|
|
38
35
|
open(): Promise<void>;
|
|
39
36
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* データベース接続を閉じ、内部状態を初期化します。
|
|
37
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
43
38
|
*/
|
|
44
39
|
close(): Promise<void>;
|
|
45
40
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @param args.key 保存先のキーです。
|
|
49
|
-
* @param args.data 保存するデータです。
|
|
41
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
50
42
|
*/
|
|
51
43
|
write(args: Pick<IStorage.WriteArgs<any>, "key" | "data">): Promise<void>;
|
|
52
44
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @param args.key 取得元のキーです。
|
|
56
|
-
* @returns キーに対応するデータです。存在しない場合は DOMException (NotFoundError) を投げます。
|
|
45
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
57
46
|
*/
|
|
58
47
|
read(args: Pick<IStorage.ReadArgs, "key">): Promise<any>;
|
|
59
48
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* @param args.key 確認するキーです。
|
|
63
|
-
* @returns キーに対応するデータが存在する場合は true、それ以外は false です。
|
|
49
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
64
50
|
*/
|
|
65
51
|
exists(args: Pick<IStorage.ExistsArgs, "key">): Promise<boolean>;
|
|
66
52
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* @param args.key 削除するキーです。
|
|
53
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
70
54
|
*/
|
|
71
55
|
delete(args: Pick<IStorage.DeleteArgs, "key">): Promise<void>;
|
|
72
56
|
/**
|
|
73
|
-
*
|
|
57
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
74
58
|
*/
|
|
75
59
|
clear(): Promise<void>;
|
|
76
60
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* IndexedDB にはネイティブなストリームがないため、書き込まれたチャンクをメモリー上に保持し、ストリームがクローズされたときにまとめて保存します。
|
|
80
|
-
*
|
|
81
|
-
* @param args.key 書き込み先のキーです。
|
|
82
|
-
* @returns 書き込み可能なストリームです。
|
|
61
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
83
62
|
*/
|
|
84
63
|
getWritable(args: Pick<IStorage.GetWritableArgs, "key">): WritableStream<Uint8Array>;
|
|
85
64
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* IndexedDB にはネイティブなストリームがないため、データ全体をメモリーにロードしてから単一チャンクとしてストリームで送出します。
|
|
89
|
-
*
|
|
90
|
-
* @param args.key 読み取り元のキーです。
|
|
91
|
-
* @returns 読み取り可能なストリームです。
|
|
65
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
92
66
|
*/
|
|
93
67
|
getReadable(args: Pick<IStorage.GetReadableArgs, "key">): ReadableStream<Uint8Array>;
|
|
94
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexeddb.d.ts","sourceRoot":"","sources":["../../src/indexeddb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,QAAQ;IAChD;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAsB;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B
|
|
1
|
+
{"version":3,"file":"indexeddb.d.ts","sourceRoot":"","sources":["../../src/indexeddb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,QAAQ;IAChD;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAsB;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,YAAmB,MAAM,GAAE,MAAoB,EAAE,SAAS,GAAE,MAAoB,EAK/E;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAajC;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlC;IAED;;OAEG;IACU,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF;IAED;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAWpE;IAED;;OAEG;IACU,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAM5E;IAED;;OAEG;IACU,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAElC;IAED;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAqB1F;IAED;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAU1F;CACF"}
|
package/dist/src/indexeddb.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { openDB } from "idb";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
4
4
|
*/
|
|
5
5
|
export default class Indexeddb {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @param dbName データベース名です。デフォルトは `"unikvs_db"` です。
|
|
10
|
-
* @param storeName データを保存するオブジェクトストア名です。デフォルトは `"kvs_store"` です。
|
|
7
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
11
8
|
*/
|
|
12
9
|
constructor(dbName = "unikvs_db", storeName = "kvs_store") {
|
|
13
10
|
this.name = "Indexeddb";
|
|
@@ -15,14 +12,14 @@ export default class Indexeddb {
|
|
|
15
12
|
this.dbName = dbName;
|
|
16
13
|
this.storeName = storeName;
|
|
17
14
|
}
|
|
18
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
17
|
+
*/
|
|
19
18
|
get isOpen() {
|
|
20
19
|
return this.db !== null;
|
|
21
20
|
}
|
|
22
21
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* 既にオープンされている場合は何も行いません。
|
|
22
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
26
23
|
*/
|
|
27
24
|
async open() {
|
|
28
25
|
if (this.db) {
|
|
@@ -38,29 +35,21 @@ export default class Indexeddb {
|
|
|
38
35
|
});
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* データベース接続を閉じ、内部状態を初期化します。
|
|
38
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
44
39
|
*/
|
|
45
40
|
async close() {
|
|
46
41
|
this.db.close();
|
|
47
42
|
this.db = null;
|
|
48
43
|
}
|
|
49
44
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* @param args.key 保存先のキーです。
|
|
53
|
-
* @param args.data 保存するデータです。
|
|
45
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
54
46
|
*/
|
|
55
47
|
async write(args) {
|
|
56
48
|
const { key, data } = args;
|
|
57
49
|
await this.db.put(this.storeName, data, key);
|
|
58
50
|
}
|
|
59
51
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* @param args.key 取得元のキーです。
|
|
63
|
-
* @returns キーに対応するデータです。存在しない場合は DOMException (NotFoundError) を投げます。
|
|
52
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
64
53
|
*/
|
|
65
54
|
async read(args) {
|
|
66
55
|
const { key } = args;
|
|
@@ -71,10 +60,7 @@ export default class Indexeddb {
|
|
|
71
60
|
return await this.db.get(this.storeName, key);
|
|
72
61
|
}
|
|
73
62
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* @param args.key 確認するキーです。
|
|
77
|
-
* @returns キーに対応するデータが存在する場合は true、それ以外は false です。
|
|
63
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
78
64
|
*/
|
|
79
65
|
async exists(args) {
|
|
80
66
|
const { key } = args;
|
|
@@ -83,27 +69,20 @@ export default class Indexeddb {
|
|
|
83
69
|
return count > 0;
|
|
84
70
|
}
|
|
85
71
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* @param args.key 削除するキーです。
|
|
72
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
89
73
|
*/
|
|
90
74
|
async delete(args) {
|
|
91
75
|
const { key } = args;
|
|
92
76
|
await this.db.delete(this.storeName, key);
|
|
93
77
|
}
|
|
94
78
|
/**
|
|
95
|
-
*
|
|
79
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
96
80
|
*/
|
|
97
81
|
async clear() {
|
|
98
82
|
await this.db.clear(this.storeName);
|
|
99
83
|
}
|
|
100
84
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* IndexedDB にはネイティブなストリームがないため、書き込まれたチャンクをメモリー上に保持し、ストリームがクローズされたときにまとめて保存します。
|
|
104
|
-
*
|
|
105
|
-
* @param args.key 書き込み先のキーです。
|
|
106
|
-
* @returns 書き込み可能なストリームです。
|
|
85
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
107
86
|
*/
|
|
108
87
|
getWritable(args) {
|
|
109
88
|
const { key } = args;
|
|
@@ -125,12 +104,7 @@ export default class Indexeddb {
|
|
|
125
104
|
});
|
|
126
105
|
}
|
|
127
106
|
/**
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* IndexedDB にはネイティブなストリームがないため、データ全体をメモリーにロードしてから単一チャンクとしてストリームで送出します。
|
|
131
|
-
*
|
|
132
|
-
* @param args.key 読み取り元のキーです。
|
|
133
|
-
* @returns 読み取り可能なストリームです。
|
|
107
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
134
108
|
*/
|
|
135
109
|
getReadable(args) {
|
|
136
110
|
const { key } = args;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unikvs/indexeddb",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "0.0.12",
|
|
4
|
+
"description": "Storage plugin that stores arbitrary data in the browser IndexedDB.",
|
|
5
5
|
"homepage": "https://github.com/tai-kun/unikvs",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "tai-kun",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"dist",
|
|
13
13
|
"src",
|
|
14
14
|
"package.json",
|
|
15
|
+
"README.md",
|
|
15
16
|
"LICENSE"
|
|
16
17
|
],
|
|
17
18
|
"type": "module",
|
|
@@ -25,22 +26,22 @@
|
|
|
25
26
|
}
|
|
26
27
|
},
|
|
27
28
|
"dependencies": {
|
|
28
|
-
"@unikvs/core": "0.0.
|
|
29
|
-
"idb": "
|
|
29
|
+
"@unikvs/core": "0.0.12",
|
|
30
|
+
"idb": "8.0.3"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"@tsconfig/node24": "
|
|
33
|
-
"@tsconfig/strictest": "
|
|
34
|
-
"@types/node": "
|
|
35
|
-
"@vitest/browser": "
|
|
36
|
-
"@vitest/browser-playwright": "
|
|
37
|
-
"npm-check-updates": "
|
|
38
|
-
"playwright": "
|
|
39
|
-
"vite": "
|
|
40
|
-
"vitest": "
|
|
33
|
+
"@tsconfig/node24": "24.0.5",
|
|
34
|
+
"@tsconfig/strictest": "2.0.8",
|
|
35
|
+
"@types/node": "24.13.6",
|
|
36
|
+
"@vitest/browser": "4.1.11",
|
|
37
|
+
"@vitest/browser-playwright": "4.1.11",
|
|
38
|
+
"npm-check-updates": "20.0.2",
|
|
39
|
+
"playwright": "1.63.0",
|
|
40
|
+
"vite": "8.3.0",
|
|
41
|
+
"vitest": "4.1.11"
|
|
41
42
|
},
|
|
42
43
|
"peerDependencies": {
|
|
43
|
-
"@logtape/logtape": "
|
|
44
|
+
"@logtape/logtape": "2.0.0"
|
|
44
45
|
},
|
|
45
46
|
"scripts": {
|
|
46
47
|
"build": "tsc --project ./.config/tsconfig.build.json"
|
package/src/indexeddb.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { IStorage } from "@unikvs/core";
|
|
|
2
2
|
import { openDB, type IDBPDatabase } from "idb";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
6
6
|
*/
|
|
7
7
|
export default class Indexeddb implements IStorage {
|
|
8
8
|
/**
|
|
@@ -23,15 +23,12 @@ export default class Indexeddb implements IStorage {
|
|
|
23
23
|
private readonly storeName: string;
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
27
27
|
*/
|
|
28
28
|
public readonly name: string;
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @param dbName データベース名です。デフォルトは `"unikvs_db"` です。
|
|
34
|
-
* @param storeName データを保存するオブジェクトストア名です。デフォルトは `"kvs_store"` です。
|
|
31
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
35
32
|
*/
|
|
36
33
|
public constructor(dbName: string = "unikvs_db", storeName: string = "kvs_store") {
|
|
37
34
|
this.name = "Indexeddb";
|
|
@@ -40,15 +37,15 @@ export default class Indexeddb implements IStorage {
|
|
|
40
37
|
this.storeName = storeName;
|
|
41
38
|
}
|
|
42
39
|
|
|
43
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
42
|
+
*/
|
|
44
43
|
public get isOpen(): boolean {
|
|
45
44
|
return this.db !== null;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* 既にオープンされている場合は何も行いません。
|
|
48
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
52
49
|
*/
|
|
53
50
|
public async open(): Promise<void> {
|
|
54
51
|
if (this.db) {
|
|
@@ -66,9 +63,7 @@ export default class Indexeddb implements IStorage {
|
|
|
66
63
|
}
|
|
67
64
|
|
|
68
65
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* データベース接続を閉じ、内部状態を初期化します。
|
|
66
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
72
67
|
*/
|
|
73
68
|
public async close(): Promise<void> {
|
|
74
69
|
this.db!.close();
|
|
@@ -76,10 +71,7 @@ export default class Indexeddb implements IStorage {
|
|
|
76
71
|
}
|
|
77
72
|
|
|
78
73
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* @param args.key 保存先のキーです。
|
|
82
|
-
* @param args.data 保存するデータです。
|
|
74
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
83
75
|
*/
|
|
84
76
|
public async write(args: Pick<IStorage.WriteArgs<any>, "key" | "data">): Promise<void> {
|
|
85
77
|
const { key, data } = args;
|
|
@@ -87,10 +79,7 @@ export default class Indexeddb implements IStorage {
|
|
|
87
79
|
}
|
|
88
80
|
|
|
89
81
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @param args.key 取得元のキーです。
|
|
93
|
-
* @returns キーに対応するデータです。存在しない場合は DOMException (NotFoundError) を投げます。
|
|
82
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
94
83
|
*/
|
|
95
84
|
public async read(args: Pick<IStorage.ReadArgs, "key">): Promise<any> {
|
|
96
85
|
const { key } = args;
|
|
@@ -106,10 +95,7 @@ export default class Indexeddb implements IStorage {
|
|
|
106
95
|
}
|
|
107
96
|
|
|
108
97
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* @param args.key 確認するキーです。
|
|
112
|
-
* @returns キーに対応するデータが存在する場合は true、それ以外は false です。
|
|
98
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
113
99
|
*/
|
|
114
100
|
public async exists(args: Pick<IStorage.ExistsArgs, "key">): Promise<boolean> {
|
|
115
101
|
const { key } = args;
|
|
@@ -120,9 +106,7 @@ export default class Indexeddb implements IStorage {
|
|
|
120
106
|
}
|
|
121
107
|
|
|
122
108
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* @param args.key 削除するキーです。
|
|
109
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
126
110
|
*/
|
|
127
111
|
public async delete(args: Pick<IStorage.DeleteArgs, "key">): Promise<void> {
|
|
128
112
|
const { key } = args;
|
|
@@ -131,19 +115,14 @@ export default class Indexeddb implements IStorage {
|
|
|
131
115
|
}
|
|
132
116
|
|
|
133
117
|
/**
|
|
134
|
-
*
|
|
118
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#usage)
|
|
135
119
|
*/
|
|
136
120
|
public async clear(): Promise<void> {
|
|
137
121
|
await this.db!.clear(this.storeName);
|
|
138
122
|
}
|
|
139
123
|
|
|
140
124
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* IndexedDB にはネイティブなストリームがないため、書き込まれたチャンクをメモリー上に保持し、ストリームがクローズされたときにまとめて保存します。
|
|
144
|
-
*
|
|
145
|
-
* @param args.key 書き込み先のキーです。
|
|
146
|
-
* @returns 書き込み可能なストリームです。
|
|
125
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
147
126
|
*/
|
|
148
127
|
public getWritable(args: Pick<IStorage.GetWritableArgs, "key">): WritableStream<Uint8Array> {
|
|
149
128
|
const { key } = args;
|
|
@@ -169,12 +148,7 @@ export default class Indexeddb implements IStorage {
|
|
|
169
148
|
}
|
|
170
149
|
|
|
171
150
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* IndexedDB にはネイティブなストリームがないため、データ全体をメモリーにロードしてから単一チャンクとしてストリームで送出します。
|
|
175
|
-
*
|
|
176
|
-
* @param args.key 読み取り元のキーです。
|
|
177
|
-
* @returns 読み取り可能なストリームです。
|
|
151
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/indexeddb#data)
|
|
178
152
|
*/
|
|
179
153
|
public getReadable(args: Pick<IStorage.GetReadableArgs, "key">): ReadableStream<Uint8Array> {
|
|
180
154
|
const { key } = args;
|