@kvs/indexeddb 2.1.3 → 2.2.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.
- package/lib/index.d.ts +5 -5
- package/lib/index.js +28 -14
- package/lib/index.js.map +1 -1
- package/module/index.d.ts +5 -5
- package/module/index.js +28 -14
- package/module/index.js.map +1 -1
- package/package.json +17 -15
package/lib/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { KVS, KVSOptions } from "@kvs/types";
|
|
2
2
|
import type { JsonValue } from "@kvs/storage";
|
|
3
|
-
|
|
3
|
+
type IndexedDBOptions = {
|
|
4
4
|
tableName?: string;
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
type IndexedDBResults = {
|
|
7
7
|
dropInstance(): Promise<void>;
|
|
8
8
|
__debug__database__: IDBDatabase;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type KVSIndexedSchema = {
|
|
11
11
|
[index: string]: JsonValue;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
export
|
|
13
|
+
export type KVSIndexedDB<Schema extends KVSIndexedSchema> = KVS<Schema> & IndexedDBResults;
|
|
14
|
+
export type KvsIndexedDBOptions<Schema extends KVSIndexedSchema> = KVSOptions<Schema> & IndexedDBOptions;
|
|
15
15
|
export declare const kvsIndexedDB: <Schema extends KVSIndexedSchema>(options: KvsIndexedDBOptions<Schema>) => Promise<KVSIndexedDB<Schema>>;
|
|
16
16
|
export {};
|
package/lib/index.js
CHANGED
|
@@ -7,6 +7,18 @@ function invariant(condition, message) {
|
|
|
7
7
|
}
|
|
8
8
|
throw new Error(message);
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Safely get error from IDBRequest
|
|
12
|
+
* In WebKit, accessing request.error before readyState is "done" throws InvalidStateError
|
|
13
|
+
* @param request - The IDBRequest to get error from
|
|
14
|
+
* @param fallbackMessage - Fallback message describing the operation (used for debugging)
|
|
15
|
+
*/
|
|
16
|
+
const getRequestError = (request, fallbackMessage) => {
|
|
17
|
+
if (request.readyState === "done") {
|
|
18
|
+
return new Error(fallbackMessage, { cause: request.error });
|
|
19
|
+
}
|
|
20
|
+
return new Error(fallbackMessage);
|
|
21
|
+
};
|
|
10
22
|
const openDB = ({ name, version, tableName, onUpgrade }) => {
|
|
11
23
|
return new Promise((resolve, reject) => {
|
|
12
24
|
const openRequest = indexedDB.open(name, version);
|
|
@@ -18,7 +30,7 @@ const openDB = ({ name, version, tableName, onUpgrade }) => {
|
|
|
18
30
|
const database = openRequest.result;
|
|
19
31
|
try {
|
|
20
32
|
// create table at first time
|
|
21
|
-
if (!newVersion || newVersion <= 1) {
|
|
33
|
+
if (!newVersion || newVersion <= 1 || oldVersion === 0) {
|
|
22
34
|
database.createObjectStore(tableName);
|
|
23
35
|
}
|
|
24
36
|
}
|
|
@@ -47,10 +59,10 @@ const openDB = ({ name, version, tableName, onUpgrade }) => {
|
|
|
47
59
|
};
|
|
48
60
|
};
|
|
49
61
|
openRequest.onblocked = () => {
|
|
50
|
-
reject(openRequest
|
|
62
|
+
reject(getRequestError(openRequest, "Failed to open database: blocked"));
|
|
51
63
|
};
|
|
52
64
|
openRequest.onerror = function () {
|
|
53
|
-
reject(openRequest
|
|
65
|
+
reject(getRequestError(openRequest, "Failed to open database"));
|
|
54
66
|
};
|
|
55
67
|
openRequest.onsuccess = function () {
|
|
56
68
|
const db = openRequest.result;
|
|
@@ -66,11 +78,13 @@ const dropInstance = (database, databaseName) => {
|
|
|
66
78
|
event.preventDefault();
|
|
67
79
|
resolve();
|
|
68
80
|
};
|
|
81
|
+
// onblocked means waiting for other connections to close, not a failure
|
|
82
|
+
// The delete will proceed once all connections are closed
|
|
69
83
|
request.onblocked = () => {
|
|
70
|
-
|
|
84
|
+
// Do nothing - wait for onsuccess or onerror
|
|
71
85
|
};
|
|
72
86
|
request.onerror = function () {
|
|
73
|
-
reject(request
|
|
87
|
+
reject(getRequestError(request, "Failed to delete database"));
|
|
74
88
|
};
|
|
75
89
|
request.onsuccess = function () {
|
|
76
90
|
resolve();
|
|
@@ -86,7 +100,7 @@ const getItem = (database, tableName, key) => {
|
|
|
86
100
|
resolve(request.result);
|
|
87
101
|
};
|
|
88
102
|
request.onerror = () => {
|
|
89
|
-
reject(request
|
|
103
|
+
reject(getRequestError(request, "Failed to get item"));
|
|
90
104
|
};
|
|
91
105
|
});
|
|
92
106
|
};
|
|
@@ -99,7 +113,7 @@ const hasItem = async (database, tableName, key) => {
|
|
|
99
113
|
resolve(request.result !== 0);
|
|
100
114
|
};
|
|
101
115
|
request.onerror = () => {
|
|
102
|
-
reject(request
|
|
116
|
+
reject(getRequestError(request, "Failed to check item existence"));
|
|
103
117
|
};
|
|
104
118
|
});
|
|
105
119
|
};
|
|
@@ -118,10 +132,10 @@ const setItem = async (database, tableName, key, value) => {
|
|
|
118
132
|
resolve();
|
|
119
133
|
};
|
|
120
134
|
transaction.onabort = () => {
|
|
121
|
-
reject(request
|
|
135
|
+
reject(getRequestError(request, "Failed to set item: aborted"));
|
|
122
136
|
};
|
|
123
137
|
transaction.onerror = () => {
|
|
124
|
-
reject(request
|
|
138
|
+
reject(getRequestError(request, "Failed to set item"));
|
|
125
139
|
};
|
|
126
140
|
});
|
|
127
141
|
};
|
|
@@ -134,10 +148,10 @@ const deleteItem = async (database, tableName, key) => {
|
|
|
134
148
|
resolve();
|
|
135
149
|
};
|
|
136
150
|
transaction.onabort = () => {
|
|
137
|
-
reject(request
|
|
151
|
+
reject(getRequestError(request, "Failed to delete item: aborted"));
|
|
138
152
|
};
|
|
139
153
|
transaction.onerror = () => {
|
|
140
|
-
reject(request
|
|
154
|
+
reject(getRequestError(request, "Failed to delete item"));
|
|
141
155
|
};
|
|
142
156
|
});
|
|
143
157
|
};
|
|
@@ -150,10 +164,10 @@ const clearItems = async (database, tableName) => {
|
|
|
150
164
|
resolve();
|
|
151
165
|
};
|
|
152
166
|
transaction.onabort = () => {
|
|
153
|
-
reject(request
|
|
167
|
+
reject(getRequestError(request, "Failed to clear items: aborted"));
|
|
154
168
|
};
|
|
155
169
|
transaction.onerror = () => {
|
|
156
|
-
reject(request
|
|
170
|
+
reject(getRequestError(request, "Failed to clear items"));
|
|
157
171
|
};
|
|
158
172
|
});
|
|
159
173
|
};
|
|
@@ -173,7 +187,7 @@ const iterator = (database, tableName) => {
|
|
|
173
187
|
});
|
|
174
188
|
};
|
|
175
189
|
request.onerror = () => {
|
|
176
|
-
reject(request
|
|
190
|
+
reject(getRequestError(request, "Failed to iterate cursor"));
|
|
177
191
|
};
|
|
178
192
|
});
|
|
179
193
|
};
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,SAAS,SAAS,CAAC,SAAc,EAAE,OAAe;IAC9C,IAAI,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/module/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { KVS, KVSOptions } from "@kvs/types";
|
|
2
2
|
import type { JsonValue } from "@kvs/storage";
|
|
3
|
-
|
|
3
|
+
type IndexedDBOptions = {
|
|
4
4
|
tableName?: string;
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
type IndexedDBResults = {
|
|
7
7
|
dropInstance(): Promise<void>;
|
|
8
8
|
__debug__database__: IDBDatabase;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type KVSIndexedSchema = {
|
|
11
11
|
[index: string]: JsonValue;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
export
|
|
13
|
+
export type KVSIndexedDB<Schema extends KVSIndexedSchema> = KVS<Schema> & IndexedDBResults;
|
|
14
|
+
export type KvsIndexedDBOptions<Schema extends KVSIndexedSchema> = KVSOptions<Schema> & IndexedDBOptions;
|
|
15
15
|
export declare const kvsIndexedDB: <Schema extends KVSIndexedSchema>(options: KvsIndexedDBOptions<Schema>) => Promise<KVSIndexedDB<Schema>>;
|
|
16
16
|
export {};
|
package/module/index.js
CHANGED
|
@@ -4,6 +4,18 @@ function invariant(condition, message) {
|
|
|
4
4
|
}
|
|
5
5
|
throw new Error(message);
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Safely get error from IDBRequest
|
|
9
|
+
* In WebKit, accessing request.error before readyState is "done" throws InvalidStateError
|
|
10
|
+
* @param request - The IDBRequest to get error from
|
|
11
|
+
* @param fallbackMessage - Fallback message describing the operation (used for debugging)
|
|
12
|
+
*/
|
|
13
|
+
const getRequestError = (request, fallbackMessage) => {
|
|
14
|
+
if (request.readyState === "done") {
|
|
15
|
+
return new Error(fallbackMessage, { cause: request.error });
|
|
16
|
+
}
|
|
17
|
+
return new Error(fallbackMessage);
|
|
18
|
+
};
|
|
7
19
|
const openDB = ({ name, version, tableName, onUpgrade }) => {
|
|
8
20
|
return new Promise((resolve, reject) => {
|
|
9
21
|
const openRequest = indexedDB.open(name, version);
|
|
@@ -15,7 +27,7 @@ const openDB = ({ name, version, tableName, onUpgrade }) => {
|
|
|
15
27
|
const database = openRequest.result;
|
|
16
28
|
try {
|
|
17
29
|
// create table at first time
|
|
18
|
-
if (!newVersion || newVersion <= 1) {
|
|
30
|
+
if (!newVersion || newVersion <= 1 || oldVersion === 0) {
|
|
19
31
|
database.createObjectStore(tableName);
|
|
20
32
|
}
|
|
21
33
|
}
|
|
@@ -44,10 +56,10 @@ const openDB = ({ name, version, tableName, onUpgrade }) => {
|
|
|
44
56
|
};
|
|
45
57
|
};
|
|
46
58
|
openRequest.onblocked = () => {
|
|
47
|
-
reject(openRequest
|
|
59
|
+
reject(getRequestError(openRequest, "Failed to open database: blocked"));
|
|
48
60
|
};
|
|
49
61
|
openRequest.onerror = function () {
|
|
50
|
-
reject(openRequest
|
|
62
|
+
reject(getRequestError(openRequest, "Failed to open database"));
|
|
51
63
|
};
|
|
52
64
|
openRequest.onsuccess = function () {
|
|
53
65
|
const db = openRequest.result;
|
|
@@ -63,11 +75,13 @@ const dropInstance = (database, databaseName) => {
|
|
|
63
75
|
event.preventDefault();
|
|
64
76
|
resolve();
|
|
65
77
|
};
|
|
78
|
+
// onblocked means waiting for other connections to close, not a failure
|
|
79
|
+
// The delete will proceed once all connections are closed
|
|
66
80
|
request.onblocked = () => {
|
|
67
|
-
|
|
81
|
+
// Do nothing - wait for onsuccess or onerror
|
|
68
82
|
};
|
|
69
83
|
request.onerror = function () {
|
|
70
|
-
reject(request
|
|
84
|
+
reject(getRequestError(request, "Failed to delete database"));
|
|
71
85
|
};
|
|
72
86
|
request.onsuccess = function () {
|
|
73
87
|
resolve();
|
|
@@ -83,7 +97,7 @@ const getItem = (database, tableName, key) => {
|
|
|
83
97
|
resolve(request.result);
|
|
84
98
|
};
|
|
85
99
|
request.onerror = () => {
|
|
86
|
-
reject(request
|
|
100
|
+
reject(getRequestError(request, "Failed to get item"));
|
|
87
101
|
};
|
|
88
102
|
});
|
|
89
103
|
};
|
|
@@ -96,7 +110,7 @@ const hasItem = async (database, tableName, key) => {
|
|
|
96
110
|
resolve(request.result !== 0);
|
|
97
111
|
};
|
|
98
112
|
request.onerror = () => {
|
|
99
|
-
reject(request
|
|
113
|
+
reject(getRequestError(request, "Failed to check item existence"));
|
|
100
114
|
};
|
|
101
115
|
});
|
|
102
116
|
};
|
|
@@ -115,10 +129,10 @@ const setItem = async (database, tableName, key, value) => {
|
|
|
115
129
|
resolve();
|
|
116
130
|
};
|
|
117
131
|
transaction.onabort = () => {
|
|
118
|
-
reject(request
|
|
132
|
+
reject(getRequestError(request, "Failed to set item: aborted"));
|
|
119
133
|
};
|
|
120
134
|
transaction.onerror = () => {
|
|
121
|
-
reject(request
|
|
135
|
+
reject(getRequestError(request, "Failed to set item"));
|
|
122
136
|
};
|
|
123
137
|
});
|
|
124
138
|
};
|
|
@@ -131,10 +145,10 @@ const deleteItem = async (database, tableName, key) => {
|
|
|
131
145
|
resolve();
|
|
132
146
|
};
|
|
133
147
|
transaction.onabort = () => {
|
|
134
|
-
reject(request
|
|
148
|
+
reject(getRequestError(request, "Failed to delete item: aborted"));
|
|
135
149
|
};
|
|
136
150
|
transaction.onerror = () => {
|
|
137
|
-
reject(request
|
|
151
|
+
reject(getRequestError(request, "Failed to delete item"));
|
|
138
152
|
};
|
|
139
153
|
});
|
|
140
154
|
};
|
|
@@ -147,10 +161,10 @@ const clearItems = async (database, tableName) => {
|
|
|
147
161
|
resolve();
|
|
148
162
|
};
|
|
149
163
|
transaction.onabort = () => {
|
|
150
|
-
reject(request
|
|
164
|
+
reject(getRequestError(request, "Failed to clear items: aborted"));
|
|
151
165
|
};
|
|
152
166
|
transaction.onerror = () => {
|
|
153
|
-
reject(request
|
|
167
|
+
reject(getRequestError(request, "Failed to clear items"));
|
|
154
168
|
};
|
|
155
169
|
});
|
|
156
170
|
};
|
|
@@ -170,7 +184,7 @@ const iterator = (database, tableName) => {
|
|
|
170
184
|
});
|
|
171
185
|
};
|
|
172
186
|
request.onerror = () => {
|
|
173
|
-
reject(request
|
|
187
|
+
reject(getRequestError(request, "Failed to iterate cursor"));
|
|
174
188
|
};
|
|
175
189
|
});
|
|
176
190
|
};
|
package/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,SAAS,SAAS,CAAC,SAAc,EAAE,OAAe;IAC9C,IAAI,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kvs/indexeddb",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "IndexedDB for KVS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"kvs",
|
|
@@ -36,7 +36,11 @@
|
|
|
36
36
|
"clean": "rimraf lib/ module/",
|
|
37
37
|
"prettier": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"",
|
|
38
38
|
"prepublishOnly": "npm run clean && npm run build",
|
|
39
|
-
"test": "
|
|
39
|
+
"test": "tsc -p .",
|
|
40
|
+
"test:browser": "npm run test:chrome && npm run test:firefox && npm run test:webkit",
|
|
41
|
+
"test:chrome": "playwright-test ./test/index.test.ts --runner=mocha --browser=chromium",
|
|
42
|
+
"test:firefox": "playwright-test ./test/index.test.ts --runner=mocha --browser=firefox",
|
|
43
|
+
"test:webkit": "playwright-test ./test/index.test.ts --runner=mocha --browser=webkit"
|
|
40
44
|
},
|
|
41
45
|
"prettier": {
|
|
42
46
|
"printWidth": 120,
|
|
@@ -45,23 +49,21 @@
|
|
|
45
49
|
"trailingComma": "none"
|
|
46
50
|
},
|
|
47
51
|
"dependencies": {
|
|
48
|
-
"@kvs/types": "^2.
|
|
52
|
+
"@kvs/types": "^2.2.1"
|
|
49
53
|
},
|
|
50
54
|
"devDependencies": {
|
|
51
|
-
"@
|
|
52
|
-
"@
|
|
53
|
-
"@types/
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"ts-loader": "^8.2.0",
|
|
61
|
-
"typescript": "^4.2.4"
|
|
55
|
+
"@kvs/common-test-case": "^2.2.1",
|
|
56
|
+
"@types/mocha": "^10.0.1",
|
|
57
|
+
"@types/node": "^20.4.2",
|
|
58
|
+
"mocha": "^10.2.0",
|
|
59
|
+
"playwright-test": "^14.1.12",
|
|
60
|
+
"prettier": "^3.0.0",
|
|
61
|
+
"rimraf": "^5.0.1",
|
|
62
|
+
"ts-loader": "^9.4.4",
|
|
63
|
+
"typescript": "^5.1.6"
|
|
62
64
|
},
|
|
63
65
|
"publishConfig": {
|
|
64
66
|
"access": "public"
|
|
65
67
|
},
|
|
66
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "0de669efb112c53e661c2ce2cd90fef217591791"
|
|
67
69
|
}
|