refactor: type subscriptions.ts
typed subscribe functions in subscriptions.tspull/72/head
parent
309367852a
commit
35b8baef92
@ -0,0 +1,69 @@
|
|||||||
|
import {Event} from 'nostr-tools';
|
||||||
|
import {sub, unsubAll} from './relays';
|
||||||
|
|
||||||
|
type SubCallback = (
|
||||||
|
event: Event,
|
||||||
|
relay: string,
|
||||||
|
) => void;
|
||||||
|
|
||||||
|
/** subscribe to global feed */
|
||||||
|
export const sub24hFeed = (onEvent: SubCallback) => {
|
||||||
|
unsubAll();
|
||||||
|
sub({
|
||||||
|
cb: onEvent,
|
||||||
|
filter: {
|
||||||
|
kinds: [0, 1, 2, 7],
|
||||||
|
// until: Math.floor(Date.now() * 0.001),
|
||||||
|
since: Math.floor((Date.now() * 0.001) - (24 * 60 * 60)),
|
||||||
|
limit: 50,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/** subscribe to a note id (nip-19) */
|
||||||
|
export const subNote = (
|
||||||
|
eventId: string,
|
||||||
|
onEvent: SubCallback,
|
||||||
|
) => {
|
||||||
|
unsubAll();
|
||||||
|
sub({
|
||||||
|
cb: onEvent,
|
||||||
|
filter: {
|
||||||
|
ids: [eventId],
|
||||||
|
kinds: [1],
|
||||||
|
limit: 1,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sub({
|
||||||
|
cb: onEvent,
|
||||||
|
filter: {
|
||||||
|
'#e': [eventId],
|
||||||
|
kinds: [1, 7],
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/** subscribe to npub key (nip-19) */
|
||||||
|
export const subProfile = (
|
||||||
|
pubkey: string,
|
||||||
|
onEvent: SubCallback,
|
||||||
|
) => {
|
||||||
|
unsubAll();
|
||||||
|
sub({
|
||||||
|
cb: onEvent,
|
||||||
|
filter: {
|
||||||
|
authors: [pubkey],
|
||||||
|
kinds: [0],
|
||||||
|
limit: 1,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// get notes for profile
|
||||||
|
sub({
|
||||||
|
cb: onEvent,
|
||||||
|
filter: {
|
||||||
|
authors: [pubkey],
|
||||||
|
kinds: [1],
|
||||||
|
limit: 50,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
Loading…
Reference in New Issue