Run prettier

This commit is contained in:
2023-09-05 15:16:50 +01:00
parent e99f323cfa
commit 5ef3fb0337
68 changed files with 166 additions and 158 deletions

View File

@ -64,7 +64,7 @@ export class Nip46Signer implements EventSigner {
}
get supports(): string[] {
return ["nip04"]
return ["nip04"];
}
get relays() {

View File

@ -24,7 +24,7 @@ export class Nip7Signer implements EventSigner {
get supports(): string[] {
return ["nip04"];
}
init(): Promise<void> {
return Promise.resolve();
}

View File

@ -42,16 +42,16 @@ export interface SystemInterface {
HandleAuth?: AuthHandler;
/**
* Get a snapshot of the relay connections
* Get a snapshot of the relay connections
*/
get Sockets(): Array<ConnectionStateSnapshot>;
/**
* Get an active query by ID
* @param id Query ID
*/
GetQuery(id: string): Query | undefined;
/**
* Open a new query to relays
* @param type Store type
@ -64,7 +64,7 @@ export interface SystemInterface {
* @param req Request to send to relays
* @param cb A callback which will fire every 100ms when new data is received
*/
Fetch(req: RequestBuilder, cb?: (evs: Array<TaggedNostrEvent>) => void) : Promise<NoteStoreSnapshotData>;
Fetch(req: RequestBuilder, cb?: (evs: Array<TaggedNostrEvent>) => void): Promise<NoteStoreSnapshotData>;
/**
* Create a new permanent connection to a relay

View File

@ -14,23 +14,23 @@ export interface NostrLink {
export function createNostrLinkToEvent(ev: TaggedNostrEvent | NostrEvent) {
const relays = "relays" in ev ? ev.relays : undefined;
if (ev.kind >= 30_000 && ev.kind < 40_000) {
const dTag = unwrap(findTag(ev, "d"));
return createNostrLink(NostrPrefix.Address, dTag, relays, ev.kind, ev.pubkey);
}
return createNostrLink(NostrPrefix.Event, ev.id, relays, ev.kind, ev.pubkey);
if (ev.kind >= 30_000 && ev.kind < 40_000) {
const dTag = unwrap(findTag(ev, "d"));
return createNostrLink(NostrPrefix.Address, dTag, relays, ev.kind, ev.pubkey);
}
return createNostrLink(NostrPrefix.Event, ev.id, relays, ev.kind, ev.pubkey);
}
export function linkMatch(link: NostrLink, ev: NostrEvent) {
if(link.type === NostrPrefix.Address) {
if (link.type === NostrPrefix.Address) {
const dTag = findTag(ev, "d");
if(dTag && dTag === link.id && unwrap(link.author) === ev.pubkey && unwrap(link.kind) === ev.kind) {
if (dTag && dTag === link.id && unwrap(link.author) === ev.pubkey && unwrap(link.kind) === ev.kind) {
return true;
}
} else if(link.type === NostrPrefix.Event || link.type === NostrPrefix.Note) {
} else if (link.type === NostrPrefix.Event || link.type === NostrPrefix.Note) {
return link.id === ev.id;
}
return false;
}

View File

@ -109,10 +109,10 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
async Init() {
db.ready = await db.isAvailable();
const t = [
this.#relayCache.preload(),
this.#profileCache.preload(),
this.#relayMetricsCache.preload(),
this.#eventsCache.preload()
this.#relayCache.preload(),
this.#profileCache.preload(),
this.#relayMetricsCache.preload(),
this.#eventsCache.preload(),
];
await Promise.all(t);
}
@ -206,29 +206,31 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
Fetch(req: RequestBuilder, cb?: (evs: Array<TaggedNostrEvent>) => void) {
const q = this.Query(NoteCollection, req);
return new Promise<NoteStoreSnapshotData>((resolve) => {
return new Promise<NoteStoreSnapshotData>(resolve => {
let t: ReturnType<typeof setTimeout> | undefined;
let tBuf: Array<TaggedNostrEvent> = [];
const releaseOnEvent = cb ? q.feed.onEvent(evs => {
if(!t) {
tBuf = [...evs];
t = setTimeout(() => {
t = undefined;
cb(tBuf);
}, 100);
} else {
tBuf.push(...evs);
}
}) : undefined;
const releaseOnEvent = cb
? q.feed.onEvent(evs => {
if (!t) {
tBuf = [...evs];
t = setTimeout(() => {
t = undefined;
cb(tBuf);
}, 100);
} else {
tBuf.push(...evs);
}
})
: undefined;
const releaseFeedHook = q.feed.hook(() => {
if(q.progress === 1) {
if (q.progress === 1) {
releaseOnEvent?.();
releaseFeedHook();
q.cancel();
resolve(unwrap(q.feed.snapshot.data));
}
})
})
});
});
}
Query<T extends NoteStore>(type: { new (): T }, req: RequestBuilder): Query {
@ -255,7 +257,7 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
const filters = req.build(this.#relayCache);
const q = new Query(req.id, req.instance, store, req.options?.leaveOpen);
if(filters.some(a => a.filters.some(b=>b.ids))) {
if (filters.some(a => a.filters.some(b => b.ids))) {
q.feed.onEvent(async evs => {
await this.#eventsCache.bulkSet(evs);
});
@ -271,10 +273,10 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
async SendQuery(q: Query, qSend: BuiltRawReqFilter) {
// trim query of cached ids
for(const f of qSend.filters) {
for (const f of qSend.filters) {
if (f.ids) {
const cacheResults = await this.#eventsCache.bulkGet(f.ids);
if(cacheResults.length > 0) {
if (cacheResults.length > 0) {
const resultIds = new Set(cacheResults.map(a => a.id));
f.ids = f.ids.filter(a => !resultIds.has(a));
q.feed.add(cacheResults as Array<TaggedNostrEvent>);
@ -283,10 +285,13 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
}
// check for empty filters
qSend.filters = qSend.filters.filter(a => Object.values(a).filter(v => Array.isArray(v)).every(b => (b as Array<string | number>).length > 0));
if(qSend.filters.length === 0) {
qSend.filters = qSend.filters.filter(a =>
Object.values(a)
.filter(v => Array.isArray(v))
.every(b => (b as Array<string | number>).length > 0),
);
if (qSend.filters.length === 0) {
return;
}
if (qSend.relay) {
this.#log("Sending query to %s %O", qSend.relay, qSend);

View File

@ -34,7 +34,7 @@ export class PrivateKeySigner implements EventSigner {
}
get supports(): string[] {
return ["nip04", "nip44"]
return ["nip04", "nip44"];
}
get privateKey() {

View File

@ -20,8 +20,8 @@ export class SystemWorker extends ExternalStore<SystemSnapshot> implements Syste
throw new Error("SharedWorker is not supported");
}
}
Fetch(req: RequestBuilder, cb?: (evs: Array<TaggedNostrEvent>) => void) : Promise<NoteStoreSnapshotData> {
Fetch(req: RequestBuilder, cb?: (evs: Array<TaggedNostrEvent>) => void): Promise<NoteStoreSnapshotData> {
throw new Error("Method not implemented.");
}