@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/domain/src/index.js
CHANGED
|
@@ -11,12 +11,12 @@ export * from "./kinds/BlossomServerList.js";
|
|
|
11
11
|
export * from "./kinds/BookmarkList.js";
|
|
12
12
|
export * from "./kinds/Classified.js";
|
|
13
13
|
export * from "./kinds/Comment.js";
|
|
14
|
+
export * from "./kinds/CommunityList.js";
|
|
14
15
|
export * from "./kinds/Delete.js";
|
|
15
16
|
export * from "./kinds/EmojiList.js";
|
|
16
17
|
export * from "./kinds/Feed.js";
|
|
17
18
|
export * from "./kinds/FeedList.js";
|
|
18
19
|
export * from "./kinds/FollowList.js";
|
|
19
|
-
export * from "./kinds/GroupList.js";
|
|
20
20
|
export * from "./kinds/Handler.js";
|
|
21
21
|
export * from "./kinds/HandlerRecommendation.js";
|
|
22
22
|
export * from "./core/ListReader.js";
|
|
@@ -53,6 +53,8 @@ export * from "./kinds/RoomList.js";
|
|
|
53
53
|
export * from "./kinds/RoomMembers.js";
|
|
54
54
|
export * from "./kinds/RoomRemoveMember.js";
|
|
55
55
|
export * from "./kinds/RoomMeta.js";
|
|
56
|
+
export * from "./kinds/RoomPins.js";
|
|
57
|
+
export * from "./kinds/RoomUpdatePins.js";
|
|
56
58
|
export * from "./kinds/SearchRelayList.js";
|
|
57
59
|
export * from "./kinds/Thread.js";
|
|
58
60
|
export * from "./kinds/TimeEvent.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../domain/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../domain/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AsyncEventReader } from "../core/EventReader.js";
|
|
2
2
|
import { EventWriter } from "../core/EventWriter.js";
|
|
3
3
|
import { KindFactory } from "../core/Kind.js";
|
|
4
4
|
import type { KindContext } from "../core/Kind.js";
|
|
5
|
-
export declare class AppDataReader extends
|
|
5
|
+
export declare class AppDataReader extends AsyncEventReader {
|
|
6
6
|
decrypted: boolean;
|
|
7
7
|
encrypted: boolean;
|
|
8
8
|
protected json: unknown;
|
|
9
|
-
parse(): Promise<
|
|
9
|
+
parse(): Promise<this>;
|
|
10
10
|
values<T>(): T | undefined;
|
|
11
11
|
}
|
|
12
12
|
export declare class AppDataWriter extends EventWriter<AppDataReader> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppData.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/AppData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"AppData.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/AppData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAIhD,qBAAa,aAAc,SAAQ,gBAAgB;IACjD,SAAS,UAAQ;IACjB,SAAS,UAAQ;IAEjB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAY;IAE7B,KAAK;IAgCX,MAAM,CAAC,CAAC,KACc,CAAC,GAAG,SAAS;CAEpC;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,MAAM,EAAE,OAAO,CAAY;IAC3B,SAAS,UAAQ;gBAEL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAOtE,SAAS,CAAC,MAAM,EAAE,OAAO;IAMzB,YAAY,CAAC,SAAS,EAAE,OAAO;IAM/B,QAAQ;IAQF,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBvC;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { parseJson } from "@welshman/lib";
|
|
2
2
|
import { decrypt } from "@welshman/signer";
|
|
3
3
|
import { APP_DATA } from "@welshman/util";
|
|
4
|
-
import {
|
|
4
|
+
import { AsyncEventReader } from "../core/EventReader.js";
|
|
5
5
|
import { EventWriter } from "../core/EventWriter.js";
|
|
6
6
|
import { KindFactory } from "../core/Kind.js";
|
|
7
7
|
// NIP-78 kind-30078 arbitrary app data, keyed by `d` tag. Content is JSON,
|
|
8
8
|
// optionally NIP-44 encrypted to the author.
|
|
9
|
-
export class AppDataReader extends
|
|
9
|
+
export class AppDataReader extends AsyncEventReader {
|
|
10
10
|
decrypted = false;
|
|
11
11
|
encrypted = false;
|
|
12
12
|
json = undefined;
|
|
@@ -14,13 +14,13 @@ export class AppDataReader extends EventReader {
|
|
|
14
14
|
const { signer } = this.context;
|
|
15
15
|
if (!this.event.content) {
|
|
16
16
|
this.decrypted = true;
|
|
17
|
-
return;
|
|
17
|
+
return this;
|
|
18
18
|
}
|
|
19
19
|
const json = parseJson(this.event.content);
|
|
20
20
|
if (json !== undefined) {
|
|
21
21
|
this.json = json;
|
|
22
22
|
this.decrypted = true;
|
|
23
|
-
return;
|
|
23
|
+
return this;
|
|
24
24
|
}
|
|
25
25
|
this.encrypted = true;
|
|
26
26
|
if (signer && (await signer.getPubkey()) === this.event.pubkey) {
|
|
@@ -32,6 +32,7 @@ export class AppDataReader extends EventReader {
|
|
|
32
32
|
// pass
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
return this;
|
|
35
36
|
}
|
|
36
37
|
values() {
|
|
37
38
|
return this.json;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppData.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/AppData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"AppData.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/AppData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventReader } from "../core/EventReader.js";
|
|
2
|
+
import { EventWriter } from "../core/EventWriter.js";
|
|
3
|
+
import { KindFactory } from "../core/Kind.js";
|
|
4
|
+
export declare class CommunityListReader extends EventReader {
|
|
5
|
+
addresses(): string[];
|
|
6
|
+
}
|
|
7
|
+
export declare class CommunityListWriter extends EventWriter<CommunityListReader> {
|
|
8
|
+
addCommunity(address: string, relayHint?: string): this;
|
|
9
|
+
removeCommunity(address: string): this;
|
|
10
|
+
}
|
|
11
|
+
export declare const CommunityList: KindFactory<CommunityListReader, CommunityListWriter>;
|
|
12
|
+
//# sourceMappingURL=CommunityList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunityList.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/CommunityList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAI3C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,SAAS;CAGV;AAED,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,mBAAmB,CAAC;IACvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAIhD,eAAe,CAAC,OAAO,EAAE,MAAM;CAGhC;AAED,eAAO,MAAM,aAAa,uDAIxB,CAAA"}
|
|
@@ -3,23 +3,24 @@ import { COMMUNITIES, addressTags, tagValues } from "@welshman/util";
|
|
|
3
3
|
import { EventReader } from "../core/EventReader.js";
|
|
4
4
|
import { EventWriter } from "../core/EventWriter.js";
|
|
5
5
|
import { KindFactory } from "../core/Kind.js";
|
|
6
|
-
// NIP-51 kind-10004
|
|
7
|
-
|
|
6
|
+
// NIP-51 kind-10004 community list — the NIP-72 moderated communities the user
|
|
7
|
+
// follows, as `a` tags. Distinct from RoomList (10009), which tracks NIP-29 rooms.
|
|
8
|
+
export class CommunityListReader extends EventReader {
|
|
8
9
|
addresses() {
|
|
9
10
|
return uniq(tagValues(addressTags("a"), this.tags()));
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
|
-
export class
|
|
13
|
-
|
|
13
|
+
export class CommunityListWriter extends EventWriter {
|
|
14
|
+
addCommunity(address, relayHint) {
|
|
14
15
|
return this.addTags(removeUndefined(["a", address, relayHint]));
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
+
removeCommunity(address) {
|
|
17
18
|
return this.dropTags(spec(["a", address]));
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
export const
|
|
21
|
+
export const CommunityList = new KindFactory({
|
|
21
22
|
kind: COMMUNITIES,
|
|
22
|
-
reader:
|
|
23
|
-
writer:
|
|
23
|
+
reader: CommunityListReader,
|
|
24
|
+
writer: CommunityListWriter,
|
|
24
25
|
});
|
|
25
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=CommunityList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunityList.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/CommunityList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,MAAM,eAAe,CAAA;AACzD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,+EAA+E;AAC/E,mFAAmF;AACnF,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAgC;IACvE,YAAY,CAAC,OAAe,EAAE,SAAkB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC;IAC3C,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,mBAAmB;CAC5B,CAAC,CAAA"}
|
|
@@ -10,7 +10,7 @@ export declare class DeleteReader extends EventReader {
|
|
|
10
10
|
}
|
|
11
11
|
export declare class DeleteWriter extends EventWriter<DeleteReader> {
|
|
12
12
|
protected renderRoutes(): Promise<import("@welshman/util").RelaySelection[]>;
|
|
13
|
-
addEvent(event: TrustedEvent,
|
|
13
|
+
addEvent(event: TrustedEvent, roomUrl?: string): this;
|
|
14
14
|
setReason(reason: string): this;
|
|
15
15
|
validate(): void;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Delete.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,YAAa,SAAQ,WAAW;IAC3C,GAAG;IAIH,SAAS;IAIT,KAAK;IAIL,MAAM;CAGP;AAED,qBAAa,YAAa,SAAQ,WAAW,CAAC,YAAY,CAAC;cAGzC,YAAY;IAS5B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"Delete.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Delete.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,qBAAa,YAAa,SAAQ,WAAW;IAC3C,GAAG;IAIH,SAAS;IAIT,KAAK;IAIL,MAAM;CAGP;AAED,qBAAa,YAAa,SAAQ,WAAW,CAAC,YAAY,CAAC;cAGzC,YAAY;IAS5B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM;IAkC9C,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,QAAQ;CAOT;AAED,eAAO,MAAM,MAAM,yCAIjB,CAAA"}
|
|
@@ -28,7 +28,7 @@ export class DeleteWriter extends EventWriter {
|
|
|
28
28
|
...uniq(tagValues(hexTags("e"), tags)).map(id => seen({ id })),
|
|
29
29
|
];
|
|
30
30
|
}
|
|
31
|
-
addEvent(event,
|
|
31
|
+
addEvent(event, roomUrl) {
|
|
32
32
|
const eTag = ["e", event.id, ""];
|
|
33
33
|
this.addTags(eTag, ["k", String(event.kind)]);
|
|
34
34
|
this.hint(outbox(event.pubkey)).then(url => {
|
|
@@ -41,14 +41,14 @@ export class DeleteWriter extends EventWriter {
|
|
|
41
41
|
aTag[2] = url;
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
// If the deleted event was a NIP-29
|
|
44
|
+
// If the deleted event was a NIP-29 room event, the delete must carry the
|
|
45
45
|
// same "h" tag and publish to the relay the event lives on (the hint).
|
|
46
|
-
const
|
|
47
|
-
if (
|
|
48
|
-
if (!
|
|
49
|
-
throw new Error("Deletions of
|
|
46
|
+
const room = tagValue(tagSpec("h"), event.tags);
|
|
47
|
+
if (room) {
|
|
48
|
+
if (!roomUrl) {
|
|
49
|
+
throw new Error("Deletions of room events must be published to a room url");
|
|
50
50
|
}
|
|
51
|
-
this.
|
|
51
|
+
this.setRoom(roomUrl, room);
|
|
52
52
|
}
|
|
53
53
|
return this;
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,IAAI,EACJ,MAAM,GACP,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,gCAAgC;AAChC,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,GAAG;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,WAAyB;IACzD,iFAAiF;IACjF,8DAA8D;IACpD,KAAK,CAAC,YAAY;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAEpC,OAAO;YACL,GAAG,CAAC,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAC,EAAE,EAAC,CAAC,CAAC;SAC7D,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,KAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export type HandlerMeta = {
|
|
|
12
12
|
};
|
|
13
13
|
export declare class HandlerReader extends EventReader {
|
|
14
14
|
readonly values: HandlerMeta;
|
|
15
|
-
parse():
|
|
15
|
+
parse(): this;
|
|
16
16
|
name(): string | undefined;
|
|
17
17
|
about(): string | undefined;
|
|
18
18
|
picture(): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAY,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAGD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAK;
|
|
1
|
+
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAY,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAGD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAK;IAEjC,KAAK;IAUL,IAAI;IAIJ,KAAK;IAIL,OAAO;IAIP,OAAO;IAIP,KAAK;IAIL,KAAK;IAIL,KAAK;CAGN;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,MAAM,EAAE,WAAW,CAAK;IACxB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAK;gBAEb,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAUtE,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;IAMxB,aAAa;IAIb,SAAS,CAAC,gBAAgB;CAG3B;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
|
|
@@ -6,11 +6,12 @@ import { KindFactory } from "../core/Kind.js";
|
|
|
6
6
|
// NIP-89 kind-31990 handler information.
|
|
7
7
|
export class HandlerReader extends EventReader {
|
|
8
8
|
values = {};
|
|
9
|
-
|
|
9
|
+
parse() {
|
|
10
10
|
const json = parseJson(this.event.content);
|
|
11
11
|
if (isPojo(json)) {
|
|
12
12
|
Object.assign(this.values, json);
|
|
13
13
|
}
|
|
14
|
+
return this;
|
|
14
15
|
}
|
|
15
16
|
name() {
|
|
16
17
|
return this.values.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAY3C,yCAAyC;AACzC,MAAM,OAAO,aAAc,SAAQ,WAAW;IACnC,MAAM,GAAgB,EAAE,CAAA;IAEjC,KAAK
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare const parseLnUrl: (values?: Record<string, any>) => Maybe<string>
|
|
|
7
7
|
export declare const displayPubkey: (pubkey: string) => string;
|
|
8
8
|
export declare class ProfileReader extends EventReader {
|
|
9
9
|
readonly values: Record<string, any>;
|
|
10
|
-
parse():
|
|
10
|
+
parse(): this;
|
|
11
11
|
name(): Maybe<string>;
|
|
12
12
|
nip05(): Maybe<string>;
|
|
13
13
|
lnurl(): Maybe<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Profile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAEhD,eAAO,MAAM,UAAU,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,KAAG,KAAK,CAAC,MAAM,CAUzE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,WAI3C,CAAA;AAGD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;
|
|
1
|
+
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Profile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAEhD,eAAO,MAAM,UAAU,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,KAAG,KAAK,CAAC,MAAM,CAUzE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,WAI3C,CAAA;AAGD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IAEzC,KAAK;IAUL,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;IAIrB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAItB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAItB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAItB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAIvB,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;IAIxB,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;IAIxB,OAAO,CAAC,QAAQ,SAAK;CAOtB;AAED,qBAAa,aAAc,SAAQ,WAAW,CAAC,aAAa,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;gBAEpB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAMtE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMlC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,SAAS,CAAC,MAAM,EAAE,MAAM;IAMxB,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B,aAAa;CAGd;AAED,eAAO,MAAM,OAAO,2CAIlB,CAAA"}
|
|
@@ -21,11 +21,12 @@ export const displayPubkey = (pubkey) => {
|
|
|
21
21
|
// NIP-01 kind-0 profile metadata.
|
|
22
22
|
export class ProfileReader extends EventReader {
|
|
23
23
|
values = {};
|
|
24
|
-
|
|
24
|
+
parse() {
|
|
25
25
|
const json = parseJson(this.event.content);
|
|
26
26
|
if (isPojo(json)) {
|
|
27
27
|
Object.assign(this.values, json);
|
|
28
28
|
}
|
|
29
|
+
return this;
|
|
29
30
|
}
|
|
30
31
|
name() {
|
|
31
32
|
return this.values.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAE1D,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAG3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAA8B,EAAE,EAAiB,EAAE;IAC5E,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QAC9C,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC,CAAA;YAEpC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAE5B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,kCAAkC;AAClC,MAAM,OAAO,aAAc,SAAQ,WAAW;IACnC,MAAM,GAAwB,EAAE,CAAA;IAEzC,KAAK
|
|
1
|
+
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ export class RoomCreateWriter extends EventWriter {
|
|
|
9
9
|
requiresRelays = true;
|
|
10
10
|
validate() {
|
|
11
11
|
super.validate();
|
|
12
|
-
if (!this.
|
|
13
|
-
throw new Error("RoomCreate requires a
|
|
12
|
+
if (!this.roomTag) {
|
|
13
|
+
throw new Error("RoomCreate requires a room");
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomCreate.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,mCAAmC;AACnC,MAAM,OAAO,gBAAiB,SAAQ,WAAW;CAAG;AAEpD,MAAM,OAAO,gBAAiB,SAAQ,WAA6B;IACxD,cAAc,GAAG,IAAI,CAAA;IAE9B,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"RoomCreate.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,mCAAmC;AACnC,MAAM,OAAO,gBAAiB,SAAQ,WAAW;CAAG;AAEpD,MAAM,OAAO,gBAAiB,SAAQ,WAA6B;IACxD,cAAc,GAAG,IAAI,CAAA;IAE9B,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC;IACxC,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAA"}
|
|
@@ -2,15 +2,15 @@ import { ROOM_DELETE } from "@welshman/util";
|
|
|
2
2
|
import { EventReader } from "../core/EventReader.js";
|
|
3
3
|
import { EventWriter } from "../core/EventWriter.js";
|
|
4
4
|
import { KindFactory } from "../core/Kind.js";
|
|
5
|
-
// NIP-29 kind-9008 delete-room op. The target room is the "h"
|
|
5
|
+
// NIP-29 kind-9008 delete-room op. The target room is the "h" tag.
|
|
6
6
|
export class RoomDeleteReader extends EventReader {
|
|
7
7
|
}
|
|
8
8
|
export class RoomDeleteWriter extends EventWriter {
|
|
9
9
|
requiresRelays = true;
|
|
10
10
|
validate() {
|
|
11
11
|
super.validate();
|
|
12
|
-
if (!this.
|
|
13
|
-
throw new Error("RoomDelete requires
|
|
12
|
+
if (!this.roomTag) {
|
|
13
|
+
throw new Error("RoomDelete requires a room");
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomDelete.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomDelete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,
|
|
1
|
+
{"version":3,"file":"RoomDelete.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomDelete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,mEAAmE;AACnE,MAAM,OAAO,gBAAiB,SAAQ,WAAW;CAAG;AAEpD,MAAM,OAAO,gBAAiB,SAAQ,WAA6B;IACxD,cAAc,GAAG,IAAI,CAAA;IAE9B,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC;IACxC,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { EventWriter } from "../core/EventWriter.js";
|
|
|
5
5
|
import { KindFactory } from "../core/Kind.js";
|
|
6
6
|
// NIP-29 kind-9002 edit-room-metadata action op. Carries the same metadata as the
|
|
7
7
|
// addressable RoomMeta (kind 39000), but as a regular event scoped to the target
|
|
8
|
-
// room via the "h"
|
|
8
|
+
// room via the "h" tag rather than a "d" identifier.
|
|
9
9
|
export class RoomEditReader extends EventReader {
|
|
10
10
|
name() {
|
|
11
11
|
return tagValue(tagSpec("name"), this.event.tags);
|
|
@@ -68,8 +68,8 @@ export class RoomEditWriter extends EventWriter {
|
|
|
68
68
|
}
|
|
69
69
|
validate() {
|
|
70
70
|
super.validate();
|
|
71
|
-
if (!this.
|
|
72
|
-
throw new Error("RoomEdit requires a
|
|
71
|
+
if (!this.roomTag) {
|
|
72
|
+
throw new Error("RoomEdit requires a room");
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomEdit.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomEdit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,kFAAkF;AAClF,iFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"RoomEdit.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomEdit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomJoin.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,sCAAsC;AACtC,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,WAA2B;IACpD,cAAc,GAAG,IAAI,CAAA;IAE9B,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"RoomJoin.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,sCAAsC;AACtC,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,WAA2B;IACpD,cAAc,GAAG,IAAI,CAAA;IAE9B,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC;IACtC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;CACvB,CAAC,CAAA"}
|
|
@@ -2,15 +2,15 @@ import { ROOM_LEAVE } from "@welshman/util";
|
|
|
2
2
|
import { EventReader } from "../core/EventReader.js";
|
|
3
3
|
import { EventWriter } from "../core/EventWriter.js";
|
|
4
4
|
import { KindFactory } from "../core/Kind.js";
|
|
5
|
-
// NIP-29 kind-9022 room leave op. The target room is the "h"
|
|
5
|
+
// NIP-29 kind-9022 room leave op. The target room is the "h" tag.
|
|
6
6
|
export class RoomLeaveReader extends EventReader {
|
|
7
7
|
}
|
|
8
8
|
export class RoomLeaveWriter extends EventWriter {
|
|
9
9
|
requiresRelays = true;
|
|
10
10
|
validate() {
|
|
11
11
|
super.validate();
|
|
12
|
-
if (!this.
|
|
13
|
-
throw new Error("RoomLeave requires a
|
|
12
|
+
if (!this.roomTag) {
|
|
13
|
+
throw new Error("RoomLeave requires a room");
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomLeave.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomLeave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,
|
|
1
|
+
{"version":3,"file":"RoomLeave.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomLeave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,kEAAkE;AAClE,MAAM,OAAO,eAAgB,SAAQ,WAAW;CAAG;AAEnD,MAAM,OAAO,eAAgB,SAAQ,WAA4B;IACtD,cAAc,GAAG,IAAI,CAAA;IAE9B,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC;IACvC,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;CACxB,CAAC,CAAA"}
|
|
@@ -2,18 +2,20 @@ import { ListReader } from "../core/ListReader.js";
|
|
|
2
2
|
import { ListWriter } from "../core/ListWriter.js";
|
|
3
3
|
import { KindFactory } from "../core/Kind.js";
|
|
4
4
|
export declare class RoomListReader extends ListReader {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
rooms(): string[];
|
|
6
|
+
roomTags(): string[][];
|
|
7
7
|
relays(): string[];
|
|
8
8
|
urls(): string[];
|
|
9
|
-
|
|
9
|
+
roomsForUrl(url: string): string[];
|
|
10
10
|
}
|
|
11
11
|
export declare class RoomListWriter extends ListWriter<RoomListReader> {
|
|
12
12
|
protected renderRoutes(): Promise<import("@welshman/util").RelaySelection[]>;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
addRoom(roomId: string, url: string): this;
|
|
14
|
+
removeRoom(roomId: string, url?: string): this;
|
|
15
15
|
addRelay(url: string): this;
|
|
16
16
|
removeRelay(url: string): this;
|
|
17
|
+
setRelays(urls: string[]): this;
|
|
18
|
+
migrateRelay(oldUrl: string, newUrl: string): this;
|
|
17
19
|
}
|
|
18
20
|
export declare const RoomList: KindFactory<RoomListReader, RoomListWriter>;
|
|
19
21
|
//# sourceMappingURL=RoomList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomList.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomList.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"RoomList.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/RoomList.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAmB3C,qBAAa,cAAe,SAAQ,UAAU;IAC5C,KAAK;IAIL,QAAQ;IAIR,MAAM;IAIN,IAAI;IAIJ,WAAW,CAAC,GAAG,EAAE,MAAM;CAOxB;AAED,qBAAa,cAAe,SAAQ,UAAU,CAAC,cAAc,CAAC;cAI5C,YAAY;IAO5B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAInC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAWvC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAWpB,WAAW,CAAC,GAAG,EAAE,MAAM;IAYvB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE;IAcxB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAiB5C;AAED,eAAO,MAAM,QAAQ,6CAInB,CAAA"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import { nth, uniq } from "@welshman/lib";
|
|
1
|
+
import { nth, uniq, spec, partition, indexBy } from "@welshman/lib";
|
|
2
2
|
import { ROOMS, matchTags, tagSpec, tagValues, isRelayUrl, normalizeRelayUrl, relays, userOutbox, } from "@welshman/util";
|
|
3
3
|
import { ListReader } from "../core/ListReader.js";
|
|
4
4
|
import { ListWriter } from "../core/ListWriter.js";
|
|
5
5
|
import { KindFactory } from "../core/Kind.js";
|
|
6
|
-
//
|
|
7
|
-
|
|
6
|
+
// Room tags (`h`, and the `group` tag NIP-51 uses for this list) carry the room
|
|
7
|
+
// id at t[1] and a relay hint at t[2].
|
|
8
|
+
const roomSpec = tagSpec(["h", "group"]);
|
|
8
9
|
const matchesUrl = (normalized, value = "") => isRelayUrl(value) && normalizeRelayUrl(value) === normalized;
|
|
9
10
|
// Every relay a room list references: its `r` relays plus the relay hints on its
|
|
10
|
-
//
|
|
11
|
-
const getUrls = (tags) => uniq([...tagValues(tagSpec("r"), tags), ...matchTags(
|
|
11
|
+
// room tags, normalized and deduped.
|
|
12
|
+
const getUrls = (tags) => uniq([...tagValues(tagSpec("r"), tags), ...matchTags(roomSpec, tags).map(nth(2))]
|
|
12
13
|
.filter(isRelayUrl)
|
|
13
14
|
.map(normalizeRelayUrl));
|
|
14
|
-
// NIP-51 kind-10009
|
|
15
|
+
// NIP-51 kind-10009 room membership list (NIP-29 "simple groups").
|
|
15
16
|
export class RoomListReader extends ListReader {
|
|
16
|
-
|
|
17
|
-
return tagValues(
|
|
17
|
+
rooms() {
|
|
18
|
+
return tagValues(roomSpec, this.tags());
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
return matchTags(
|
|
20
|
+
roomTags() {
|
|
21
|
+
return matchTags(roomSpec, this.tags());
|
|
21
22
|
}
|
|
22
23
|
relays() {
|
|
23
24
|
return tagValues(tagSpec("r"), this.tags());
|
|
@@ -25,9 +26,9 @@ export class RoomListReader extends ListReader {
|
|
|
25
26
|
urls() {
|
|
26
27
|
return getUrls(this.tags());
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
roomsForUrl(url) {
|
|
29
30
|
const normalized = normalizeRelayUrl(url);
|
|
30
|
-
return matchTags(
|
|
31
|
+
return matchTags(roomSpec, this.tags())
|
|
31
32
|
.filter(t => matchesUrl(normalized, t[2]))
|
|
32
33
|
.map(nth(1));
|
|
33
34
|
}
|
|
@@ -41,13 +42,13 @@ export class RoomListWriter extends ListWriter {
|
|
|
41
42
|
const current = getUrls(await this.renderTags());
|
|
42
43
|
return [userOutbox(), ...relays(uniq([...original, ...current]))];
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
-
return this.addRelay(url).addPublic(["group",
|
|
45
|
+
addRoom(roomId, url) {
|
|
46
|
+
return this.addRelay(url).addPublic(["group", roomId, url]);
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
removeRoom(roomId, url) {
|
|
48
49
|
const normalized = url ? normalizeRelayUrl(url) : undefined;
|
|
49
50
|
return this.dropTags(t => t[0] === "group" &&
|
|
50
|
-
t[1] ===
|
|
51
|
+
t[1] === roomId &&
|
|
51
52
|
(!normalized || matchesUrl(normalized, t[2])));
|
|
52
53
|
}
|
|
53
54
|
addRelay(url) {
|
|
@@ -63,6 +64,33 @@ export class RoomListWriter extends ListWriter {
|
|
|
63
64
|
return this.dropTags(t => (t[0] === "r" && matchesUrl(normalized, t[1])) ||
|
|
64
65
|
(t[0] === "group" && matchesUrl(normalized, t[2])));
|
|
65
66
|
}
|
|
67
|
+
// Replace the relay set, in the given order. Existing tags are reused so any extra values
|
|
68
|
+
// they carry survive a reorder, and non-relay tags are left alone.
|
|
69
|
+
setRelays(urls) {
|
|
70
|
+
const orderedUrls = uniq(urls.map(normalizeRelayUrl));
|
|
71
|
+
const [relayTags, otherTags] = partition(spec(["r"]), this.publicTags);
|
|
72
|
+
const relayTagByUrl = indexBy(t => normalizeRelayUrl(t[1]), relayTags);
|
|
73
|
+
this.publicTags = [
|
|
74
|
+
...orderedUrls.map(url => relayTagByUrl.get(url) ?? ["r", url]),
|
|
75
|
+
...otherTags,
|
|
76
|
+
];
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
// Point every reference to a relay at its new url, keeping the rooms listed under it.
|
|
80
|
+
migrateRelay(oldUrl, newUrl) {
|
|
81
|
+
const from = normalizeRelayUrl(oldUrl);
|
|
82
|
+
const to = normalizeRelayUrl(newUrl);
|
|
83
|
+
const rewrite = (tags) => tags.map(t => {
|
|
84
|
+
if (t[0] === "r" && matchesUrl(from, t[1]))
|
|
85
|
+
return ["r", to];
|
|
86
|
+
if (t[0] === "group" && matchesUrl(from, t[2]))
|
|
87
|
+
return ["group", t[1], to];
|
|
88
|
+
return t;
|
|
89
|
+
});
|
|
90
|
+
this.publicTags = rewrite(this.publicTags);
|
|
91
|
+
this.privateTags = rewrite(this.privateTags);
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
66
94
|
}
|
|
67
95
|
export const RoomList = new KindFactory({
|
|
68
96
|
kind: ROOMS,
|