tedious 16.2.0 → 16.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/all-headers.js +1 -2
- package/lib/all-headers.js.map +1 -0
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +9 -31
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -0
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +9 -24
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -0
- package/lib/always-encrypted/cek-entry.js +8 -12
- package/lib/always-encrypted/cek-entry.js.map +1 -0
- package/lib/always-encrypted/get-parameter-encryption-metadata.js +2 -24
- package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -0
- package/lib/always-encrypted/key-crypto.js +5 -30
- package/lib/always-encrypted/key-crypto.js.map +1 -0
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js +11 -72
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -0
- package/lib/always-encrypted/symmetric-key-cache.js +2 -13
- package/lib/always-encrypted/symmetric-key-cache.js.map +1 -0
- package/lib/always-encrypted/symmetric-key.js +3 -8
- package/lib/always-encrypted/symmetric-key.js.map +1 -0
- package/lib/always-encrypted/types.js +19 -27
- package/lib/always-encrypted/types.js.map +1 -0
- package/lib/always-encrypted/utils.js +2 -6
- package/lib/always-encrypted/utils.js.map +1 -0
- package/lib/bulk-load-payload.js +7 -15
- package/lib/bulk-load-payload.js.map +1 -0
- package/lib/bulk-load.js +58 -131
- package/lib/bulk-load.js.map +1 -0
- package/lib/collation.js +7 -15
- package/lib/collation.js.map +1 -0
- package/lib/connection.js +290 -531
- package/lib/connection.js.map +1 -0
- package/lib/connector.js +6 -37
- package/lib/connector.js.map +1 -0
- package/lib/data-type.js +2 -43
- package/lib/data-type.js.map +1 -0
- package/lib/data-types/bigint.js +1 -15
- package/lib/data-types/bigint.js.map +1 -0
- package/lib/data-types/binary.js +1 -12
- package/lib/data-types/binary.js.map +1 -0
- package/lib/data-types/bit.js +1 -11
- package/lib/data-types/bit.js.map +1 -0
- package/lib/data-types/bitn.js +1 -7
- package/lib/data-types/bitn.js.map +1 -0
- package/lib/data-types/char.js +1 -20
- package/lib/data-types/char.js.map +1 -0
- package/lib/data-types/date.js +1 -15
- package/lib/data-types/date.js.map +1 -0
- package/lib/data-types/datetime.js +3 -20
- package/lib/data-types/datetime.js.map +1 -0
- package/lib/data-types/datetime2.js +1 -26
- package/lib/data-types/datetime2.js.map +1 -0
- package/lib/data-types/datetimen.js +1 -7
- package/lib/data-types/datetimen.js.map +1 -0
- package/lib/data-types/datetimeoffset.js +1 -23
- package/lib/data-types/datetimeoffset.js.map +1 -0
- package/lib/data-types/decimal.js +1 -18
- package/lib/data-types/decimal.js.map +1 -0
- package/lib/data-types/decimaln.js +1 -7
- package/lib/data-types/decimaln.js.map +1 -0
- package/lib/data-types/float.js +1 -13
- package/lib/data-types/float.js.map +1 -0
- package/lib/data-types/floatn.js +1 -7
- package/lib/data-types/floatn.js.map +1 -0
- package/lib/data-types/image.js +1 -10
- package/lib/data-types/image.js.map +1 -0
- package/lib/data-types/int.js +1 -14
- package/lib/data-types/int.js.map +1 -0
- package/lib/data-types/intn.js +1 -7
- package/lib/data-types/intn.js.map +1 -0
- package/lib/data-types/money.js +1 -12
- package/lib/data-types/money.js.map +1 -0
- package/lib/data-types/moneyn.js +1 -7
- package/lib/data-types/moneyn.js.map +1 -0
- package/lib/data-types/nchar.js +1 -14
- package/lib/data-types/nchar.js.map +1 -0
- package/lib/data-types/ntext.js +1 -10
- package/lib/data-types/ntext.js.map +1 -0
- package/lib/data-types/null.js +1 -7
- package/lib/data-types/null.js.map +1 -0
- package/lib/data-types/numeric.js +1 -18
- package/lib/data-types/numeric.js.map +1 -0
- package/lib/data-types/numericn.js +1 -7
- package/lib/data-types/numericn.js.map +1 -0
- package/lib/data-types/nvarchar.js +1 -22
- package/lib/data-types/nvarchar.js.map +1 -0
- package/lib/data-types/real.js +1 -13
- package/lib/data-types/real.js.map +1 -0
- package/lib/data-types/smalldatetime.js +1 -14
- package/lib/data-types/smalldatetime.js.map +1 -0
- package/lib/data-types/smallint.js +1 -14
- package/lib/data-types/smallint.js.map +1 -0
- package/lib/data-types/smallmoney.js +1 -13
- package/lib/data-types/smallmoney.js.map +1 -0
- package/lib/data-types/sql-variant.js +1 -6
- package/lib/data-types/sql-variant.js.map +1 -0
- package/lib/data-types/text.js +1 -18
- package/lib/data-types/text.js.map +1 -0
- package/lib/data-types/time.js +1 -22
- package/lib/data-types/time.js.map +1 -0
- package/lib/data-types/tinyint.js +1 -14
- package/lib/data-types/tinyint.js.map +1 -0
- package/lib/data-types/tvp.js +11 -27
- package/lib/data-types/tvp.js.map +1 -0
- package/lib/data-types/udt.js +1 -7
- package/lib/data-types/udt.js.map +1 -0
- package/lib/data-types/uniqueidentifier.js +1 -11
- package/lib/data-types/uniqueidentifier.js.map +1 -0
- package/lib/data-types/varbinary.js +1 -22
- package/lib/data-types/varbinary.js.map +1 -0
- package/lib/data-types/varchar.js +1 -23
- package/lib/data-types/varchar.js.map +1 -0
- package/lib/data-types/xml.js +1 -7
- package/lib/data-types/xml.js.map +1 -0
- package/lib/debug.js +4 -16
- package/lib/debug.js.map +1 -0
- package/lib/errors/abort-error.js +2 -5
- package/lib/errors/abort-error.js.map +1 -0
- package/lib/errors/timeout-error.js +2 -5
- package/lib/errors/timeout-error.js.map +1 -0
- package/lib/errors.js +10 -16
- package/lib/errors.js.map +1 -0
- package/lib/guid-parser.js +1 -7
- package/lib/guid-parser.js.map +1 -0
- package/lib/incoming-message-stream.js +9 -29
- package/lib/incoming-message-stream.js.map +1 -0
- package/lib/instance-lookup.js +3 -34
- package/lib/instance-lookup.js.map +1 -0
- package/lib/library.js +1 -1
- package/lib/library.js.map +1 -0
- package/lib/login7-payload.js +99 -100
- package/lib/login7-payload.js.map +1 -0
- package/lib/message-io.js +17 -45
- package/lib/message-io.js.map +1 -0
- package/lib/message.js +4 -8
- package/lib/message.js.map +1 -0
- package/lib/metadata-parser.js +1 -22
- package/lib/metadata-parser.js.map +1 -0
- package/lib/ntlm-payload.js +2 -22
- package/lib/ntlm-payload.js.map +1 -0
- package/lib/ntlm.js +1 -4
- package/lib/ntlm.js.map +1 -0
- package/lib/outgoing-message-stream.js +12 -21
- package/lib/outgoing-message-stream.js.map +1 -0
- package/lib/packet.js +2 -47
- package/lib/packet.js.map +1 -0
- package/lib/prelogin-payload.js +11 -54
- package/lib/prelogin-payload.js.map +1 -0
- package/lib/request.js +88 -66
- package/lib/request.js.map +1 -0
- package/lib/rpcrequest-payload.js +8 -35
- package/lib/rpcrequest-payload.js.map +1 -0
- package/lib/sender.js +1 -24
- package/lib/sender.js.map +1 -0
- package/lib/special-stored-procedure.js +1 -1
- package/lib/special-stored-procedure.js.map +1 -0
- package/lib/sqlbatch-payload.js +5 -18
- package/lib/sqlbatch-payload.js.map +1 -0
- package/lib/tds-versions.js +3 -3
- package/lib/tds-versions.js.map +1 -0
- package/lib/tedious.js +1 -12
- package/lib/tedious.js.map +1 -0
- package/lib/token/colmetadata-token-parser.js +1 -17
- package/lib/token/colmetadata-token-parser.js.map +1 -0
- package/lib/token/done-token-parser.js +2 -8
- package/lib/token/done-token-parser.js.map +1 -0
- package/lib/token/env-change-token-parser.js +7 -28
- package/lib/token/env-change-token-parser.js.map +1 -0
- package/lib/token/feature-ext-ack-parser.js +1 -10
- package/lib/token/feature-ext-ack-parser.js.map +1 -0
- package/lib/token/fedauth-info-parser.js +2 -10
- package/lib/token/fedauth-info-parser.js.map +1 -0
- package/lib/token/handler.js +39 -149
- package/lib/token/handler.js.map +1 -0
- package/lib/token/infoerror-token-parser.js +1 -5
- package/lib/token/infoerror-token-parser.js.map +1 -0
- package/lib/token/loginack-token-parser.js +1 -6
- package/lib/token/loginack-token-parser.js.map +1 -0
- package/lib/token/nbcrow-token-parser.js +2 -15
- package/lib/token/nbcrow-token-parser.js.map +1 -0
- package/lib/token/order-token-parser.js +2 -7
- package/lib/token/order-token-parser.js.map +1 -0
- package/lib/token/returnstatus-token-parser.js +2 -4
- package/lib/token/returnstatus-token-parser.js.map +1 -0
- package/lib/token/returnvalue-token-parser.js +4 -9
- package/lib/token/returnvalue-token-parser.js.map +1 -0
- package/lib/token/row-token-parser.js +2 -11
- package/lib/token/row-token-parser.js.map +1 -0
- package/lib/token/sspi-token-parser.js +1 -5
- package/lib/token/sspi-token-parser.js.map +1 -0
- package/lib/token/stream-parser.js +24 -86
- package/lib/token/stream-parser.js.map +1 -0
- package/lib/token/token-stream-parser.js +4 -13
- package/lib/token/token-stream-parser.js.map +1 -0
- package/lib/token/token.js +88 -168
- package/lib/token/token.js.map +1 -0
- package/lib/tracking-buffer/writable-tracking-buffer.js +20 -60
- package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -0
- package/lib/transaction.js +9 -33
- package/lib/transaction.js.map +1 -0
- package/lib/transient-error-lookup.js +1 -4
- package/lib/transient-error-lookup.js.map +1 -0
- package/lib/utils/with-timeout.js +1 -9
- package/lib/utils/with-timeout.js.map +1 -0
- package/lib/value-parser.js +1 -143
- package/lib/value-parser.js.map +1 -0
- package/package.json +27 -71
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-parser.js","names":["_metadataParser","require","_dataType","_iconvLite","_interopRequireDefault","_sprintfJs","_guidParser","obj","__esModule","default","NULL","MAX","THREE_AND_A_THIRD","MONEY_DIVISOR","PLP_NULL","Buffer","from","UNKNOWN_PLP_LEN","DEFAULT_ENCODING","readTinyInt","parser","callback","readUInt8","readSmallInt","readInt16LE","readInt","readInt32LE","readBigInt","readBigInt64LE","value","toString","readReal","readFloatLE","readFloat","readDoubleLE","readSmallMoney","readMoney","high","readUInt32LE","low","readBit","valueParse","metadata","options","type","name","dataLength","Error","codepage","collation","readMaxChars","readUInt16LE","readChars","readMaxNChars","readNChars","readMaxBinary","readBinary","textPointerLength","readBuffer","_textPointer","_timestamp","readSmallDateTime","useUTC","readDateTime","readTime","scale","readDate","readDateTime2","readDateTimeOffset","readNumeric","precision","readUniqueIdentifier","sprintf","readVariant","data","lowerCaseGuids","bufferToLowerCaseGuid","bufferToUpperCaseGuid","_precision","sign","readValue","readUNumeric64LE","readUNumeric96LE","readUNumeric128LE","call","Math","pow","baseType","TYPE","propBytes","_maxLength","readCollation","_collation","iconv","decode","readMax","equals","readMaxUnknownLength","console","warn","expectedLength","readMaxKnownLength","totalLength","alloc","offset","next","done","chunkLength","chunk","copy","chunks","length","push","concat","days","minutes","Date","UTC","threeHundredthsOfSecond","milliseconds","round","readUInt24LE","readUInt40LE","i","date","Object","defineProperty","enumerable","time","getHours","getMinutes","getSeconds","getMilliseconds","nanosecondsDelta","_default","exports","module"],"sources":["../src/value-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './token/stream-parser';\nimport { Metadata, readCollation } from './metadata-parser';\nimport { TYPE } from './data-type';\n\nimport iconv from 'iconv-lite';\nimport { sprintf } from 'sprintf-js';\nimport { bufferToLowerCaseGuid, bufferToUpperCaseGuid } from './guid-parser';\n\nconst NULL = (1 << 16) - 1;\nconst MAX = (1 << 16) - 1;\nconst THREE_AND_A_THIRD = 3 + (1 / 3);\nconst MONEY_DIVISOR = 10000;\nconst PLP_NULL = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]);\nconst UNKNOWN_PLP_LEN = Buffer.from([0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]);\nconst DEFAULT_ENCODING = 'utf8';\n\nfunction readTinyInt(parser: Parser, callback: (value: unknown) => void) {\n parser.readUInt8(callback);\n}\n\nfunction readSmallInt(parser: Parser, callback: (value: unknown) => void) {\n parser.readInt16LE(callback);\n}\n\nfunction readInt(parser: Parser, callback: (value: unknown) => void) {\n parser.readInt32LE(callback);\n}\n\nfunction readBigInt(parser: Parser, callback: (value: unknown) => void) {\n parser.readBigInt64LE((value) => {\n callback(value.toString());\n });\n}\n\nfunction readReal(parser: Parser, callback: (value: unknown) => void) {\n parser.readFloatLE(callback);\n}\n\nfunction readFloat(parser: Parser, callback: (value: unknown) => void) {\n parser.readDoubleLE(callback);\n}\n\nfunction readSmallMoney(parser: Parser, callback: (value: unknown) => void) {\n parser.readInt32LE((value) => {\n callback(value / MONEY_DIVISOR);\n });\n}\n\nfunction readMoney(parser: Parser, callback: (value: unknown) => void) {\n parser.readInt32LE((high) => {\n parser.readUInt32LE((low) => {\n callback((low + (0x100000000 * high)) / MONEY_DIVISOR);\n });\n });\n}\n\nfunction readBit(parser: Parser, callback: (value: unknown) => void) {\n parser.readUInt8((value) => {\n callback(!!value);\n });\n}\n\nfunction valueParse(parser: Parser, metadata: Metadata, options: ParserOptions, callback: (value: unknown) => void): void {\n const type = metadata.type;\n\n switch (type.name) {\n case 'Null':\n return callback(null);\n\n case 'TinyInt':\n return readTinyInt(parser, callback);\n\n case 'SmallInt':\n return readSmallInt(parser, callback);\n\n case 'Int':\n return readInt(parser, callback);\n\n case 'BigInt':\n return readBigInt(parser, callback);\n\n case 'IntN':\n return parser.readUInt8((dataLength) => {\n switch (dataLength) {\n case 0:\n return callback(null);\n\n case 1:\n return readTinyInt(parser, callback);\n case 2:\n return readSmallInt(parser, callback);\n case 4:\n return readInt(parser, callback);\n case 8:\n return readBigInt(parser, callback);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for IntN');\n }\n });\n\n case 'Real':\n return readReal(parser, callback);\n\n case 'Float':\n return readFloat(parser, callback);\n\n case 'FloatN':\n return parser.readUInt8((dataLength) => {\n switch (dataLength) {\n case 0:\n return callback(null);\n\n case 4:\n return readReal(parser, callback);\n case 8:\n return readFloat(parser, callback);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for FloatN');\n }\n });\n\n case 'SmallMoney':\n return readSmallMoney(parser, callback);\n\n case 'Money':\n return readMoney(parser, callback);\n\n case 'MoneyN':\n return parser.readUInt8((dataLength) => {\n switch (dataLength) {\n case 0:\n return callback(null);\n\n case 4:\n return readSmallMoney(parser, callback);\n case 8:\n return readMoney(parser, callback);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for MoneyN');\n }\n });\n\n case 'Bit':\n return readBit(parser, callback);\n\n case 'BitN':\n return parser.readUInt8((dataLength) => {\n switch (dataLength) {\n case 0:\n return callback(null);\n\n case 1:\n return readBit(parser, callback);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for BitN');\n }\n });\n\n case 'VarChar':\n case 'Char':\n const codepage = metadata.collation!.codepage!;\n if (metadata.dataLength === MAX) {\n return readMaxChars(parser, codepage, callback);\n } else {\n return parser.readUInt16LE((dataLength) => {\n if (dataLength === NULL) {\n return callback(null);\n }\n\n readChars(parser, dataLength!, codepage, callback);\n });\n }\n\n case 'NVarChar':\n case 'NChar':\n if (metadata.dataLength === MAX) {\n return readMaxNChars(parser, callback);\n } else {\n return parser.readUInt16LE((dataLength) => {\n if (dataLength === NULL) {\n return callback(null);\n }\n\n readNChars(parser, dataLength!, callback);\n });\n }\n\n case 'VarBinary':\n case 'Binary':\n if (metadata.dataLength === MAX) {\n return readMaxBinary(parser, callback);\n } else {\n return parser.readUInt16LE((dataLength) => {\n if (dataLength === NULL) {\n return callback(null);\n }\n\n readBinary(parser, dataLength!, callback);\n });\n }\n\n case 'Text':\n return parser.readUInt8((textPointerLength) => {\n if (textPointerLength === 0) {\n return callback(null);\n }\n\n parser.readBuffer(textPointerLength, (_textPointer) => {\n parser.readBuffer(8, (_timestamp) => {\n parser.readUInt32LE((dataLength) => {\n readChars(parser, dataLength!, metadata.collation!.codepage!, callback);\n });\n });\n });\n });\n\n case 'NText':\n return parser.readUInt8((textPointerLength) => {\n if (textPointerLength === 0) {\n return callback(null);\n }\n\n parser.readBuffer(textPointerLength, (_textPointer) => {\n parser.readBuffer(8, (_timestamp) => {\n parser.readUInt32LE((dataLength) => {\n readNChars(parser, dataLength!, callback);\n });\n });\n });\n });\n\n case 'Image':\n return parser.readUInt8((textPointerLength) => {\n if (textPointerLength === 0) {\n return callback(null);\n }\n\n parser.readBuffer(textPointerLength, (_textPointer) => {\n parser.readBuffer(8, (_timestamp) => {\n parser.readUInt32LE((dataLength) => {\n readBinary(parser, dataLength!, callback);\n });\n });\n });\n });\n\n case 'Xml':\n return readMaxNChars(parser, callback);\n\n case 'SmallDateTime':\n return readSmallDateTime(parser, options.useUTC, callback);\n\n case 'DateTime':\n return readDateTime(parser, options.useUTC, callback);\n\n case 'DateTimeN':\n return parser.readUInt8((dataLength) => {\n switch (dataLength) {\n case 0:\n return callback(null);\n\n case 4:\n return readSmallDateTime(parser, options.useUTC, callback);\n case 8:\n return readDateTime(parser, options.useUTC, callback);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for DateTimeN');\n }\n });\n\n case 'Time':\n return parser.readUInt8((dataLength) => {\n if (dataLength === 0) {\n return callback(null);\n } else {\n return readTime(parser, dataLength!, metadata.scale!, options.useUTC, callback);\n }\n });\n\n case 'Date':\n return parser.readUInt8((dataLength) => {\n if (dataLength === 0) {\n return callback(null);\n } else {\n return readDate(parser, options.useUTC, callback);\n }\n });\n\n case 'DateTime2':\n return parser.readUInt8((dataLength) => {\n if (dataLength === 0) {\n return callback(null);\n } else {\n return readDateTime2(parser, dataLength!, metadata.scale!, options.useUTC, callback);\n }\n });\n\n case 'DateTimeOffset':\n return parser.readUInt8((dataLength) => {\n if (dataLength === 0) {\n return callback(null);\n } else {\n return readDateTimeOffset(parser, dataLength!, metadata.scale!, callback);\n }\n });\n\n case 'NumericN':\n case 'DecimalN':\n return parser.readUInt8((dataLength) => {\n if (dataLength === 0) {\n return callback(null);\n } else {\n return readNumeric(parser, dataLength!, metadata.precision!, metadata.scale!, callback);\n }\n });\n\n case 'UniqueIdentifier':\n return parser.readUInt8((dataLength) => {\n switch (dataLength) {\n case 0:\n return callback(null);\n\n case 0x10:\n return readUniqueIdentifier(parser, options, callback);\n\n default:\n throw new Error(sprintf('Unsupported guid size %d', dataLength! - 1));\n }\n });\n\n case 'UDT':\n return readMaxBinary(parser, callback);\n\n case 'Variant':\n return parser.readUInt32LE((dataLength) => {\n if (dataLength === 0) {\n return callback(null);\n }\n\n readVariant(parser, options, dataLength!, callback);\n });\n\n default:\n throw new Error(sprintf('Unrecognised type %s', type.name));\n }\n}\n\nfunction readUniqueIdentifier(parser: Parser, options: ParserOptions, callback: (value: unknown) => void) {\n parser.readBuffer(0x10, (data) => {\n callback(options.lowerCaseGuids ? bufferToLowerCaseGuid(data) : bufferToUpperCaseGuid(data));\n });\n}\n\nfunction readNumeric(parser: Parser, dataLength: number, _precision: number, scale: number, callback: (value: unknown) => void) {\n parser.readUInt8((sign) => {\n sign = sign === 1 ? 1 : -1;\n\n let readValue;\n if (dataLength === 5) {\n readValue = parser.readUInt32LE;\n } else if (dataLength === 9) {\n readValue = parser.readUNumeric64LE;\n } else if (dataLength === 13) {\n readValue = parser.readUNumeric96LE;\n } else if (dataLength === 17) {\n readValue = parser.readUNumeric128LE;\n } else {\n throw new Error(sprintf('Unsupported numeric dataLength %d', dataLength));\n }\n\n readValue.call(parser, (value) => {\n callback((value * sign) / Math.pow(10, scale));\n });\n });\n}\n\nfunction readVariant(parser: Parser, options: ParserOptions, dataLength: number, callback: (value: unknown) => void) {\n return parser.readUInt8((baseType) => {\n const type = TYPE[baseType];\n\n return parser.readUInt8((propBytes) => {\n dataLength = dataLength - propBytes - 2;\n\n switch (type.name) {\n case 'UniqueIdentifier':\n return readUniqueIdentifier(parser, options, callback);\n\n case 'Bit':\n return readBit(parser, callback);\n\n case 'TinyInt':\n return readTinyInt(parser, callback);\n\n case 'SmallInt':\n return readSmallInt(parser, callback);\n\n case 'Int':\n return readInt(parser, callback);\n\n case 'BigInt':\n return readBigInt(parser, callback);\n\n case 'SmallDateTime':\n return readSmallDateTime(parser, options.useUTC, callback);\n\n case 'DateTime':\n return readDateTime(parser, options.useUTC, callback);\n\n case 'Real':\n return readReal(parser, callback);\n\n case 'Float':\n return readFloat(parser, callback);\n\n case 'SmallMoney':\n return readSmallMoney(parser, callback);\n\n case 'Money':\n return readMoney(parser, callback);\n\n case 'Date':\n return readDate(parser, options.useUTC, callback);\n\n case 'Time':\n return parser.readUInt8((scale) => {\n return readTime(parser, dataLength, scale, options.useUTC, callback);\n });\n\n case 'DateTime2':\n return parser.readUInt8((scale) => {\n return readDateTime2(parser, dataLength, scale, options.useUTC, callback);\n });\n\n case 'DateTimeOffset':\n return parser.readUInt8((scale) => {\n return readDateTimeOffset(parser, dataLength, scale, callback);\n });\n\n case 'VarBinary':\n case 'Binary':\n return parser.readUInt16LE((_maxLength) => {\n readBinary(parser, dataLength, callback);\n });\n\n case 'NumericN':\n case 'DecimalN':\n return parser.readUInt8((precision) => {\n parser.readUInt8((scale) => {\n readNumeric(parser, dataLength, precision, scale, callback);\n });\n });\n\n case 'VarChar':\n case 'Char':\n return parser.readUInt16LE((_maxLength) => {\n readCollation(parser, (collation) => {\n readChars(parser, dataLength, collation.codepage!, callback);\n });\n });\n\n case 'NVarChar':\n case 'NChar':\n return parser.readUInt16LE((_maxLength) => {\n readCollation(parser, (_collation) => {\n readNChars(parser, dataLength, callback);\n });\n });\n\n default:\n throw new Error('Invalid type!');\n }\n });\n });\n}\n\nfunction readBinary(parser: Parser, dataLength: number, callback: (value: unknown) => void) {\n return parser.readBuffer(dataLength, callback);\n}\n\nfunction readChars(parser: Parser, dataLength: number, codepage: string, callback: (value: unknown) => void) {\n if (codepage == null) {\n codepage = DEFAULT_ENCODING;\n }\n\n return parser.readBuffer(dataLength, (data) => {\n callback(iconv.decode(data, codepage));\n });\n}\n\nfunction readNChars(parser: Parser, dataLength: number, callback: (value: unknown) => void) {\n parser.readBuffer(dataLength, (data) => {\n callback(data.toString('ucs2'));\n });\n}\n\nfunction readMaxBinary(parser: Parser, callback: (value: unknown) => void) {\n return readMax(parser, callback);\n}\n\nfunction readMaxChars(parser: Parser, codepage: string, callback: (value: unknown) => void) {\n if (codepage == null) {\n codepage = DEFAULT_ENCODING;\n }\n\n readMax(parser, (data) => {\n if (data) {\n callback(iconv.decode(data, codepage));\n } else {\n callback(null);\n }\n });\n}\n\nfunction readMaxNChars(parser: Parser, callback: (value: string | null) => void) {\n readMax(parser, (data) => {\n if (data) {\n callback(data.toString('ucs2'));\n } else {\n callback(null);\n }\n });\n}\n\nfunction readMax(parser: Parser, callback: (value: null | Buffer) => void) {\n parser.readBuffer(8, (type) => {\n if (type.equals(PLP_NULL)) {\n return callback(null);\n } else if (type.equals(UNKNOWN_PLP_LEN)) {\n return readMaxUnknownLength(parser, callback);\n } else {\n const low = type.readUInt32LE(0);\n const high = type.readUInt32LE(4);\n\n if (high >= (2 << (53 - 32))) {\n console.warn('Read UInt64LE > 53 bits : high=' + high + ', low=' + low);\n }\n\n const expectedLength = low + (0x100000000 * high);\n return readMaxKnownLength(parser, expectedLength, callback);\n }\n });\n}\n\nfunction readMaxKnownLength(parser: Parser, totalLength: number, callback: (value: null | Buffer) => void) {\n const data = Buffer.alloc(totalLength, 0);\n\n let offset = 0;\n function next(done: any) {\n parser.readUInt32LE((chunkLength) => {\n if (!chunkLength) {\n return done();\n }\n\n parser.readBuffer(chunkLength, (chunk) => {\n chunk.copy(data, offset);\n offset += chunkLength;\n\n next(done);\n });\n });\n }\n\n next(() => {\n if (offset !== totalLength) {\n throw new Error('Partially Length-prefixed Bytes unmatched lengths : expected ' + totalLength + ', but got ' + offset + ' bytes');\n }\n\n callback(data);\n });\n}\n\nfunction readMaxUnknownLength(parser: Parser, callback: (value: null | Buffer) => void) {\n const chunks: Buffer[] = [];\n\n let length = 0;\n function next(done: any) {\n parser.readUInt32LE((chunkLength) => {\n if (!chunkLength) {\n return done();\n }\n\n parser.readBuffer(chunkLength, (chunk) => {\n chunks.push(chunk);\n length += chunkLength;\n\n next(done);\n });\n });\n }\n\n next(() => {\n callback(Buffer.concat(chunks, length));\n });\n}\n\nfunction readSmallDateTime(parser: Parser, useUTC: boolean, callback: (value: Date) => void) {\n parser.readUInt16LE((days) => {\n parser.readUInt16LE((minutes) => {\n let value;\n if (useUTC) {\n value = new Date(Date.UTC(1900, 0, 1 + days, 0, minutes));\n } else {\n value = new Date(1900, 0, 1 + days, 0, minutes);\n }\n callback(value);\n });\n });\n}\n\nfunction readDateTime(parser: Parser, useUTC: boolean, callback: (value: Date) => void) {\n parser.readInt32LE((days) => {\n parser.readUInt32LE((threeHundredthsOfSecond) => {\n const milliseconds = Math.round(threeHundredthsOfSecond * THREE_AND_A_THIRD);\n\n let value;\n if (useUTC) {\n value = new Date(Date.UTC(1900, 0, 1 + days, 0, 0, 0, milliseconds));\n } else {\n value = new Date(1900, 0, 1 + days, 0, 0, 0, milliseconds);\n }\n\n callback(value);\n });\n });\n}\n\ninterface DateWithNanosecondsDelta extends Date {\n nanosecondsDelta: number;\n}\n\nfunction readTime(parser: Parser, dataLength: number, scale: number, useUTC: boolean, callback: (value: DateWithNanosecondsDelta) => void) {\n let readValue: any;\n switch (dataLength) {\n case 3:\n readValue = parser.readUInt24LE;\n break;\n case 4:\n readValue = parser.readUInt32LE;\n break;\n case 5:\n readValue = parser.readUInt40LE;\n }\n\n readValue!.call(parser, (value: number) => {\n if (scale < 7) {\n for (let i = scale; i < 7; i++) {\n value *= 10;\n }\n }\n\n let date;\n if (useUTC) {\n date = new Date(Date.UTC(1970, 0, 1, 0, 0, 0, value / 10000)) as DateWithNanosecondsDelta;\n } else {\n date = new Date(1970, 0, 1, 0, 0, 0, value / 10000) as DateWithNanosecondsDelta;\n }\n Object.defineProperty(date, 'nanosecondsDelta', {\n enumerable: false,\n value: (value % 10000) / Math.pow(10, 7)\n });\n callback(date);\n });\n}\n\nfunction readDate(parser: Parser, useUTC: boolean, callback: (value: Date) => void) {\n parser.readUInt24LE((days) => {\n if (useUTC) {\n callback(new Date(Date.UTC(2000, 0, days - 730118)));\n } else {\n callback(new Date(2000, 0, days - 730118));\n }\n });\n}\n\nfunction readDateTime2(parser: Parser, dataLength: number, scale: number, useUTC: boolean, callback: (value: DateWithNanosecondsDelta) => void) {\n readTime(parser, dataLength - 3, scale, useUTC, (time) => { // TODO: 'input' is 'time', but TypeScript cannot find \"time.nanosecondsDelta\";\n parser.readUInt24LE((days) => {\n let date;\n if (useUTC) {\n date = new Date(Date.UTC(2000, 0, days - 730118, 0, 0, 0, +time)) as DateWithNanosecondsDelta;\n } else {\n date = new Date(2000, 0, days - 730118, time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds()) as DateWithNanosecondsDelta;\n }\n Object.defineProperty(date, 'nanosecondsDelta', {\n enumerable: false,\n value: time.nanosecondsDelta\n });\n callback(date);\n });\n });\n}\n\nfunction readDateTimeOffset(parser: Parser, dataLength: number, scale: number, callback: (value: DateWithNanosecondsDelta) => void) {\n readTime(parser, dataLength - 5, scale, true, (time) => {\n parser.readUInt24LE((days) => {\n // offset\n parser.readInt16LE(() => {\n const date = new Date(Date.UTC(2000, 0, days - 730118, 0, 0, 0, +time)) as DateWithNanosecondsDelta;\n Object.defineProperty(date, 'nanosecondsDelta', {\n enumerable: false,\n value: time.nanosecondsDelta\n });\n callback(date);\n });\n });\n });\n}\n\nexport default valueParse;\nmodule.exports = valueParse;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"homepage": "https://github.com/tediousjs/tedious",
|
|
28
28
|
"bugs": "https://github.com/tediousjs/tedious/issues",
|
|
29
29
|
"license": "MIT",
|
|
30
|
-
"version": "16.
|
|
30
|
+
"version": "16.3.0",
|
|
31
31
|
"main": "./lib/tedious.js",
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
@@ -42,52 +42,48 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@azure/identity": "^2.0.4",
|
|
44
44
|
"@azure/keyvault-keys": "^4.4.0",
|
|
45
|
-
"@js-joda/core": "^5.
|
|
46
|
-
"bl": "^
|
|
47
|
-
"es-aggregate-error": "^1.0.
|
|
45
|
+
"@js-joda/core": "^5.5.3",
|
|
46
|
+
"bl": "^6.0.3",
|
|
47
|
+
"es-aggregate-error": "^1.0.9",
|
|
48
48
|
"iconv-lite": "^0.6.3",
|
|
49
49
|
"js-md4": "^0.3.2",
|
|
50
50
|
"jsbi": "^4.3.0",
|
|
51
51
|
"native-duplexpair": "^1.0.0",
|
|
52
52
|
"node-abort-controller": "^3.1.1",
|
|
53
|
-
"punycode": "^2.
|
|
53
|
+
"punycode": "^2.3.0",
|
|
54
54
|
"sprintf-js": "^1.1.2"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@babel/cli": "^7.
|
|
58
|
-
"@babel/core": "^7.
|
|
59
|
-
"@babel/node": "^7.
|
|
60
|
-
"@babel/
|
|
61
|
-
"@babel/preset-
|
|
62
|
-
"@babel/
|
|
63
|
-
"@
|
|
64
|
-
"@
|
|
65
|
-
"@
|
|
66
|
-
"@commitlint/travis-cli": "^16.2.4",
|
|
67
|
-
"@types/async": "^3.2.13",
|
|
68
|
-
"@types/bl": "^5.0.2",
|
|
69
|
-
"@types/chai": "^4.3.1",
|
|
57
|
+
"@babel/cli": "^7.22.9",
|
|
58
|
+
"@babel/core": "^7.22.9",
|
|
59
|
+
"@babel/node": "^7.22.6",
|
|
60
|
+
"@babel/preset-env": "^7.22.9",
|
|
61
|
+
"@babel/preset-typescript": "^7.22.5",
|
|
62
|
+
"@babel/register": "^7.22.5",
|
|
63
|
+
"@types/async": "^3.2.20",
|
|
64
|
+
"@types/bl": "^5.1.0",
|
|
65
|
+
"@types/chai": "^4.3.5",
|
|
70
66
|
"@types/depd": "^1.1.32",
|
|
71
67
|
"@types/es-aggregate-error": "^1.0.2",
|
|
72
|
-
"@types/lru-cache": "^5.1.
|
|
73
|
-
"@types/mocha": "^
|
|
74
|
-
"@types/node": "^
|
|
68
|
+
"@types/lru-cache": "^5.1.1",
|
|
69
|
+
"@types/mocha": "^10.0.1",
|
|
70
|
+
"@types/node": "^16.18.38",
|
|
75
71
|
"@types/sprintf-js": "^1.1.2",
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
77
|
-
"@typescript-eslint/parser": "^
|
|
78
|
-
"async": "^3.2.
|
|
72
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
73
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
74
|
+
"async": "^3.2.4",
|
|
79
75
|
"babel-plugin-istanbul": "^6.1.1",
|
|
80
|
-
"chai": "^4.3.
|
|
76
|
+
"chai": "^4.3.7",
|
|
81
77
|
"codecov": "^3.8.3",
|
|
82
|
-
"eslint": "^
|
|
78
|
+
"eslint": "^8.45.0",
|
|
83
79
|
"mitm": "^1.7.2",
|
|
84
|
-
"mocha": "^
|
|
80
|
+
"mocha": "^10.2.0",
|
|
85
81
|
"nyc": "^15.1.0",
|
|
86
|
-
"rimraf": "^
|
|
82
|
+
"rimraf": "^5.0.1",
|
|
87
83
|
"semantic-release": "^19.0.3",
|
|
88
|
-
"sinon": "^
|
|
89
|
-
"typedoc": "^0.
|
|
90
|
-
"typescript": "^
|
|
84
|
+
"sinon": "^15.2.0",
|
|
85
|
+
"typedoc": "^0.24.8",
|
|
86
|
+
"typescript": "^5.1.6"
|
|
91
87
|
},
|
|
92
88
|
"scripts": {
|
|
93
89
|
"docs": "typedoc",
|
|
@@ -126,49 +122,9 @@
|
|
|
126
122
|
{
|
|
127
123
|
"allowDeclareFields": true
|
|
128
124
|
}
|
|
129
|
-
],
|
|
130
|
-
[
|
|
131
|
-
"@babel/plugin-proposal-class-properties",
|
|
132
|
-
{
|
|
133
|
-
"loose": true
|
|
134
|
-
}
|
|
135
|
-
],
|
|
136
|
-
[
|
|
137
|
-
"@babel/plugin-proposal-private-methods",
|
|
138
|
-
{
|
|
139
|
-
"loose": true
|
|
140
|
-
}
|
|
141
|
-
],
|
|
142
|
-
[
|
|
143
|
-
"@babel/plugin-proposal-private-property-in-object",
|
|
144
|
-
{
|
|
145
|
-
"loose": true
|
|
146
|
-
}
|
|
147
125
|
]
|
|
148
126
|
]
|
|
149
127
|
},
|
|
150
|
-
"commitlint": {
|
|
151
|
-
"extends": [
|
|
152
|
-
"@commitlint/config-conventional"
|
|
153
|
-
],
|
|
154
|
-
"rules": {
|
|
155
|
-
"body-max-line-length": [
|
|
156
|
-
1,
|
|
157
|
-
"always",
|
|
158
|
-
100
|
|
159
|
-
],
|
|
160
|
-
"footer-max-line-length": [
|
|
161
|
-
1,
|
|
162
|
-
"always",
|
|
163
|
-
100
|
|
164
|
-
],
|
|
165
|
-
"header-max-length": [
|
|
166
|
-
1,
|
|
167
|
-
"always",
|
|
168
|
-
100
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
128
|
"mocha": {
|
|
173
129
|
"require": "test/setup.js",
|
|
174
130
|
"timeout": 5000,
|