@welshman/app 0.6.8 → 0.7.0
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/dist/app/src/blossom.d.ts +7 -5
- package/dist/app/src/blossom.d.ts.map +1 -1
- package/dist/app/src/blossom.js +12 -11
- package/dist/app/src/blossom.js.map +1 -1
- package/dist/app/src/commands.d.ts +2 -2
- package/dist/app/src/commands.d.ts.map +1 -1
- package/dist/app/src/commands.js +29 -29
- package/dist/app/src/commands.js.map +1 -1
- package/dist/app/src/core.d.ts +0 -6
- package/dist/app/src/core.d.ts.map +1 -1
- package/dist/app/src/core.js +0 -33
- package/dist/app/src/core.js.map +1 -1
- package/dist/app/src/feeds.d.ts.map +1 -1
- package/dist/app/src/feeds.js +5 -4
- package/dist/app/src/feeds.js.map +1 -1
- package/dist/app/src/follows.d.ts +8 -5
- package/dist/app/src/follows.d.ts.map +1 -1
- package/dist/app/src/follows.js +12 -10
- package/dist/app/src/follows.js.map +1 -1
- package/dist/app/src/handles.d.ts +14 -5
- package/dist/app/src/handles.d.ts.map +1 -1
- package/dist/app/src/handles.js +46 -37
- package/dist/app/src/handles.js.map +1 -1
- package/dist/app/src/index.d.ts +2 -2
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +12 -12
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/messagingRelayLists.d.ts +9 -0
- package/dist/app/src/messagingRelayLists.d.ts.map +1 -0
- package/dist/app/src/messagingRelayLists.js +18 -0
- package/dist/app/src/messagingRelayLists.js.map +1 -0
- package/dist/app/src/mutes.d.ts +8 -4
- package/dist/app/src/mutes.d.ts.map +1 -1
- package/dist/app/src/mutes.js +12 -10
- package/dist/app/src/mutes.js.map +1 -1
- package/dist/app/src/pins.d.ts +8 -5
- package/dist/app/src/pins.d.ts.map +1 -1
- package/dist/app/src/pins.js +12 -10
- package/dist/app/src/pins.js.map +1 -1
- package/dist/app/src/profiles.d.ts +9 -6
- package/dist/app/src/profiles.d.ts.map +1 -1
- package/dist/app/src/profiles.js +15 -13
- package/dist/app/src/profiles.js.map +1 -1
- package/dist/app/src/relayLists.d.ts +15 -0
- package/dist/app/src/relayLists.d.ts.map +1 -0
- package/dist/app/src/{relaySelections.js → relayLists.js} +14 -12
- package/dist/app/src/relayLists.js.map +1 -0
- package/dist/app/src/relayStats.d.ts +8 -3
- package/dist/app/src/relayStats.d.ts.map +1 -1
- package/dist/app/src/relayStats.js +16 -10
- package/dist/app/src/relayStats.js.map +1 -1
- package/dist/app/src/relays.d.ts +15 -8
- package/dist/app/src/relays.d.ts.map +1 -1
- package/dist/app/src/relays.js +48 -42
- package/dist/app/src/relays.js.map +1 -1
- package/dist/app/src/search.js +3 -3
- package/dist/app/src/search.js.map +1 -1
- package/dist/app/src/session.d.ts.map +1 -1
- package/dist/app/src/session.js +2 -2
- package/dist/app/src/session.js.map +1 -1
- package/dist/app/src/sync.js +2 -2
- package/dist/app/src/sync.js.map +1 -1
- package/dist/app/src/thunk.d.ts.map +1 -1
- package/dist/app/src/thunk.js +2 -2
- package/dist/app/src/thunk.js.map +1 -1
- package/dist/app/src/topics.d.ts +2 -1
- package/dist/app/src/topics.d.ts.map +1 -1
- package/dist/app/src/topics.js +33 -15
- package/dist/app/src/topics.js.map +1 -1
- package/dist/app/src/user.d.ts +24 -21
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js +35 -50
- package/dist/app/src/user.js.map +1 -1
- package/dist/app/src/wot.d.ts +8 -4
- package/dist/app/src/wot.d.ts.map +1 -1
- package/dist/app/src/wot.js +20 -16
- package/dist/app/src/wot.js.map +1 -1
- package/dist/app/src/zappers.d.ts +22 -7
- package/dist/app/src/zappers.d.ts.map +1 -1
- package/dist/app/src/zappers.js +44 -36
- package/dist/app/src/zappers.js.map +1 -1
- package/dist/lib/src/Tools.d.ts +36 -9
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +86 -38
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/repository.js +1 -1
- package/dist/net/src/repository.js.map +1 -1
- package/dist/signer/src/nip59.d.ts.map +1 -1
- package/dist/signer/src/nip59.js +2 -2
- package/dist/signer/src/nip59.js.map +1 -1
- package/dist/signer/src/signers/nip01.d.ts.map +1 -1
- package/dist/signer/src/signers/nip01.js +2 -1
- package/dist/signer/src/signers/nip01.js.map +1 -1
- package/dist/signer/src/signers/nip07.d.ts.map +1 -1
- package/dist/signer/src/signers/nip07.js +2 -1
- package/dist/signer/src/signers/nip07.js.map +1 -1
- package/dist/signer/src/signers/nip46.d.ts.map +1 -1
- package/dist/signer/src/signers/nip46.js +2 -2
- package/dist/signer/src/signers/nip46.js.map +1 -1
- package/dist/signer/src/signers/nip55.d.ts.map +1 -1
- package/dist/signer/src/signers/nip55.js +2 -1
- package/dist/signer/src/signers/nip55.js.map +1 -1
- package/dist/signer/src/util.d.ts +1 -36
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +2 -25
- package/dist/signer/src/util.js.map +1 -1
- package/dist/store/src/index.d.ts +1 -5
- package/dist/store/src/index.d.ts.map +1 -1
- package/dist/store/src/index.js +1 -5
- package/dist/store/src/index.js.map +1 -1
- package/dist/store/src/misc.d.ts +18 -0
- package/dist/store/src/misc.d.ts.map +1 -0
- package/dist/store/src/misc.js +66 -0
- package/dist/store/src/misc.js.map +1 -0
- package/dist/store/src/repository.d.ts +49 -11
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +293 -81
- package/dist/store/src/repository.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/src/Keys.d.ts +37 -0
- package/dist/util/src/Keys.d.ts.map +1 -0
- package/dist/util/src/Keys.js +26 -0
- package/dist/util/src/Keys.js.map +1 -0
- package/dist/util/src/Kinds.d.ts +8 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +8 -1
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/Pow.d.ts +11 -0
- package/dist/util/src/Pow.d.ts.map +1 -0
- package/dist/util/src/Pow.js +127 -0
- package/dist/util/src/Pow.js.map +1 -0
- package/dist/util/src/Relay.d.ts +1 -1
- package/dist/util/src/Relay.d.ts.map +1 -1
- package/dist/util/src/Relay.js +1 -1
- package/dist/util/src/Relay.js.map +1 -1
- package/dist/util/src/index.d.ts +2 -0
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +2 -0
- package/dist/util/src/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/app/src/inboxRelaySelections.d.ts +0 -6
- package/dist/app/src/inboxRelaySelections.d.ts.map +0 -1
- package/dist/app/src/inboxRelaySelections.js +0 -16
- package/dist/app/src/inboxRelaySelections.js.map +0 -1
- package/dist/app/src/relaySelections.d.ts +0 -11
- package/dist/app/src/relaySelections.d.ts.map +0 -1
- package/dist/app/src/relaySelections.js.map +0 -1
- package/dist/store/src/collection.d.ts +0 -34
- package/dist/store/src/collection.d.ts.map +0 -1
- package/dist/store/src/collection.js +0 -82
- package/dist/store/src/collection.js.map +0 -1
- package/dist/store/src/custom.d.ts +0 -10
- package/dist/store/src/custom.d.ts.map +0 -1
- package/dist/store/src/custom.js +0 -41
- package/dist/store/src/custom.js.map +0 -1
- package/dist/store/src/getter.d.ts +0 -11
- package/dist/store/src/getter.d.ts.map +0 -1
- package/dist/store/src/getter.js +0 -11
- package/dist/store/src/getter.js.map +0 -1
- package/dist/store/src/memoize.d.ts +0 -5
- package/dist/store/src/memoize.d.ts.map +0 -1
- package/dist/store/src/memoize.js +0 -6
- package/dist/store/src/memoize.js.map +0 -1
- package/dist/store/src/throttle.d.ts +0 -3
- package/dist/store/src/throttle.d.ts.map +0 -1
- package/dist/store/src/throttle.js +0 -9
- package/dist/store/src/throttle.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handles.js","sourceRoot":"","sources":["../../../src/handles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"handles.js","sourceRoot":"","sources":["../../../src/handles.ts"],"names":[],"mappings":"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"}
|
package/dist/app/src/index.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export * from "./profiles.js";
|
|
|
11
11
|
export * from "./pins.js";
|
|
12
12
|
export * from "./relays.js";
|
|
13
13
|
export * from "./relayStats.js";
|
|
14
|
-
export * from "./
|
|
15
|
-
export * from "./
|
|
14
|
+
export * from "./relayLists.js";
|
|
15
|
+
export * from "./messagingRelayLists.js";
|
|
16
16
|
export * from "./search.js";
|
|
17
17
|
export * from "./session.js";
|
|
18
18
|
export * from "./sync.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAI5B,OAAO,EAIL,SAAS,EAGV,MAAM,gBAAgB,CAAA;AAoDvB,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,OAAO,SAAS,aAGb,CAAA;AAEnD,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,OAAO,SAAS,8CAGU,CAAA"}
|
package/dist/app/src/index.js
CHANGED
|
@@ -11,8 +11,8 @@ export * from "./profiles.js";
|
|
|
11
11
|
export * from "./pins.js";
|
|
12
12
|
export * from "./relays.js";
|
|
13
13
|
export * from "./relayStats.js";
|
|
14
|
-
export * from "./
|
|
15
|
-
export * from "./
|
|
14
|
+
export * from "./relayLists.js";
|
|
15
|
+
export * from "./messagingRelayLists.js";
|
|
16
16
|
export * from "./search.js";
|
|
17
17
|
export * from "./session.js";
|
|
18
18
|
export * from "./sync.js";
|
|
@@ -29,10 +29,10 @@ import { routerContext } from "@welshman/router";
|
|
|
29
29
|
import { Pool, SocketEvent, isRelayEvent, netContext } from "@welshman/net";
|
|
30
30
|
import { pubkey, unwrapAndStore } from "./session.js";
|
|
31
31
|
import { repository, tracker } from "./core.js";
|
|
32
|
-
import {
|
|
32
|
+
import { getRelays, loadRelay } from "./relays.js";
|
|
33
33
|
import { trackRelayStats, getRelayQuality } from "./relayStats.js";
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
34
|
+
import { deriveRelayList, getRelayList } from "./relayLists.js";
|
|
35
|
+
import { deriveMessagingRelayList, getMessagingRelayList } from "./messagingRelayLists.js";
|
|
36
36
|
// Sync relays with our database
|
|
37
37
|
Pool.get().subscribe(socket => {
|
|
38
38
|
loadRelay(socket.url);
|
|
@@ -56,7 +56,7 @@ Pool.get().subscribe(socket => {
|
|
|
56
56
|
});
|
|
57
57
|
// Configure the router and add a few other relay utils
|
|
58
58
|
const _relayGetter = (fn) => throttleWithValue(200, () => {
|
|
59
|
-
let _relays =
|
|
59
|
+
let _relays = getRelays();
|
|
60
60
|
if (fn) {
|
|
61
61
|
_relays = _relays.filter(fn);
|
|
62
62
|
}
|
|
@@ -64,12 +64,12 @@ const _relayGetter = (fn) => throttleWithValue(200, () => {
|
|
|
64
64
|
.slice(0, 5)
|
|
65
65
|
.map(r => r.url);
|
|
66
66
|
});
|
|
67
|
-
export const getPubkeyRelays = (pubkey, mode) => mode === RelayMode.
|
|
68
|
-
? getRelaysFromList(
|
|
69
|
-
: getRelaysFromList(
|
|
70
|
-
export const derivePubkeyRelays = (pubkey, mode) => mode === RelayMode.
|
|
71
|
-
? derived(
|
|
72
|
-
: derived(
|
|
67
|
+
export const getPubkeyRelays = (pubkey, mode) => mode === RelayMode.Messaging
|
|
68
|
+
? getRelaysFromList(getMessagingRelayList(pubkey))
|
|
69
|
+
: getRelaysFromList(getRelayList(pubkey), mode);
|
|
70
|
+
export const derivePubkeyRelays = (pubkey, mode) => mode === RelayMode.Messaging
|
|
71
|
+
? derived(deriveMessagingRelayList(pubkey), list => getRelaysFromList(list))
|
|
72
|
+
: derived(deriveRelayList(pubkey), list => getRelaysFromList(list, mode));
|
|
73
73
|
routerContext.getUserPubkey = () => pubkey.get();
|
|
74
74
|
routerContext.getPubkeyRelays = getPubkeyRelays;
|
|
75
75
|
routerContext.getRelayQuality = getRelayQuality;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const messagingRelayListsByPubkey: import("svelte/store").Readable<Map<string, import("@welshman/util").PublishedList>>;
|
|
2
|
+
export declare const messagingRelayLists: import("svelte/store").Readable<import("@welshman/util").PublishedList[]>;
|
|
3
|
+
export declare const getMessagingRelayListsByPubkey: () => Map<string, import("@welshman/util").PublishedList>;
|
|
4
|
+
export declare const getMessagingRelayLists: () => import("@welshman/util").PublishedList[];
|
|
5
|
+
export declare const getMessagingRelayList: (pubkey: string) => import("@welshman/util").PublishedList | undefined;
|
|
6
|
+
export declare const forceLoadMessagingRelayList: (key: string, ...args: any[]) => Promise<import("@welshman/util").PublishedList | undefined>;
|
|
7
|
+
export declare const loadMessagingRelayList: (key: string, ...args: any[]) => Promise<import("@welshman/lib").Maybe<import("@welshman/util").PublishedList>>;
|
|
8
|
+
export declare const deriveMessagingRelayList: (key?: string, ...args: any[]) => import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
|
|
9
|
+
//# sourceMappingURL=messagingRelayLists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagingRelayLists.d.ts","sourceRoot":"","sources":["../../../src/messagingRelayLists.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,2BAA2B,sFAKtC,CAAA;AAEF,eAAO,MAAM,mBAAmB,2EAA2C,CAAA;AAE3E,eAAO,MAAM,8BAA8B,2DAAsC,CAAA;AAEjF,eAAO,MAAM,sBAAsB,gDAA8B,CAAA;AAEjE,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,uDACN,CAAA;AAE9C,eAAO,MAAM,2BAA2B,8FAGvC,CAAA;AAED,eAAO,MAAM,sBAAsB,iHAGlC,CAAA;AAED,eAAO,MAAM,wBAAwB,uHAGpC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MESSAGING_RELAYS, asDecryptedEvent, readList } from "@welshman/util";
|
|
2
|
+
import { deriveItemsByKey, deriveItems, makeForceLoadItem, makeLoadItem, makeDeriveItem, getter, } from "@welshman/store";
|
|
3
|
+
import { repository } from "./core.js";
|
|
4
|
+
import { makeOutboxLoader } from "./relayLists.js";
|
|
5
|
+
export const messagingRelayListsByPubkey = deriveItemsByKey({
|
|
6
|
+
repository,
|
|
7
|
+
eventToItem: (event) => readList(asDecryptedEvent(event)),
|
|
8
|
+
filters: [{ kinds: [MESSAGING_RELAYS] }],
|
|
9
|
+
getKey: messagingRelayLists => messagingRelayLists.event.pubkey,
|
|
10
|
+
});
|
|
11
|
+
export const messagingRelayLists = deriveItems(messagingRelayListsByPubkey);
|
|
12
|
+
export const getMessagingRelayListsByPubkey = getter(messagingRelayListsByPubkey);
|
|
13
|
+
export const getMessagingRelayLists = getter(messagingRelayLists);
|
|
14
|
+
export const getMessagingRelayList = (pubkey) => getMessagingRelayListsByPubkey().get(pubkey);
|
|
15
|
+
export const forceLoadMessagingRelayList = makeForceLoadItem(makeOutboxLoader(MESSAGING_RELAYS), getMessagingRelayList);
|
|
16
|
+
export const loadMessagingRelayList = makeLoadItem(makeOutboxLoader(MESSAGING_RELAYS), getMessagingRelayList);
|
|
17
|
+
export const deriveMessagingRelayList = makeDeriveItem(messagingRelayListsByPubkey, loadMessagingRelayList);
|
|
18
|
+
//# sourceMappingURL=messagingRelayLists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagingRelayLists.js","sourceRoot":"","sources":["../../../src/messagingRelayLists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAE3E,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,MAAM,GACP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAA;AAEhD,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;IAC1D,UAAU;IACV,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAC,CAAC;IACtC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM;CAChE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC,2BAA2B,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,EAAE,CACtD,8BAA8B,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAC1D,gBAAgB,CAAC,gBAAgB,CAAC,EAClC,qBAAqB,CACtB,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAChD,gBAAgB,CAAC,gBAAgB,CAAC,EAClC,qBAAqB,CACtB,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CACpD,2BAA2B,EAC3B,sBAAsB,CACvB,CAAA"}
|
package/dist/app/src/mutes.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { PublishedList } from "@welshman/util";
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export declare const muteListsByPubkey: import("svelte/store").Readable<Map<string, PublishedList>>;
|
|
3
|
+
export declare const muteLists: import("svelte/store").Readable<PublishedList[]>;
|
|
4
|
+
export declare const getMuteListsByPubkey: () => Map<string, PublishedList>;
|
|
5
|
+
export declare const getMuteLists: () => PublishedList[];
|
|
6
|
+
export declare const getMuteList: (pubkey: string) => PublishedList | undefined;
|
|
7
|
+
export declare const forceLoadMuteList: (key: string, ...args: any[]) => Promise<PublishedList | undefined>;
|
|
8
|
+
export declare const loadMuteList: (key: string, ...args: any[]) => Promise<import("@welshman/lib").Maybe<PublishedList>>;
|
|
9
|
+
export declare const deriveMuteList: (key?: string, ...args: any[]) => import("svelte/store").Readable<PublishedList | undefined>;
|
|
6
10
|
//# sourceMappingURL=mutes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutes.d.ts","sourceRoot":"","sources":["../../../src/mutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,aAAa,EAAC,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"mutes.d.ts","sourceRoot":"","sources":["../../../src/mutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAa1D,eAAO,MAAM,iBAAiB,6DAU5B,CAAA;AAEF,eAAO,MAAM,SAAS,kDAAiC,CAAA;AAEvD,eAAO,MAAM,oBAAoB,kCAA4B,CAAA;AAE7D,eAAO,MAAM,YAAY,uBAAoB,CAAA;AAE7C,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,8BAAuC,CAAA;AAEjF,eAAO,MAAM,iBAAiB,qEAA0D,CAAA;AAExF,eAAO,MAAM,YAAY,wFAAqD,CAAA;AAE9E,eAAO,MAAM,cAAc,8FAAkD,CAAA"}
|
package/dist/app/src/mutes.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { MUTES, asDecryptedEvent, readList } from "@welshman/util";
|
|
2
|
-
import {
|
|
2
|
+
import { deriveItemsByKey, deriveItems, makeForceLoadItem, makeLoadItem, makeDeriveItem, getter, } from "@welshman/store";
|
|
3
3
|
import { repository } from "./core.js";
|
|
4
4
|
import { ensurePlaintext } from "./plaintext.js";
|
|
5
|
-
import { makeOutboxLoader } from "./
|
|
6
|
-
export const
|
|
7
|
-
|
|
8
|
-
itemToEvent: item => item.event,
|
|
5
|
+
import { makeOutboxLoader } from "./relayLists.js";
|
|
6
|
+
export const muteListsByPubkey = deriveItemsByKey({
|
|
7
|
+
repository,
|
|
9
8
|
eventToItem: async (event) => readList(asDecryptedEvent(event, {
|
|
10
9
|
content: await ensurePlaintext(event),
|
|
11
10
|
})),
|
|
12
|
-
}
|
|
13
|
-
export const { indexStore: mutesByPubkey, deriveItem: deriveMutes, loadItem: loadMutes, } = collection({
|
|
14
|
-
name: "mutes",
|
|
15
|
-
store: mutes,
|
|
11
|
+
filters: [{ kinds: [MUTES] }],
|
|
16
12
|
getKey: mute => mute.event.pubkey,
|
|
17
|
-
load: makeOutboxLoader(MUTES),
|
|
18
13
|
});
|
|
14
|
+
export const muteLists = deriveItems(muteListsByPubkey);
|
|
15
|
+
export const getMuteListsByPubkey = getter(muteListsByPubkey);
|
|
16
|
+
export const getMuteLists = getter(muteLists);
|
|
17
|
+
export const getMuteList = (pubkey) => getMuteListsByPubkey().get(pubkey);
|
|
18
|
+
export const forceLoadMuteList = makeForceLoadItem(makeOutboxLoader(MUTES), getMuteList);
|
|
19
|
+
export const loadMuteList = makeLoadItem(makeOutboxLoader(MUTES), getMuteList);
|
|
20
|
+
export const deriveMuteList = makeDeriveItem(muteListsByPubkey, loadMuteList);
|
|
19
21
|
//# sourceMappingURL=mutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutes.js","sourceRoot":"","sources":["../../../src/mutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEhE,OAAO,
|
|
1
|
+
{"version":3,"file":"mutes.js","sourceRoot":"","sources":["../../../src/mutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,MAAM,GACP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAA;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAgB;IAC/D,UAAU;IACV,WAAW,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,CACzC,QAAQ,CACN,gBAAgB,CAAC,KAAK,EAAE;QACtB,OAAO,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;KACtC,CAAC,CACH;IACH,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA"}
|
package/dist/app/src/pins.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export declare const pinListsByPubkey: import("svelte/store").Readable<Map<string, import("@welshman/util").PublishedList>>;
|
|
2
|
+
export declare const pinLists: import("svelte/store").Readable<import("@welshman/util").PublishedList[]>;
|
|
3
|
+
export declare const getPinListsByPubkey: () => Map<string, import("@welshman/util").PublishedList>;
|
|
4
|
+
export declare const getPinLists: () => import("@welshman/util").PublishedList[];
|
|
5
|
+
export declare const getPinList: (pubkey: string) => import("@welshman/util").PublishedList | undefined;
|
|
6
|
+
export declare const forceLoadPinList: (key: string, ...args: any[]) => Promise<import("@welshman/util").PublishedList | undefined>;
|
|
7
|
+
export declare const loadPinList: (key: string, ...args: any[]) => Promise<import("@welshman/lib").Maybe<import("@welshman/util").PublishedList>>;
|
|
8
|
+
export declare const derivePinList: (key?: string, ...args: any[]) => import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
|
|
6
9
|
//# sourceMappingURL=pins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pins.d.ts","sourceRoot":"","sources":["../../../src/pins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pins.d.ts","sourceRoot":"","sources":["../../../src/pins.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,sFAK3B,CAAA;AAEF,eAAO,MAAM,QAAQ,2EAAgC,CAAA;AAErD,eAAO,MAAM,mBAAmB,2DAA2B,CAAA;AAE3D,eAAO,MAAM,WAAW,gDAAmB,CAAA;AAE3C,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,uDAAsC,CAAA;AAE/E,eAAO,MAAM,gBAAgB,8FAAwD,CAAA;AAErF,eAAO,MAAM,WAAW,iHAAmD,CAAA;AAE3E,eAAO,MAAM,aAAa,uHAAgD,CAAA"}
|
package/dist/app/src/pins.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { PINS, asDecryptedEvent, readList } from "@welshman/util";
|
|
2
|
-
import {
|
|
2
|
+
import { deriveItemsByKey, deriveItems, makeForceLoadItem, makeLoadItem, makeDeriveItem, getter, } from "@welshman/store";
|
|
3
3
|
import { repository } from "./core.js";
|
|
4
|
-
import { makeOutboxLoader } from "./
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
itemToEvent: item => item.event,
|
|
4
|
+
import { makeOutboxLoader } from "./relayLists.js";
|
|
5
|
+
export const pinListsByPubkey = deriveItemsByKey({
|
|
6
|
+
repository,
|
|
8
7
|
eventToItem: (event) => readList(asDecryptedEvent(event)),
|
|
9
|
-
}
|
|
10
|
-
export const { indexStore: pinsByPubkey, deriveItem: derivePins, loadItem: loadPins, } = collection({
|
|
11
|
-
name: "pins",
|
|
12
|
-
store: pins,
|
|
8
|
+
filters: [{ kinds: [PINS] }],
|
|
13
9
|
getKey: pins => pins.event.pubkey,
|
|
14
|
-
load: makeOutboxLoader(PINS),
|
|
15
10
|
});
|
|
11
|
+
export const pinLists = deriveItems(pinListsByPubkey);
|
|
12
|
+
export const getPinListsByPubkey = getter(pinListsByPubkey);
|
|
13
|
+
export const getPinLists = getter(pinLists);
|
|
14
|
+
export const getPinList = (pubkey) => getPinListsByPubkey().get(pubkey);
|
|
15
|
+
export const forceLoadPinList = makeForceLoadItem(makeOutboxLoader(PINS), getPinList);
|
|
16
|
+
export const loadPinList = makeLoadItem(makeOutboxLoader(PINS), getPinList);
|
|
17
|
+
export const derivePinList = makeDeriveItem(pinListsByPubkey, loadPinList);
|
|
16
18
|
//# sourceMappingURL=pins.js.map
|
package/dist/app/src/pins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pins.js","sourceRoot":"","sources":["../../../src/pins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"pins.js","sourceRoot":"","sources":["../../../src/pins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,MAAM,GACP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAA;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAC/C,UAAU;IACV,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const profiles: import("@welshman/
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export declare const profilesByPubkey: import("svelte/store").Readable<Map<string, import("@welshman/util").PublishedProfile>>;
|
|
2
|
+
export declare const profiles: import("svelte/store").Readable<import("@welshman/util").PublishedProfile[]>;
|
|
3
|
+
export declare const getProfilesByPubkey: () => Map<string, import("@welshman/util").PublishedProfile>;
|
|
4
|
+
export declare const getProfiles: () => import("@welshman/util").PublishedProfile[];
|
|
5
|
+
export declare const getProfile: (pubkey: string) => import("@welshman/util").PublishedProfile | undefined;
|
|
6
|
+
export declare const forceLoadProfile: (key: string, ...args: any[]) => Promise<import("@welshman/util").PublishedProfile | undefined>;
|
|
7
|
+
export declare const loadProfile: (key: string, ...args: any[]) => Promise<import("@welshman/lib").Maybe<import("@welshman/util").PublishedProfile>>;
|
|
8
|
+
export declare const deriveProfile: (key?: string, ...args: any[]) => import("svelte/store").Readable<import("@welshman/util").PublishedProfile | undefined>;
|
|
6
9
|
export declare const displayProfileByPubkey: (pubkey: string | undefined) => string;
|
|
7
|
-
export declare const deriveProfileDisplay: (pubkey: string | undefined,
|
|
10
|
+
export declare const deriveProfileDisplay: (pubkey: string | undefined, ...args: any[]) => import("svelte/store").Readable<string>;
|
|
8
11
|
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/profiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/profiles.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,yFAK3B,CAAA;AAEF,eAAO,MAAM,QAAQ,8EAAgC,CAAA;AAErD,eAAO,MAAM,mBAAmB,8DAA2B,CAAA;AAE3D,eAAO,MAAM,WAAW,mDAAmB,CAAA;AAE3C,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,0DAAsC,CAAA;AAE/E,eAAO,MAAM,gBAAgB,iGAAuE,CAAA;AAEpG,eAAO,MAAM,WAAW,oHAAkE,CAAA;AAE1F,eAAO,MAAM,aAAa,0HAAgD,CAAA;AAE1E,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,GAAG,SAAS,WACQ,CAAA;AAEzE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,EAAE,4CAK7D,CAAA"}
|
package/dist/app/src/profiles.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { derived, readable } from "svelte/store";
|
|
2
2
|
import { readProfile, displayProfile, displayPubkey, PROFILE } from "@welshman/util";
|
|
3
|
-
import {
|
|
3
|
+
import { deriveItemsByKey, deriveItems, makeForceLoadItem, makeLoadItem, makeDeriveItem, getter, } from "@welshman/store";
|
|
4
4
|
import { repository } from "./core.js";
|
|
5
|
-
import { makeOutboxLoaderWithIndexers } from "./
|
|
6
|
-
export const
|
|
7
|
-
|
|
5
|
+
import { makeOutboxLoaderWithIndexers } from "./relayLists.js";
|
|
6
|
+
export const profilesByPubkey = deriveItemsByKey({
|
|
7
|
+
repository,
|
|
8
8
|
eventToItem: readProfile,
|
|
9
|
-
|
|
10
|
-
}));
|
|
11
|
-
export const { indexStore: profilesByPubkey, deriveItem: deriveProfile, loadItem: loadProfile, } = collection({
|
|
12
|
-
name: "profiles",
|
|
13
|
-
store: profiles,
|
|
9
|
+
filters: [{ kinds: [PROFILE] }],
|
|
14
10
|
getKey: profile => profile.event.pubkey,
|
|
15
|
-
load: makeOutboxLoaderWithIndexers(PROFILE),
|
|
16
11
|
});
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
19
|
-
|
|
12
|
+
export const profiles = deriveItems(profilesByPubkey);
|
|
13
|
+
export const getProfilesByPubkey = getter(profilesByPubkey);
|
|
14
|
+
export const getProfiles = getter(profiles);
|
|
15
|
+
export const getProfile = (pubkey) => getProfilesByPubkey().get(pubkey);
|
|
16
|
+
export const forceLoadProfile = makeForceLoadItem(makeOutboxLoaderWithIndexers(PROFILE), getProfile);
|
|
17
|
+
export const loadProfile = makeLoadItem(makeOutboxLoaderWithIndexers(PROFILE), getProfile);
|
|
18
|
+
export const deriveProfile = makeDeriveItem(profilesByPubkey, loadProfile);
|
|
19
|
+
export const displayProfileByPubkey = (pubkey) => pubkey ? displayProfile(getProfile(pubkey), displayPubkey(pubkey)) : "";
|
|
20
|
+
export const deriveProfileDisplay = (pubkey, ...args) => pubkey
|
|
21
|
+
? derived(deriveProfile(pubkey, ...args), $profile => displayProfile($profile, displayPubkey(pubkey)))
|
|
20
22
|
: readable("");
|
|
21
23
|
//# sourceMappingURL=profiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAA;AAClF,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,MAAM,GACP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAA;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAC/C,UAAU;IACV,WAAW,EAAE,WAAW;IACxB,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;CACxC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;AAEpG,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAA0B,EAAE,EAAE,CACnE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,GAAG,IAAW,EAAE,EAAE,CACjF,MAAM;IACJ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CACjD,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAChD;IACH,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Filter, TrustedEvent } from "@welshman/util";
|
|
2
|
+
import { LoadOptions } from "@welshman/net";
|
|
3
|
+
export type LoadUsingOutboxOptions = Omit<LoadOptions, "relays">;
|
|
4
|
+
export declare const loadUsingOutbox: (request: LoadUsingOutboxOptions) => Promise<Promise<TrustedEvent[]>>;
|
|
5
|
+
export declare const makeOutboxLoader: (kind: number, filter?: Filter) => (pubkey: string, relays: string[]) => Promise<[TrustedEvent[], TrustedEvent[]]>;
|
|
6
|
+
export declare const makeOutboxLoaderWithIndexers: (kind: number, filter?: Filter) => (pubkey: string, relays: string[]) => Promise<[TrustedEvent[], TrustedEvent[], TrustedEvent[]]>;
|
|
7
|
+
export declare const relayListsByPubkey: import("svelte/store").Readable<Map<string, import("@welshman/util").PublishedList>>;
|
|
8
|
+
export declare const relayLists: import("svelte/store").Readable<import("@welshman/util").PublishedList[]>;
|
|
9
|
+
export declare const getRelayListsByPubkey: () => Map<string, import("@welshman/util").PublishedList>;
|
|
10
|
+
export declare const getRelayLists: () => import("@welshman/util").PublishedList[];
|
|
11
|
+
export declare const getRelayList: (pubkey: string) => import("@welshman/util").PublishedList | undefined;
|
|
12
|
+
export declare const forceLoadRelayList: (key: string, ...args: any[]) => Promise<import("@welshman/util").PublishedList | undefined>;
|
|
13
|
+
export declare const loadRelayList: (key: string, ...args: any[]) => Promise<import("@welshman/lib").Maybe<import("@welshman/util").PublishedList>>;
|
|
14
|
+
export declare const deriveRelayList: (key?: string, ...args: any[]) => import("svelte/store").Readable<import("@welshman/util").PublishedList | undefined>;
|
|
15
|
+
//# sourceMappingURL=relayLists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayLists.d.ts","sourceRoot":"","sources":["../../../src/relayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAA8B,YAAY,EAAC,MAAM,gBAAgB,CAAA;AASvF,OAAO,EAAO,WAAW,EAAC,MAAM,eAAe,CAAA;AAI/C,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAEhE,eAAO,MAAM,eAAe,uEAK1B,CAAA;AAEF,eAAO,MAAM,gBAAgB,GAC1B,MAAM,MAAM,EAAE,SAAQ,MAAW,MACjC,QAAQ,MAAM,EAAE,QAAQ,MAAM,EAAE,8CAIhC,CAAA;AAEH,eAAO,MAAM,4BAA4B,GACtC,MAAM,MAAM,EAAE,SAAQ,MAAW,MACjC,QAAQ,MAAM,EAAE,QAAQ,MAAM,EAAE,8DAQhC,CAAA;AAEH,eAAO,MAAM,kBAAkB,sFAK7B,CAAA;AAEF,eAAO,MAAM,UAAU,2EAAkC,CAAA;AAEzD,eAAO,MAAM,qBAAqB,2DAA6B,CAAA;AAE/D,eAAO,MAAM,aAAa,gDAAqB,CAAA;AAE/C,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,uDAAwC,CAAA;AAEnF,eAAO,MAAM,kBAAkB,8FAG9B,CAAA;AAED,eAAO,MAAM,aAAa,iHAAmE,CAAA;AAE7F,eAAO,MAAM,eAAe,uHAAoD,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { batcher } from "@welshman/lib";
|
|
2
|
-
import { RELAYS, asDecryptedEvent, readList
|
|
3
|
-
import {
|
|
2
|
+
import { RELAYS, asDecryptedEvent, readList } from "@welshman/util";
|
|
3
|
+
import { deriveItemsByKey, deriveItems, makeForceLoadItem, makeLoadItem, makeDeriveItem, getter, } from "@welshman/store";
|
|
4
4
|
import { load } from "@welshman/net";
|
|
5
5
|
import { Router } from "@welshman/router";
|
|
6
6
|
import { repository } from "./core.js";
|
|
@@ -21,15 +21,17 @@ export const makeOutboxLoaderWithIndexers = (kind, filter = {}) => (pubkey, rela
|
|
|
21
21
|
load({ relays: Router.get().Index().getUrls(), filters }),
|
|
22
22
|
]);
|
|
23
23
|
};
|
|
24
|
-
export const
|
|
25
|
-
|
|
26
|
-
itemToEvent: item => item.event,
|
|
24
|
+
export const relayListsByPubkey = deriveItemsByKey({
|
|
25
|
+
repository,
|
|
27
26
|
eventToItem: (event) => readList(asDecryptedEvent(event)),
|
|
27
|
+
filters: [{ kinds: [RELAYS] }],
|
|
28
|
+
getKey: relayList => relayList.event.pubkey,
|
|
28
29
|
});
|
|
29
|
-
export const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
export const relayLists = deriveItems(relayListsByPubkey);
|
|
31
|
+
export const getRelayListsByPubkey = getter(relayListsByPubkey);
|
|
32
|
+
export const getRelayLists = getter(relayLists);
|
|
33
|
+
export const getRelayList = (pubkey) => getRelayListsByPubkey().get(pubkey);
|
|
34
|
+
export const forceLoadRelayList = makeForceLoadItem(makeOutboxLoaderWithIndexers(RELAYS), getRelayList);
|
|
35
|
+
export const loadRelayList = makeLoadItem(makeOutboxLoaderWithIndexers(RELAYS), getRelayList);
|
|
36
|
+
export const deriveRelayList = makeDeriveItem(relayListsByPubkey, loadRelayList);
|
|
37
|
+
//# sourceMappingURL=relayLists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayLists.js","sourceRoot":"","sources":["../../../src/relayLists.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Subscriber } from "svelte/store";
|
|
1
2
|
import { Socket } from "@welshman/net";
|
|
2
3
|
export type RelayStats = {
|
|
3
4
|
url: string;
|
|
@@ -21,9 +22,13 @@ export type RelayStats = {
|
|
|
21
22
|
notice_count: number;
|
|
22
23
|
};
|
|
23
24
|
export declare const makeRelayStats: (url: string) => RelayStats;
|
|
24
|
-
export declare const
|
|
25
|
-
export declare const
|
|
26
|
-
export declare const
|
|
25
|
+
export declare const relayStatsByUrl: import("svelte/store").Writable<Map<string, RelayStats>>;
|
|
26
|
+
export declare const getRelayStatsByUrl: () => Map<string, RelayStats>;
|
|
27
|
+
export declare const getRelayStats: (url: string) => RelayStats | undefined;
|
|
28
|
+
export declare const relayStatsSubscribers: Subscriber<RelayStats>[];
|
|
29
|
+
export declare const notifyRelayStats: (relayStats: RelayStats) => void;
|
|
30
|
+
export declare const onRelayStats: (sub: (relayStats: RelayStats) => void) => () => Subscriber<RelayStats>[];
|
|
31
|
+
export declare const deriveRelayStats: (key?: string, ...args: any[]) => import("svelte/store").Readable<RelayStats | undefined>;
|
|
27
32
|
export declare const getRelayQuality: (url: string) => 1 | 0 | 0.8 | 0.9 | 0.7;
|
|
28
33
|
export declare const trackRelayStats: (socket: Socket) => () => void;
|
|
29
34
|
//# sourceMappingURL=relayStats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayStats.d.ts","sourceRoot":"","sources":["../../../src/relayStats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relayStats.d.ts","sourceRoot":"","sources":["../../../src/relayStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAC,MAAM,cAAc,CAAA;AAIjD,OAAO,EAAO,MAAM,EAAyD,MAAM,eAAe,CAAA;AAElG,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,UAoB3C,CAAA;AAEF,eAAO,MAAM,eAAe,0DAA0C,CAAA;AAEtE,eAAO,MAAM,kBAAkB,+BAA0B,CAAA;AAEzD,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,2BAAkC,CAAA;AAE3E,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAAC,UAAU,CAAC,EAAO,CAAA;AAEjE,eAAO,MAAM,gBAAgB,GAAI,YAAY,UAAU,SACA,CAAA;AAEvD,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,mCAQjE,CAAA;AAED,eAAO,MAAM,gBAAgB,2FAAkC,CAAA;AAE/D,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,4BA0B1C,CAAA;AA8HD,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,eAU7C,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { writable
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { writable } from "svelte/store";
|
|
2
|
+
import { getter, makeDeriveItem } from "@welshman/store";
|
|
3
|
+
import { groupBy, batch, now, uniq, ago, DAY, HOUR, MINUTE } from "@welshman/lib";
|
|
4
4
|
import { isOnionUrl, isLocalUrl, isIPAddress, isRelayUrl } from "@welshman/util";
|
|
5
5
|
import { Pool, SocketStatus, SocketEvent } from "@welshman/net";
|
|
6
6
|
export const makeRelayStats = (url) => ({
|
|
@@ -24,14 +24,21 @@ export const makeRelayStats = (url) => ({
|
|
|
24
24
|
eose_count: 0,
|
|
25
25
|
notice_count: 0,
|
|
26
26
|
});
|
|
27
|
-
export const
|
|
28
|
-
export const
|
|
29
|
-
export const
|
|
27
|
+
export const relayStatsByUrl = writable(new Map());
|
|
28
|
+
export const getRelayStatsByUrl = getter(relayStatsByUrl);
|
|
29
|
+
export const getRelayStats = (url) => getRelayStatsByUrl().get(url);
|
|
30
|
+
export const relayStatsSubscribers = [];
|
|
31
|
+
export const notifyRelayStats = (relayStats) => relayStatsSubscribers.forEach(sub => sub(relayStats));
|
|
32
|
+
export const onRelayStats = (sub) => {
|
|
33
|
+
relayStatsSubscribers.push(sub);
|
|
34
|
+
return () => relayStatsSubscribers.splice(relayStatsSubscribers.findIndex(s => s === sub), 1);
|
|
35
|
+
};
|
|
36
|
+
export const deriveRelayStats = makeDeriveItem(relayStatsByUrl);
|
|
30
37
|
export const getRelayQuality = (url) => {
|
|
31
38
|
// Skip non-relays entirely
|
|
32
39
|
if (!isRelayUrl(url))
|
|
33
40
|
return 0;
|
|
34
|
-
const relayStats =
|
|
41
|
+
const relayStats = getRelayStats(url);
|
|
35
42
|
// If we have recent errors, skip it
|
|
36
43
|
if (relayStats) {
|
|
37
44
|
if (relayStats.recent_errors.filter(n => n > ago(MINUTE)).length > 0)
|
|
@@ -55,8 +62,7 @@ export const getRelayQuality = (url) => {
|
|
|
55
62
|
return 0.7;
|
|
56
63
|
};
|
|
57
64
|
const updateRelayStats = batch(500, (updates) => {
|
|
58
|
-
|
|
59
|
-
const $relayStatsByUrl = indexBy(r => r.url, $relayStats);
|
|
65
|
+
relayStatsByUrl.update($relayStatsByUrl => {
|
|
60
66
|
for (const [url, items] of groupBy(([url]) => url, updates)) {
|
|
61
67
|
if (!url || !isRelayUrl(url)) {
|
|
62
68
|
console.warn(`Attempted to update stats for an invalid relay url: ${url}`);
|
|
@@ -69,7 +75,7 @@ const updateRelayStats = batch(500, (updates) => {
|
|
|
69
75
|
// Copy so the database gets updated, since we're mutating in updates
|
|
70
76
|
$relayStatsByUrl.set(url, { ...$relayStatsItem });
|
|
71
77
|
}
|
|
72
|
-
return
|
|
78
|
+
return $relayStatsByUrl;
|
|
73
79
|
});
|
|
74
80
|
});
|
|
75
81
|
const onSocketSend = ([verb], url) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayStats.js","sourceRoot":"","sources":["../../../src/relayStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"relayStats.js","sourceRoot":"","sources":["../../../src/relayStats.ts"],"names":[],"mappings":"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"}
|