jkdb
Version:
javascript interface for kdb+/q
114 lines (113 loc) • 3.28 kB
TypeScript
export class QConnection extends EventEmitter<any> {
/**
* @constructs socketArgs
* @param {Object} socketArgs
* @param {string} [socketArgs.host]
* @param {number} socketArgs.port
* @param {string} [socketArgs.user]
* @param {string} [socketArgs.password]
* @param {boolean} [socketArgs.useBigInt]
* @param {boolean} [socketArgs.enableTLS]
* @param {boolean} [socketArgs.socketTimeout]
* @param {boolean} [socketArgs.socketNoDelay]
* @param {boolean} [socketArgs.includeNanosecond]
* @param {boolean} [socketArgs.dateToMillisecond]
*/
constructor(socketArgs: {
host?: string | undefined;
port: number;
user?: string | undefined;
password?: string | undefined;
useBigInt?: boolean | undefined;
enableTLS?: boolean | undefined;
socketTimeout?: boolean | undefined;
socketNoDelay?: boolean | undefined;
includeNanosecond?: boolean | undefined;
dateToMillisecond?: boolean | undefined;
});
socketArgs: {
host?: string | undefined;
port: number;
user?: string | undefined;
password?: string | undefined;
useBigInt?: boolean | undefined;
enableTLS?: boolean | undefined;
socketTimeout?: boolean | undefined;
socketNoDelay?: boolean | undefined;
includeNanosecond?: boolean | undefined;
dateToMillisecond?: boolean | undefined;
};
host: string;
port: number;
user: string;
password: string;
useBigInt: boolean;
/** @type {net.Socket|tls.TLSSocket|null} */
socket: net.Socket | tls.TLSSocket | null;
/** @type {function[]} */
callbacks: Function[];
socketTimeout: number | boolean;
socketNoDelay: boolean;
msgBuffer: Buffer<ArrayBuffer>;
enableTLS: boolean;
includeNanosecond: boolean;
dateToMillisecond: boolean;
isConnected: boolean;
setSocket(socket: any): void;
auth(socket: any, callback: any): void;
/**
*
* @callback errorHandler
* @param {Error} err
*/
/**
*
* @param {errorHandler} callback
*/
connect(callback: (err: Error) => any): any;
/**
*
* @param {function()} [callback]
*/
close(callback?: () => any): void;
/**
*
* @param {Buffer} buffer
*/
incomingMsgHandler(buffer: Buffer): void;
/**
*
* @callback queryHandler
* @param {Error} err
* @param {any} res
*/
/**
*
* @param {string|Array} param
* @param {queryHandler} callback
*/
sync(param: string | any[], callback: (err: Error, res: any) => any): any;
/**
*
* @param {string|Array} param
* @param {errorHandler} [callback]
*/
asyn(param: string | any[], callback?: (err: Error) => any): void;
/**
* @returns {Promise<void>}
*/
connectAsync(): Promise<void>;
/**
* @param {string|Array} param
* @returns {Promise<any>}
*/
syncAsync(param: string | any[]): Promise<any>;
/**
* @returns {Promise<void>}
*/
closeAsync(): Promise<void>;
}
import { EventEmitter } from 'events';
import net from 'net';
import tls from 'tls';
import { Buffer } from 'buffer';