@welshman/util 0.0.51 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/{Address.mjs → Address.js} +14 -11
- package/build/src/Address.js.map +1 -0
- package/build/src/Encryptable.d.ts +1 -1
- package/build/src/{Encryptable.mjs → Encryptable.js} +3 -1
- package/build/src/Encryptable.js.map +1 -0
- package/build/src/Events.d.ts +1 -1
- package/build/src/{Events.mjs → Events.js} +16 -16
- package/build/src/Events.js.map +1 -0
- package/build/src/Filters.d.ts +15 -15
- package/build/src/{Filters.mjs → Filters.js} +13 -13
- package/build/src/Filters.js.map +1 -0
- package/build/src/Handler.d.ts +1 -1
- package/build/src/Handler.js +33 -0
- package/build/src/Handler.js.map +1 -0
- package/build/src/Kinds.d.ts +2 -8
- package/build/src/{Kinds.mjs → Kinds.js} +4 -10
- package/build/src/Kinds.js.map +1 -0
- package/build/src/Links.js +3 -0
- package/build/src/Links.js.map +1 -0
- package/build/src/List.d.ts +2 -2
- package/build/src/{List.mjs → List.js} +20 -17
- package/build/src/List.js.map +1 -0
- package/build/src/Profile.d.ts +1 -1
- package/build/src/{Profile.mjs → Profile.js} +11 -8
- package/build/src/Profile.js.map +1 -0
- package/build/src/Relay.d.ts +4 -4
- package/build/src/{Relay.mjs → Relay.js} +21 -18
- package/build/src/Relay.js.map +1 -0
- package/build/src/Repository.d.ts +3 -3
- package/build/src/Repository.js +198 -0
- package/build/src/Repository.js.map +1 -0
- package/build/src/{Tags.mjs → Tags.js} +5 -5
- package/build/src/Tags.js.map +1 -0
- package/build/src/Zaps.d.ts +1 -1
- package/build/src/{Zaps.mjs → Zaps.js} +5 -5
- package/build/src/Zaps.js.map +1 -0
- package/build/src/index.d.ts +13 -13
- package/build/src/index.js +14 -0
- package/build/src/index.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +9 -10
- package/build/src/Address.cjs +0 -45
- package/build/src/Address.cjs.map +0 -1
- package/build/src/Address.mjs.map +0 -1
- package/build/src/Encryptable.cjs +0 -55
- package/build/src/Encryptable.cjs.map +0 -1
- package/build/src/Encryptable.mjs.map +0 -1
- package/build/src/Events.cjs +0 -81
- package/build/src/Events.cjs.map +0 -1
- package/build/src/Events.mjs.map +0 -1
- package/build/src/Filters.cjs +0 -202
- package/build/src/Filters.cjs.map +0 -1
- package/build/src/Filters.mjs.map +0 -1
- package/build/src/Handler.cjs +0 -36
- package/build/src/Handler.cjs.map +0 -1
- package/build/src/Handler.mjs +0 -29
- package/build/src/Handler.mjs.map +0 -1
- package/build/src/Kinds.cjs +0 -172
- package/build/src/Kinds.cjs.map +0 -1
- package/build/src/Kinds.mjs.map +0 -1
- package/build/src/Links.cjs +0 -8
- package/build/src/Links.cjs.map +0 -1
- package/build/src/Links.mjs +0 -3
- package/build/src/Links.mjs.map +0 -1
- package/build/src/List.cjs +0 -74
- package/build/src/List.cjs.map +0 -1
- package/build/src/List.mjs.map +0 -1
- package/build/src/Profile.cjs +0 -47
- package/build/src/Profile.cjs.map +0 -1
- package/build/src/Profile.mjs.map +0 -1
- package/build/src/Relay.cjs +0 -96
- package/build/src/Relay.cjs.map +0 -1
- package/build/src/Relay.mjs.map +0 -1
- package/build/src/Repository.cjs +0 -205
- package/build/src/Repository.cjs.map +0 -1
- package/build/src/Repository.mjs +0 -201
- package/build/src/Repository.mjs.map +0 -1
- package/build/src/Tags.cjs +0 -95
- package/build/src/Tags.cjs.map +0 -1
- package/build/src/Tags.mjs.map +0 -1
- package/build/src/Zaps.cjs +0 -99
- package/build/src/Zaps.cjs.map +0 -1
- package/build/src/Zaps.mjs.map +0 -1
- package/build/src/index.cjs +0 -30
- package/build/src/index.cjs.map +0 -1
- package/build/src/index.mjs +0 -14
- package/build/src/index.mjs.map +0 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { decode, naddrEncode } from "nostr-tools/nip19";
|
|
2
2
|
export class Address {
|
|
3
|
+
kind;
|
|
4
|
+
pubkey;
|
|
5
|
+
identifier;
|
|
6
|
+
relays;
|
|
3
7
|
constructor(kind, pubkey, identifier, relays = []) {
|
|
4
8
|
this.kind = kind;
|
|
5
9
|
this.pubkey = pubkey;
|
|
6
10
|
this.identifier = identifier;
|
|
7
11
|
this.relays = relays;
|
|
8
|
-
this.toString = () => [this.kind, this.pubkey, this.identifier].join(":");
|
|
9
|
-
this.toNaddr = () => nip19.naddrEncode(this);
|
|
10
12
|
}
|
|
11
13
|
static isAddress(address) {
|
|
12
14
|
return Boolean(address.match(/^\d+:\w+:.*$/));
|
|
@@ -16,25 +18,26 @@ export class Address {
|
|
|
16
18
|
return new Address(parseInt(kind), pubkey, identifier, relays);
|
|
17
19
|
}
|
|
18
20
|
static fromNaddr(naddr) {
|
|
19
|
-
let
|
|
20
|
-
let data = {};
|
|
21
|
+
let decoded;
|
|
21
22
|
try {
|
|
22
|
-
|
|
23
|
+
decoded = decode(naddr);
|
|
23
24
|
}
|
|
24
25
|
catch (e) {
|
|
25
26
|
// pass
|
|
26
27
|
}
|
|
27
|
-
if (type !== "naddr") {
|
|
28
|
+
if (decoded?.type !== "naddr") {
|
|
28
29
|
throw new Error(`Invalid naddr ${naddr}`);
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
+
const { kind, pubkey, identifier, relays } = decoded.data;
|
|
32
|
+
return new Address(kind, pubkey, identifier, relays);
|
|
31
33
|
}
|
|
32
34
|
static fromEvent(event, relays = []) {
|
|
33
|
-
|
|
34
|
-
const identifier = ((_a = event.tags.find(t => t[0] === "d")) === null || _a === void 0 ? void 0 : _a[1]) || "";
|
|
35
|
+
const identifier = event.tags.find(t => t[0] === "d")?.[1] || "";
|
|
35
36
|
return new Address(event.kind, event.pubkey, identifier, relays);
|
|
36
37
|
}
|
|
38
|
+
toString = () => [this.kind, this.pubkey, this.identifier].join(":");
|
|
39
|
+
toNaddr = () => naddrEncode(this);
|
|
37
40
|
}
|
|
38
41
|
// Utils
|
|
39
42
|
export const getAddress = (e) => Address.fromEvent(e).toString();
|
|
40
|
-
//# sourceMappingURL=Address.
|
|
43
|
+
//# sourceMappingURL=Address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../src/Address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAA;AASrD,MAAM,OAAO,OAAO;IAEP;IACA;IACA;IACA;IAJX,YACW,IAAY,EACZ,MAAc,EACd,UAAkB,EAClB,SAAmB,EAAE;QAHrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAAe;IAC7B,CAAC;IAEJ,MAAM,CAAC,SAAS,CAAC,OAAe;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,SAAmB,EAAE;QAChD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAErF,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAa;QAC5B,IAAI,OAAY,CAAA;QAEhB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,IAAI,CAAA;QAEvD,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAuB,EAAE,SAAmB,EAAE;QAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAEhE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAClE,CAAC;IAED,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEpE,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,QAAQ;AAER,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EventContent, TrustedEvent, EventTemplate } from
|
|
1
|
+
import type { EventContent, TrustedEvent, EventTemplate } from "./Events.js";
|
|
2
2
|
export type Encrypt = (x: string) => Promise<string>;
|
|
3
3
|
export type EncryptableUpdates = Partial<EventContent>;
|
|
4
4
|
export type DecryptedEvent = TrustedEvent & {
|
|
@@ -3,6 +3,8 @@ export const asDecryptedEvent = (event, plaintext = {}) => ({ ...event, plaintex
|
|
|
3
3
|
* Represents an encryptable event with optional updates.
|
|
4
4
|
*/
|
|
5
5
|
export class Encryptable {
|
|
6
|
+
event;
|
|
7
|
+
updates;
|
|
6
8
|
/**
|
|
7
9
|
* Creates an instance of Encryptable.
|
|
8
10
|
* @param event - An EventTemplate with optional tags and content.
|
|
@@ -47,4 +49,4 @@ export class Encryptable {
|
|
|
47
49
|
};
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
|
-
//# sourceMappingURL=Encryptable.
|
|
52
|
+
//# sourceMappingURL=Encryptable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Encryptable.js","sourceRoot":"","sources":["../../src/Encryptable.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAmB,EAAE,YAAgC,EAAE,EAAE,EAAE,CAC1F,CAAC,EAAC,GAAG,KAAK,EAAE,SAAS,EAAC,CAAmB,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,WAAW;IAcX;IACA;IAdX;;;;;;;;;;;OAWG;IACH,YACW,KAAiB,EACjB,OAA2B;QAD3B,UAAK,GAAL,KAAK,CAAY;QACjB,YAAO,GAAP,OAAO,CAAoB;IACnC,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC9B,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YAEtC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YAEnC,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBAChC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE9B,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QAE5E,oFAAoF;QACpF,OAAO;YACL,GAAG,IAAI,CAAC,KAAK;YACb,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;YACnC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE;SACxC,CAAA;IACR,CAAC;CACF"}
|
package/build/src/Events.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { verifiedSymbol, getEventHash, verifyEvent } from
|
|
2
|
-
import { cached, pick, now } from
|
|
3
|
-
import { getAncestorTagValues } from "./Tags.
|
|
4
|
-
import { getAddress } from "./Address.
|
|
5
|
-
import { isEphemeralKind, isReplaceableKind, isPlainReplaceableKind, isParameterizedReplaceableKind } from "./Kinds.
|
|
1
|
+
import { verifiedSymbol, getEventHash, verifyEvent } from "nostr-tools/pure";
|
|
2
|
+
import { cached, pick, now } from "@welshman/lib";
|
|
3
|
+
import { getAncestorTagValues } from "./Tags.js";
|
|
4
|
+
import { getAddress } from "./Address.js";
|
|
5
|
+
import { isEphemeralKind, isReplaceableKind, isPlainReplaceableKind, isParameterizedReplaceableKind, } from "./Kinds.js";
|
|
6
6
|
export const createEvent = (kind, { content = "", tags = [], created_at = now() }) => ({ kind, content, tags, created_at });
|
|
7
7
|
export const isEventTemplate = (e) => Boolean(typeof e.kind === "number" && Array.isArray(e.tags) && typeof e.content === "string");
|
|
8
8
|
export const isStampedEvent = (e) => Boolean(isEventTemplate(e) && e.created_at >= 0);
|
|
@@ -11,13 +11,13 @@ export const isHashedEvent = (e) => Boolean(isOwnedEvent(e) && e.id);
|
|
|
11
11
|
export const isSignedEvent = (e) => Boolean(isHashedEvent(e) && e.sig);
|
|
12
12
|
export const isUnwrappedEvent = (e) => Boolean(isHashedEvent(e) && e.wrap);
|
|
13
13
|
export const isTrustedEvent = (e) => isSignedEvent(e) || isUnwrappedEvent(e);
|
|
14
|
-
export const asEventTemplate = (e) => pick([
|
|
15
|
-
export const asStampedEvent = (e) => pick([
|
|
16
|
-
export const asOwnedEvent = (e) => pick([
|
|
17
|
-
export const asHashedEvent = (e) => pick([
|
|
18
|
-
export const asSignedEvent = (e) => pick([
|
|
19
|
-
export const asUnwrappedEvent = (e) => pick([
|
|
20
|
-
export const asTrustedEvent = (e) => pick([
|
|
14
|
+
export const asEventTemplate = (e) => pick(["kind", "tags", "content"], e);
|
|
15
|
+
export const asStampedEvent = (e) => pick(["kind", "tags", "content", "created_at"], e);
|
|
16
|
+
export const asOwnedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey"], e);
|
|
17
|
+
export const asHashedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id"], e);
|
|
18
|
+
export const asSignedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id", "sig"], e);
|
|
19
|
+
export const asUnwrappedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id", "wrap"], e);
|
|
20
|
+
export const asTrustedEvent = (e) => pick(["kind", "tags", "content", "created_at", "pubkey", "id", "sig", "wrap"], e);
|
|
21
21
|
const _hasValidSignature = cached({
|
|
22
22
|
maxSize: 10000,
|
|
23
23
|
getKey: ([e]) => {
|
|
@@ -25,7 +25,7 @@ const _hasValidSignature = cached({
|
|
|
25
25
|
return [getEventHash(e), e.sig].join(":");
|
|
26
26
|
}
|
|
27
27
|
catch (err) {
|
|
28
|
-
return
|
|
28
|
+
return "invalid";
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
getValue: ([e]) => {
|
|
@@ -39,8 +39,8 @@ const _hasValidSignature = cached({
|
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
41
|
export const hasValidSignature = (e) => e[verifiedSymbol] || _hasValidSignature(e);
|
|
42
|
-
export const getIdentifier = (e) =>
|
|
43
|
-
export const getIdOrAddress = (e) => isReplaceable(e) ? getAddress(e) : e.id;
|
|
42
|
+
export const getIdentifier = (e) => e.tags.find(t => t[0] === "d")?.[1];
|
|
43
|
+
export const getIdOrAddress = (e) => (isReplaceable(e) ? getAddress(e) : e.id);
|
|
44
44
|
export const getIdAndAddress = (e) => isReplaceable(e) ? [e.id, getAddress(e)] : [e.id];
|
|
45
45
|
export const isEphemeral = (e) => isEphemeralKind(e.kind);
|
|
46
46
|
export const isReplaceable = (e) => isReplaceableKind(e.kind);
|
|
@@ -51,4 +51,4 @@ export const isChildOf = (child, parent) => {
|
|
|
51
51
|
const parentIds = replies.length > 0 ? replies : roots;
|
|
52
52
|
return getIdAndAddress(parent).some(x => parentIds.includes(x));
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=Events.
|
|
54
|
+
//# sourceMappingURL=Events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Events.js","sourceRoot":"","sources":["../../src/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,YAAY,CAAA;AA4CnB,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,EAAC,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,GAAG,EAAE,EAAkB,EAC9D,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAsB,EAAE,CACtE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAqB,EAAE,CACnE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAa,EAAmB,EAAE,CAC7D,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAc,EAAoB,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CACjE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAuB,EAAE,CACvE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAqB,EAAE,CACnE,aAAa,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAiB,EAAE,CACjE,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAgB,EAAE,CAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAa,EAAc,EAAE,CACxD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAc,EAAe,EAAE,CAC3D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAc,EAAe,EAAE,CAC3D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAiB,EAAkB,EAAE,CACpE,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAe,EAAgB,EAAE,CAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnF,MAAM,kBAAkB,GAAG,MAAM,CAAiC;IAChE,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,CAAC,CAAC,CAAC,CAAgB,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAgB,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,WAAW,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAc,EAAE,EAAE,CAChD,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAgB,EAAE,EAAE,CAC7D,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,MAAmB,EAAE,EAAE;IACpE,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAEtD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC,CAAA"}
|
package/build/src/Filters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HashedEvent, TrustedEvent } from
|
|
1
|
+
import type { HashedEvent, TrustedEvent } from "./Events.js";
|
|
2
2
|
export declare const EPOCH = 1609459200;
|
|
3
3
|
export declare const neverFilter: {
|
|
4
4
|
ids: never[];
|
|
@@ -22,22 +22,22 @@ export declare const intersectFilters: (groups: Filter[][]) => Filter[];
|
|
|
22
22
|
export declare const getIdFilters: (idsOrAddresses: string[]) => Filter[];
|
|
23
23
|
export declare const getReplyFilters: (events: TrustedEvent[], filter?: Filter) => ({
|
|
24
24
|
"#a": string[];
|
|
25
|
-
ids?: string[]
|
|
26
|
-
kinds?: number[]
|
|
27
|
-
authors?: string[]
|
|
28
|
-
since?: number
|
|
29
|
-
until?: number
|
|
30
|
-
limit?: number
|
|
31
|
-
search?: string
|
|
25
|
+
ids?: string[];
|
|
26
|
+
kinds?: number[];
|
|
27
|
+
authors?: string[];
|
|
28
|
+
since?: number;
|
|
29
|
+
until?: number;
|
|
30
|
+
limit?: number;
|
|
31
|
+
search?: string;
|
|
32
32
|
} | {
|
|
33
33
|
"#e": string[];
|
|
34
|
-
ids?: string[]
|
|
35
|
-
kinds?: number[]
|
|
36
|
-
authors?: string[]
|
|
37
|
-
since?: number
|
|
38
|
-
until?: number
|
|
39
|
-
limit?: number
|
|
40
|
-
search?: string
|
|
34
|
+
ids?: string[];
|
|
35
|
+
kinds?: number[];
|
|
36
|
+
authors?: string[];
|
|
37
|
+
since?: number;
|
|
38
|
+
until?: number;
|
|
39
|
+
limit?: number;
|
|
40
|
+
search?: string;
|
|
41
41
|
})[];
|
|
42
42
|
export declare const addRepostFilters: (filters: Filter[]) => Filter[];
|
|
43
43
|
export declare const getFilterGenerality: (filter: Filter) => number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { matchFilter as nostrToolsMatchFilter } from
|
|
2
|
-
import { without, uniqBy, prop, mapVals, shuffle, avg, hash, groupBy, randomId, uniq } from
|
|
3
|
-
import { isReplaceableKind } from "./Kinds.
|
|
4
|
-
import { Address, getAddress } from "./Address.
|
|
1
|
+
import { matchFilter as nostrToolsMatchFilter } from "nostr-tools/filter";
|
|
2
|
+
import { without, uniqBy, prop, mapVals, shuffle, avg, hash, groupBy, randomId, uniq, } from "@welshman/lib";
|
|
3
|
+
import { isReplaceableKind } from "./Kinds.js";
|
|
4
|
+
import { Address, getAddress } from "./Address.js";
|
|
5
5
|
export const EPOCH = 1609459200;
|
|
6
6
|
export const neverFilter = { ids: [] };
|
|
7
7
|
export const matchFilter = (filter, event) => {
|
|
@@ -34,10 +34,10 @@ export const getFilterId = (filter) => {
|
|
|
34
34
|
const parts = [];
|
|
35
35
|
for (const k of keys) {
|
|
36
36
|
const v = filter[k];
|
|
37
|
-
const s = Array.isArray(v) ? v.join(
|
|
38
|
-
parts.push([k, s].join(
|
|
37
|
+
const s = Array.isArray(v) ? v.join(",") : v;
|
|
38
|
+
parts.push([k, s].join(":"));
|
|
39
39
|
}
|
|
40
|
-
return hash(parts.join(
|
|
40
|
+
return hash(parts.join("|"));
|
|
41
41
|
};
|
|
42
42
|
export const calculateFilterGroup = ({ since, until, limit, search, ...filter }) => {
|
|
43
43
|
const group = Object.keys(filter);
|
|
@@ -75,15 +75,15 @@ export const intersectFilters = (groups) => {
|
|
|
75
75
|
return filters.map(f2 => {
|
|
76
76
|
const f3 = {};
|
|
77
77
|
for (const k of uniq([...Object.keys(f1), ...Object.keys(f2)])) {
|
|
78
|
-
if (k ===
|
|
78
|
+
if (k === "since" || k === "limit") {
|
|
79
79
|
f3[k] = Math.max(f1[k] || 0, f2[k] || 0);
|
|
80
80
|
}
|
|
81
|
-
else if (k ===
|
|
81
|
+
else if (k === "until") {
|
|
82
82
|
f3[k] = Math.min(f1[k] || f2[k] || 0, f2[k] || f1[k] || 0);
|
|
83
83
|
}
|
|
84
|
-
else if (k ===
|
|
84
|
+
else if (k === "search") {
|
|
85
85
|
if (f1[k] && f2[k] && f1[k] !== f2[k]) {
|
|
86
|
-
f3[k] = [f1[k], f2[k]].join(
|
|
86
|
+
f3[k] = [f1[k], f2[k]].join(" ");
|
|
87
87
|
}
|
|
88
88
|
else {
|
|
89
89
|
f3[k] = f1[k] || f2[k];
|
|
@@ -180,6 +180,6 @@ export const getFilterResultCardinality = (filter) => {
|
|
|
180
180
|
}
|
|
181
181
|
return null;
|
|
182
182
|
};
|
|
183
|
-
export const trimFilter = (filter) => mapVals(v => Array.isArray(v) && v.length > 1000 ? shuffle(v).slice(0, 1000) : v, filter);
|
|
183
|
+
export const trimFilter = (filter) => mapVals(v => (Array.isArray(v) && v.length > 1000 ? shuffle(v).slice(0, 1000) : v), filter);
|
|
184
184
|
export const trimFilters = (filters) => filters.map(trimFilter);
|
|
185
|
-
//# sourceMappingURL=Filters.
|
|
185
|
+
//# sourceMappingURL=Filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filters.js","sourceRoot":"","sources":["../../src/Filters.ts"],"names":[],"mappings":"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"}
|
package/build/src/Handler.d.ts
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { fromPairs, last, first, parseJson } from "@welshman/lib";
|
|
2
|
+
import { getAddress } from "./Address.js";
|
|
3
|
+
import { getAddressTags, getKindTagValues } from "./Tags.js";
|
|
4
|
+
export const readHandlers = (event) => {
|
|
5
|
+
const { d: identifier } = fromPairs(event.tags);
|
|
6
|
+
const meta = parseJson(event.content);
|
|
7
|
+
const normalizedMeta = {
|
|
8
|
+
name: meta?.name || meta?.display_name || "",
|
|
9
|
+
image: meta?.image || meta?.picture || "",
|
|
10
|
+
about: meta?.about || "",
|
|
11
|
+
website: meta?.website || "",
|
|
12
|
+
lud16: meta?.lud16 || "",
|
|
13
|
+
nip05: meta?.nip05 || "",
|
|
14
|
+
};
|
|
15
|
+
// If our meta is missing important stuff, don't bother showing it
|
|
16
|
+
if (!normalizedMeta.name || !normalizedMeta.image) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
return getKindTagValues(event.tags).map(kind => ({
|
|
20
|
+
...normalizedMeta,
|
|
21
|
+
kind,
|
|
22
|
+
identifier,
|
|
23
|
+
event,
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
export const getHandlerKey = (handler) => `${handler.kind}:${getAddress(handler.event)}`;
|
|
27
|
+
export const displayHandler = (handler, fallback = "") => handler?.name || fallback;
|
|
28
|
+
export const getHandlerAddress = (event) => {
|
|
29
|
+
const tags = getAddressTags(event.tags);
|
|
30
|
+
const tag = tags.find(t => last(t) === "web") || first(tags);
|
|
31
|
+
return tag?.[1];
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=Handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,WAAW,CAAA;AAe1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE;IAClD,MAAM,EAAC,CAAC,EAAE,UAAU,EAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,YAAY,IAAI,EAAE;QAC5C,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE;QACzC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;KACzB,CAAA;IAED,kEAAkE;IAClE,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,GAAG,cAAc;QACjB,IAAI;QACJ,UAAU;QACV,KAAK;KACN,CAAC,CAAc,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;AAEjG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAA;AAE7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;IAE5D,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAA"}
|
package/build/src/Kinds.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
export declare const isEphemeralKind: typeof kinds.isEphemeralKind;
|
|
4
|
-
export declare const isPlainReplaceableKind: typeof kinds.isReplaceableKind;
|
|
5
|
-
export declare const isParameterizedReplaceableKind: typeof kinds.isParameterizedReplaceableKind;
|
|
1
|
+
import { isRegularKind, isEphemeralKind, isReplaceableKind as isPlainReplaceableKind, isParameterizedReplaceableKind } from "nostr-tools/kinds";
|
|
2
|
+
export { isRegularKind, isEphemeralKind, isPlainReplaceableKind, isParameterizedReplaceableKind };
|
|
6
3
|
export declare const isReplaceableKind: (kind: number) => boolean;
|
|
7
4
|
export declare const isDVMKind: (kind: number) => boolean;
|
|
8
5
|
export declare const PROFILE = 0;
|
|
@@ -109,9 +106,6 @@ export declare const TOPICS = 10015;
|
|
|
109
106
|
export declare const EMOJIS = 10030;
|
|
110
107
|
export declare const INBOX_RELAYS = 10050;
|
|
111
108
|
export declare const FILE_SERVERS = 10096;
|
|
112
|
-
export declare const SEEN_GENERAL = 10115;
|
|
113
|
-
export declare const SEEN_CONTEXT = 10116;
|
|
114
|
-
export declare const SEEN_CONVERSATION = 10117;
|
|
115
109
|
export declare const LIGHTNING_PUB_RPC = 21000;
|
|
116
110
|
export declare const CLIENT_AUTH = 22242;
|
|
117
111
|
export declare const AUTH_JOIN = 28934;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { between } from
|
|
3
|
-
export
|
|
4
|
-
export const isEphemeralKind = kinds.isEphemeralKind;
|
|
5
|
-
export const isPlainReplaceableKind = kinds.isReplaceableKind;
|
|
6
|
-
export const isParameterizedReplaceableKind = kinds.isParameterizedReplaceableKind;
|
|
1
|
+
import { isRegularKind, isEphemeralKind, isReplaceableKind as isPlainReplaceableKind, isParameterizedReplaceableKind, } from "nostr-tools/kinds";
|
|
2
|
+
import { between } from "@welshman/lib";
|
|
3
|
+
export { isRegularKind, isEphemeralKind, isPlainReplaceableKind, isParameterizedReplaceableKind };
|
|
7
4
|
export const isReplaceableKind = (kind) => isPlainReplaceableKind(kind) || isParameterizedReplaceableKind(kind);
|
|
8
5
|
export const isDVMKind = (kind) => between([4999, 7001], kind);
|
|
9
6
|
export const PROFILE = 0;
|
|
@@ -110,9 +107,6 @@ export const TOPICS = 10015;
|
|
|
110
107
|
export const EMOJIS = 10030;
|
|
111
108
|
export const INBOX_RELAYS = 10050;
|
|
112
109
|
export const FILE_SERVERS = 10096;
|
|
113
|
-
export const SEEN_GENERAL = 10115;
|
|
114
|
-
export const SEEN_CONTEXT = 10116;
|
|
115
|
-
export const SEEN_CONVERSATION = 10117;
|
|
116
110
|
export const LIGHTNING_PUB_RPC = 21000;
|
|
117
111
|
export const CLIENT_AUTH = 22242;
|
|
118
112
|
export const AUTH_JOIN = 28934;
|
|
@@ -161,4 +155,4 @@ export const GROUP_ADMINS = 39001;
|
|
|
161
155
|
export const DEPRECATED_RELAY_RECOMMENDATION = 2;
|
|
162
156
|
export const DEPRECATED_DIRECT_MESSAGE = 4;
|
|
163
157
|
export const DEPRECATED_NAMED_GENERIC = 30001;
|
|
164
|
-
//# sourceMappingURL=Kinds.
|
|
158
|
+
//# sourceMappingURL=Kinds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kinds.js","sourceRoot":"","sources":["../../src/Kinds.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Links.js","sourceRoot":"","sources":["../../src/Links.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA"}
|
package/build/src/List.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Encryptable, DecryptedEvent } from "./Encryptable";
|
|
1
|
+
import { Encryptable, DecryptedEvent } from "./Encryptable.js";
|
|
2
2
|
export type ListParams = {
|
|
3
3
|
kind: number;
|
|
4
4
|
};
|
|
@@ -28,4 +28,4 @@ export declare const addToListPublicly: (list: List, ...tags: string[][]) => Enc
|
|
|
28
28
|
content: string;
|
|
29
29
|
tags: string[][];
|
|
30
30
|
}>;
|
|
31
|
-
export declare const addToListPrivately: (list: List, ...tags: string[][]) => Encryptable<import("./Events").EventTemplate>;
|
|
31
|
+
export declare const addToListPrivately: (list: List, ...tags: string[][]) => Encryptable<import("./Events.js").EventTemplate>;
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { parseJson, nthEq } from "@welshman/lib";
|
|
2
|
-
import { Address } from "./Address.
|
|
3
|
-
import { uniqTags } from "./Tags.
|
|
4
|
-
import { isShareableRelayUrl } from "./Relay.
|
|
5
|
-
import { Encryptable } from "./Encryptable.
|
|
6
|
-
export const makeList = (list) => ({
|
|
2
|
+
import { Address } from "./Address.js";
|
|
3
|
+
import { uniqTags } from "./Tags.js";
|
|
4
|
+
import { isShareableRelayUrl } from "./Relay.js";
|
|
5
|
+
import { Encryptable } from "./Encryptable.js";
|
|
6
|
+
export const makeList = (list) => ({
|
|
7
|
+
publicTags: [],
|
|
8
|
+
privateTags: [],
|
|
9
|
+
...list,
|
|
10
|
+
});
|
|
7
11
|
const isValidTag = (tag) => {
|
|
8
|
-
var _a, _b, _c;
|
|
9
12
|
if (tag[0] === "p")
|
|
10
|
-
return
|
|
13
|
+
return tag[1]?.length === 64;
|
|
11
14
|
if (tag[0] === "e")
|
|
12
|
-
return
|
|
15
|
+
return tag[1]?.length === 64;
|
|
13
16
|
if (tag[0] === "a")
|
|
14
17
|
return Address.isAddress(tag[1] || "");
|
|
15
18
|
if (tag[0] === "t")
|
|
16
|
-
return
|
|
19
|
+
return tag[1]?.length > 0;
|
|
17
20
|
if (tag[0] === "r")
|
|
18
21
|
return isShareableRelayUrl(tag[1]);
|
|
19
22
|
if (tag[0] === "relay")
|
|
@@ -21,19 +24,20 @@ const isValidTag = (tag) => {
|
|
|
21
24
|
return true;
|
|
22
25
|
};
|
|
23
26
|
export const readList = (event) => {
|
|
24
|
-
var _a;
|
|
25
27
|
const getTags = (tags) => (Array.isArray(tags) ? tags.filter(isValidTag) : []);
|
|
26
|
-
const privateTags = getTags(parseJson(
|
|
28
|
+
const privateTags = getTags(parseJson(event.plaintext?.content));
|
|
27
29
|
const publicTags = getTags(event.tags);
|
|
28
30
|
return { event, kind: event.kind, publicTags, privateTags };
|
|
29
31
|
};
|
|
30
|
-
export const getListTags = (list) => [
|
|
32
|
+
export const getListTags = (list) => [
|
|
33
|
+
...(list?.publicTags || []),
|
|
34
|
+
...(list?.privateTags || []),
|
|
35
|
+
];
|
|
31
36
|
export const removeFromListByPredicate = (list, pred) => {
|
|
32
|
-
var _a;
|
|
33
37
|
const plaintext = {};
|
|
34
38
|
const template = {
|
|
35
39
|
kind: list.kind,
|
|
36
|
-
content:
|
|
40
|
+
content: list.event?.content || "",
|
|
37
41
|
tags: list.publicTags.filter(t => !pred(t)),
|
|
38
42
|
};
|
|
39
43
|
// Avoid redundant encrypt calls if possible
|
|
@@ -44,10 +48,9 @@ export const removeFromListByPredicate = (list, pred) => {
|
|
|
44
48
|
};
|
|
45
49
|
export const removeFromList = (list, value) => removeFromListByPredicate(list, nthEq(1, value));
|
|
46
50
|
export const addToListPublicly = (list, ...tags) => {
|
|
47
|
-
var _a;
|
|
48
51
|
const template = {
|
|
49
52
|
kind: list.kind,
|
|
50
|
-
content:
|
|
53
|
+
content: list.event?.content || "",
|
|
51
54
|
tags: uniqTags([...list.publicTags, ...tags]),
|
|
52
55
|
};
|
|
53
56
|
return new Encryptable(template, {});
|
|
@@ -61,4 +64,4 @@ export const addToListPrivately = (list, ...tags) => {
|
|
|
61
64
|
content: JSON.stringify(uniqTags([...list.privateTags, ...tags])),
|
|
62
65
|
});
|
|
63
66
|
};
|
|
64
|
-
//# sourceMappingURL=List.
|
|
67
|
+
//# sourceMappingURL=List.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/List.ts"],"names":[],"mappings":"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"}
|
package/build/src/Profile.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { npubEncode } from "nostr-tools/nip19";
|
|
2
2
|
import { ellipsize, parseJson } from "@welshman/lib";
|
|
3
|
-
import { getLnUrl } from "./Zaps.
|
|
4
|
-
import { PROFILE } from "./Kinds.
|
|
3
|
+
import { getLnUrl } from "./Zaps.js";
|
|
4
|
+
import { PROFILE } from "./Kinds.js";
|
|
5
5
|
export const isPublishedProfile = (profile) => Boolean(profile.event);
|
|
6
6
|
export const makeProfile = (profile = {}) => {
|
|
7
7
|
const address = profile.lud06 || profile.lud16;
|
|
8
|
-
const lnurl = typeof address ===
|
|
8
|
+
const lnurl = typeof address === "string" ? getLnUrl(address) : null;
|
|
9
9
|
return lnurl ? { lnurl, ...profile } : profile;
|
|
10
10
|
};
|
|
11
|
-
export const readProfile = (event) => ({
|
|
11
|
+
export const readProfile = (event) => ({
|
|
12
|
+
...makeProfile(parseJson(event.content) || {}),
|
|
13
|
+
event,
|
|
14
|
+
});
|
|
12
15
|
export const createProfile = ({ event, ...profile }) => ({
|
|
13
16
|
kind: PROFILE,
|
|
14
17
|
content: JSON.stringify(profile),
|
|
@@ -19,7 +22,7 @@ export const editProfile = ({ event, ...profile }) => ({
|
|
|
19
22
|
tags: event.tags,
|
|
20
23
|
});
|
|
21
24
|
export const displayPubkey = (pubkey) => {
|
|
22
|
-
const d =
|
|
25
|
+
const d = npubEncode(pubkey);
|
|
23
26
|
return d.slice(0, 8) + "…" + d.slice(-5);
|
|
24
27
|
};
|
|
25
28
|
export const displayProfile = (profile, fallback = "") => {
|
|
@@ -32,5 +35,5 @@ export const displayProfile = (profile, fallback = "") => {
|
|
|
32
35
|
return displayPubkey(event.pubkey);
|
|
33
36
|
return fallback;
|
|
34
37
|
};
|
|
35
|
-
export const profileHasName = (profile) => Boolean(
|
|
36
|
-
//# sourceMappingURL=Profile.
|
|
38
|
+
export const profileHasName = (profile) => Boolean(profile?.name || profile?.display_name);
|
|
39
|
+
//# sourceMappingURL=Profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../src/Profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAElD,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAA;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAoBlC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAA+B,EAAE,CAClF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAA4B,EAAE,EAAW,EAAE;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAA;IAC9C,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAoB,EAAE,CAAC,CAAC;IACrE,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9C,KAAK;CACN,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAU,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,KAAK,EAAE,GAAG,OAAO,EAAmB,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,IAAI;CACjB,CAAC,CAAA;AAEF,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,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE;IACjE,MAAM,EAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,OAAO,IAAI,EAAE,CAAA;IAEjD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,YAAY;QAAE,OAAO,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACpD,IAAI,KAAK;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE7C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,YAAY,CAAC,CAAA"}
|
package/build/src/Relay.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Emitter } from
|
|
2
|
-
import type { Repository } from
|
|
3
|
-
import type { Filter } from
|
|
4
|
-
import type { HashedEvent, TrustedEvent } from
|
|
1
|
+
import { Emitter } from "@welshman/lib";
|
|
2
|
+
import type { Repository } from "./Repository.js";
|
|
3
|
+
import type { Filter } from "./Filters.js";
|
|
4
|
+
import type { HashedEvent, TrustedEvent } from "./Events.js";
|
|
5
5
|
export declare const LOCAL_RELAY_URL = "local://welshman.relay/";
|
|
6
6
|
export declare const BOGUS_RELAY_URL = "bogus://welshman.relay/";
|
|
7
7
|
export type RelayProfile = {
|