@nymphjs/client
Version:
Nymph.js - Client
41 lines (39 loc) • 1.21 kB
text/typescript
import { EntityJson } from './Entity.types.js';
import { PubSubSubscription } from './PubSub.js';
export type PubSubResolveCallback<T> = (arg: T, event?: string) => void;
export type PubSubRejectCallback = (err: any) => void;
export type PubSubCountCallback = (count: number) => void;
export type PubSubCallbacks<T> = [
PubSubResolveCallback<T> | undefined,
PubSubRejectCallback | undefined,
PubSubCountCallback | undefined,
];
export type PubSubEventType = 'connect' | 'disconnect' | 'error';
export type PubSubConnectCallback = () => void;
export type PubSubDisconnectCallback = () => void;
/**
* The error event is for unknown errors. Query errors fire their own reject
* callbacks.
*/
export type PubSubErrorCallback = (err: any) => void;
export type PubSubUpdate<T> =
| T
| {
query: string;
removed: string;
}
| {
query: string;
added: string;
data: EntityJson;
}
| {
query: string;
updated: string;
data: EntityJson;
};
export type PubSubSubscribable<T> = (
resolve?: PubSubResolveCallback<T> | undefined,
reject?: PubSubRejectCallback | undefined,
count?: PubSubCountCallback | undefined,
) => PubSubSubscription<T>;