@welshman/app 0.9.0-pre2 → 0.9.0-pre4
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/app.d.ts +6 -2
- package/dist/app/src/app.d.ts.map +1 -1
- package/dist/app/src/app.js +6 -5
- package/dist/app/src/app.js.map +1 -1
- package/dist/app/src/index.d.ts +2 -0
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +2 -0
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/plugins/base.d.ts +6 -5
- package/dist/app/src/plugins/base.d.ts.map +1 -1
- package/dist/app/src/plugins/base.js +9 -2
- package/dist/app/src/plugins/base.js.map +1 -1
- package/dist/app/src/plugins/domain.d.ts +5 -4
- package/dist/app/src/plugins/domain.d.ts.map +1 -1
- package/dist/app/src/plugins/domain.js +5 -1
- package/dist/app/src/plugins/domain.js.map +1 -1
- package/dist/app/src/plugins/events.d.ts +31 -0
- package/dist/app/src/plugins/events.d.ts.map +1 -0
- package/dist/app/src/plugins/events.js +64 -0
- package/dist/app/src/plugins/events.js.map +1 -0
- package/dist/app/src/plugins/feeds.d.ts.map +1 -1
- package/dist/app/src/plugins/feeds.js +8 -4
- package/dist/app/src/plugins/feeds.js.map +1 -1
- package/dist/app/src/plugins/logger.d.ts +1 -4
- package/dist/app/src/plugins/logger.d.ts.map +1 -1
- package/dist/app/src/plugins/network.d.ts +2 -0
- package/dist/app/src/plugins/network.d.ts.map +1 -1
- package/dist/app/src/plugins/network.js +14 -3
- package/dist/app/src/plugins/network.js.map +1 -1
- package/dist/app/src/plugins/profiles.d.ts.map +1 -1
- package/dist/app/src/plugins/profiles.js +7 -7
- package/dist/app/src/plugins/profiles.js.map +1 -1
- package/dist/app/src/plugins/reactions.js +4 -4
- package/dist/app/src/plugins/reactions.js.map +1 -1
- package/dist/app/src/plugins/relayRoles.js +1 -1
- package/dist/app/src/plugins/relayRoles.js.map +1 -1
- package/dist/app/src/plugins/relays.d.ts +1 -1
- package/dist/app/src/plugins/relays.js +1 -1
- package/dist/app/src/plugins/roomLists.d.ts +11 -7
- package/dist/app/src/plugins/roomLists.d.ts.map +1 -1
- package/dist/app/src/plugins/roomLists.js +17 -4
- package/dist/app/src/plugins/roomLists.js.map +1 -1
- package/dist/app/src/plugins/roomPins.d.ts +18 -0
- package/dist/app/src/plugins/roomPins.d.ts.map +1 -0
- package/dist/app/src/plugins/roomPins.js +34 -0
- package/dist/app/src/plugins/roomPins.js.map +1 -0
- package/dist/app/src/plugins/rooms.d.ts +24 -10
- package/dist/app/src/plugins/rooms.d.ts.map +1 -1
- package/dist/app/src/plugins/rooms.js +113 -46
- package/dist/app/src/plugins/rooms.js.map +1 -1
- package/dist/app/src/plugins/thunk.d.ts.map +1 -1
- package/dist/app/src/plugins/thunk.js +18 -2
- package/dist/app/src/plugins/thunk.js.map +1 -1
- package/dist/app/src/plugins/wot.d.ts +45 -19
- package/dist/app/src/plugins/wot.d.ts.map +1 -1
- package/dist/app/src/plugins/wot.js +155 -94
- package/dist/app/src/plugins/wot.js.map +1 -1
- package/dist/app/src/plugins/wraps.d.ts.map +1 -1
- package/dist/app/src/plugins/wraps.js +13 -7
- package/dist/app/src/plugins/wraps.js.map +1 -1
- package/dist/app/src/plugins/zappers.d.ts.map +1 -1
- package/dist/app/src/plugins/zappers.js +5 -9
- package/dist/app/src/plugins/zappers.js.map +1 -1
- package/dist/app/src/policy.d.ts.map +1 -1
- package/dist/app/src/policy.js +6 -5
- package/dist/app/src/policy.js.map +1 -1
- package/dist/app/src/user.d.ts +2 -2
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js +1 -1
- package/dist/app/src/user.js.map +1 -1
- package/dist/domain/src/core/EventReader.d.ts +30 -3
- package/dist/domain/src/core/EventReader.d.ts.map +1 -1
- package/dist/domain/src/core/EventReader.js +24 -3
- package/dist/domain/src/core/EventReader.js.map +1 -1
- package/dist/domain/src/core/EventWriter.d.ts +6 -6
- package/dist/domain/src/core/EventWriter.d.ts.map +1 -1
- package/dist/domain/src/core/EventWriter.js +12 -12
- package/dist/domain/src/core/EventWriter.js.map +1 -1
- package/dist/domain/src/core/Kind.d.ts +5 -5
- package/dist/domain/src/core/Kind.d.ts.map +1 -1
- package/dist/domain/src/core/Kind.js +4 -6
- package/dist/domain/src/core/Kind.js.map +1 -1
- package/dist/domain/src/core/ListReader.d.ts +3 -3
- package/dist/domain/src/core/ListReader.d.ts.map +1 -1
- package/dist/domain/src/core/ListReader.js +3 -2
- package/dist/domain/src/core/ListReader.js.map +1 -1
- package/dist/domain/src/index.d.ts +3 -1
- package/dist/domain/src/index.d.ts.map +1 -1
- package/dist/domain/src/index.js +3 -1
- package/dist/domain/src/index.js.map +1 -1
- package/dist/domain/src/kinds/AppData.d.ts +3 -3
- package/dist/domain/src/kinds/AppData.d.ts.map +1 -1
- package/dist/domain/src/kinds/AppData.js +5 -4
- package/dist/domain/src/kinds/AppData.js.map +1 -1
- package/dist/domain/src/kinds/CommunityList.d.ts +12 -0
- package/dist/domain/src/kinds/CommunityList.d.ts.map +1 -0
- package/dist/domain/src/kinds/{GroupList.js → CommunityList.js} +10 -9
- package/dist/domain/src/kinds/CommunityList.js.map +1 -0
- package/dist/domain/src/kinds/Delete.d.ts +1 -1
- package/dist/domain/src/kinds/Delete.d.ts.map +1 -1
- package/dist/domain/src/kinds/Delete.js +7 -7
- package/dist/domain/src/kinds/Delete.js.map +1 -1
- package/dist/domain/src/kinds/Handler.d.ts +1 -1
- package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
- package/dist/domain/src/kinds/Handler.js +2 -1
- package/dist/domain/src/kinds/Handler.js.map +1 -1
- package/dist/domain/src/kinds/Profile.d.ts +1 -1
- package/dist/domain/src/kinds/Profile.d.ts.map +1 -1
- package/dist/domain/src/kinds/Profile.js +2 -1
- package/dist/domain/src/kinds/Profile.js.map +1 -1
- package/dist/domain/src/kinds/RoomCreate.js +2 -2
- package/dist/domain/src/kinds/RoomCreate.js.map +1 -1
- package/dist/domain/src/kinds/RoomDelete.js +3 -3
- package/dist/domain/src/kinds/RoomDelete.js.map +1 -1
- package/dist/domain/src/kinds/RoomEdit.js +3 -3
- package/dist/domain/src/kinds/RoomEdit.js.map +1 -1
- package/dist/domain/src/kinds/RoomJoin.js +2 -2
- package/dist/domain/src/kinds/RoomJoin.js.map +1 -1
- package/dist/domain/src/kinds/RoomLeave.js +3 -3
- package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
- package/dist/domain/src/kinds/RoomList.d.ts +7 -5
- package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomList.js +44 -16
- package/dist/domain/src/kinds/RoomList.js.map +1 -1
- package/dist/domain/src/kinds/RoomPins.d.ts +15 -0
- package/dist/domain/src/kinds/RoomPins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomPins.js +34 -0
- package/dist/domain/src/kinds/RoomPins.js.map +1 -0
- package/dist/domain/src/kinds/RoomUpdatePins.d.ts +15 -0
- package/dist/domain/src/kinds/RoomUpdatePins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomUpdatePins.js +38 -0
- package/dist/domain/src/kinds/RoomUpdatePins.js.map +1 -0
- package/dist/domain/src/kinds/ZapGoal.d.ts +5 -0
- package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapGoal.js +29 -4
- package/dist/domain/src/kinds/ZapGoal.js.map +1 -1
- package/dist/domain/src/kinds/ZapReceipt.d.ts +1 -1
- package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapReceipt.js +2 -1
- package/dist/domain/src/kinds/ZapReceipt.js.map +1 -1
- package/dist/lib/src/LRUCache.d.ts +0 -1
- package/dist/lib/src/LRUCache.d.ts.map +1 -1
- package/dist/lib/src/LRUCache.js +9 -10
- package/dist/lib/src/LRUCache.js.map +1 -1
- package/dist/lib/src/Tools.js +1 -1
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/auth.d.ts.map +1 -1
- package/dist/net/src/auth.js +2 -2
- package/dist/net/src/auth.js.map +1 -1
- package/dist/net/src/publish.d.ts.map +1 -1
- package/dist/net/src/publish.js +13 -0
- package/dist/net/src/publish.js.map +1 -1
- package/dist/net/src/request.d.ts +1 -2
- package/dist/net/src/request.d.ts.map +1 -1
- package/dist/net/src/request.js +16 -2
- package/dist/net/src/request.js.map +1 -1
- package/dist/signer/src/nip59.d.ts +1 -1
- package/dist/signer/src/nip59.d.ts.map +1 -1
- package/dist/signer/src/nip59.js +26 -30
- package/dist/signer/src/nip59.js.map +1 -1
- package/dist/signer/src/signers/nip07.d.ts.map +1 -1
- package/dist/signer/src/signers/nip07.js +19 -5
- package/dist/signer/src/signers/nip07.js.map +1 -1
- package/dist/signer/src/signers/nip55.d.ts +46 -6
- package/dist/signer/src/signers/nip55.d.ts.map +1 -1
- package/dist/signer/src/signers/nip55.js +53 -54
- package/dist/signer/src/signers/nip55.js.map +1 -1
- package/dist/signer/src/util.d.ts +2 -2
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +2 -6
- package/dist/signer/src/util.js.map +1 -1
- package/dist/store/src/misc.d.ts +4 -2
- package/dist/store/src/misc.d.ts.map +1 -1
- package/dist/store/src/misc.js +2 -4
- package/dist/store/src/misc.js.map +1 -1
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +44 -19
- package/dist/store/src/repository.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/src/Kinds.d.ts +2 -0
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +2 -0
- package/dist/util/src/Kinds.js.map +1 -1
- package/package.json +18 -18
- package/dist/domain/src/kinds/GroupList.d.ts +0 -12
- package/dist/domain/src/kinds/GroupList.d.ts.map +0 -1
- package/dist/domain/src/kinds/GroupList.js.map +0 -1
package/dist/app/src/app.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Unsubscriber } from "svelte/store";
|
|
1
2
|
import { Pool, Tracker, Repository, WrapManager } from "@welshman/net";
|
|
2
3
|
import type { NetContext, AdapterFactory } from "@welshman/net";
|
|
3
4
|
import type { User } from "./user.js";
|
|
@@ -14,10 +15,12 @@ export type AppOptions = {
|
|
|
14
15
|
getAdapter?: AdapterFactory;
|
|
15
16
|
policies?: AppPolicy[];
|
|
16
17
|
};
|
|
18
|
+
export type Plugin<T = unknown> = new (app: IApp) => T;
|
|
17
19
|
export interface IApp {
|
|
18
20
|
user?: User;
|
|
19
21
|
config: AppConfig;
|
|
20
|
-
use: <T>(Ctor:
|
|
22
|
+
use: <T>(Ctor: Plugin<T>) => T;
|
|
23
|
+
onCleanup: (unsubscriber: Unsubscriber) => void;
|
|
21
24
|
netContext: NetContext;
|
|
22
25
|
pool: Pool;
|
|
23
26
|
tracker: Tracker;
|
|
@@ -41,7 +44,8 @@ export declare class App implements IApp {
|
|
|
41
44
|
private singletons;
|
|
42
45
|
private unsubscribers;
|
|
43
46
|
constructor(options?: AppOptions);
|
|
44
|
-
use: <T>(Ctor:
|
|
47
|
+
use: <T>(Ctor: Plugin<T>) => T;
|
|
48
|
+
onCleanup: (unsubscriber: Unsubscriber) => void;
|
|
45
49
|
cleanup(): void;
|
|
46
50
|
}
|
|
47
51
|
//# sourceMappingURL=app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AACpE,OAAO,KAAK,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;IACjC,gBAAgB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC,CAAA;AAEtD,MAAM,WAAW,IAAI;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC9B,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAC/C,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED;;;;;GAKG;AACH,qBAAa,GAAI,YAAW,IAAI;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IAExB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,aAAa,CAAqB;gBAE9B,OAAO,GAAE,UAAe;IAqBpC,GAAG,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,CAAC,CAQ5B;IAED,SAAS,GAAI,cAAc,YAAY,UAEtC;IAED,OAAO;CASR"}
|
package/dist/app/src/app.js
CHANGED
|
@@ -32,12 +32,9 @@ export class App {
|
|
|
32
32
|
getAdapter: options.getAdapter,
|
|
33
33
|
};
|
|
34
34
|
for (const policy of options.policies ?? []) {
|
|
35
|
-
this.
|
|
35
|
+
this.onCleanup(policy(this));
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
// Resolve the per-app singleton of a data module, constructing it on first
|
|
39
|
-
// use. This is how modules reach their dependencies (e.g. app.use(RelayLists)),
|
|
40
|
-
// replacing constructor injection and letting cycles resolve lazily.
|
|
41
38
|
use = (Ctor) => {
|
|
42
39
|
let instance = this.singletons.get(Ctor);
|
|
43
40
|
if (!instance) {
|
|
@@ -45,8 +42,12 @@ export class App {
|
|
|
45
42
|
}
|
|
46
43
|
return instance;
|
|
47
44
|
};
|
|
45
|
+
onCleanup = (unsubscriber) => {
|
|
46
|
+
this.unsubscribers.push(unsubscriber);
|
|
47
|
+
};
|
|
48
48
|
cleanup() {
|
|
49
|
-
|
|
49
|
+
// Unwind in reverse, since some teardowns only compose LIFO
|
|
50
|
+
this.unsubscribers.slice().reverse().forEach(call);
|
|
50
51
|
this.pool.clear();
|
|
51
52
|
this.tracker.clear();
|
|
52
53
|
this.repository.clear();
|
package/dist/app/src/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AAiCpE;;;;;GAKG;AACH,MAAM,OAAO,GAAG;IACd,IAAI,CAAO;IACX,MAAM,CAAW;IACjB,UAAU,CAAY;IACtB,IAAI,CAAM;IACV,OAAO,CAAS;IAChB,UAAU,CAAY;IACtB,WAAW,CAAa;IAEhB,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IACvC,aAAa,GAAmB,EAAE,CAAA;IAE1C,YAAY,UAAsB,EAAE;QAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAA;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,GAAG,GAAG,CAAI,IAAe,EAAK,EAAE;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAA;QAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,SAAS,GAAG,CAAC,YAA0B,EAAE,EAAE;QACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,OAAO;QACL,4DAA4D;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAElD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF"}
|
package/dist/app/src/index.d.ts
CHANGED
|
@@ -29,10 +29,12 @@ export * from "./plugins/handles.js";
|
|
|
29
29
|
export * from "./plugins/zappers.js";
|
|
30
30
|
export * from "./plugins/topics.js";
|
|
31
31
|
export * from "./plugins/wot.js";
|
|
32
|
+
export * from "./plugins/events.js";
|
|
32
33
|
export * from "./plugins/feeds.js";
|
|
33
34
|
export * from "./plugins/feedLists.js";
|
|
34
35
|
export * from "./plugins/sync.js";
|
|
35
36
|
export * from "./plugins/wraps.js";
|
|
37
|
+
export * from "./plugins/roomPins.js";
|
|
36
38
|
export * from "./plugins/rooms.js";
|
|
37
39
|
export * from "./plugins/relayRoles.js";
|
|
38
40
|
export * from "./plugins/relayMembers.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA"}
|
package/dist/app/src/index.js
CHANGED
|
@@ -29,10 +29,12 @@ export * from "./plugins/handles.js";
|
|
|
29
29
|
export * from "./plugins/zappers.js";
|
|
30
30
|
export * from "./plugins/topics.js";
|
|
31
31
|
export * from "./plugins/wot.js";
|
|
32
|
+
export * from "./plugins/events.js";
|
|
32
33
|
export * from "./plugins/feeds.js";
|
|
33
34
|
export * from "./plugins/feedLists.js";
|
|
34
35
|
export * from "./plugins/sync.js";
|
|
35
36
|
export * from "./plugins/wraps.js";
|
|
37
|
+
export * from "./plugins/roomPins.js";
|
|
36
38
|
export * from "./plugins/rooms.js";
|
|
37
39
|
export * from "./plugins/relayRoles.js";
|
|
38
40
|
export * from "./plugins/relayMembers.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA"}
|
|
@@ -30,10 +30,11 @@ export type Search<V, T> = {
|
|
|
30
30
|
* their collection. Blends fuse scoring with an optional `sortFn`.
|
|
31
31
|
*/
|
|
32
32
|
export declare const createSearch: <V, T>(options: T[], opts: SearchOptions<V, T>) => Search<V, T>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Build a `Projection` from a readable store and an optional `read` function, which falls
|
|
35
|
+
* back to `get($)`. On hot paths, the store value is cached, and read is skipped.
|
|
36
|
+
*/
|
|
37
|
+
export declare const projection: <T>($: Readable<T>, read?: () => T) => Projection<T>;
|
|
37
38
|
/**
|
|
38
39
|
* Build a `Projection` derived from another `Projection`: re-read `src`
|
|
39
40
|
* reactively via `.$` or synchronously via `.get()`.
|
|
@@ -115,7 +116,7 @@ export type RelayScopedDerivedPluginOptions<T> = {
|
|
|
115
116
|
* `getKey(item, url)` once per relay it was seen on (via the tracker), so the
|
|
116
117
|
* same addressable coordinate on two relays stays two distinct entries. Use it
|
|
117
118
|
* for collections that only make sense relative to a relay — NIP-29 rooms
|
|
118
|
-
* (`${url}'${
|
|
119
|
+
* (`${url}'${room}`), relay roles (`${url}|${d}`), per-relay replaceables
|
|
119
120
|
* (`${url}`). Subclasses implement `fetch` (loading from the relevant relay).
|
|
120
121
|
*/
|
|
121
122
|
export declare abstract class RelayScopedDerivedPlugin<T> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,cAAc,CAAA;AAExD,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAU1C,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAA;AACjF,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,GAAG,EAAE,MAAM,CAAC,CAAA;IACZ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CACf,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;IACxB,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IACzB,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;IACxB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;IACtC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE,CAAA;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE,CAAA;CACpC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAuBvF,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,14 @@ export const createSearch = (options, opts) => {
|
|
|
26
26
|
searchValues: (term) => search(term).map(opts.getValue),
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Build a `Projection` from a readable store and an optional `read` function, which falls
|
|
31
|
+
* back to `get($)`. On hot paths, the store value is cached, and read is skipped.
|
|
32
|
+
*/
|
|
33
|
+
export const projection = ($, read) => ({
|
|
34
|
+
$,
|
|
35
|
+
get: getter($, { read }),
|
|
36
|
+
});
|
|
30
37
|
/**
|
|
31
38
|
* Build a `Projection` derived from another `Projection`: re-read `src`
|
|
32
39
|
* reactively via `.$` or synchronously via `.get()`.
|
|
@@ -152,7 +159,7 @@ export class DerivedPlugin {
|
|
|
152
159
|
* `getKey(item, url)` once per relay it was seen on (via the tracker), so the
|
|
153
160
|
* same addressable coordinate on two relays stays two distinct entries. Use it
|
|
154
161
|
* for collections that only make sense relative to a relay — NIP-29 rooms
|
|
155
|
-
* (`${url}'${
|
|
162
|
+
* (`${url}'${room}`), relay roles (`${url}|${d}`), per-relay replaceables
|
|
156
163
|
* (`${url}`). Subclasses implement `fetch` (loading from the relevant relay).
|
|
157
164
|
*/
|
|
158
165
|
export class RelayScopedDerivedPlugin {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAA;AAGpC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AA2BxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,OAAY,EAAE,IAAyB,EAAgB,EAAE;IAC1F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAC,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC,CAAA;IACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAErB,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAkB,CAAC,CAAA;QAEvF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QACvC,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;KAChE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,CAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/plugins/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
2
|
+
import type { BaseEventReader, EventWriter, KindFactory, ConfiguredKind, Parsed } from "@welshman/domain";
|
|
2
3
|
import { Command } from "../command.js";
|
|
3
4
|
import type { IApp } from "../app.js";
|
|
4
5
|
/**
|
|
@@ -8,9 +9,9 @@ export declare class Domain {
|
|
|
8
9
|
readonly app: IApp;
|
|
9
10
|
constructor(app: IApp);
|
|
10
11
|
private configured;
|
|
11
|
-
configure: <R extends
|
|
12
|
-
reader: <R extends
|
|
13
|
-
writer: <R extends
|
|
12
|
+
configure: <R extends BaseEventReader, W extends EventWriter<R>>(factory: KindFactory<R, W>) => ConfiguredKind<R, W>;
|
|
13
|
+
reader: <R extends BaseEventReader, W extends EventWriter<R>>(factory: KindFactory<R, W>) => (event: TrustedEvent) => Parsed<R>;
|
|
14
|
+
writer: <R extends BaseEventReader, W extends EventWriter<R>>(factory: KindFactory<R, W>, reader?: R) => W;
|
|
14
15
|
command: (writer: EventWriter<any>) => Promise<Command>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/plugins/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/plugins/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,MAAM,EACP,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAErC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;GAEG;AACH,qBAAa,MAAM;IACL,QAAQ,CAAC,GAAG,EAAE,IAAI;gBAAT,GAAG,EAAE,IAAI;IAE9B,OAAO,CAAC,UAAU,CAA6D;IAK/E,SAAS,GAAI,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAC9D,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KACzB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAkBtB;IAMD,MAAM,GACH,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,MAC/E,OAAO,YAAY,KAAG,MAAM,CAAC,CAAC,CAAC,CAC4B;IAE9D,MAAM,GAAI,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAC3D,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,SAAS,CAAC,KACT,CAAC,CAA0C;IAE9C,OAAO,GAAU,QAAQ,WAAW,CAAC,GAAG,CAAC,KAAG,OAAO,CAAC,OAAO,CAAC,CAM3D;CACF"}
|
|
@@ -26,7 +26,11 @@ export class Domain {
|
|
|
26
26
|
}
|
|
27
27
|
return configured;
|
|
28
28
|
};
|
|
29
|
-
reader
|
|
29
|
+
// An event-to-reader function for a kind, parsed and ready to use. The result is
|
|
30
|
+
// the reader itself for kinds that parse synchronously and a promise of it for
|
|
31
|
+
// kinds that decrypt, which is exactly what `EventToItem` accepts — so
|
|
32
|
+
// collections keep their sync path where the kind allows one.
|
|
33
|
+
reader = (factory) => (event) => this.configure(factory).reader(event).parse();
|
|
30
34
|
writer = (factory, reader) => this.configure(factory).writer(reader);
|
|
31
35
|
command = async (writer) => {
|
|
32
36
|
User.require(this.app);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../../src/plugins/domain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../../src/plugins/domain.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAG/B;;GAEG;AACH,MAAM,OAAO,MAAM;IACI;IAArB,YAAqB,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAG,CAAC;IAE1B,UAAU,GAAG,IAAI,GAAG,EAAmD,CAAA;IAE/E,8EAA8E;IAC9E,kFAAkF;IAClF,gFAAgF;IAChF,SAAS,GAAG,CACV,OAA0B,EACJ,EAAE;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAqC,CAAA;QAEjF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAA;YAElB,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,OAAO,EACP,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC9B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ;gBAClC,IAAI,MAAM;oBACR,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,CAAA;gBACzB,CAAC;aACF,CAAC,CAAC,CACJ,CAAA;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IAED,iFAAiF;IACjF,+EAA+E;IAC/E,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,GACJ,CAAsD,OAA0B,EAAE,EAAE,CACpF,CAAC,KAAmB,EAAa,EAAE,CACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAe,CAAA;IAE9D,MAAM,GAAG,CACP,OAA0B,EAC1B,MAAU,EACP,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9C,OAAO,GAAG,KAAK,EAAE,MAAwB,EAAoB,EAAE;QAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEtB,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAA;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Maybe } from "@welshman/lib";
|
|
2
|
+
import type { Filter, TrustedEvent } from "@welshman/util";
|
|
3
|
+
import type { EventsById, EventsByIdByUrl } from "@welshman/store";
|
|
4
|
+
import type { Projection } from "./base.js";
|
|
5
|
+
import type { IApp } from "../app.js";
|
|
6
|
+
/**
|
|
7
|
+
* Reactive views over the app's repository. Every method binds this app's
|
|
8
|
+
* repository and tracker and hands back a `Projection` — read it synchronously
|
|
9
|
+
* with `.get()`, or subscribe to `.$` — so callers never build one from the
|
|
10
|
+
* other, and never construct `{repository, tracker}` by hand.
|
|
11
|
+
*
|
|
12
|
+
* Each projection supplies its own getter that queries the repository/tracker
|
|
13
|
+
* directly, rather than falling back to reading through the derived store. Those
|
|
14
|
+
* queries are index-backed; standing a derived store up and tearing it down just
|
|
15
|
+
* to read a value is not.
|
|
16
|
+
*/
|
|
17
|
+
export declare class Events {
|
|
18
|
+
readonly app: IApp;
|
|
19
|
+
constructor(app: IApp);
|
|
20
|
+
byId: (filters?: Filter[]) => Projection<EventsById>;
|
|
21
|
+
all: (filters?: Filter[]) => Projection<TrustedEvent[]>;
|
|
22
|
+
asc: (filters?: Filter[]) => Projection<TrustedEvent[]>;
|
|
23
|
+
desc: (filters?: Filter[]) => Projection<TrustedEvent[]>;
|
|
24
|
+
one: (idOrAddress: string, relays?: string[]) => Projection<Maybe<TrustedEvent>>;
|
|
25
|
+
isDeleted: (event: TrustedEvent) => Projection<boolean>;
|
|
26
|
+
byIdForUrl: (url: string, filters?: Filter[]) => Projection<EventsById>;
|
|
27
|
+
forUrl: (url: string, filters?: Filter[]) => Projection<TrustedEvent[]>;
|
|
28
|
+
byIdByUrl: (filters?: Filter[]) => Projection<EventsByIdByUrl>;
|
|
29
|
+
relaySignedForUrl: (url: string, filters?: Filter[]) => Projection<TrustedEvent[]>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/plugins/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAcxD,OAAO,KAAK,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAA;AAIhE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,qBAAa,MAAM;IACL,QAAQ,CAAC,GAAG,EAAE,IAAI;gBAAT,GAAG,EAAE,IAAI;IAE9B,IAAI,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,UAAU,CAAC,CAIxD;IAED,GAAG,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM3D;IAED,GAAG,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM3D;IAED,IAAI,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM5D;IAED,GAAG,GAAI,aAAa,MAAM,EAAE,SAAQ,MAAM,EAAO,KAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAShF;IAEH,SAAS,GAAI,OAAO,YAAY,KAAG,UAAU,CAAC,OAAO,CAAC,CAGnD;IAIH,UAAU,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,UAAU,CAAC,CAI3E;IAED,MAAM,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAM3E;IAED,SAAS,GAAI,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,eAAe,CAAC,CAIlE;IAED,iBAAiB,GAAI,KAAK,MAAM,EAAE,UAAS,MAAM,EAAS,KAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAWtF;CACF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { filter, spec } from "@welshman/lib";
|
|
2
|
+
import { sortEventsAsc, sortEventsDesc } from "@welshman/util";
|
|
3
|
+
import { deriveArray, deriveEventsAsc, deriveEventsByIdByUrl, deriveEventsByIdForUrl, deriveEventsById, deriveEventsDesc, deriveIsDeleted, getEventsByIdByUrl, getEventsByIdForUrl, getEventsById, makeDeriveEvent, } from "@welshman/store";
|
|
4
|
+
import { derived } from "svelte/store";
|
|
5
|
+
import { projection } from "./base.js";
|
|
6
|
+
import { Network } from "./network.js";
|
|
7
|
+
import { Relays } from "./relays.js";
|
|
8
|
+
/**
|
|
9
|
+
* Reactive views over the app's repository. Every method binds this app's
|
|
10
|
+
* repository and tracker and hands back a `Projection` — read it synchronously
|
|
11
|
+
* with `.get()`, or subscribe to `.$` — so callers never build one from the
|
|
12
|
+
* other, and never construct `{repository, tracker}` by hand.
|
|
13
|
+
*
|
|
14
|
+
* Each projection supplies its own getter that queries the repository/tracker
|
|
15
|
+
* directly, rather than falling back to reading through the derived store. Those
|
|
16
|
+
* queries are index-backed; standing a derived store up and tearing it down just
|
|
17
|
+
* to read a value is not.
|
|
18
|
+
*/
|
|
19
|
+
export class Events {
|
|
20
|
+
app;
|
|
21
|
+
constructor(app) {
|
|
22
|
+
this.app = app;
|
|
23
|
+
}
|
|
24
|
+
byId = (filters = [{}]) => {
|
|
25
|
+
const options = { repository: this.app.repository, filters };
|
|
26
|
+
return projection(deriveEventsById(options), () => getEventsById(options));
|
|
27
|
+
};
|
|
28
|
+
all = (filters = [{}]) => {
|
|
29
|
+
const options = { repository: this.app.repository, filters };
|
|
30
|
+
return projection(deriveArray(deriveEventsById(options)), () => Array.from(getEventsById(options).values()));
|
|
31
|
+
};
|
|
32
|
+
asc = (filters = [{}]) => {
|
|
33
|
+
const options = { repository: this.app.repository, filters };
|
|
34
|
+
return projection(deriveEventsAsc(deriveEventsById(options)), () => sortEventsAsc(getEventsById(options).values()));
|
|
35
|
+
};
|
|
36
|
+
desc = (filters = [{}]) => {
|
|
37
|
+
const options = { repository: this.app.repository, filters };
|
|
38
|
+
return projection(deriveEventsDesc(deriveEventsById(options)), () => sortEventsDesc(getEventsById(options).values()));
|
|
39
|
+
};
|
|
40
|
+
one = (idOrAddress, relays = []) => projection(makeDeriveEvent({
|
|
41
|
+
repository: this.app.repository,
|
|
42
|
+
includeDeleted: true,
|
|
43
|
+
onDerive: (filters, hints) => this.app.use(Network).load({ filters, relays: hints }),
|
|
44
|
+
})(idOrAddress, relays), () => this.app.repository.getEvent(idOrAddress));
|
|
45
|
+
isDeleted = (event) => projection(deriveIsDeleted(this.app.repository, event), () => this.app.repository.isDeleted(event));
|
|
46
|
+
// Scoped to one relay, via the tracker
|
|
47
|
+
byIdForUrl = (url, filters = [{}]) => {
|
|
48
|
+
const options = { url, filters, tracker: this.app.tracker, repository: this.app.repository };
|
|
49
|
+
return projection(deriveEventsByIdForUrl(options), () => getEventsByIdForUrl(options));
|
|
50
|
+
};
|
|
51
|
+
forUrl = (url, filters = [{}]) => {
|
|
52
|
+
const options = { url, filters, tracker: this.app.tracker, repository: this.app.repository };
|
|
53
|
+
return projection(deriveArray(deriveEventsByIdForUrl(options)), () => Array.from(getEventsByIdForUrl(options).values()));
|
|
54
|
+
};
|
|
55
|
+
byIdByUrl = (filters = [{}]) => {
|
|
56
|
+
const options = { filters, tracker: this.app.tracker, repository: this.app.repository };
|
|
57
|
+
return projection(deriveEventsByIdByUrl(options), () => getEventsByIdByUrl(options));
|
|
58
|
+
};
|
|
59
|
+
relaySignedForUrl = (url, filters = [{}]) => {
|
|
60
|
+
const forUrl = this.forUrl(url, filters);
|
|
61
|
+
return projection(derived([this.app.use(Relays).one(url), forUrl.$], ([$relay, $events]) => filter(spec({ pubkey: $relay?.self }), $events)), () => filter(spec({ pubkey: this.app.use(Relays).get(url)?.self }), forUrl.get()));
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/plugins/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAE5D,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAGlC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,MAAM;IACI;IAArB,YAAqB,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAG,CAAC;IAElC,IAAI,GAAG,CAAC,UAAoB,CAAC,EAAE,CAAC,EAA0B,EAAE;QAC1D,MAAM,OAAO,GAAG,EAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,CAAA;QAE1D,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5E,CAAC,CAAA;IAED,GAAG,GAAG,CAAC,UAAoB,CAAC,EAAE,CAAC,EAA8B,EAAE;QAC7D,MAAM,OAAO,GAAG,EAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,CAAA;QAE1D,OAAO,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAC7D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAC5C,CAAA;IACH,CAAC,CAAA;IAED,GAAG,GAAG,CAAC,UAAoB,CAAC,EAAE,CAAC,EAA8B,EAAE;QAC7D,MAAM,OAAO,GAAG,EAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,CAAA;QAE1D,OAAO,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CACjE,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAC/C,CAAA;IACH,CAAC,CAAA;IAED,IAAI,GAAG,CAAC,UAAoB,CAAC,EAAE,CAAC,EAA8B,EAAE;QAC9D,MAAM,OAAO,GAAG,EAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,CAAA;QAE1D,OAAO,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAClE,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAChD,CAAA;IACH,CAAC,CAAA;IAED,GAAG,GAAG,CAAC,WAAmB,EAAE,SAAmB,EAAE,EAAmC,EAAE,CACpF,UAAU,CACR,eAAe,CAAC;QACd,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;QAC/B,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,CAAC,OAAiB,EAAE,KAAe,EAAE,EAAE,CAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;KACvD,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EACvB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAChD,CAAA;IAEH,SAAS,GAAG,CAAC,KAAmB,EAAuB,EAAE,CACvD,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAC3D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACrC,CAAA;IAEH,uCAAuC;IAEvC,UAAU,GAAG,CAAC,GAAW,EAAE,UAAoB,CAAC,EAAE,CAAC,EAA0B,EAAE;QAC7E,MAAM,OAAO,GAAG,EAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAC,CAAA;QAE1F,OAAO,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;IACxF,CAAC,CAAA;IAED,MAAM,GAAG,CAAC,GAAW,EAAE,UAAoB,CAAC,EAAE,CAAC,EAA8B,EAAE;QAC7E,MAAM,OAAO,GAAG,EAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAC,CAAA;QAE1F,OAAO,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CACnE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAClD,CAAA;IACH,CAAC,CAAA;IAED,SAAS,GAAG,CAAC,UAAoB,CAAC,EAAE,CAAC,EAA+B,EAAE;QACpE,MAAM,OAAO,GAAG,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAC,CAAA;QAErF,OAAO,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAA;IACtF,CAAC,CAAA;IAED,iBAAiB,GAAG,CAAC,GAAW,EAAE,UAAoB,CAAC,EAAE,CAAC,EAA8B,EAAE;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAExC,OAAO,UAAU,CACf,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACzC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAiC,EAAE,EAAE,CACpD,MAAM,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,EAAE,OAAO,CAAC,CAChD,EACD,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAChF,CAAA;IACH,CAAC,CAAA;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAC,qBAAqB,EAAE,IAAI,IAAI,cAAc,EAAC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAC,qBAAqB,EAAE,IAAI,IAAI,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAGlF,OAAO,EAAO,UAAU,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,aAAa,EAAc,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAKzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,GAAG;IACrF,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,cAAc,CAAA;CAC3B,CAAA;AAED;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACtC,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAC0B;IAEhF,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACqB;IAE/E,MAAM,GAAU,QAAQ,UAAU,8CAQjC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,8CAUhE;IAED,kBAAkB,GAAI,OAAO,KAAK,KAAG,MAAM,EAAE,CAmB5C;IAED,qBAAqB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,EAAE,CAgB3D;IAED,kBAAkB,GAAI,SAAS,yBAAyB,oBAWpD;CACL"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Scope, FeedController } from "@welshman/feeds";
|
|
2
|
+
import { max as maxValue } from "@welshman/lib";
|
|
2
3
|
import { Address, FEED } from "@welshman/util";
|
|
3
4
|
import { Feed } from "@welshman/domain";
|
|
4
5
|
import { DerivedPlugin, projectFrom } from "./base.js";
|
|
5
6
|
import { Network } from "./network.js";
|
|
6
7
|
import { Router } from "./router.js";
|
|
7
8
|
import { Domain } from "./domain.js";
|
|
8
|
-
import { Wot } from "./wot.js";
|
|
9
|
+
import { Wot, WotScope } from "./wot.js";
|
|
9
10
|
/**
|
|
10
11
|
* NIP-51 kind-31890 saved feeds, keyed by address (many feeds per author).
|
|
11
12
|
* Also builds `FeedController`s wired to this app. Scope/WOT pubkey resolution
|
|
@@ -56,17 +57,20 @@ export class Feeds extends DerivedPlugin {
|
|
|
56
57
|
case Scope.Network:
|
|
57
58
|
return this.app.use(Wot).network($pubkey).get();
|
|
58
59
|
case Scope.Followers:
|
|
59
|
-
return this.app.use(Wot).followers($pubkey).get();
|
|
60
|
+
return this.app.use(Wot).followers($pubkey, WotScope.Global).get();
|
|
60
61
|
default:
|
|
61
62
|
return [];
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
65
|
getPubkeysForWOTRange = (min, max) => {
|
|
65
66
|
const pubkeys = [];
|
|
66
|
-
|
|
67
|
+
// Scored against the user's follows, so a range means the same thing to them as
|
|
68
|
+
// it does in their client's UI
|
|
69
|
+
const $scores = this.app.use(Wot).scores(WotScope.Follows).get();
|
|
70
|
+
const $maxWot = maxValue(Array.from($scores.values())) ?? 0;
|
|
67
71
|
const thresholdMin = $maxWot * min;
|
|
68
72
|
const thresholdMax = $maxWot * max;
|
|
69
|
-
for (const [tpk, score] of
|
|
73
|
+
for (const [tpk, score] of $scores) {
|
|
70
74
|
if (score >= thresholdMin && score <= thresholdMax) {
|
|
71
75
|
pubkeys.push(tpk);
|
|
72
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,IAAI,EAAyB,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,WAAW,CAAA;AAEpD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../../../src/plugins/feeds.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,7 @@ export type LogMessage = {
|
|
|
12
12
|
export declare class Logger {
|
|
13
13
|
protected readonly app: IApp;
|
|
14
14
|
protected store: import("svelte/store").Writable<LogMessage[]>;
|
|
15
|
-
messages:
|
|
16
|
-
$: import("svelte/store").Readable<LogMessage[]>;
|
|
17
|
-
get: () => LogMessage[];
|
|
18
|
-
};
|
|
15
|
+
messages: import("./base.js").Projection<LogMessage[]>;
|
|
19
16
|
constructor(app: IApp);
|
|
20
17
|
log(source: string, { id, at, ...message }: {
|
|
21
18
|
id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;IAHxC,SAAS,CAAC,KAAK,gDAA6B;IAC5C,QAAQ
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;IAHxC,SAAS,CAAC,KAAK,gDAA6B;IAC5C,QAAQ,+CAAyB;gBAEF,GAAG,EAAE,IAAI;IAExC,GAAG,CACD,MAAM,EAAE,MAAM,EACd,EACE,EAAe,EACf,EAAe,EACf,GAAG,OAAO,EACX,EAAE;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC;CAIxD"}
|
|
@@ -8,7 +8,9 @@ import type { IApp } from "../app.js";
|
|
|
8
8
|
export declare class Network {
|
|
9
9
|
readonly app: IApp;
|
|
10
10
|
load: Loader;
|
|
11
|
+
private controller;
|
|
11
12
|
constructor(app: IApp);
|
|
13
|
+
private withSignal;
|
|
12
14
|
makeLoader: (options: Omit<LoaderOptions, "context">) => Loader;
|
|
13
15
|
request: (options: Omit<RequestOptions, "context">) => Promise<import("@welshman/util").TrustedEvent[]>;
|
|
14
16
|
publish: (options: Omit<PublishOptions, "context">) => Promise<import("@welshman/net").PublishResultsByRelay>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../src/plugins/network.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../src/plugins/network.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EACV,MAAM,EAEN,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,OAAO;IAKN,QAAQ,CAAC,GAAG,EAAE,IAAI;IAJ9B,IAAI,EAAE,MAAM,CAAA;IAEZ,OAAO,CAAC,UAAU,CAAwB;gBAErB,GAAG,EAAE,IAAI;IAM9B,OAAO,CAAC,UAAU,CAKhB;IAEF,UAAU,GAAI,SAAS,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,KAAG,MAAM,CAI7D;IAED,OAAO,GAAI,SAAS,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,sDACmB;IAEtE,OAAO,GAAI,SAAS,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,4DACmB;IAEtE,eAAe,GAAU,QAAQ,MAAM,EAAE,SAAQ,MAAW,EAAE,QAAO,MAAM,EAAO,gEAOjF;IAID,kBAAkB,GAAU,QAAQ,MAAM,EAAE,SAAQ,MAAW,EAAE,QAAO,MAAM,EAAO,sDAMpF;CACF"}
|
|
@@ -9,13 +9,24 @@ import { Router } from "./router.js";
|
|
|
9
9
|
export class Network {
|
|
10
10
|
app;
|
|
11
11
|
load;
|
|
12
|
+
controller = new AbortController();
|
|
12
13
|
constructor(app) {
|
|
13
14
|
this.app = app;
|
|
14
15
|
this.load = this.makeLoader({ delay: 50, timeout: 3000, threshold: 0.5 });
|
|
16
|
+
app.onCleanup(() => this.controller.abort());
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
withSignal = (options) => ({
|
|
19
|
+
...options,
|
|
20
|
+
signal: options.signal
|
|
21
|
+
? AbortSignal.any([options.signal, this.controller.signal])
|
|
22
|
+
: this.controller.signal,
|
|
23
|
+
});
|
|
24
|
+
makeLoader = (options) => {
|
|
25
|
+
const load = makeLoader({ ...options, context: this.app.netContext });
|
|
26
|
+
return (loadOptions) => load(this.withSignal(loadOptions));
|
|
27
|
+
};
|
|
28
|
+
request = (options) => request({ ...this.withSignal(options), context: this.app.netContext });
|
|
29
|
+
publish = (options) => publish({ ...this.withSignal(options), context: this.app.netContext });
|
|
19
30
|
loadUsingOutbox = async (pubkey, filter = {}, hints = []) => {
|
|
20
31
|
const filters = [{ ...filter, authors: [pubkey] }];
|
|
21
32
|
const scenario = await this.app.use(Router).resolve([...relays(hints), outbox(pubkey)]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/plugins/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AACnC,OAAO,EAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/plugins/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAU,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAC,aAAa,EAA2B,MAAM,WAAW,CAAA;AACjE,OAAO,KAAK,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AAOjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACxD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;gBAE1C,GAAG,EAAE,IAAI;IAYrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,MAAM,GAAU,IAAI,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,8CAOlD;IAED,OAAO,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,EAAE,KAAG,UAAU,CAAC,MAAM,CAAC,CAOzE;IAED,OAAO,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAU,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAC,aAAa,EAA2B,MAAM,WAAW,CAAA;AACjE,OAAO,KAAK,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AAOjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACxD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;gBAE1C,GAAG,EAAE,IAAI;IAYrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,MAAM,GAAU,IAAI,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,8CAOlD;IAED,OAAO,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,EAAE,KAAG,UAAU,CAAC,MAAM,CAAC,CAOzE;IAED,OAAO,CAAC,UAAU,CAyCjB;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { derived, readable } from "svelte/store";
|
|
2
2
|
import { debounce } from "throttle-debounce";
|
|
3
|
-
import { dec, inc } from "@welshman/lib";
|
|
3
|
+
import { dec, inc, max } from "@welshman/lib";
|
|
4
4
|
import { PROFILE, searchRelays } from "@welshman/util";
|
|
5
5
|
import { Profile, displayPubkey } from "@welshman/domain";
|
|
6
6
|
import { throttled } from "@welshman/store";
|
|
@@ -9,7 +9,7 @@ import { Network } from "./network.js";
|
|
|
9
9
|
import { Router } from "./router.js";
|
|
10
10
|
import { Domain } from "./domain.js";
|
|
11
11
|
import { Handles } from "./handles.js";
|
|
12
|
-
import { Wot } from "./wot.js";
|
|
12
|
+
import { Wot, WotScope } from "./wot.js";
|
|
13
13
|
import { User } from "../user.js";
|
|
14
14
|
/**
|
|
15
15
|
* Kind-0 profiles, keyed by pubkey. Loaded via the outbox model (the author's
|
|
@@ -39,6 +39,10 @@ export class Profiles extends DerivedPlugin {
|
|
|
39
39
|
return projection(pubkey ? derived(this.one(pubkey, ...args), read) : readable(""), () => read(pubkey ? this.get(pubkey) : undefined));
|
|
40
40
|
};
|
|
41
41
|
makeSearch = ($profiles = this.all.get()) => {
|
|
42
|
+
// Snapshot the scores the search ranks by — one walk of the web of trust per
|
|
43
|
+
// search, rather than a lookup per result per keystroke
|
|
44
|
+
const $scores = this.app.use(Wot).scores(WotScope.Follows).get();
|
|
45
|
+
const $maxScore = max(Array.from($scores.values())) || 1;
|
|
42
46
|
return createSearch($profiles, {
|
|
43
47
|
onSearch: debounce(500, async (search) => {
|
|
44
48
|
if (search.length > 2) {
|
|
@@ -50,11 +54,7 @@ export class Profiles extends DerivedPlugin {
|
|
|
50
54
|
}
|
|
51
55
|
}),
|
|
52
56
|
getValue: (profile) => profile.author(),
|
|
53
|
-
sortFn: ({ score = 1, item }) =>
|
|
54
|
-
const wot = this.app.use(Wot);
|
|
55
|
-
const wotScore = wot.graph.get().get(item.author()) || 0;
|
|
56
|
-
return dec(score) * inc(wotScore / (wot.max.get() || 1));
|
|
57
|
-
},
|
|
57
|
+
sortFn: ({ score = 1, item }) => dec(score) * inc(($scores.get(item.author()) ?? 0) / $maxScore),
|
|
58
58
|
fuseOptions: {
|
|
59
59
|
keys: ["nip05", { name: "name", weight: 0.8 }, { name: "about", weight: 0.3 }],
|
|
60
60
|
threshold: 0.3,
|