UNPKG

tardis-dev

Version:

Convenient access to tick-level historical and real-time cryptocurrency market data via Node.js

28 lines 1.5 kB
import { MapperFactory } from './mappers/index.ts'; import { Disconnect, Exchange, FilterForExchange } from './types.ts'; type MapperOutput<T> = T extends MapperFactory<any, infer U> ? U : never; type StreamNormalizedMessage<U extends readonly MapperFactory<any, any>[], Z extends boolean> = Z extends true ? MapperOutput<U[number]> | Disconnect : MapperOutput<U[number]>; export declare function stream<T extends Exchange, U extends boolean = false>({ exchange, filters, timeoutIntervalMS, withDisconnects, onError }: StreamOptions<T, U>): AsyncIterableIterator<U extends true ? { localTimestamp: Date; message: any; } | undefined : { localTimestamp: Date; message: any; }>; export type StreamOptions<T extends Exchange, U extends boolean = false> = { exchange: T; filters: FilterForExchange[T][]; timeoutIntervalMS?: number; withDisconnects?: U; onError?: (error: Error) => void; }; export type StreamNormalizedOptions<T extends Exchange, U extends boolean = false> = { exchange: T; symbols?: string[]; timeoutIntervalMS?: number; withDisconnectMessages?: U; onError?: (error: Error) => void; }; export declare function streamNormalized<T extends Exchange, U extends MapperFactory<T, any>[], Z extends boolean = false>({ exchange, symbols, timeoutIntervalMS, withDisconnectMessages, onError }: StreamNormalizedOptions<T, Z>, ...normalizers: U): AsyncIterableIterator<StreamNormalizedMessage<U, Z>>; export {}; //# sourceMappingURL=stream.d.ts.map