@welshman/domain 0.9.0-pre2 → 0.9.0-pre3
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/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/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/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/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 +11 -11
- 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
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
import type { MaybeAsync } from "@welshman/lib";
|
|
1
2
|
import type { TrustedEvent } from "@welshman/util";
|
|
2
3
|
import type { KindContext } from "./Kind.js";
|
|
3
4
|
import type { Emoji } from "../behaviors/Emoji.js";
|
|
4
5
|
import type { ZapSplit } from "../behaviors/ZapSplits.js";
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The accessors every reader shares. Readers don't extend this directly — they
|
|
8
|
+
* pick a branch below according to whether parsing their event can hit IO, which
|
|
9
|
+
* is what tells a caller whether `parse()` has to be awaited.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class BaseEventReader {
|
|
6
12
|
readonly kind: number;
|
|
7
13
|
readonly context: KindContext;
|
|
8
14
|
readonly event: TrustedEvent;
|
|
9
15
|
constructor(kind: number, context: KindContext, event: TrustedEvent);
|
|
10
|
-
parse():
|
|
16
|
+
abstract parse(): MaybeAsync<this>;
|
|
11
17
|
id(): string;
|
|
12
18
|
author(): string;
|
|
13
19
|
content(): string;
|
|
@@ -15,10 +21,31 @@ export declare abstract class EventReader {
|
|
|
15
21
|
createdAt(): number;
|
|
16
22
|
identifier(): string | undefined;
|
|
17
23
|
address(): string;
|
|
18
|
-
|
|
24
|
+
room(): string | undefined;
|
|
19
25
|
protect(): boolean;
|
|
20
26
|
expiration(): number | undefined;
|
|
21
27
|
emojis(): Emoji[];
|
|
22
28
|
zapSplits(): ZapSplit[];
|
|
23
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* A reader whose event can be parsed without IO — the common case. `parse()`
|
|
32
|
+
* returns the reader itself, so callers never await it. Override `parse` to
|
|
33
|
+
* derive state from the event, returning `this`.
|
|
34
|
+
*/
|
|
35
|
+
export declare abstract class EventReader extends BaseEventReader {
|
|
36
|
+
parse(): this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A reader that has to decrypt (or otherwise await something) before its
|
|
40
|
+
* accessors are complete. `parse()` returns a promise, so the type system makes
|
|
41
|
+
* callers await it rather than silently reading a half-parsed event.
|
|
42
|
+
*/
|
|
43
|
+
export declare abstract class AsyncEventReader extends BaseEventReader {
|
|
44
|
+
abstract parse(): Promise<this>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* What `reader.parse()` yields for a given reader — the reader for sync kinds, a
|
|
48
|
+
* promise of it for kinds that decrypt. `await` works either way.
|
|
49
|
+
*/
|
|
50
|
+
export type Parsed<R extends BaseEventReader> = ReturnType<R["parse"]>;
|
|
24
51
|
//# sourceMappingURL=EventReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAA;AAEhD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAEvD;;;;GAIG;AACH,8BAAsB,eAAe;IAEjC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY;gBAFnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,YAAY;IAS9B,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC;IAElC,EAAE;IAIF,MAAM;IAIN,OAAO;IAIP,IAAI;IAIJ,SAAS;IAIT,UAAU;IAIV,OAAO;IAIP,IAAI;IAIJ,OAAO;IAIP,UAAU;IAIV,MAAM,IAAI,KAAK,EAAE;IAIjB,SAAS,IAAI,QAAQ,EAAE;CAGxB;AAED;;;;GAIG;AACH,8BAAsB,WAAY,SAAQ,eAAe;IACvD,KAAK,IAAI,IAAI;CAGd;AAED;;;;GAIG;AACH,8BAAsB,gBAAiB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,eAAe,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA"}
|
|
@@ -2,7 +2,12 @@ import { spec, toInt } from "@welshman/lib";
|
|
|
2
2
|
import { tagSpec, tagValue, getAddress } from "@welshman/util";
|
|
3
3
|
import { getEmojis } from "../behaviors/Emoji.js";
|
|
4
4
|
import { getZapSplits } from "../behaviors/ZapSplits.js";
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The accessors every reader shares. Readers don't extend this directly — they
|
|
7
|
+
* pick a branch below according to whether parsing their event can hit IO, which
|
|
8
|
+
* is what tells a caller whether `parse()` has to be awaited.
|
|
9
|
+
*/
|
|
10
|
+
export class BaseEventReader {
|
|
6
11
|
kind;
|
|
7
12
|
context;
|
|
8
13
|
event;
|
|
@@ -14,7 +19,6 @@ export class EventReader {
|
|
|
14
19
|
throw new Error(`Expected a kind ${kind} event, got kind ${event.kind}`);
|
|
15
20
|
}
|
|
16
21
|
}
|
|
17
|
-
async parse() { }
|
|
18
22
|
id() {
|
|
19
23
|
return this.event.id;
|
|
20
24
|
}
|
|
@@ -36,7 +40,7 @@ export class EventReader {
|
|
|
36
40
|
address() {
|
|
37
41
|
return getAddress(this.event);
|
|
38
42
|
}
|
|
39
|
-
|
|
43
|
+
room() {
|
|
40
44
|
return tagValue(tagSpec("h"), this.event.tags);
|
|
41
45
|
}
|
|
42
46
|
protect() {
|
|
@@ -52,4 +56,21 @@ export class EventReader {
|
|
|
52
56
|
return getZapSplits(this.event);
|
|
53
57
|
}
|
|
54
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* A reader whose event can be parsed without IO — the common case. `parse()`
|
|
61
|
+
* returns the reader itself, so callers never await it. Override `parse` to
|
|
62
|
+
* derive state from the event, returning `this`.
|
|
63
|
+
*/
|
|
64
|
+
export class EventReader extends BaseEventReader {
|
|
65
|
+
parse() {
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A reader that has to decrypt (or otherwise await something) before its
|
|
71
|
+
* accessors are complete. `parse()` returns a promise, so the type system makes
|
|
72
|
+
* callers await it rather than silently reading a half-parsed event.
|
|
73
|
+
*/
|
|
74
|
+
export class AsyncEventReader extends BaseEventReader {
|
|
75
|
+
}
|
|
55
76
|
//# sourceMappingURL=EventReader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../../src/core/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAGtD;;;;GAIG;AACH,MAAM,OAAgB,eAAe;IAExB;IACA;IACA;IAHX,YACW,IAAY,EACZ,OAAoB,EACpB,KAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,UAAK,GAAL,KAAK,CAAc;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAMD,EAAE;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,WAAY,SAAQ,eAAe;IACvD,KAAK;QACH,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,eAAe;CAE7D"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { MaybeAsync } from "@welshman/lib";
|
|
2
2
|
import type { EventTemplate, TrustedEvent, RelaySelection, RelayScenario } from "@welshman/util";
|
|
3
|
-
import type {
|
|
3
|
+
import type { BaseEventReader } from "./EventReader.js";
|
|
4
4
|
import type { KindContext } from "./Kind.js";
|
|
5
5
|
export declare class TagParser {
|
|
6
6
|
tags: string[][];
|
|
7
7
|
constructor(tags: string[][]);
|
|
8
8
|
consume(key: string): string[][];
|
|
9
9
|
}
|
|
10
|
-
export declare abstract class EventWriter<Reader extends
|
|
10
|
+
export declare abstract class EventWriter<Reader extends BaseEventReader> {
|
|
11
11
|
readonly kind: number;
|
|
12
12
|
readonly context: KindContext;
|
|
13
13
|
readonly reader?: Reader | undefined;
|
|
14
14
|
content: string;
|
|
15
|
-
|
|
15
|
+
roomTag?: string[];
|
|
16
16
|
protectTag?: string[];
|
|
17
17
|
expirationTag?: string[];
|
|
18
18
|
identifierTag?: string[];
|
|
@@ -22,8 +22,8 @@ export declare abstract class EventWriter<Reader extends EventReader> {
|
|
|
22
22
|
readonly requiresRelays: boolean;
|
|
23
23
|
constructor(kind: number, context: KindContext, reader?: Reader | undefined);
|
|
24
24
|
setContent(content: string): this;
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
setRoom(url: string, room: string): this;
|
|
26
|
+
clearRoom(): this;
|
|
27
27
|
forceRelays(...urls: string[]): this;
|
|
28
28
|
clearForcedRelays(): this;
|
|
29
29
|
setProtected(protect: boolean): this;
|
|
@@ -81,7 +81,7 @@ export declare abstract class EventWriter<Reader extends EventReader> {
|
|
|
81
81
|
protected renderRoutes(): Promise<RelaySelection[]>;
|
|
82
82
|
/**
|
|
83
83
|
* Returns a router scenario for this event. Publishes to forced relays (e.g. a
|
|
84
|
-
* NIP-29
|
|
84
|
+
* NIP-29 room) when set, otherwise to the rendered routes.
|
|
85
85
|
*/
|
|
86
86
|
scenario(): Promise<RelayScenario>;
|
|
87
87
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventWriter.d.ts","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAW7C,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC9F,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"EventWriter.d.ts","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,14 +19,14 @@ export class EventWriter {
|
|
|
19
19
|
context;
|
|
20
20
|
reader;
|
|
21
21
|
content = "";
|
|
22
|
-
|
|
22
|
+
roomTag;
|
|
23
23
|
protectTag;
|
|
24
24
|
expirationTag;
|
|
25
25
|
identifierTag;
|
|
26
26
|
extraTags = [];
|
|
27
27
|
forcedRelays;
|
|
28
28
|
pendingResolves = [];
|
|
29
|
-
// Kinds that must publish to explicit relays (e.g. NIP-29
|
|
29
|
+
// Kinds that must publish to explicit relays (e.g. NIP-29 room events) set this.
|
|
30
30
|
// Annotated `boolean` (not the inferred literal `false`) so subclasses can override.
|
|
31
31
|
requiresRelays = false;
|
|
32
32
|
constructor(kind, context, reader) {
|
|
@@ -36,7 +36,7 @@ export class EventWriter {
|
|
|
36
36
|
if (reader) {
|
|
37
37
|
const parser = new TagParser(reader.event.tags);
|
|
38
38
|
this.content = reader.event.content;
|
|
39
|
-
this.
|
|
39
|
+
this.roomTag = first(parser.consume("h"));
|
|
40
40
|
this.protectTag = first(parser.consume("-"));
|
|
41
41
|
this.expirationTag = first(parser.consume("expiration"));
|
|
42
42
|
this.identifierTag = first(parser.consume("d"));
|
|
@@ -47,14 +47,14 @@ export class EventWriter {
|
|
|
47
47
|
this.content = content;
|
|
48
48
|
return this;
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
setRoom(url, room) {
|
|
51
51
|
this.forcedRelays = [normalizeRelayUrl(url)];
|
|
52
|
-
this.
|
|
52
|
+
this.roomTag = ["h", room];
|
|
53
53
|
return this;
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
clearRoom() {
|
|
56
56
|
this.forcedRelays = undefined;
|
|
57
|
-
this.
|
|
57
|
+
this.roomTag = undefined;
|
|
58
58
|
return this;
|
|
59
59
|
}
|
|
60
60
|
forceRelays(...urls) {
|
|
@@ -137,11 +137,11 @@ export class EventWriter {
|
|
|
137
137
|
if (isParameterizedReplaceableKind(this.kind) && !this.identifierTag) {
|
|
138
138
|
throw new Error(`A d tag is required for kind ${this.kind}`);
|
|
139
139
|
}
|
|
140
|
-
if (this.
|
|
141
|
-
throw new Error("A
|
|
140
|
+
if (this.roomTag && !this.forcedRelays?.length) {
|
|
141
|
+
throw new Error("A room event requires a relay url (set the room via setRoom)");
|
|
142
142
|
}
|
|
143
143
|
if (this.requiresRelays && !this.forcedRelays?.length) {
|
|
144
|
-
throw new Error(`A kind ${this.kind} event must publish to explicit relays (via
|
|
144
|
+
throw new Error(`A kind ${this.kind} event must publish to explicit relays (via setRoom or forceRelays)`);
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
/**
|
|
@@ -166,7 +166,7 @@ export class EventWriter {
|
|
|
166
166
|
* Returns a list of tags that may be attached to any kind.
|
|
167
167
|
*/
|
|
168
168
|
renderBehaviorTags() {
|
|
169
|
-
return removeUndefined([this.
|
|
169
|
+
return removeUndefined([this.roomTag, this.protectTag, this.expirationTag, this.identifierTag]);
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
172
172
|
* Returns a list of tags related to the kind.
|
|
@@ -210,7 +210,7 @@ export class EventWriter {
|
|
|
210
210
|
}
|
|
211
211
|
/**
|
|
212
212
|
* Returns a router scenario for this event. Publishes to forced relays (e.g. a
|
|
213
|
-
* NIP-29
|
|
213
|
+
* NIP-29 room) when set, otherwise to the rendered routes.
|
|
214
214
|
*/
|
|
215
215
|
async scenario() {
|
|
216
216
|
const routes = this.forcedRelays?.length ? relays(this.forcedRelays) : await this.renderRoutes();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventWriter.js","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAEnG,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,MAAM,GACP,MAAM,gBAAgB,CAAA;AAKvB,4EAA4E;AAC5E,iFAAiF;AACjF,6BAA6B;AAC7B,MAAM,OAAO,SAAS;IACpB,IAAI,CAAY;IAEhB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAE/D,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QAErB,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,MAAM,OAAgB,WAAW;IAepB;IACA;IACA;IAhBX,OAAO,GAAG,EAAE,CAAA;IACZ,
|
|
1
|
+
{"version":3,"file":"EventWriter.js","sourceRoot":"","sources":["../../../../src/core/EventWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { TrustedEvent, Resolver } from "@welshman/util";
|
|
2
2
|
import type { ISigner } from "@welshman/signer";
|
|
3
|
-
import type {
|
|
3
|
+
import type { BaseEventReader } from "./EventReader.js";
|
|
4
4
|
import type { EventWriter } from "./EventWriter.js";
|
|
5
5
|
export type KindContext = {
|
|
6
6
|
resolver: Resolver;
|
|
7
7
|
signer?: ISigner;
|
|
8
8
|
};
|
|
9
|
-
export type KindConfig<Reader extends
|
|
9
|
+
export type KindConfig<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> = {
|
|
10
10
|
kind: number;
|
|
11
11
|
reader: new (kind: number, context: KindContext, event: TrustedEvent) => Reader;
|
|
12
12
|
writer: new (kind: number, context: KindContext, reader?: Reader) => Writer;
|
|
@@ -18,7 +18,7 @@ export type KindConfig<Reader extends EventReader, Writer extends EventWriter<Re
|
|
|
18
18
|
* ProfileReader, writer: ProfileWriter})`, then `Profile.kind` reads the number and
|
|
19
19
|
* `Profile.configure(context)` binds the app's dependencies once.
|
|
20
20
|
*/
|
|
21
|
-
export declare class KindFactory<Reader extends
|
|
21
|
+
export declare class KindFactory<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> {
|
|
22
22
|
readonly config: KindConfig<Reader, Writer>;
|
|
23
23
|
constructor(config: KindConfig<Reader, Writer>);
|
|
24
24
|
get kind(): number;
|
|
@@ -28,12 +28,12 @@ export declare class KindFactory<Reader extends EventReader, Writer extends Even
|
|
|
28
28
|
* A kind bound to a `KindContext`. Produces readers and writers which share the
|
|
29
29
|
* configured dependencies.
|
|
30
30
|
*/
|
|
31
|
-
export declare class ConfiguredKind<Reader extends
|
|
31
|
+
export declare class ConfiguredKind<Reader extends BaseEventReader, Writer extends EventWriter<Reader>> {
|
|
32
32
|
readonly config: KindConfig<Reader, Writer>;
|
|
33
33
|
readonly context: KindContext;
|
|
34
34
|
constructor(config: KindConfig<Reader, Writer>, context: KindContext);
|
|
35
35
|
get kind(): number;
|
|
36
|
-
reader: (event: TrustedEvent) =>
|
|
36
|
+
reader: (event: TrustedEvent) => Reader;
|
|
37
37
|
writer: (reader?: Reader) => Writer;
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=Kind.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kind.d.ts","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"Kind.d.ts","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,eAAe,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI;IAC3F,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;IAC/E,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAC5E,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,MAAM,SAAS,eAAe,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC;IAC7E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAlC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAEvD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhE;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,eAAe,EAAE,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC;IAE1F,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW;gBADpB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,OAAO,EAAE,WAAW;IAG/B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAKD,MAAM,GAAI,OAAO,YAAY,KAAG,MAAM,CACyB;IAG/D,MAAM,GAAI,SAAS,MAAM,KAAG,MAAM,CAC8B;CACjE"}
|
|
@@ -31,12 +31,10 @@ export class ConfiguredKind {
|
|
|
31
31
|
get kind() {
|
|
32
32
|
return this.config.kind;
|
|
33
33
|
}
|
|
34
|
-
// Build a reader for an existing event
|
|
35
|
-
reader
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return reader;
|
|
39
|
-
};
|
|
34
|
+
// Build a reader for an existing event. It arrives unparsed — chain `parse()`,
|
|
35
|
+
// which returns the reader for sync kinds and a promise of it for kinds that
|
|
36
|
+
// decrypt. `await kind.reader(event).parse()` is correct for either.
|
|
37
|
+
reader = (event) => new this.config.reader(this.config.kind, this.context, event);
|
|
40
38
|
// Build a writer. Pass a reader to edit its event, or omit to draft a new one.
|
|
41
39
|
writer = (reader) => new this.config.writer(this.config.kind, this.context, reader);
|
|
42
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kind.js","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,MAAkC;QAAlC,WAAM,GAAN,MAAM,CAA4B;IAAG,CAAC;IAE3D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,OAAoB;QAC5B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IAEd;IACA;IAFX,YACW,MAAkC,EAClC,OAAoB;QADpB,WAAM,GAAN,MAAM,CAA4B;QAClC,YAAO,GAAP,OAAO,CAAa;IAC5B,CAAC;IAEJ,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,6EAA6E;IAC7E,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"Kind.js","sourceRoot":"","sources":["../../../../src/core/Kind.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,MAAkC;QAAlC,WAAM,GAAN,MAAM,CAA4B;IAAG,CAAC;IAE3D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,OAAoB;QAC5B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IAEd;IACA;IAFX,YACW,MAAkC,EAClC,OAAoB;QADpB,WAAM,GAAN,MAAM,CAA4B;QAClC,YAAO,GAAP,OAAO,CAAa;IAC5B,CAAC;IAEJ,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,GAAG,CAAC,KAAmB,EAAU,EAAE,CACvC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE/D,+EAA+E;IAC/E,MAAM,GAAG,CAAC,MAAe,EAAU,EAAE,CACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;CACjE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare abstract class ListReader extends
|
|
1
|
+
import { AsyncEventReader } from "./EventReader.js";
|
|
2
|
+
export declare abstract class ListReader extends AsyncEventReader {
|
|
3
3
|
decrypted: boolean;
|
|
4
4
|
publicTags: string[][];
|
|
5
5
|
privateTags: string[][];
|
|
6
|
-
parse(): Promise<
|
|
6
|
+
parse(): Promise<this>;
|
|
7
7
|
tags(): string[][];
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=ListReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListReader.d.ts","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"ListReader.d.ts","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAA;AAEjD,8BAAsB,UAAW,SAAQ,gBAAgB;IACvD,SAAS,UAAQ;IACjB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAK;IAC3B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAK;IAEtB,KAAK;IA4BX,IAAI;CAGL"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseJson } from "@welshman/lib";
|
|
2
2
|
import { decrypt } from "@welshman/signer";
|
|
3
|
-
import {
|
|
4
|
-
export class ListReader extends
|
|
3
|
+
import { AsyncEventReader } from "./EventReader.js";
|
|
4
|
+
export class ListReader extends AsyncEventReader {
|
|
5
5
|
decrypted = false;
|
|
6
6
|
publicTags = [];
|
|
7
7
|
privateTags = [];
|
|
@@ -24,6 +24,7 @@ export class ListReader extends EventReader {
|
|
|
24
24
|
// pass
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
return this;
|
|
27
28
|
}
|
|
28
29
|
tags() {
|
|
29
30
|
return [...this.publicTags, ...this.privateTags];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListReader.js","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"ListReader.js","sourceRoot":"","sources":["../../../../src/core/ListReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAA;AAEjD,MAAM,OAAgB,UAAW,SAAQ,gBAAgB;IACvD,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,GAAe,EAAE,CAAA;IAC3B,WAAW,GAAe,EAAE,CAAA;IAE5B,KAAK,CAAC,KAAK;QACT,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;QAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAE9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBAErB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;gBAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAC5B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACrF,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;CACF"}
|
|
@@ -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.d.ts","sourceRoot":"","sources":["../../../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.d.ts","sourceRoot":"","sources":["../../../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"}
|
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":["../../../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":["../../../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":["../../../../src/kinds/AppData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"AppData.d.ts","sourceRoot":"","sources":["../../../../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":["../../../../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":["../../../../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":["../../../../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
|