web-idb-client 1.0.0 → 1.0.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/README.md +14 -6
- package/dist/liveQuery/index.js +3 -3
- package/dist/liveQuery/index.js.map +1 -1
- package/package.json +11 -2
package/README.md
CHANGED
|
@@ -218,12 +218,20 @@ const db = createClient({
|
|
|
218
218
|
|
|
219
219
|
## Examples
|
|
220
220
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
221
|
+
Overview: [examples/README.md](examples/README.md) — **5 Pages routes** (hub + 4 demos). Each demo uses `src/db/{stores,db,helpers}.ts`.
|
|
222
|
+
|
|
223
|
+
| Page | Command | Covers |
|
|
224
|
+
| --- | --- | --- |
|
|
225
|
+
| [home](examples/home) (`/`) | `npm run home:dev` | Links + short blurb for each demo |
|
|
226
|
+
| [todo](examples/todo) (`/todo/`) | `npm run demo:dev` | CRUD UI, boolean indexes, `transaction`, `liveQuery` |
|
|
227
|
+
| [relations](examples/relations) | `npm run relations:dev` | `ref` / `loadMany` / `loadOne` |
|
|
228
|
+
| [queries](examples/queries) | `npm run queries:dev` | Ranges, compound / multiEntry, bulk, `strictInsert` |
|
|
229
|
+
| [upgrades](examples/upgrades) | `npm run upgrades:dev` | `copyStoreAndDrop`, `Store.migrate` |
|
|
230
|
+
|
|
231
|
+
Assemble for GitHub Pages: `npm run pages:build` → `dist-pages/`.
|
|
232
|
+
|
|
233
|
+
Guides: [upgrades](docs/upgrades.md) · [relations](docs/relations.md) · [liveQuery](docs/liveQuery.md)
|
|
234
|
+
|
|
227
235
|
|
|
228
236
|
## License
|
|
229
237
|
|
package/dist/liveQuery/index.js
CHANGED
|
@@ -39,7 +39,7 @@ function ensureBridge(client) {
|
|
|
39
39
|
let onStorage = null;
|
|
40
40
|
if (typeof window !== 'undefined' && typeof window.addEventListener === 'function') {
|
|
41
41
|
onStorage = (event) => {
|
|
42
|
-
if (event.key !== key || event.newValue
|
|
42
|
+
if (event.key !== key || event.newValue === null) {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
45
|
let stores = ['*'];
|
|
@@ -179,7 +179,7 @@ function liveQuery(client, querier) {
|
|
|
179
179
|
if (cancelled) {
|
|
180
180
|
return;
|
|
181
181
|
}
|
|
182
|
-
if (timer
|
|
182
|
+
if (timer !== null) {
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
timer = setTimeout(() => {
|
|
@@ -200,7 +200,7 @@ function liveQuery(client, querier) {
|
|
|
200
200
|
return;
|
|
201
201
|
}
|
|
202
202
|
cancelled = true;
|
|
203
|
-
if (timer
|
|
203
|
+
if (timer !== null) {
|
|
204
204
|
clearTimeout(timer);
|
|
205
205
|
timer = null;
|
|
206
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/liveQuery/index.ts"],"names":[],"mappings":";;;AA4BA,MAAM,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;AAE9C,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,kBAAkB,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,yBAAyB,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB;IAC3C,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC;KACf;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,OAAO,GAA4B,IAAI,CAAC;IAE5C,IAAI;QACF,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YAC3C,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;;gBAC1C,MAAM,MAAM,GAAG,MAAC,KAAK,CAAC,IAAqC,0CAAE,MAAM,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBACjD,OAAO;iBACR;gBACD,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAChC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC;SACH;KACF;IAAC,WAAM;QACN,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,SAAS,GAA2C,IAAI,CAAC;IAE7D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE;QAClF,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;YAClC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/liveQuery/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "web-idb-client",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Browser-only typed IndexedDB client with a Prisma-like store API and schema-in-TypeScript factories.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,14 +23,22 @@
|
|
|
23
23
|
"prepare": "npm run build",
|
|
24
24
|
"format": "npx prettier \"src/**/*.{js,jsx,ts,tsx}\" --write",
|
|
25
25
|
"typecheck": "tsc --noEmit",
|
|
26
|
+
"lint": "eslint \"src/**/*.{ts,tsx}\" --max-warnings 0",
|
|
26
27
|
"test": "vitest run",
|
|
27
28
|
"test:watch": "vitest",
|
|
28
|
-
"ci": "npm run typecheck && npm
|
|
29
|
+
"ci": "npm run typecheck && npm run lint && npm test && npm run pages:build",
|
|
30
|
+
"home:dev": "npm --prefix examples/home run dev",
|
|
31
|
+
"home:build": "npm --prefix examples/home run build",
|
|
29
32
|
"demo:dev": "npm --prefix examples/todo run dev",
|
|
30
33
|
"demo:build": "npm --prefix examples/todo run build",
|
|
31
34
|
"demo:preview": "npm --prefix examples/todo run preview",
|
|
32
35
|
"relations:dev": "npm --prefix examples/relations run dev",
|
|
33
36
|
"relations:build": "npm --prefix examples/relations run build",
|
|
37
|
+
"queries:dev": "npm --prefix examples/queries run dev",
|
|
38
|
+
"queries:build": "npm --prefix examples/queries run build",
|
|
39
|
+
"upgrades:dev": "npm --prefix examples/upgrades run dev",
|
|
40
|
+
"upgrades:build": "npm --prefix examples/upgrades run build",
|
|
41
|
+
"pages:build": "npm run home:build && npm run demo:build && npm run relations:build && npm run queries:build && npm run upgrades:build && node scripts/assemble-pages.mjs",
|
|
34
42
|
"prepublishOnly": "npm run build",
|
|
35
43
|
"version:patch": "npm version patch && git push origin main && git push origin $(npm version --json | jq -r '.[]')",
|
|
36
44
|
"version:minor": "npm version minor && git push origin main && git push origin $(npm version --json | jq -r '.[]')",
|
|
@@ -59,6 +67,7 @@
|
|
|
59
67
|
},
|
|
60
68
|
"homepage": "https://github.com/azarov-serge/indexed-db-client#readme",
|
|
61
69
|
"devDependencies": {
|
|
70
|
+
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
62
71
|
"@typescript-eslint/parser": "7.2.0",
|
|
63
72
|
"eslint": "8.57.0",
|
|
64
73
|
"fake-indexeddb": "^6.0.0",
|