diff --git a/src/always-encrypted/aead-aes-256-cbc-hmac-algorithm.ts b/src/always-encrypted/aead-aes-256-cbc-hmac-algorithm.ts index 3fffc5fb6..747bc3161 100644 --- a/src/always-encrypted/aead-aes-256-cbc-hmac-algorithm.ts +++ b/src/always-encrypted/aead-aes-256-cbc-hmac-algorithm.ts @@ -10,13 +10,13 @@ const algorithmVersion = 0x1; const blockSizeInBytes = 16; export class AeadAes256CbcHmac256Algorithm implements EncryptionAlgorithm { - private columnEncryptionkey: AeadAes256CbcHmac256EncryptionKey; - private isDeterministic: boolean; - private keySizeInBytes: number; - private version: Buffer; - private versionSize: Buffer; - private minimumCipherTextLengthInBytesNoAuthenticationTag: number; - private minimumCipherTextLengthInBytesWithAuthenticationTag: number; + declare private columnEncryptionkey: AeadAes256CbcHmac256EncryptionKey; + declare private isDeterministic: boolean; + declare private keySizeInBytes: number; + declare private version: Buffer; + declare private versionSize: Buffer; + declare private minimumCipherTextLengthInBytesNoAuthenticationTag: number; + declare private minimumCipherTextLengthInBytesWithAuthenticationTag: number; constructor(columnEncryptionKey: AeadAes256CbcHmac256EncryptionKey, encryptionType: SQLServerEncryptionType) { this.keySizeInBytes = keySize / 8; diff --git a/src/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.ts b/src/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.ts index 8cf73c1c9..f2656d96f 100644 --- a/src/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.ts +++ b/src/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.ts @@ -22,13 +22,13 @@ export const generateKeySalt = ( `with encryption algorithm:${algorithmName} and key length:${keySize}`; export class AeadAes256CbcHmac256EncryptionKey extends SymmetricKey { - private readonly algorithmName: string; - private encryptionKeySaltFormat: string; - private macKeySaltFormat: string; - private ivKeySaltFormat: string; - private encryptionKey: SymmetricKey; - private macKey: SymmetricKey; - private ivKey: SymmetricKey; + declare private readonly algorithmName: string; + declare private encryptionKeySaltFormat: string; + declare private macKeySaltFormat: string; + declare private ivKeySaltFormat: string; + declare private encryptionKey: SymmetricKey; + declare private macKey: SymmetricKey; + declare private ivKey: SymmetricKey; constructor(rootKey: Buffer, algorithmName: string) { super(rootKey); diff --git a/src/always-encrypted/cek-entry.ts b/src/always-encrypted/cek-entry.ts index 5e97c91e5..e25cc6387 100644 --- a/src/always-encrypted/cek-entry.ts +++ b/src/always-encrypted/cek-entry.ts @@ -4,12 +4,12 @@ import { type EncryptionKeyInfo } from './types'; export class CEKEntry { - columnEncryptionKeyValues: EncryptionKeyInfo[]; - ordinal: number; - databaseId: number; - cekId: number; - cekVersion: number; - cekMdVersion: Buffer; + declare columnEncryptionKeyValues: EncryptionKeyInfo[]; + declare ordinal: number; + declare databaseId: number; + declare cekId: number; + declare cekVersion: number; + declare cekMdVersion: Buffer; constructor(ordinalVal: number) { this.ordinal = ordinalVal; diff --git a/src/always-encrypted/keystore-provider-azure-key-vault.ts b/src/always-encrypted/keystore-provider-azure-key-vault.ts index 4646dc09e..cea65ee8c 100644 --- a/src/always-encrypted/keystore-provider-azure-key-vault.ts +++ b/src/always-encrypted/keystore-provider-azure-key-vault.ts @@ -13,13 +13,13 @@ interface ParsedKeyPath { } export class ColumnEncryptionAzureKeyVaultProvider { - public readonly name: string; - private url: undefined | string; - private readonly rsaEncryptionAlgorithmWithOAEPForAKV: string; - private readonly firstVersion: Buffer; - private credentials: ClientSecretCredential; - private readonly azureKeyVaultDomainName: string; - private keyClient: undefined | KeyClient; + declare public readonly name: string; + declare private url: undefined | string; + declare private readonly rsaEncryptionAlgorithmWithOAEPForAKV: string; + declare private readonly firstVersion: Buffer; + declare private credentials: ClientSecretCredential; + declare private readonly azureKeyVaultDomainName: string; + declare private keyClient: undefined | KeyClient; constructor(clientId: string, clientKey: string, tenantId: string) { this.name = 'AZURE_KEY_VAULT'; diff --git a/src/always-encrypted/symmetric-key.ts b/src/always-encrypted/symmetric-key.ts index 504519701..d010ac3bb 100644 --- a/src/always-encrypted/symmetric-key.ts +++ b/src/always-encrypted/symmetric-key.ts @@ -2,7 +2,7 @@ // Copyright (c) 2019 Microsoft Corporation export class SymmetricKey { - rootKey: Buffer; + declare rootKey: Buffer; constructor(rootKey: Buffer) { if (!rootKey) { diff --git a/src/bulk-load-payload.ts b/src/bulk-load-payload.ts index 52aed6afb..32dc43e08 100644 --- a/src/bulk-load-payload.ts +++ b/src/bulk-load-payload.ts @@ -1,8 +1,8 @@ import BulkLoad from './bulk-load'; export class BulkLoadPayload implements AsyncIterable { - bulkLoad: BulkLoad; - iterator: AsyncIterableIterator; + declare bulkLoad: BulkLoad; + declare iterator: AsyncIterableIterator; constructor(bulkLoad: BulkLoad) { this.bulkLoad = bulkLoad; diff --git a/src/bulk-load.ts b/src/bulk-load.ts index 380e067ff..0625d1924 100644 --- a/src/bulk-load.ts +++ b/src/bulk-load.ts @@ -139,19 +139,19 @@ class RowTransform extends Transform { /** * @private */ - columnMetadataWritten: boolean; + declare columnMetadataWritten: boolean; /** * @private */ - bulkLoad: BulkLoad; + declare bulkLoad: BulkLoad; /** * @private */ - mainOptions: BulkLoad['options']; + declare mainOptions: BulkLoad['options']; /** * @private */ - columns: BulkLoad['columns']; + declare columns: BulkLoad['columns']; /** * @private @@ -255,78 +255,78 @@ class BulkLoad extends EventEmitter { /** * @private */ - error: Error | undefined; + declare error: Error | undefined; /** * @private */ - canceled: boolean; + declare canceled: boolean; /** * @private */ - executionStarted: boolean; + declare executionStarted: boolean; /** * @private */ - streamingMode: boolean; + declare streamingMode: boolean; /** * @private */ - table: string; + declare table: string; /** * @private */ - timeout: number | undefined; + declare timeout: number | undefined; /** * @private */ - options: InternalConnectionOptions; + declare options: InternalConnectionOptions; /** * @private */ - callback: Callback; + declare callback: Callback; /** * @private */ - columns: Array; + declare columns: Array; /** * @private */ - columnsByName: { [name: string]: Column }; + declare columnsByName: { [name: string]: Column }; /** * @private */ - firstRowWritten: boolean; + declare firstRowWritten: boolean; /** * @private */ - rowToPacketTransform: RowTransform; + declare rowToPacketTransform: RowTransform; /** * @private */ - bulkOptions: InternalOptions; + declare bulkOptions: InternalOptions; /** * @private */ - connection: Connection | undefined; + declare connection: Connection | undefined; /** * @private */ - rows: Array | undefined; + declare rows: Array | undefined; /** * @private */ - rst: Array | undefined; + declare rst: Array | undefined; /** * @private */ - rowCount: number | undefined; + declare rowCount: number | undefined; - collation: Collation | undefined; + declare collation: Collation | undefined; /** * @private diff --git a/src/collation.ts b/src/collation.ts index 8579771e2..b3f045153 100644 --- a/src/collation.ts +++ b/src/collation.ts @@ -293,13 +293,13 @@ export const Flags = { }; export class Collation { - readonly lcid: number; - readonly flags: number; - readonly version: number; - readonly sortId: number; - readonly codepage: Encoding | undefined; + declare readonly lcid: number; + declare readonly flags: number; + declare readonly version: number; + declare readonly sortId: number; + declare readonly codepage: Encoding | undefined; - private buffer: Buffer | undefined; + declare private buffer: Buffer | undefined; static fromBuffer(buffer: Buffer, offset = 0) { let lcid = (buffer[offset + 2] & 0x0F) << 16; diff --git a/src/connection.ts b/src/connection.ts index 30c5419ed..f69b64387 100644 --- a/src/connection.ts +++ b/src/connection.ts @@ -897,59 +897,59 @@ class Connection extends EventEmitter { /** * @private */ - fedAuthRequired: boolean; + declare fedAuthRequired: boolean; /** * @private */ - config: InternalConnectionConfig; + declare config: InternalConnectionConfig; /** * @private */ - secureContextOptions: SecureContextOptions; + declare secureContextOptions: SecureContextOptions; /** * @private */ - inTransaction: boolean; + declare inTransaction: boolean; /** * @private */ - transactionDescriptors: Buffer[]; + declare transactionDescriptors: Buffer[]; /** * @private */ - transactionDepth: number; + declare transactionDepth: number; /** * @private */ - isSqlBatch: boolean; + declare isSqlBatch: boolean; /** * @private */ - curTransientRetryCount: number; + declare curTransientRetryCount: number; /** * @private */ - transientErrorLookup: TransientErrorLookup; + declare transientErrorLookup: TransientErrorLookup; /** * @private */ - closed: boolean; + declare closed: boolean; /** * @private */ - loginError: undefined | AggregateError | ConnectionError; + declare loginError: undefined | AggregateError | ConnectionError; /** * @private */ - debug: Debug; + declare debug: Debug; /** * @private */ - ntlmpacket: undefined | any; + declare ntlmpacket: undefined | any; /** * @private */ - ntlmpacketBuffer: undefined | Buffer; + declare ntlmpacketBuffer: undefined | Buffer; /** * @private @@ -974,54 +974,54 @@ class Connection extends EventEmitter { /** * @private */ - routingData: undefined | RoutingData; + declare routingData: undefined | RoutingData; /** * @private */ - messageIo!: MessageIO; + declare messageIo: MessageIO; /** * @private */ - state: State; + declare state: State; /** * @private */ - resetConnectionOnNextRequest: undefined | boolean; + declare resetConnectionOnNextRequest: undefined | boolean; /** * @private */ - request: undefined | Request | BulkLoad; + declare request: undefined | Request | BulkLoad; /** * @private */ - procReturnStatusValue: undefined | any; + declare procReturnStatusValue: undefined | any; /** * @private */ - socket: undefined | net.Socket; + declare socket: undefined | net.Socket; /** * @private */ - messageBuffer: Buffer; + declare messageBuffer: Buffer; /** * @private */ - connectTimer: undefined | NodeJS.Timeout; + declare connectTimer: undefined | NodeJS.Timeout; /** * @private */ - cancelTimer: undefined | NodeJS.Timeout; + declare cancelTimer: undefined | NodeJS.Timeout; /** * @private */ - requestTimer: undefined | NodeJS.Timeout; + declare requestTimer: undefined | NodeJS.Timeout; /** * @private */ - retryTimer: undefined | NodeJS.Timeout; + declare retryTimer: undefined | NodeJS.Timeout; /** * @private @@ -1031,7 +1031,7 @@ class Connection extends EventEmitter { /** * @private */ - databaseCollation: Collation | undefined; + declare databaseCollation: Collation | undefined; /** * Note: be aware of the different options field: diff --git a/src/debug.ts b/src/debug.ts index 89c1d8ab7..880975941 100644 --- a/src/debug.ts +++ b/src/debug.ts @@ -3,14 +3,14 @@ import * as util from 'util'; import { Packet } from './packet'; class Debug extends EventEmitter { - options: { + declare options: { data: boolean; payload: boolean; packet: boolean; token: boolean; }; - indent: string; + declare indent: string; /* @options Which debug details should be sent. diff --git a/src/errors.ts b/src/errors.ts index 7ffc33b51..097d7c91e 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -1,7 +1,7 @@ export class ConnectionError extends Error { - code: string | undefined; + declare code: string | undefined; - isTransient: boolean | undefined; + declare isTransient: boolean | undefined; constructor(message: string, code?: string) { super(message); @@ -11,14 +11,14 @@ export class ConnectionError extends Error { } export class RequestError extends Error { - code: string | undefined; + declare code: string | undefined; - number: number | undefined; - state: number | undefined; - class: number | undefined; - serverName: string | undefined; - procName: string | undefined; - lineNumber: number | undefined; + declare number: number | undefined; + declare state: number | undefined; + declare class: number | undefined; + declare serverName: string | undefined; + declare procName: string | undefined; + declare lineNumber: number | undefined; constructor(message: string, code?: string) { super(message); diff --git a/src/errors/abort-error.ts b/src/errors/abort-error.ts index 1d5e67f4c..9fad3821f 100644 --- a/src/errors/abort-error.ts +++ b/src/errors/abort-error.ts @@ -1,5 +1,5 @@ export default class AbortError extends Error { - code: string; + declare code: string; constructor() { super('The operation was aborted'); diff --git a/src/errors/timeout-error.ts b/src/errors/timeout-error.ts index ecb44ca2f..58c34288f 100644 --- a/src/errors/timeout-error.ts +++ b/src/errors/timeout-error.ts @@ -1,5 +1,5 @@ export default class TimeoutError extends Error { - code: string; + declare code: string; constructor() { super('The operation was aborted due to timeout'); diff --git a/src/incoming-message-stream.ts b/src/incoming-message-stream.ts index 2fc905b96..aae3a2150 100644 --- a/src/incoming-message-stream.ts +++ b/src/incoming-message-stream.ts @@ -11,9 +11,9 @@ import { ConnectionError } from './errors'; Transform received TDS data into individual IncomingMessage streams. */ class IncomingMessageStream extends Transform { - debug: Debug; - bl: any; - currentMessage: Message | undefined; + declare debug: Debug; + declare bl: any; + declare currentMessage: Message | undefined; constructor(debug: Debug) { super({ readableObjectMode: true }); diff --git a/src/login7-payload.ts b/src/login7-payload.ts index d7bcf52dd..01b85f94c 100644 --- a/src/login7-payload.ts +++ b/src/login7-payload.ts @@ -78,31 +78,31 @@ interface Options { s2.2.6.3 */ class Login7Payload { - tdsVersion: number; - packetSize: number; - clientProgVer: number; - clientPid: number; - connectionId: number; - clientTimeZone: number; - clientLcid: number; - - readOnlyIntent: boolean; - initDbFatal: boolean; - - userName: string | undefined; - password: string | undefined; - serverName: string | undefined; - appName: string | undefined; - hostname: string | undefined; - libraryName: string | undefined; - language: string | undefined; - database: string | undefined; - clientId: Buffer | undefined; - sspi: Buffer | undefined; - attachDbFile: string | undefined; - changePassword: string | undefined; - - fedAuth: { type: 'ADAL', echo: boolean, workflow: 'default' | 'integrated' } | { type: 'SECURITYTOKEN', echo: boolean, fedAuthToken: string } | undefined; + declare tdsVersion: number; + declare packetSize: number; + declare clientProgVer: number; + declare clientPid: number; + declare connectionId: number; + declare clientTimeZone: number; + declare clientLcid: number; + + declare readOnlyIntent: boolean; + declare initDbFatal: boolean; + + declare userName: string | undefined; + declare password: string | undefined; + declare serverName: string | undefined; + declare appName: string | undefined; + declare hostname: string | undefined; + declare libraryName: string | undefined; + declare language: string | undefined; + declare database: string | undefined; + declare clientId: Buffer | undefined; + declare sspi: Buffer | undefined; + declare attachDbFile: string | undefined; + declare changePassword: string | undefined; + + declare fedAuth: { type: 'ADAL', echo: boolean, workflow: 'default' | 'integrated' } | { type: 'SECURITYTOKEN', echo: boolean, fedAuthToken: string } | undefined; constructor({ tdsVersion, packetSize, clientProgVer, clientPid, connectionId, clientTimeZone, clientLcid }: Options) { this.tdsVersion = tdsVersion; diff --git a/src/message-io.ts b/src/message-io.ts index 3c3ee39f0..8ad7ce736 100644 --- a/src/message-io.ts +++ b/src/message-io.ts @@ -14,20 +14,20 @@ import IncomingMessageStream from './incoming-message-stream'; import OutgoingMessageStream from './outgoing-message-stream'; class MessageIO extends EventEmitter { - socket: Socket; - debug: Debug; + declare socket: Socket; + declare debug: Debug; - tlsNegotiationComplete: boolean; + declare tlsNegotiationComplete: boolean; - private incomingMessageStream: IncomingMessageStream; - outgoingMessageStream: OutgoingMessageStream; + declare private incomingMessageStream: IncomingMessageStream; + declare outgoingMessageStream: OutgoingMessageStream; - securePair?: { + declare securePair?: { cleartext: tls.TLSSocket; encrypted: Duplex; }; - incomingMessageIterator: AsyncIterableIterator; + declare incomingMessageIterator: AsyncIterableIterator; constructor(socket: Socket, packetSize: number, debug: Debug) { super(); diff --git a/src/message.ts b/src/message.ts index 527e71d0c..517b7bfaa 100644 --- a/src/message.ts +++ b/src/message.ts @@ -1,9 +1,9 @@ import { PassThrough } from 'stream'; class Message extends PassThrough { - type: number; - resetConnection: boolean; - ignore: boolean; + declare type: number; + declare resetConnection: boolean; + declare ignore: boolean; constructor({ type, resetConnection = false }: { type: number, resetConnection?: boolean | undefined }) { super(); diff --git a/src/ntlm-payload.ts b/src/ntlm-payload.ts index f2c294856..583d1340a 100644 --- a/src/ntlm-payload.ts +++ b/src/ntlm-payload.ts @@ -13,7 +13,7 @@ interface Options { } class NTLMResponsePayload { - data: Buffer; + declare data: Buffer; constructor(loginData: Options) { this.data = this.createResponse(loginData); diff --git a/src/outgoing-message-stream.ts b/src/outgoing-message-stream.ts index e1bdd12df..dd450beb2 100644 --- a/src/outgoing-message-stream.ts +++ b/src/outgoing-message-stream.ts @@ -6,11 +6,11 @@ import Message from './message'; import { Packet, HEADER_LENGTH } from './packet'; class OutgoingMessageStream extends Duplex { - packetSize: number; - debug: Debug; - bl: any; + declare packetSize: number; + declare debug: Debug; + declare bl: any; - currentMessage: Message | undefined; + declare currentMessage: Message | undefined; constructor(debug: Debug, { packetSize }: { packetSize: number }) { super({ writableObjectMode: true }); diff --git a/src/packet.ts b/src/packet.ts index 736160bb9..e1b7381b3 100644 --- a/src/packet.ts +++ b/src/packet.ts @@ -47,7 +47,7 @@ const DEFAULT_WINDOW = 0; const NL = '\n'; export class Packet { - buffer: Buffer; + declare buffer: Buffer; constructor(typeOrBuffer: Buffer | number) { if (typeOrBuffer instanceof Buffer) { diff --git a/src/prelogin-payload.ts b/src/prelogin-payload.ts index 77f1e6581..bcc1fbc5e 100644 --- a/src/prelogin-payload.ts +++ b/src/prelogin-payload.ts @@ -54,26 +54,26 @@ interface Options { s2.2.6.4 */ class PreloginPayload { - data!: Buffer; - options: Options; + declare data: Buffer; + declare options: Options; - version!: { + declare version: { major: number; minor: number; build: number; subbuild: number; }; - encryption!: number; - encryptionString!: string; + declare encryption: number; + declare encryptionString: string; - instance!: number; + declare instance: number; - threadId!: number; + declare threadId: number; - mars!: number; - marsString!: string; - fedAuthRequired!: number; + declare mars: number; + declare marsString: string; + declare fedAuthRequired: number; constructor(bufferOrOptions: Buffer | Options = { encrypt: false, version: { major: 0, minor: 0, build: 0, subbuild: 0 } }) { if (bufferOrOptions instanceof Buffer) { diff --git a/src/request.ts b/src/request.ts index 0489b473f..7649cb777 100644 --- a/src/request.ts +++ b/src/request.ts @@ -56,70 +56,70 @@ class Request extends EventEmitter { /** * @private */ - sqlTextOrProcedure: string | undefined; + declare sqlTextOrProcedure: string | undefined; /** * @private */ - parameters: Parameter[]; + declare parameters: Parameter[]; /** * @private */ - parametersByName: { [key: string]: Parameter }; + declare parametersByName: { [key: string]: Parameter }; /** * @private */ - preparing: boolean; + declare preparing: boolean; /** * @private */ - canceled: boolean; + declare canceled: boolean; /** * @private */ - paused: boolean; + declare paused: boolean; /** * @private */ - userCallback: CompletionCallback; + declare userCallback: CompletionCallback; /** * @private */ - handle: number | undefined; + declare handle: number | undefined; /** * @private */ - error: Error | undefined; + declare error: Error | undefined; /** * @private */ - connection: Connection | undefined; + declare connection: Connection | undefined; /** * @private */ - timeout: number | undefined; + declare timeout: number | undefined; /** * @private */ - rows?: Array; + declare rows?: Array; /** * @private */ - rst?: Array; + declare rst?: Array; /** * @private */ - rowCount?: number; + declare rowCount?: number; /** * @private */ - callback: CompletionCallback; + declare callback: CompletionCallback; - shouldHonorAE?: boolean; - statementColumnEncryptionSetting: SQLServerStatementColumnEncryptionSetting; - cryptoMetadataLoaded: boolean; + declare shouldHonorAE?: boolean; + declare statementColumnEncryptionSetting: SQLServerStatementColumnEncryptionSetting; + declare cryptoMetadataLoaded: boolean; /** * This event, describing result set columns, will be emitted before row diff --git a/src/rpcrequest-payload.ts b/src/rpcrequest-payload.ts index 8c2c9567a..20aff27a9 100644 --- a/src/rpcrequest-payload.ts +++ b/src/rpcrequest-payload.ts @@ -19,12 +19,12 @@ const STATUS = { s2.2.6.5 */ class RpcRequestPayload implements Iterable { - procedure: string | number; - parameters: Parameter[]; + declare procedure: string | number; + declare parameters: Parameter[]; - options: InternalConnectionOptions; - txnDescriptor: Buffer; - collation: Collation | undefined; + declare options: InternalConnectionOptions; + declare txnDescriptor: Buffer; + declare collation: Collation | undefined; constructor(procedure: string | number, parameters: Parameter[], txnDescriptor: Buffer, options: InternalConnectionOptions, collation: Collation | undefined) { this.procedure = procedure; diff --git a/src/sqlbatch-payload.ts b/src/sqlbatch-payload.ts index 917a29d49..c7e4a07a8 100644 --- a/src/sqlbatch-payload.ts +++ b/src/sqlbatch-payload.ts @@ -5,9 +5,9 @@ import { writeToTrackingBuffer } from './all-headers'; s2.2.6.6 */ class SqlBatchPayload implements Iterable { - sqlText: string; - txnDescriptor: Buffer; - options: { tdsVersion: string }; + declare sqlText: string; + declare txnDescriptor: Buffer; + declare options: { tdsVersion: string }; constructor(sqlText: string, txnDescriptor: Buffer, options: { tdsVersion: string }) { this.sqlText = sqlText; diff --git a/src/token/handler.ts b/src/token/handler.ts index ccd1bb74e..e21fcfd6f 100644 --- a/src/token/handler.ts +++ b/src/token/handler.ts @@ -148,7 +148,7 @@ export class TokenHandler { * that sets up different connection settings. */ export class InitialSqlTokenHandler extends TokenHandler { - connection: Connection; + declare connection: Connection; constructor(connection: Connection) { super(); @@ -245,16 +245,16 @@ export class InitialSqlTokenHandler extends TokenHandler { * A handler for tokens received in the response message to a Login7 message. */ export class Login7TokenHandler extends TokenHandler { - connection: Connection; + declare connection: Connection; - fedAuthInfoToken: FedAuthInfoToken | undefined; - routingData: { server: string, port: number } | undefined; + declare fedAuthInfoToken: FedAuthInfoToken | undefined; + declare routingData: { server: string, port: number } | undefined; - loginAckReceived = false; + declare loginAckReceived: boolean; constructor(connection: Connection) { super(); - + this.loginAckReceived = false; this.connection = connection; } @@ -368,9 +368,9 @@ export class Login7TokenHandler extends TokenHandler { * a SQL Batch Request, a Bulk Load BCP Request or a Transaction Manager Request. */ export class RequestTokenHandler extends TokenHandler { - connection: Connection; - request: Request | BulkLoad; - errors: RequestError[]; + declare connection: Connection; + declare request: Request | BulkLoad; + declare errors: RequestError[]; constructor(connection: Connection, request: Request | BulkLoad) { super(); @@ -559,13 +559,13 @@ export class RequestTokenHandler extends TokenHandler { * that the attention message was received by the server. */ export class AttentionTokenHandler extends TokenHandler { - connection: Connection; - request: Request | BulkLoad; + declare connection: Connection; + declare request: Request | BulkLoad; /** * Returns whether an attention acknowledgement was received. */ - attentionReceived: boolean; + declare attentionReceived: boolean; constructor(connection: Connection, request: Request | BulkLoad) { super(); diff --git a/src/token/stream-parser.ts b/src/token/stream-parser.ts index 4b39aa23b..1e7deaa84 100644 --- a/src/token/stream-parser.ts +++ b/src/token/stream-parser.ts @@ -36,9 +36,9 @@ const tokenParsers = { export type ParserOptions = Pick; class StreamBuffer { - iterator: AsyncIterator | Iterator; - buffer: Buffer; - position: number; + declare iterator: AsyncIterator | Iterator; + declare buffer: Buffer; + declare position: number; constructor(iterable: AsyncIterable | Iterable) { this.iterator = ((iterable as AsyncIterable)[Symbol.asyncIterator] || (iterable as Iterable)[Symbol.iterator]).call(iterable); @@ -63,13 +63,13 @@ class StreamBuffer { } class Parser { - debug: Debug; - colMetadata: ColumnMetadata[]; - options: ParserOptions; + declare debug: Debug; + declare colMetadata: ColumnMetadata[]; + declare options: ParserOptions; - suspended: boolean; - next: (() => void) | undefined; - streamBuffer: StreamBuffer; + declare suspended: boolean; + declare next: (() => void) | undefined; + declare streamBuffer: StreamBuffer; static async *parseTokens(iterable: AsyncIterable | Iterable, debug: Debug, options: ParserOptions, colMetadata: ColumnMetadata[] = []) { let token: Token | undefined; diff --git a/src/token/token-stream-parser.ts b/src/token/token-stream-parser.ts index 8fc6c8017..b97daeadd 100644 --- a/src/token/token-stream-parser.ts +++ b/src/token/token-stream-parser.ts @@ -7,9 +7,9 @@ import Message from '../message'; import { TokenHandler } from './handler'; export class Parser extends EventEmitter { - debug: Debug; - options: ParserOptions; - parser: Readable; + declare debug: Debug; + declare options: ParserOptions; + declare parser: Readable; constructor(message: Message, debug: Debug, handler: TokenHandler, options: ParserOptions) { super(); diff --git a/src/token/token.ts b/src/token/token.ts index 7322da7bd..a7fcc1289 100644 --- a/src/token/token.ts +++ b/src/token/token.ts @@ -30,8 +30,8 @@ export const TYPE = { type HandlerName = keyof TokenHandler; export abstract class Token { - name: string; - handlerName: keyof TokenHandler; + declare name: string; + declare handlerName: keyof TokenHandler; constructor(name: string, handlerName: HandlerName) { this.name = name; @@ -43,7 +43,7 @@ export class ColMetadataToken extends Token { declare name: 'COLMETADATA'; declare handlerName: 'onColMetadata'; - columns: ColumnMetadata[]; + declare columns: ColumnMetadata[]; constructor(columns: ColumnMetadata[]) { super('COLMETADATA', 'onColMetadata'); @@ -56,12 +56,12 @@ export class DoneToken extends Token { declare name: 'DONE'; declare handlerName: 'onDone'; - more: boolean; - sqlError: boolean; - attention: boolean; - serverError: boolean; - rowCount: number | undefined; - curCmd: number; + declare more: boolean; + declare sqlError: boolean; + declare attention: boolean; + declare serverError: boolean; + declare rowCount: number | undefined; + declare curCmd: number; constructor({ more, sqlError, attention, serverError, rowCount, curCmd }: { more: boolean, sqlError: boolean, attention: boolean, serverError: boolean, rowCount: number | undefined, curCmd: number }) { super('DONE', 'onDone'); @@ -79,12 +79,12 @@ export class DoneInProcToken extends Token { declare name: 'DONEINPROC'; declare handlerName: 'onDoneInProc'; - more: boolean; - sqlError: boolean; - attention: boolean; - serverError: boolean; - rowCount: number | undefined; - curCmd: number; + declare more: boolean; + declare sqlError: boolean; + declare attention: boolean; + declare serverError: boolean; + declare rowCount: number | undefined; + declare curCmd: number; constructor({ more, sqlError, attention, serverError, rowCount, curCmd }: { more: boolean, sqlError: boolean, attention: boolean, serverError: boolean, rowCount: number | undefined, curCmd: number }) { super('DONEINPROC', 'onDoneInProc'); @@ -102,12 +102,12 @@ export class DoneProcToken extends Token { declare name: 'DONEPROC'; declare handlerName: 'onDoneProc'; - more: boolean; - sqlError: boolean; - attention: boolean; - serverError: boolean; - rowCount: number | undefined; - curCmd: number; + declare more: boolean; + declare sqlError: boolean; + declare attention: boolean; + declare serverError: boolean; + declare rowCount: number | undefined; + declare curCmd: number; constructor({ more, sqlError, attention, serverError, rowCount, curCmd }: { more: boolean, sqlError: boolean, attention: boolean, serverError: boolean, rowCount: number | undefined, curCmd: number }) { super('DONEPROC', 'onDoneProc'); @@ -125,9 +125,9 @@ export class DatabaseEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onDatabaseChange'; - type: 'DATABASE'; - newValue: string; - oldValue: string; + declare type: 'DATABASE'; + declare newValue: string; + declare oldValue: string; constructor(newValue: string, oldValue: string) { super('ENVCHANGE', 'onDatabaseChange'); @@ -142,9 +142,9 @@ export class LanguageEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onLanguageChange'; - type: 'LANGUAGE'; - newValue: string; - oldValue: string; + declare type: 'LANGUAGE'; + declare newValue: string; + declare oldValue: string; constructor(newValue: string, oldValue: string) { super('ENVCHANGE', 'onLanguageChange'); @@ -159,9 +159,9 @@ export class CharsetEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onCharsetChange'; - type: 'CHARSET'; - newValue: string; - oldValue: string; + declare type: 'CHARSET'; + declare newValue: string; + declare oldValue: string; constructor(newValue: string, oldValue: string) { super('ENVCHANGE', 'onCharsetChange'); @@ -176,9 +176,9 @@ export class PacketSizeEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onPacketSizeChange'; - type: 'PACKET_SIZE'; - newValue: number; - oldValue: number; + declare type: 'PACKET_SIZE'; + declare newValue: number; + declare oldValue: number; constructor(newValue: number, oldValue: number) { super('ENVCHANGE', 'onPacketSizeChange'); @@ -193,9 +193,9 @@ export class BeginTransactionEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onBeginTransaction'; - type: 'BEGIN_TXN'; - newValue: Buffer; - oldValue: Buffer; + declare type: 'BEGIN_TXN'; + declare newValue: Buffer; + declare oldValue: Buffer; constructor(newValue: Buffer, oldValue: Buffer) { super('ENVCHANGE', 'onBeginTransaction'); @@ -210,9 +210,9 @@ export class CommitTransactionEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onCommitTransaction'; - type: 'COMMIT_TXN'; - newValue: Buffer; - oldValue: Buffer; + declare type: 'COMMIT_TXN'; + declare newValue: Buffer; + declare oldValue: Buffer; constructor(newValue: Buffer, oldValue: Buffer) { super('ENVCHANGE', 'onCommitTransaction'); @@ -227,9 +227,9 @@ export class RollbackTransactionEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onRollbackTransaction'; - type: 'ROLLBACK_TXN'; - oldValue: Buffer; - newValue: Buffer; + declare type: 'ROLLBACK_TXN'; + declare oldValue: Buffer; + declare newValue: Buffer; constructor(newValue: Buffer, oldValue: Buffer) { super('ENVCHANGE', 'onRollbackTransaction'); @@ -244,9 +244,9 @@ export class DatabaseMirroringPartnerEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onDatabaseMirroringPartner'; - type: 'DATABASE_MIRRORING_PARTNER'; - oldValue: string; - newValue: string; + declare type: 'DATABASE_MIRRORING_PARTNER'; + declare oldValue: string; + declare newValue: string; constructor(newValue: string, oldValue: string) { super('ENVCHANGE', 'onDatabaseMirroringPartner'); @@ -261,9 +261,9 @@ export class ResetConnectionEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onResetConnection'; - type: 'RESET_CONNECTION'; - oldValue: Buffer; - newValue: Buffer; + declare type: 'RESET_CONNECTION'; + declare oldValue: Buffer; + declare newValue: Buffer; constructor(newValue: Buffer, oldValue: Buffer) { super('ENVCHANGE', 'onResetConnection'); @@ -278,9 +278,9 @@ export class CollationChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onSqlCollationChange'; - type: 'SQL_COLLATION'; - oldValue: Collation | undefined; - newValue: Collation | undefined; + declare type: 'SQL_COLLATION'; + declare oldValue: Collation | undefined; + declare newValue: Collation | undefined; constructor(newValue: Collation | undefined, oldValue: Collation | undefined) { super('ENVCHANGE', 'onSqlCollationChange'); @@ -295,9 +295,9 @@ export class RoutingEnvChangeToken extends Token { declare name: 'ENVCHANGE'; declare handlerName: 'onRoutingChange'; - type: 'ROUTING_CHANGE'; - newValue: { protocol: number, port: number, server: string }; - oldValue: Buffer; + declare type: 'ROUTING_CHANGE'; + declare newValue: { protocol: number, port: number, server: string }; + declare oldValue: Buffer; constructor(newValue: { protocol: number, port: number, server: string }, oldValue: Buffer) { super('ENVCHANGE', 'onRoutingChange'); @@ -312,12 +312,12 @@ export class FeatureExtAckToken extends Token { declare name: 'FEATUREEXTACK'; declare handlerName: 'onFeatureExtAck'; - fedAuth: Buffer | undefined; + declare fedAuth: Buffer | undefined; /** Value of UTF8_SUPPORT acknowledgement. * * undefined when UTF8_SUPPORT not included in token. */ - utf8Support: boolean | undefined; + declare utf8Support: boolean | undefined; constructor(fedAuth: Buffer | undefined, utf8Support: boolean | undefined) { super('FEATUREEXTACK', 'onFeatureExtAck'); @@ -331,8 +331,8 @@ export class FedAuthInfoToken extends Token { declare name: 'FEDAUTHINFO'; declare handlerName: 'onFedAuthInfo'; - spn: string | undefined; - stsurl: string | undefined; + declare spn: string | undefined; + declare stsurl: string | undefined; constructor(spn: string | undefined, stsurl: string | undefined) { super('FEDAUTHINFO', 'onFedAuthInfo'); @@ -346,13 +346,13 @@ export class InfoMessageToken extends Token { declare name: 'INFO'; declare handlerName: 'onInfoMessage'; - number: number; - state: number; - class: number; - message: string; - serverName: string; - procName: string; - lineNumber: number; + declare number: number; + declare state: number; + declare class: number; + declare message: string; + declare serverName: string; + declare procName: string; + declare lineNumber: number; constructor({ number, state, class: clazz, message, serverName, procName, lineNumber }: { number: number, state: number, class: number, message: string, serverName: string, procName: string, lineNumber: number }) { super('INFO', 'onInfoMessage'); @@ -371,13 +371,13 @@ export class ErrorMessageToken extends Token { declare name: 'ERROR'; declare handlerName: 'onErrorMessage'; - number: number; - state: number; - class: number; - message: string; - serverName: string; - procName: string; - lineNumber: number; + declare number: number; + declare state: number; + declare class: number; + declare message: string; + declare serverName: string; + declare procName: string; + declare lineNumber: number; constructor({ number, state, class: clazz, message, serverName, procName, lineNumber }: { number: number, state: number, class: number, message: string, serverName: string, procName: string, lineNumber: number }) { super('ERROR', 'onErrorMessage'); @@ -396,10 +396,10 @@ export class LoginAckToken extends Token { declare name: 'LOGINACK'; declare handlerName: 'onLoginAck'; - interface: string; - tdsVersion: string; - progName: string; - progVersion: { major: number, minor: number, buildNumHi: number, buildNumLow: number }; + declare interface: string; + declare tdsVersion: string; + declare progName: string; + declare progVersion: { major: number, minor: number, buildNumHi: number, buildNumLow: number }; constructor({ interface: interfaze, tdsVersion, progName, progVersion }: { interface: LoginAckToken['interface'], tdsVersion: LoginAckToken['tdsVersion'], progName: LoginAckToken['progName'], progVersion: LoginAckToken['progVersion'] }) { super('LOGINACK', 'onLoginAck'); @@ -415,7 +415,7 @@ export class NBCRowToken extends Token { declare name: 'NBCROW'; declare handlerName: 'onRow'; - columns: any; + declare columns: any; constructor(columns: any) { super('NBCROW', 'onRow'); @@ -428,7 +428,7 @@ export class OrderToken extends Token { declare name: 'ORDER'; declare handlerName: 'onOrder'; - orderColumns: number[]; + declare orderColumns: number[]; constructor(orderColumns: number[]) { super('ORDER', 'onOrder'); @@ -441,7 +441,7 @@ export class ReturnStatusToken extends Token { declare name: 'RETURNSTATUS'; declare handlerName: 'onReturnStatus'; - value: number; + declare value: number; constructor(value: number) { super('RETURNSTATUS', 'onReturnStatus'); @@ -454,10 +454,10 @@ export class ReturnValueToken extends Token { declare name: 'RETURNVALUE'; declare handlerName: 'onReturnValue'; - paramOrdinal: number; - paramName: string; - metadata: Metadata; - value: unknown; + declare paramOrdinal: number; + declare paramName: string; + declare metadata: Metadata; + declare value: unknown; constructor({ paramOrdinal, paramName, metadata, value }: { paramOrdinal: number, paramName: string, metadata: Metadata, value: unknown }) { super('RETURNVALUE', 'onReturnValue'); @@ -473,7 +473,7 @@ export class RowToken extends Token { declare name: 'ROW'; declare handlerName: 'onRow'; - columns: any; + declare columns: any; constructor(columns: any) { super('ROW', 'onRow'); @@ -486,8 +486,8 @@ export class SSPIToken extends Token { declare name: 'SSPICHALLENGE'; declare handlerName: 'onSSPI'; - ntlmpacket: any; - ntlmpacketBuffer: Buffer; + declare ntlmpacket: any; + declare ntlmpacketBuffer: Buffer; constructor(ntlmpacket: any, ntlmpacketBuffer: Buffer) { super('SSPICHALLENGE', 'onSSPI'); diff --git a/src/tracking-buffer/writable-tracking-buffer.ts b/src/tracking-buffer/writable-tracking-buffer.ts index 576f10296..3ce6a20e6 100644 --- a/src/tracking-buffer/writable-tracking-buffer.ts +++ b/src/tracking-buffer/writable-tracking-buffer.ts @@ -12,14 +12,14 @@ export type Encoding = 'utf8' | 'ucs2' | 'ascii'; When writing, automatically allocates new buffers if there's not enough space. */ class WritableTrackingBuffer { - initialSize: number; - encoding: Encoding; - doubleSizeGrowth: boolean; + declare initialSize: number; + declare encoding: Encoding; + declare doubleSizeGrowth: boolean; - buffer: Buffer; - compositeBuffer: Buffer; + declare buffer: Buffer; + declare compositeBuffer: Buffer; - position: number; + declare position: number; constructor(initialSize: number, encoding?: Encoding | null, doubleSizeGrowth?: boolean) { this.initialSize = initialSize; diff --git a/src/transaction.ts b/src/transaction.ts index 5ff94a62a..3ce4ffd8e 100644 --- a/src/transaction.ts +++ b/src/transaction.ts @@ -45,9 +45,9 @@ export function assertValidIsolationLevel(isolationLevel: any, name: string): as } export class Transaction { - name: string; - isolationLevel: number; - outstandingRequestCount: number; + declare name: string; + declare isolationLevel: number; + declare outstandingRequestCount: number; constructor(name: string, isolationLevel = ISOLATION_LEVEL.NO_CHANGE) { this.name = name;