UNPKG

nxkit

Version:

This is a collection of tools, independent of any other libraries

135 lines (134 loc) 3.58 kB
/// <reference types="node" /> import { EventNoticer, Event } from '../event'; export declare enum Constants { LENGTH_CODED_NULL = 251, LENGTH_CODED_16BIT_WORD = 252, LENGTH_CODED_24BIT_WORD = 253, LENGTH_CODED_64BIT_WORD = 254, PACKET_LENGTH = 0, PACKET_NUMBER = 1, GREETING_PROTOCOL_VERSION = 2, GREETING_SERVER_VERSION = 3, GREETING_THREAD_ID = 4, GREETING_SCRAMBLE_BUFF_1 = 5, GREETING_FILLER_1 = 6, GREETING_SERVER_CAPABILITIES = 7, GREETING_SERVER_LANGUAGE = 8, GREETING_SERVER_STATUS = 9, GREETING_FILLER_2 = 10, GREETING_SCRAMBLE_BUFF_2 = 11, FIELD_COUNT = 12, ERROR_NUMBER = 13, ERROR_SQL_STATE_MARKER = 14, ERROR_SQL_STATE = 15, ERROR_MESSAGE = 16, AFFECTED_ROWS = 17, INSERT_ID = 18, SERVER_STATUS = 19, WARNING_COUNT = 20, MESSAGE = 21, EXTRA_LENGTH = 22, EXTRA_STRING = 23, FIELD_CATALOG_LENGTH = 24, FIELD_CATALOG_STRING = 25, FIELD_DB_LENGTH = 26, FIELD_DB_STRING = 27, FIELD_TABLE_LENGTH = 28, FIELD_TABLE_STRING = 29, FIELD_ORIGINAL_TABLE_LENGTH = 30, FIELD_ORIGINAL_TABLE_STRING = 31, FIELD_NAME_LENGTH = 32, FIELD_NAME_STRING = 33, FIELD_ORIGINAL_NAME_LENGTH = 34, FIELD_ORIGINAL_NAME_STRING = 35, FIELD_FILLER_1 = 36, FIELD_CHARSET_NR = 37, FIELD_LENGTH = 38, FIELD_TYPE = 39, FIELD_FLAGS = 40, FIELD_DECIMALS = 41, FIELD_FILLER_2 = 42, FIELD_DEFAULT = 43, EOF_WARNING_COUNT = 44, EOF_SERVER_STATUS = 45, COLUMN_VALUE_LENGTH = 46, COLUMN_VALUE_STRING = 47, GREETING_PACKET = 0, OK_PACKET = 1, ERROR_PACKET = 2, RESULT_SET_HEADER_PACKET = 3, FIELD_PACKET = 4, EOF_PACKET = 5, ROW_DATA_PACKET = 6, ROW_DATA_BINARY_PACKET = 7, OK_FOR_PREPARED_STATEMENT_PACKET = 8, PARAMETER_PACKET = 9, USE_OLD_PASSWORD_PROTOCOL_PACKET = 10 } /** * @createTime 2012-01-12 * @author louis.tru <louis.tru@gmail.com> * @copyright (C) 2011 louis.tru, http://mooogame.com * Released under MIT license, http://license.mooogame.com */ export interface PacketData { protocolVersion?: number; serverVersion?: string; threadId?: number; scrambleBuffer?: Buffer; serverCapabilities?: number; serverLanguage?: number; serverStatus?: number; fieldCount?: number; errno?: number; sqlStateMarker?: string; sqlState?: string; errorMessage?: string; affectedRows?: number; insertId?: number; warningCount?: number; message?: string; extra?: string; catalog?: string; db?: string; table?: string; originalTable?: string; name?: string; originalName?: string; charsetNumber?: number; fieldLength?: number; fieldType?: number; flags?: number; decimals?: number; columnLength?: number; sql?: string; } export declare class Packet { readonly onData: EventNoticer<Event<any, object>>; readonly data: PacketData; type: Constants; number: number; index: number; length: number; received: number; toJSON(): PacketData | Error; } export declare class Parser { private _lengthCodedLength?; private _lengthCodedStringLength?; private packet; private greeted; private authenticated; private receivingFieldPackets; private receivingRowPackets; state: Constants; /** * @event onpacket */ readonly onPacket: EventNoticer<Event<Packet, object>>; /** * write buffer and parser * @param {node.Buffer} */ write(buffer: Buffer): void; }