UNPKG

data-forge-redis

Version:

This library contains the redis extensions to Data-Forge that allow it to directly read dat from redis database in Node.js.

51 lines (50 loc) 2.38 kB
import { DataFrame } from 'data-forge'; export interface RedisOptions { host?: string; port?: number; password?: string; database?: number; reset?: boolean; } export declare class RedisDataFrame<IndexT = number, ValueT = any> extends DataFrame<IndexT, ValueT> { symbol?: string; dateArray: string[]; fromDate?: Date; toDate?: Date; keyPrefix?: string; codeChangeKeyPrefix?: string; } /** * Reads from redis data source asynchonrously to a dataframe. */ export interface IAsyncRedisDataLoader { loadByDateArray(symbol: string, dateArray: string[], keyPrefix?: string): Promise<RedisDataFrame<number, any>>; load(symbol: string, fromDate: Date, toDate: Date, keyPrefix?: string, codeChangeKeyPrefix?: string): Promise<RedisDataFrame<number, any>>; write(key: string, field: string, value: string): IAsyncRedisDataLoader; update(oldDataFrame: RedisDataFrame<number, any>, toDate: Date): Promise<RedisDataFrame<number, any>>; get_client(): RedisClient; } export declare class RedisClient { static instance: any; constructor(options?: RedisOptions | null | undefined); get_instance(): any; promisify(...args: any[]): Promise<any>; flushdb(): Promise<void>; del(key: string): Promise<void>; delall(key: string): Promise<void>; select(db: number): Promise<void>; exists(key: string): Promise<boolean>; set(key: string, value: string): Promise<any>; hset(key: string, field: string, value: string): Promise<any>; hget(key: string, field: string, fallbackValue?: string | undefined): Promise<any>; hgetall(key: string): Promise<string[]>; get(key: string, fallbackValue: string): Promise<any>; static getDateStringArray(startDate: Date, endDate: Date): string[]; loadByDateArray(symbol: string, dateStringArray: string[], keyPrefix?: string): Promise<RedisDataFrame<number, any>>; update(oldDataFrame: RedisDataFrame<number, any>, toDate: Date): Promise<RedisDataFrame<number, any>>; load(symbol: string, fromDate: Date, toDate: Date, keyPrefix?: string, codeChangeKeyPrefix?: string): Promise<RedisDataFrame<number, any>>; } declare module "data-forge" { function fromRedis(options?: RedisOptions | null | undefined): IAsyncRedisDataLoader; } export declare function fromRedis(options?: RedisOptions | null | undefined): IAsyncRedisDataLoader;