@atproto/sync
Version:
atproto sync library
53 lines • 2.19 kB
TypeScript
import type { ClientOptions } from 'ws';
import { IdResolver } from '@atproto/identity';
import { AccountEvt, CommitEvt, Event, IdentityEvt, SyncEvt } from '../events';
import { EventRunner } from '../runner';
import { type Account, type Commit, type Identity, type RepoEvent, type Sync } from './lexicons';
export type FirehoseOptions = ClientOptions & {
idResolver: IdResolver;
handleEvent: (evt: Event) => Awaited<void>;
onError: (err: Error) => void;
getCursor?: () => Awaited<number | undefined>;
runner?: EventRunner;
service?: string;
subscriptionReconnectDelay?: number;
unauthenticatedCommits?: boolean;
unauthenticatedHandles?: boolean;
filterCollections?: string[];
excludeIdentity?: boolean;
excludeAccount?: boolean;
excludeCommit?: boolean;
excludeSync?: boolean;
};
export declare class Firehose {
opts: FirehoseOptions;
private sub;
private abortController;
private destoryDefer;
constructor(opts: FirehoseOptions);
start(): any;
private parseEvt;
private processEvt;
destroy(): Promise<void>;
}
export declare const parseCommitAuthenticated: (idResolver: IdResolver, evt: Commit, filterCollections?: string[], forceKeyRefresh?: boolean) => Promise<CommitEvt[]>;
export declare const parseCommitUnauthenticated: (evt: Commit, filterCollections?: string[]) => Promise<CommitEvt[]>;
export declare const parseSync: (evt: Sync) => Promise<SyncEvt | null>;
export declare const parseIdentity: (idResolver: IdResolver, evt: Identity, unauthenticated?: boolean) => Promise<IdentityEvt | null>;
export declare const parseAccount: (evt: Account) => AccountEvt | undefined;
export declare class FirehoseValidationError extends Error {
value: unknown;
constructor(err: unknown, value: unknown);
}
export declare class FirehoseParseError extends Error {
event: RepoEvent;
constructor(err: unknown, event: RepoEvent);
}
export declare class FirehoseSubscriptionError extends Error {
constructor(err: unknown);
}
export declare class FirehoseHandlerError extends Error {
event: Event;
constructor(err: unknown, event: Event);
}
//# sourceMappingURL=index.d.ts.map