@welshman/app 0.0.6 → 0.0.7
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/build/src/collection.cjs +1 -1
- package/build/src/collection.cjs.map +1 -1
- package/build/src/collection.mjs +2 -2
- package/build/src/collection.mjs.map +1 -1
- package/build/src/freshness.cjs +7 -8
- package/build/src/freshness.cjs.map +1 -1
- package/build/src/freshness.d.ts +7 -2
- package/build/src/freshness.mjs +6 -6
- package/build/src/freshness.mjs.map +1 -1
- package/build/src/storage.cjs +7 -7
- package/build/src/storage.cjs.map +1 -1
- package/build/src/storage.mjs +8 -8
- package/build/src/storage.mjs.map +1 -1
- package/package.json +1 -1
package/build/src/collection.cjs
CHANGED
|
@@ -27,7 +27,7 @@ const collection = ({ name, store, getKey, load, }) => {
|
|
|
27
27
|
return stale;
|
|
28
28
|
}
|
|
29
29
|
loadAttempts.set(key, attempt + 1);
|
|
30
|
-
(0, freshness_1.
|
|
30
|
+
(0, freshness_1.setFreshnessThrottled)({ ns: name, key, ts: (0, lib_1.now)() });
|
|
31
31
|
const promise = load(key, ...args);
|
|
32
32
|
pending.set(key, promise);
|
|
33
33
|
await promise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.cjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAC7D,uCAAsD;AACtD,2CAA0C;AAC1C,+
|
|
1
|
+
{"version":3,"file":"collection.cjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAC7D,uCAAsD;AACtD,2CAA0C;AAC1C,+CAA+D;AAExD,MAAM,UAAU,GAAG,CAA4B,EACpD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,GAML,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAA,aAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEzC,2CAA2C;QAC3C,IAAI,KAAK,IAAI,SAAS,GAAG,IAAA,SAAG,GAAE,GAAG,IAAI,EAAE;YACrC,OAAO,KAAK,CAAA;SACb;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1C,+CAA+C;QAC/C,IAAI,SAAS,GAAG,IAAA,SAAG,GAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAA;SACb;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;QAElC,IAAA,iCAAqB,EAAC,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAA,SAAG,GAAE,EAAC,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEzB,MAAM,OAAO,CAAA;QAEb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACzB;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAG,IAAc,EAAE,EAAE;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAA;SAC3B;QAED,sFAAsF;QACtF,oCAAoC;QACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEtB,OAAO,IAAA,eAAO,EAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAA;AACpD,CAAC,CAAA;AAvEY,QAAA,UAAU,cAuEtB"}
|
package/build/src/collection.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readable, derived } from 'svelte/store';
|
|
2
2
|
import { indexBy, now } from '@welshman/lib';
|
|
3
3
|
import { withGetter } from '@welshman/store';
|
|
4
|
-
import { getFreshness,
|
|
4
|
+
import { getFreshness, setFreshnessThrottled } from "./freshness.mjs";
|
|
5
5
|
export const collection = ({ name, store, getKey, load, }) => {
|
|
6
6
|
const indexStore = withGetter(derived(store, $items => indexBy(getKey, $items)));
|
|
7
7
|
const getItem = (key) => indexStore.get().get(key);
|
|
@@ -24,7 +24,7 @@ export const collection = ({ name, store, getKey, load, }) => {
|
|
|
24
24
|
return stale;
|
|
25
25
|
}
|
|
26
26
|
loadAttempts.set(key, attempt + 1);
|
|
27
|
-
|
|
27
|
+
setFreshnessThrottled({ ns: name, key, ts: now() });
|
|
28
28
|
const promise = load(key, ...args);
|
|
29
29
|
pending.set(key, promise);
|
|
30
30
|
await promise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.mjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,MAAM,cAAc;OACtD,EAAC,OAAO,EAAc,GAAG,EAAC,MAAM,eAAe;OAC/C,EAAC,UAAU,EAAC,MAAM,iBAAiB;OACnC,EAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"collection.mjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,MAAM,cAAc;OACtD,EAAC,OAAO,EAAc,GAAG,EAAC,MAAM,eAAe;OAC/C,EAAC,UAAU,EAAC,MAAM,iBAAiB;OACnC,EAAC,YAAY,EAAE,qBAAqB,EAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,EACpD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,GAML,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEzC,2CAA2C;QAC3C,IAAI,KAAK,IAAI,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE;YACrC,OAAO,KAAK,CAAA;SACb;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1C,+CAA+C;QAC/C,IAAI,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAA;SACb;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;QAElC,qBAAqB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAC,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEzB,MAAM,OAAO,CAAA;QAEb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACzB;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAG,IAAc,EAAE,EAAE;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;SAC3B;QAED,sFAAsF;QACtF,oCAAoC;QACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEtB,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAA;AACpD,CAAC,CAAA"}
|
package/build/src/freshness.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.setFreshnessThrottled = exports.setFreshnessImmediate = exports.getFreshness = exports.getFreshnessKey = exports.freshness = void 0;
|
|
4
4
|
const store_1 = require("svelte/store");
|
|
5
5
|
const lib_1 = require("@welshman/lib");
|
|
6
6
|
const store_2 = require("@welshman/store");
|
|
@@ -9,13 +9,12 @@ const getFreshnessKey = (ns, key) => `${ns}:${key}`;
|
|
|
9
9
|
exports.getFreshnessKey = getFreshnessKey;
|
|
10
10
|
const getFreshness = (ns, key) => exports.freshness.get()[(0, exports.getFreshnessKey)(ns, key)] || 0;
|
|
11
11
|
exports.getFreshness = getFreshness;
|
|
12
|
-
const
|
|
13
|
-
exports.
|
|
14
|
-
|
|
15
|
-
for (const
|
|
16
|
-
$freshness[key] = ts;
|
|
12
|
+
const setFreshnessImmediate = ({ ns, key, ts }) => exports.freshness.update((0, lib_1.assoc)((0, exports.getFreshnessKey)(ns, key), ts));
|
|
13
|
+
exports.setFreshnessImmediate = setFreshnessImmediate;
|
|
14
|
+
exports.setFreshnessThrottled = (0, lib_1.batch)(100, (updates) => exports.freshness.update($freshness => {
|
|
15
|
+
for (const { ns, key, ts } of updates) {
|
|
16
|
+
$freshness[(0, exports.getFreshnessKey)(ns, key)] = ts;
|
|
17
17
|
}
|
|
18
18
|
return $freshness;
|
|
19
|
-
});
|
|
20
|
-
exports.setFreshnessBulk = setFreshnessBulk;
|
|
19
|
+
}));
|
|
21
20
|
//# sourceMappingURL=freshness.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.cjs","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":";;;AAAA,wCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"freshness.cjs","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":";;;AAAA,wCAAqC;AACrC,uCAA0C;AAC1C,2CAA0C;AAQ7B,QAAA,SAAS,GAAG,IAAA,kBAAU,EAAC,IAAA,gBAAQ,EAAyB,EAAE,CAAC,CAAC,CAAA;AAElE,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAA;AAA7D,QAAA,eAAe,mBAA8C;AAEnE,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,GAAW,EAAE,EAAE,CACtD,iBAAS,CAAC,GAAG,EAAE,CAAC,IAAA,uBAAe,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;AADnC,QAAA,YAAY,gBACuB;AAEzC,MAAM,qBAAqB,GAAG,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAkB,EAAE,EAAE,CACtE,iBAAS,CAAC,MAAM,CAAC,IAAA,WAAK,EAAC,IAAA,uBAAe,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAD1C,QAAA,qBAAqB,yBACqB;AAE1C,QAAA,qBAAqB,GAAG,IAAA,WAAK,EAAC,GAAG,EAAE,CAAC,OAA0B,EAAE,EAAE,CAC7E,iBAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;IAC5B,KAAK,MAAM,EAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC,IAAI,OAAO,EAAE;QACnC,UAAU,CAAC,IAAA,uBAAe,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;KAC1C;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CACH,CAAA"}
|
package/build/src/freshness.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
export type FreshnessUpdate = {
|
|
2
|
+
ns: string;
|
|
3
|
+
key: string;
|
|
4
|
+
ts: number;
|
|
5
|
+
};
|
|
1
6
|
export declare const freshness: import("@welshman/store").WritableWithGetter<Record<string, number>>;
|
|
2
7
|
export declare const getFreshnessKey: (ns: string, key: string) => string;
|
|
3
8
|
export declare const getFreshness: (ns: string, key: string) => number;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
9
|
+
export declare const setFreshnessImmediate: ({ ns, key, ts }: FreshnessUpdate) => void;
|
|
10
|
+
export declare const setFreshnessThrottled: (x: FreshnessUpdate) => void;
|
package/build/src/freshness.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { writable } from 'svelte/store';
|
|
2
|
-
import { assoc } from '@welshman/lib';
|
|
2
|
+
import { assoc, batch } from '@welshman/lib';
|
|
3
3
|
import { withGetter } from '@welshman/store';
|
|
4
4
|
export const freshness = withGetter(writable({}));
|
|
5
5
|
export const getFreshnessKey = (ns, key) => `${ns}:${key}`;
|
|
6
6
|
export const getFreshness = (ns, key) => freshness.get()[getFreshnessKey(ns, key)] || 0;
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
for (const
|
|
10
|
-
$freshness[key] = ts;
|
|
7
|
+
export const setFreshnessImmediate = ({ ns, key, ts }) => freshness.update(assoc(getFreshnessKey(ns, key), ts));
|
|
8
|
+
export const setFreshnessThrottled = batch(100, (updates) => freshness.update($freshness => {
|
|
9
|
+
for (const { ns, key, ts } of updates) {
|
|
10
|
+
$freshness[getFreshnessKey(ns, key)] = ts;
|
|
11
11
|
}
|
|
12
12
|
return $freshness;
|
|
13
|
-
});
|
|
13
|
+
}));
|
|
14
14
|
//# sourceMappingURL=freshness.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.mjs","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc;OAC9B,EAAC,KAAK,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"freshness.mjs","sourceRoot":"","sources":["../../src/freshness.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc;OAC9B,EAAC,KAAK,EAAE,KAAK,EAAC,MAAM,eAAe;OACnC,EAAC,UAAU,EAAC,MAAM,iBAAiB;AAQ1C,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAyB,EAAE,CAAC,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAA;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,GAAW,EAAE,EAAE,CACtD,SAAS,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAkB,EAAE,EAAE,CACtE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAA0B,EAAE,EAAE,CAC7E,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;IAC5B,KAAK,MAAM,EAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC,IAAI,OAAO,EAAE;QACnC,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;KAC1C;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CACH,CAAA"}
|
package/build/src/storage.cjs
CHANGED
|
@@ -44,7 +44,7 @@ const initIndexedDbAdapter = async (name, adapter) => {
|
|
|
44
44
|
const currentIds = new Set(currentRecords.map(item => item[adapter.keyPath]));
|
|
45
45
|
const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
|
|
46
46
|
const prevRecordsById = (0, lib_1.indexBy)(item => item[adapter.keyPath], prevRecords);
|
|
47
|
-
const updatedRecords = currentRecords.filter(r => r
|
|
47
|
+
const updatedRecords = currentRecords.filter(r => !(0, lib_1.equals)(r, prevRecordsById.get(r[adapter.keyPath])));
|
|
48
48
|
prevRecords = currentRecords;
|
|
49
49
|
if (updatedRecords.length > 0) {
|
|
50
50
|
await (0, exports.bulkPut)(name, updatedRecords);
|
|
@@ -98,20 +98,20 @@ exports.storageAdapters = {
|
|
|
98
98
|
fromObjectStore: (store, options = {}) => ({
|
|
99
99
|
options,
|
|
100
100
|
keyPath: "key",
|
|
101
|
-
store: (0, store_2.
|
|
102
|
-
store: store,
|
|
101
|
+
store: (0, store_2.adapter)({
|
|
102
|
+
store: (0, store_2.throttled)(options.throttle || 0, store),
|
|
103
103
|
forward: ($data) => Object.entries($data).map(([key, value]) => ({ key, value })),
|
|
104
104
|
backward: (data) => (0, lib_1.fromPairs)(data.map(({ key, value }) => [key, value])),
|
|
105
|
-
})
|
|
105
|
+
}),
|
|
106
106
|
}),
|
|
107
107
|
fromMapStore: (store, options = {}) => ({
|
|
108
108
|
options,
|
|
109
109
|
keyPath: "key",
|
|
110
|
-
store: (0, store_2.
|
|
111
|
-
store: store,
|
|
110
|
+
store: (0, store_2.adapter)({
|
|
111
|
+
store: (0, store_2.throttled)(options.throttle || 0, store),
|
|
112
112
|
forward: ($data) => Array.from($data.entries()).map(([key, value]) => ({ key, value })),
|
|
113
113
|
backward: (data) => new Map(data.map(({ key, value }) => [key, value])),
|
|
114
|
-
})
|
|
114
|
+
}),
|
|
115
115
|
}),
|
|
116
116
|
fromTracker: (tracker, options = {}) => ({
|
|
117
117
|
options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.cjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":";;;AAAA,6BAAoC;AAEpC,yDAA0C;AAC1C,wCAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"storage.cjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
|
package/build/src/storage.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { openDB, deleteDB } from "idb";
|
|
2
2
|
import { throttle } from "throttle-debounce";
|
|
3
3
|
import { writable } from "svelte/store";
|
|
4
|
-
import { indexBy, fromPairs } from "@welshman/lib";
|
|
4
|
+
import { indexBy, equals, fromPairs } from "@welshman/lib";
|
|
5
5
|
import { withGetter, adapter, throttled, custom } from "@welshman/store";
|
|
6
6
|
export let db;
|
|
7
7
|
export const dead = withGetter(writable(false));
|
|
@@ -39,7 +39,7 @@ export const initIndexedDbAdapter = async (name, adapter) => {
|
|
|
39
39
|
const currentIds = new Set(currentRecords.map(item => item[adapter.keyPath]));
|
|
40
40
|
const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
|
|
41
41
|
const prevRecordsById = indexBy(item => item[adapter.keyPath], prevRecords);
|
|
42
|
-
const updatedRecords = currentRecords.filter(r => r
|
|
42
|
+
const updatedRecords = currentRecords.filter(r => !equals(r, prevRecordsById.get(r[adapter.keyPath])));
|
|
43
43
|
prevRecords = currentRecords;
|
|
44
44
|
if (updatedRecords.length > 0) {
|
|
45
45
|
await bulkPut(name, updatedRecords);
|
|
@@ -89,20 +89,20 @@ export const storageAdapters = {
|
|
|
89
89
|
fromObjectStore: (store, options = {}) => ({
|
|
90
90
|
options,
|
|
91
91
|
keyPath: "key",
|
|
92
|
-
store:
|
|
93
|
-
store: store,
|
|
92
|
+
store: adapter({
|
|
93
|
+
store: throttled(options.throttle || 0, store),
|
|
94
94
|
forward: ($data) => Object.entries($data).map(([key, value]) => ({ key, value })),
|
|
95
95
|
backward: (data) => fromPairs(data.map(({ key, value }) => [key, value])),
|
|
96
|
-
})
|
|
96
|
+
}),
|
|
97
97
|
}),
|
|
98
98
|
fromMapStore: (store, options = {}) => ({
|
|
99
99
|
options,
|
|
100
100
|
keyPath: "key",
|
|
101
|
-
store:
|
|
102
|
-
store: store,
|
|
101
|
+
store: adapter({
|
|
102
|
+
store: throttled(options.throttle || 0, store),
|
|
103
103
|
forward: ($data) => Array.from($data.entries()).map(([key, value]) => ({ key, value })),
|
|
104
104
|
backward: (data) => new Map(data.map(({ key, value }) => [key, value])),
|
|
105
|
-
})
|
|
105
|
+
}),
|
|
106
106
|
}),
|
|
107
107
|
fromTracker: (tracker, options = {}) => ({
|
|
108
108
|
options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.mjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,KAAK;OAE7B,EAAC,QAAQ,EAAC,MAAM,mBAAmB;OACnC,EAAC,QAAQ,EAAC,MAAM,cAAc;OAE9B,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"storage.mjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
|