export class QConnection extends EventEmitter { /** * @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; 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} */ connectAsync(): Promise; /** * @param {string|Array} param * @returns {Promise} */ syncAsync(param: string | any[]): Promise; /** * @returns {Promise} */ closeAsync(): Promise; } import { EventEmitter } from 'events'; import net from 'net'; import tls from 'tls'; import { Buffer } from 'buffer';