@welshman/app 0.0.2 → 0.0.3
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 +24 -11
- package/build/src/collection.cjs.map +1 -1
- package/build/src/collection.mjs +24 -11
- package/build/src/collection.mjs.map +1 -1
- package/build/src/context.cjs +38 -0
- package/build/src/context.cjs.map +1 -0
- package/build/src/context.d.ts +30 -0
- package/build/src/context.mjs +33 -0
- package/build/src/context.mjs.map +1 -0
- package/build/src/core.cjs +30 -8
- package/build/src/core.cjs.map +1 -1
- package/build/src/core.d.ts +7 -9
- package/build/src/core.mjs +31 -8
- package/build/src/core.mjs.map +1 -1
- package/build/src/follows.cjs +3 -7
- package/build/src/follows.cjs.map +1 -1
- package/build/src/follows.d.ts +1 -1
- package/build/src/follows.mjs +4 -8
- package/build/src/follows.mjs.map +1 -1
- package/build/src/handles.cjs +56 -14
- package/build/src/handles.cjs.map +1 -1
- package/build/src/handles.d.ts +10 -2
- package/build/src/handles.mjs +55 -15
- package/build/src/handles.mjs.map +1 -1
- package/build/src/index.cjs +2 -8
- package/build/src/index.cjs.map +1 -1
- package/build/src/index.d.ts +2 -0
- package/build/src/index.mjs +2 -8
- package/build/src/index.mjs.map +1 -1
- package/build/src/mutes.cjs +3 -7
- package/build/src/mutes.cjs.map +1 -1
- package/build/src/mutes.d.ts +1 -1
- package/build/src/mutes.mjs +4 -8
- package/build/src/mutes.mjs.map +1 -1
- package/build/src/profiles.cjs +11 -11
- package/build/src/profiles.cjs.map +1 -1
- package/build/src/profiles.d.ts +5 -6
- package/build/src/profiles.mjs +14 -14
- package/build/src/profiles.mjs.map +1 -1
- package/build/src/relaySelections.cjs +14 -8
- package/build/src/relaySelections.cjs.map +1 -1
- package/build/src/relaySelections.d.ts +10 -4
- package/build/src/relaySelections.mjs +13 -8
- package/build/src/relaySelections.mjs.map +1 -1
- package/build/src/relays.cjs +22 -28
- package/build/src/relays.cjs.map +1 -1
- package/build/src/relays.d.ts +1 -1
- package/build/src/relays.mjs +23 -29
- package/build/src/relays.mjs.map +1 -1
- package/build/src/router.cjs +375 -0
- package/build/src/router.cjs.map +1 -0
- package/build/src/router.d.ts +197 -0
- package/build/src/router.mjs +355 -0
- package/build/src/router.mjs.map +1 -0
- package/build/src/session.cjs +1 -2
- package/build/src/session.cjs.map +1 -1
- package/build/src/session.mjs +2 -3
- package/build/src/session.mjs.map +1 -1
- package/build/src/storage.cjs +23 -13
- package/build/src/storage.cjs.map +1 -1
- package/build/src/storage.d.ts +26 -2
- package/build/src/storage.mjs +24 -14
- package/build/src/storage.mjs.map +1 -1
- package/build/src/zappers.cjs +37 -16
- package/build/src/zappers.cjs.map +1 -1
- package/build/src/zappers.d.ts +4 -3
- package/build/src/zappers.mjs +37 -17
- package/build/src/zappers.mjs.map +1 -1
- package/package.json +6 -6
package/build/src/session.cjs
CHANGED
|
@@ -5,7 +5,6 @@ const store_1 = require("svelte/store");
|
|
|
5
5
|
const lib_1 = require("@welshman/lib");
|
|
6
6
|
const util_1 = require("@welshman/util");
|
|
7
7
|
const store_2 = require("@welshman/store");
|
|
8
|
-
const net_1 = require("@welshman/net");
|
|
9
8
|
const signer_1 = require("@welshman/signer");
|
|
10
9
|
exports.pubkey = (0, store_2.withGetter)((0, store_2.synced)("pubkey", null));
|
|
11
10
|
exports.sessions = (0, store_2.withGetter)((0, store_2.synced)("sessions", {}));
|
|
@@ -53,7 +52,7 @@ const onAuth = async (url, challenge) => {
|
|
|
53
52
|
["challenge", challenge],
|
|
54
53
|
],
|
|
55
54
|
}));
|
|
56
|
-
|
|
55
|
+
lib_1.ctx.net.pool.get(url).send(["AUTH", event]);
|
|
57
56
|
return event;
|
|
58
57
|
};
|
|
59
58
|
exports.onAuth = onAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"session.cjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,uCAA+D;AAC/D,yCAA0C;AAC1C,2CAAkD;AAElD,6CAAmF;AAUtE,QAAA,MAAM,GAAG,IAAA,kBAAU,EAAC,IAAA,cAAM,EAAgB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;AAE1D,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAAC,IAAA,cAAM,EAA0B,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;AAEtE,QAAA,OAAO,GAAG,IAAA,kBAAU,EAC/B,IAAA,eAAO,EAAC,CAAC,cAAM,EAAE,gBAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC7F,CAAA;AAEM,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,gBAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;AAAvD,QAAA,UAAU,cAA6C;AAE7D,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,gBAAQ,CAAC,MAAM,CAAC,IAAA,WAAK,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/C,cAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAHY,QAAA,UAAU,cAGtB;AAEM,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,IAAI,CAAC,IAAA,YAAM,EAAC,IAAA,kBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE;QAChD,gBAAQ,CAAC,MAAM,CAAC,IAAA,WAAK,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAChD;AACH,CAAC,CAAA;AAJY,QAAA,UAAU,cAItB;AAEM,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,CAAgC,EAAE,EAAE,CAChF,IAAA,kBAAU,EAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AADtB,QAAA,aAAa,iBACS;AAE5B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAC5C,gBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAA,UAAI,EAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;AAD5C,QAAA,WAAW,eACiC;AAE5C,QAAA,UAAU,GAAG,0EAA0E,CAAA;AAEvF,QAAA,SAAS,GAAG,IAAA,aAAO,EAAC,CAAC,OAAgB,EAAE,EAAE;IACpD,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;QACvB,KAAK,WAAW;YACd,OAAO,IAAI,oBAAW,EAAE,CAAA;QAC1B,KAAK,SAAS;YACZ,OAAO,IAAI,oBAAW,CAAC,OAAO,CAAC,MAAO,CAAC,CAAA;QACzC,KAAK,OAAO;YACV,OAAO,IAAI,oBAAW,CAAC,oBAAW,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAO,EAAE,OAAO,CAAC,OAAQ,CAAC,CAAC,CAAA;QAC5F;YACE,OAAO,IAAI,CAAA;KACd;AACH,CAAC,CAAC,CAAA;AAEW,QAAA,MAAM,GAAG,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,eAAO,EAAE,iBAAS,CAAC,CAAC,CAAA;AAEhD,QAAA,cAAc,GAAG,IAAI,GAAG,EAAE,CAAA;AAEhC,MAAM,MAAM,GAAG,KAAK,EAAE,GAAW,EAAE,SAAiB,EAAE,EAAE;IAC7D,IAAI,sBAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,cAAM,CAAC,GAAG,EAAE,EAAE;QAClD,OAAM;KACP;IAED,sBAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE7B,MAAM,KAAK,GAAG,MAAM,cAAM,CAAC,GAAG,EAAG,CAAC,IAAI,CACpC,IAAA,kBAAW,EAAC,KAAK,EAAE;QACjB,IAAI,EAAE;YACJ,CAAC,OAAO,EAAE,GAAG,CAAC;YACd,CAAC,WAAW,EAAE,SAAS,CAAC;SACzB;KACF,CAAC,CACH,CAAA;IAED,SAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAE3C,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAnBY,QAAA,MAAM,UAmBlB"}
|
package/build/src/session.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { derived } from "svelte/store";
|
|
2
|
-
import { memoize, omit, equals, assoc } from "@welshman/lib";
|
|
2
|
+
import { ctx, memoize, omit, equals, assoc } from "@welshman/lib";
|
|
3
3
|
import { createEvent } from "@welshman/util";
|
|
4
4
|
import { withGetter, synced } from "@welshman/store";
|
|
5
|
-
import { NetworkContext } from "@welshman/net";
|
|
6
5
|
import { Nip46Broker, Nip46Signer, Nip07Signer, Nip01Signer } from "@welshman/signer";
|
|
7
6
|
export const pubkey = withGetter(synced("pubkey", null));
|
|
8
7
|
export const sessions = withGetter(synced("sessions", {}));
|
|
@@ -45,7 +44,7 @@ export const onAuth = async (url, challenge) => {
|
|
|
45
44
|
["challenge", challenge],
|
|
46
45
|
],
|
|
47
46
|
}));
|
|
48
|
-
|
|
47
|
+
ctx.net.pool.get(url).send(["AUTH", event]);
|
|
49
48
|
return event;
|
|
50
49
|
};
|
|
51
50
|
//# sourceMappingURL=session.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.mjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,cAAc;OAC7B,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"session.mjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,cAAc;OAC7B,EAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,eAAe;OACxD,EAAC,WAAW,EAAC,MAAM,gBAAgB;OACnC,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,iBAAiB;OAE3C,EAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,kBAAkB;AAUnF,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAgB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAA0B,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC7F,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE;QAChD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAChD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,CAAgC,EAAE,EAAE,CAChF,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG,0EAA0E,CAAA;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;IACpD,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;QACvB,KAAK,WAAW;YACd,OAAO,IAAI,WAAW,EAAE,CAAA;QAC1B,KAAK,SAAS;YACZ,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAO,CAAC,CAAA;QACzC,KAAK,OAAO;YACV,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAO,EAAE,OAAO,CAAC,OAAQ,CAAC,CAAC,CAAA;QAC5F;YACE,OAAO,IAAI,CAAA;KACd;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAA;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,GAAW,EAAE,SAAiB,EAAE,EAAE;IAC7D,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;QAClD,OAAM;KACP;IAED,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE7B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,EAAG,CAAC,IAAI,CACpC,WAAW,CAAC,KAAK,EAAE;QACjB,IAAI,EAAE;YACJ,CAAC,OAAO,EAAE,GAAG,CAAC;YACd,CAAC,WAAW,EAAE,SAAS,CAAC;SACzB;KACF,CAAC,CACH,CAAA;IAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAE3C,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
package/build/src/storage.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.clearStorage = exports.closeStorage = exports.initStorage = exports.initIndexedDbAdapter = exports.bulkDelete = exports.bulkPut = exports.getAll = exports.
|
|
3
|
+
exports.storageAdapters = exports.clearStorage = exports.closeStorage = exports.initStorage = exports.initIndexedDbAdapter = exports.bulkDelete = exports.bulkPut = exports.getAll = exports.subs = exports.dead = exports.db = void 0;
|
|
4
4
|
const idb_1 = require("idb");
|
|
5
5
|
const throttle_debounce_1 = require("throttle-debounce");
|
|
6
6
|
const store_1 = require("svelte/store");
|
|
@@ -8,7 +8,6 @@ const lib_1 = require("@welshman/lib");
|
|
|
8
8
|
const store_2 = require("@welshman/store");
|
|
9
9
|
exports.dead = (0, store_2.withGetter)((0, store_1.writable)(false));
|
|
10
10
|
exports.subs = [];
|
|
11
|
-
exports.DB_NAME = "flotilla";
|
|
12
11
|
const getAll = async (name) => {
|
|
13
12
|
const tx = exports.db.transaction(name, "readwrite");
|
|
14
13
|
const store = tx.objectStore(name);
|
|
@@ -32,17 +31,15 @@ const bulkDelete = async (name, ids) => {
|
|
|
32
31
|
};
|
|
33
32
|
exports.bulkDelete = bulkDelete;
|
|
34
33
|
const initIndexedDbAdapter = async (name, adapter) => {
|
|
35
|
-
let
|
|
36
|
-
adapter.store.set(
|
|
37
|
-
adapter.store.subscribe((0, throttle_debounce_1.throttle)((0, lib_1.randomInt)(3000, 5000), async (
|
|
34
|
+
let prevRecords = await (0, exports.getAll)(name);
|
|
35
|
+
adapter.store.set(prevRecords);
|
|
36
|
+
adapter.store.subscribe((0, throttle_debounce_1.throttle)((0, lib_1.randomInt)(3000, 5000), async (newRecords) => {
|
|
38
37
|
if (exports.dead.get()) {
|
|
39
38
|
return;
|
|
40
39
|
}
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
const removedRecords = copy.filter(r => !currentIds.has(r[adapter.keyPath]));
|
|
45
|
-
copy = data;
|
|
40
|
+
const currentIds = new Set(newRecords.map(item => item[adapter.keyPath]));
|
|
41
|
+
const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
|
|
42
|
+
prevRecords = newRecords;
|
|
46
43
|
if (newRecords.length > 0) {
|
|
47
44
|
await (0, exports.bulkPut)(name, newRecords);
|
|
48
45
|
}
|
|
@@ -52,11 +49,14 @@ const initIndexedDbAdapter = async (name, adapter) => {
|
|
|
52
49
|
}));
|
|
53
50
|
};
|
|
54
51
|
exports.initIndexedDbAdapter = initIndexedDbAdapter;
|
|
55
|
-
const initStorage = async (version, adapters) => {
|
|
52
|
+
const initStorage = async (name, version, adapters) => {
|
|
56
53
|
if (!window.indexedDB)
|
|
57
54
|
return;
|
|
58
55
|
window.addEventListener("beforeunload", () => (0, exports.closeStorage)());
|
|
59
|
-
exports.db
|
|
56
|
+
if (exports.db) {
|
|
57
|
+
throw new Error("Db initialized multiple times");
|
|
58
|
+
}
|
|
59
|
+
exports.db = await (0, idb_1.openDB)(name, version, {
|
|
60
60
|
upgrade(db) {
|
|
61
61
|
const names = Object.keys(adapters);
|
|
62
62
|
for (const name of db.objectStoreNames) {
|
|
@@ -85,7 +85,17 @@ const closeStorage = async () => {
|
|
|
85
85
|
exports.closeStorage = closeStorage;
|
|
86
86
|
const clearStorage = async () => {
|
|
87
87
|
await (0, exports.closeStorage)();
|
|
88
|
-
await (0, idb_1.deleteDB)(exports.
|
|
88
|
+
await (0, idb_1.deleteDB)(exports.db.name);
|
|
89
89
|
};
|
|
90
90
|
exports.clearStorage = clearStorage;
|
|
91
|
+
exports.storageAdapters = {
|
|
92
|
+
fromObjectStore: (store) => ({
|
|
93
|
+
keyPath: "key",
|
|
94
|
+
store: (0, store_2.adapter)({
|
|
95
|
+
store: store,
|
|
96
|
+
forward: ($data) => Object.entries($data).map(([key, value]) => ({ key, value })),
|
|
97
|
+
backward: (data) => (0, lib_1.fromPairs)(data.map(({ key, value }) => [key, value])),
|
|
98
|
+
}),
|
|
99
|
+
}),
|
|
100
|
+
};
|
|
91
101
|
//# sourceMappingURL=storage.cjs.map
|
|
@@ -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.d.ts
CHANGED
|
@@ -11,11 +11,35 @@ export declare const dead: Writable<boolean> & {
|
|
|
11
11
|
get: () => boolean;
|
|
12
12
|
};
|
|
13
13
|
export declare const subs: Unsubscriber[];
|
|
14
|
-
export declare const DB_NAME = "flotilla";
|
|
15
14
|
export declare const getAll: (name: string) => Promise<any[]>;
|
|
16
15
|
export declare const bulkPut: (name: string, data: any[]) => Promise<void>;
|
|
17
16
|
export declare const bulkDelete: (name: string, ids: string[]) => Promise<void>;
|
|
18
17
|
export declare const initIndexedDbAdapter: (name: string, adapter: IndexedDbAdapter) => Promise<void>;
|
|
19
|
-
export declare const initStorage: (version: number, adapters: Record<string, IndexedDbAdapter>) => Promise<void>;
|
|
18
|
+
export declare const initStorage: (name: string, version: number, adapters: Record<string, IndexedDbAdapter>) => Promise<void>;
|
|
20
19
|
export declare const closeStorage: () => Promise<void>;
|
|
21
20
|
export declare const clearStorage: () => Promise<void>;
|
|
21
|
+
export declare const storageAdapters: {
|
|
22
|
+
fromObjectStore: <T>(store: Writable<Record<string, T>>) => {
|
|
23
|
+
keyPath: string;
|
|
24
|
+
store: {
|
|
25
|
+
set: (x: {
|
|
26
|
+
key: string;
|
|
27
|
+
value: T;
|
|
28
|
+
}[]) => void;
|
|
29
|
+
update: (f: (x: {
|
|
30
|
+
key: string;
|
|
31
|
+
value: T;
|
|
32
|
+
}[]) => {
|
|
33
|
+
key: string;
|
|
34
|
+
value: T;
|
|
35
|
+
}[]) => void;
|
|
36
|
+
subscribe(this: void, run: import("svelte/store").Subscriber<{
|
|
37
|
+
key: string;
|
|
38
|
+
value: T;
|
|
39
|
+
}[]>, invalidate?: import("svelte/store").Invalidator<{
|
|
40
|
+
key: string;
|
|
41
|
+
value: T;
|
|
42
|
+
}[]> | undefined): Unsubscriber;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
package/build/src/storage.mjs
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { openDB, deleteDB } from "idb";
|
|
2
2
|
import { throttle } from "throttle-debounce";
|
|
3
3
|
import { writable } from "svelte/store";
|
|
4
|
-
import { randomInt } from "@welshman/lib";
|
|
5
|
-
import { withGetter } from "@welshman/store";
|
|
4
|
+
import { randomInt, fromPairs } from "@welshman/lib";
|
|
5
|
+
import { withGetter, adapter } from "@welshman/store";
|
|
6
6
|
export let db;
|
|
7
7
|
export const dead = withGetter(writable(false));
|
|
8
8
|
export const subs = [];
|
|
9
|
-
export const DB_NAME = "flotilla";
|
|
10
9
|
export const getAll = async (name) => {
|
|
11
10
|
const tx = db.transaction(name, "readwrite");
|
|
12
11
|
const store = tx.objectStore(name);
|
|
@@ -27,17 +26,15 @@ export const bulkDelete = async (name, ids) => {
|
|
|
27
26
|
await tx.done;
|
|
28
27
|
};
|
|
29
28
|
export const initIndexedDbAdapter = async (name, adapter) => {
|
|
30
|
-
let
|
|
31
|
-
adapter.store.set(
|
|
32
|
-
adapter.store.subscribe(throttle(randomInt(3000, 5000), async (
|
|
29
|
+
let prevRecords = await getAll(name);
|
|
30
|
+
adapter.store.set(prevRecords);
|
|
31
|
+
adapter.store.subscribe(throttle(randomInt(3000, 5000), async (newRecords) => {
|
|
33
32
|
if (dead.get()) {
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const removedRecords = copy.filter(r => !currentIds.has(r[adapter.keyPath]));
|
|
40
|
-
copy = data;
|
|
35
|
+
const currentIds = new Set(newRecords.map(item => item[adapter.keyPath]));
|
|
36
|
+
const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
|
|
37
|
+
prevRecords = newRecords;
|
|
41
38
|
if (newRecords.length > 0) {
|
|
42
39
|
await bulkPut(name, newRecords);
|
|
43
40
|
}
|
|
@@ -46,11 +43,14 @@ export const initIndexedDbAdapter = async (name, adapter) => {
|
|
|
46
43
|
}
|
|
47
44
|
}));
|
|
48
45
|
};
|
|
49
|
-
export const initStorage = async (version, adapters) => {
|
|
46
|
+
export const initStorage = async (name, version, adapters) => {
|
|
50
47
|
if (!window.indexedDB)
|
|
51
48
|
return;
|
|
52
49
|
window.addEventListener("beforeunload", () => closeStorage());
|
|
53
|
-
|
|
50
|
+
if (db) {
|
|
51
|
+
throw new Error("Db initialized multiple times");
|
|
52
|
+
}
|
|
53
|
+
db = await openDB(name, version, {
|
|
54
54
|
upgrade(db) {
|
|
55
55
|
const names = Object.keys(adapters);
|
|
56
56
|
for (const name of db.objectStoreNames) {
|
|
@@ -77,6 +77,16 @@ export const closeStorage = async () => {
|
|
|
77
77
|
};
|
|
78
78
|
export const clearStorage = async () => {
|
|
79
79
|
await closeStorage();
|
|
80
|
-
await deleteDB(
|
|
80
|
+
await deleteDB(db.name);
|
|
81
|
+
};
|
|
82
|
+
export const storageAdapters = {
|
|
83
|
+
fromObjectStore: (store) => ({
|
|
84
|
+
keyPath: "key",
|
|
85
|
+
store: adapter({
|
|
86
|
+
store: store,
|
|
87
|
+
forward: ($data) => Object.entries($data).map(([key, value]) => ({ key, value })),
|
|
88
|
+
backward: (data) => fromPairs(data.map(({ key, value }) => [key, value])),
|
|
89
|
+
}),
|
|
90
|
+
}),
|
|
81
91
|
};
|
|
82
92
|
//# sourceMappingURL=storage.mjs.map
|
|
@@ -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,SAAS,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"storage.mjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
|
package/build/src/zappers.cjs
CHANGED
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.deriveZapperForPubkey = exports.loadZapper = exports.deriveZapper = exports.zappersByLnurl = exports.fetchZappers = exports.zappers = void 0;
|
|
5
5
|
const store_1 = require("svelte/store");
|
|
6
6
|
const store_2 = require("@welshman/store");
|
|
7
7
|
const lib_1 = require("@welshman/lib");
|
|
8
|
-
const core_1 = require("./core.cjs");
|
|
9
8
|
const collection_1 = require("./collection.cjs");
|
|
10
9
|
const profiles_1 = require("./profiles.cjs");
|
|
11
10
|
exports.zappers = (0, store_2.withGetter)((0, store_1.writable)([]));
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const base = core_1.env.DUFFLEPUD_URL;
|
|
15
|
-
if (!base) {
|
|
16
|
-
throw new Error("DUFFLEPUD_URL is required to fetch zapper info");
|
|
17
|
-
}
|
|
11
|
+
const fetchZappers = async (lnurls) => {
|
|
12
|
+
const base = lib_1.ctx.app.dufflepudUrl;
|
|
18
13
|
const zappersByLnurl = new Map();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
(
|
|
14
|
+
// Use dufflepud if we it's set up to protect user privacy, otherwise fetch directly
|
|
15
|
+
if (base) {
|
|
16
|
+
const hexUrls = lnurls.map(lnurl => (0, lib_1.tryCatch)(() => (0, lib_1.bech32ToHex)(lnurl))).filter(lib_1.identity);
|
|
17
|
+
const res = await (0, lib_1.tryCatch)(async () => await (0, lib_1.postJson)(`${base}/zapper/info`, { lnurls: hexUrls }));
|
|
18
|
+
for (const { lnurl, info } of (res === null || res === void 0 ? void 0 : res.data) || []) {
|
|
19
|
+
(0, lib_1.tryCatch)(() => zappersByLnurl.set((0, lib_1.hexToBech32)("lnurl", lnurl), info));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const results = await Promise.all(lnurls.map(async (lnurl) => {
|
|
24
|
+
const hexUrl = (0, lib_1.tryCatch)(() => (0, lib_1.bech32ToHex)(lnurl));
|
|
25
|
+
const info = hexUrl ? await (0, lib_1.tryCatch)(async () => await (0, lib_1.fetchJson)(hexUrl)) : undefined;
|
|
26
|
+
return { lnurl, hexUrl, info };
|
|
27
|
+
}));
|
|
28
|
+
for (const { lnurl, info } of results) {
|
|
29
|
+
if (info) {
|
|
30
|
+
zappersByLnurl.set(lnurl, info);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
24
33
|
}
|
|
25
34
|
return zappersByLnurl;
|
|
26
35
|
};
|
|
@@ -33,11 +42,23 @@ _a = (0, collection_1.collection)({
|
|
|
33
42
|
const fresh = await (0, exports.fetchZappers)((0, lib_1.uniq)(lnurls));
|
|
34
43
|
const stale = exports.zappersByLnurl.get();
|
|
35
44
|
const items = lnurls.map(lnurl => {
|
|
36
|
-
const
|
|
37
|
-
|
|
45
|
+
const newZapper = fresh.get(lnurl);
|
|
46
|
+
const oldZapper = stale.get(lnurl);
|
|
47
|
+
if (newZapper) {
|
|
48
|
+
stale.set(lnurl, { ...newZapper, lnurl });
|
|
49
|
+
}
|
|
50
|
+
return { ...oldZapper, ...newZapper, lnurl };
|
|
38
51
|
});
|
|
39
|
-
exports.zappers.
|
|
52
|
+
exports.zappers.set(Array.from(stale.values()));
|
|
40
53
|
return items;
|
|
41
54
|
}),
|
|
42
55
|
}), exports.zappersByLnurl = _a.indexStore, exports.deriveZapper = _a.deriveItem, exports.loadZapper = _a.loadItem;
|
|
56
|
+
const deriveZapperForPubkey = (pubkey, request = {}) => (0, store_1.derived)([exports.zappersByLnurl, (0, profiles_1.deriveProfile)(pubkey, request)], ([$zappersByLnurl, $profile]) => {
|
|
57
|
+
if (!($profile === null || $profile === void 0 ? void 0 : $profile.lnurl)) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
(0, exports.loadZapper)($profile.lnurl);
|
|
61
|
+
return $zappersByLnurl.get($profile.lnurl);
|
|
62
|
+
});
|
|
63
|
+
exports.deriveZapperForPubkey = deriveZapperForPubkey;
|
|
43
64
|
//# sourceMappingURL=zappers.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zappers.cjs","sourceRoot":"","sources":["../../src/zappers.ts"],"names":[],"mappings":";;;;AAAA,wCAA8C;AAC9C,2CAA0C;
|
|
1
|
+
{"version":3,"file":"zappers.cjs","sourceRoot":"","sources":["../../src/zappers.ts"],"names":[],"mappings":"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"}
|
package/build/src/zappers.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="svelte" />
|
|
2
|
-
import type
|
|
2
|
+
import { type Zapper } from '@welshman/util';
|
|
3
|
+
import { type SubscribeRequest } from "@welshman/net";
|
|
3
4
|
export declare const zappers: import("svelte/store").Writable<Zapper[]> & {
|
|
4
5
|
get: () => Zapper[];
|
|
5
6
|
};
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const fetchZappers: (lnurls: string[]) => Map<string, Zapper>;
|
|
7
|
+
export declare const fetchZappers: (lnurls: string[]) => Promise<Map<string, Zapper>>;
|
|
8
8
|
export declare const zappersByLnurl: import("svelte/store").Readable<Map<string, Zapper>> & {
|
|
9
9
|
get: () => Map<string, Zapper>;
|
|
10
10
|
}, deriveZapper: (key: import("@welshman/lib").Maybe<string>) => import("svelte/store").Readable<Zapper | undefined>, loadZapper: (key: string) => Promise<Zapper | undefined>;
|
|
11
|
+
export declare const deriveZapperForPubkey: (pubkey: string, request?: Partial<SubscribeRequest>) => import("svelte/store").Readable<Zapper | undefined>;
|
package/build/src/zappers.mjs
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
import { writable, derived } from 'svelte/store';
|
|
2
2
|
import { withGetter } from '@welshman/store';
|
|
3
|
-
import {
|
|
4
|
-
import { env } from "./core.mjs";
|
|
3
|
+
import { ctx, identity, fetchJson, uniq, bech32ToHex, hexToBech32, tryCatch, batcher, postJson } from '@welshman/lib';
|
|
5
4
|
import { collection } from "./collection.mjs";
|
|
6
|
-
import {
|
|
5
|
+
import { deriveProfile } from "./profiles.mjs";
|
|
7
6
|
export const zappers = withGetter(writable([]));
|
|
8
|
-
export const
|
|
9
|
-
|
|
10
|
-
const base = env.DUFFLEPUD_URL;
|
|
11
|
-
if (!base) {
|
|
12
|
-
throw new Error("DUFFLEPUD_URL is required to fetch zapper info");
|
|
13
|
-
}
|
|
7
|
+
export const fetchZappers = async (lnurls) => {
|
|
8
|
+
const base = ctx.app.dufflepudUrl;
|
|
14
9
|
const zappersByLnurl = new Map();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
// Use dufflepud if we it's set up to protect user privacy, otherwise fetch directly
|
|
11
|
+
if (base) {
|
|
12
|
+
const hexUrls = lnurls.map(lnurl => tryCatch(() => bech32ToHex(lnurl))).filter(identity);
|
|
13
|
+
const res = await tryCatch(async () => await postJson(`${base}/zapper/info`, { lnurls: hexUrls }));
|
|
14
|
+
for (const { lnurl, info } of (res === null || res === void 0 ? void 0 : res.data) || []) {
|
|
15
|
+
tryCatch(() => zappersByLnurl.set(hexToBech32("lnurl", lnurl), info));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const results = await Promise.all(lnurls.map(async (lnurl) => {
|
|
20
|
+
const hexUrl = tryCatch(() => bech32ToHex(lnurl));
|
|
21
|
+
const info = hexUrl ? await tryCatch(async () => await fetchJson(hexUrl)) : undefined;
|
|
22
|
+
return { lnurl, hexUrl, info };
|
|
23
|
+
}));
|
|
24
|
+
for (const { lnurl, info } of results) {
|
|
25
|
+
if (info) {
|
|
26
|
+
zappersByLnurl.set(lnurl, info);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
30
|
return zappersByLnurl;
|
|
22
31
|
};
|
|
@@ -28,11 +37,22 @@ export const { indexStore: zappersByLnurl, deriveItem: deriveZapper, loadItem: l
|
|
|
28
37
|
const fresh = await fetchZappers(uniq(lnurls));
|
|
29
38
|
const stale = zappersByLnurl.get();
|
|
30
39
|
const items = lnurls.map(lnurl => {
|
|
31
|
-
const
|
|
32
|
-
|
|
40
|
+
const newZapper = fresh.get(lnurl);
|
|
41
|
+
const oldZapper = stale.get(lnurl);
|
|
42
|
+
if (newZapper) {
|
|
43
|
+
stale.set(lnurl, { ...newZapper, lnurl });
|
|
44
|
+
}
|
|
45
|
+
return { ...oldZapper, ...newZapper, lnurl };
|
|
33
46
|
});
|
|
34
|
-
zappers.
|
|
47
|
+
zappers.set(Array.from(stale.values()));
|
|
35
48
|
return items;
|
|
36
49
|
}),
|
|
37
50
|
});
|
|
51
|
+
export const deriveZapperForPubkey = (pubkey, request = {}) => derived([zappersByLnurl, deriveProfile(pubkey, request)], ([$zappersByLnurl, $profile]) => {
|
|
52
|
+
if (!($profile === null || $profile === void 0 ? void 0 : $profile.lnurl)) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
loadZapper($profile.lnurl);
|
|
56
|
+
return $zappersByLnurl.get($profile.lnurl);
|
|
57
|
+
});
|
|
38
58
|
//# sourceMappingURL=zappers.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zappers.mjs","sourceRoot":"","sources":["../../src/zappers.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,cAAc;OACvC,EAAC,UAAU,EAAC,MAAM,iBAAiB;
|
|
1
|
+
{"version":3,"file":"zappers.mjs","sourceRoot":"","sources":["../../src/zappers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@welshman/app",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"author": "hodlbod",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A collection of svelte stores for use in building nostr client applications.",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"typescript": "~5.1.6"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@welshman/lib": "0.0.
|
|
35
|
-
"@welshman/net": "0.0.
|
|
36
|
-
"@welshman/signer": "0.0.
|
|
37
|
-
"@welshman/store": "0.0.
|
|
38
|
-
"@welshman/util": "0.0.
|
|
34
|
+
"@welshman/lib": "0.0.17",
|
|
35
|
+
"@welshman/net": "0.0.21",
|
|
36
|
+
"@welshman/signer": "0.0.5",
|
|
37
|
+
"@welshman/store": "0.0.5",
|
|
38
|
+
"@welshman/util": "0.0.30",
|
|
39
39
|
"fuse.js": "^7.0.0",
|
|
40
40
|
"idb": "^8.0.0",
|
|
41
41
|
"svelte": "^4.2.18",
|