tedious-fabric 1.0.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.
Files changed (304) hide show
  1. package/CLAUDE.md +91 -0
  2. package/LICENSE +21 -0
  3. package/README.md +67 -0
  4. package/appveyor.yml +67 -0
  5. package/eslint.config.mjs +314 -0
  6. package/lib/all-headers.d.ts +2 -0
  7. package/lib/all-headers.js +24 -0
  8. package/lib/all-headers.js.map +1 -0
  9. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +82 -0
  10. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -0
  11. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +55 -0
  12. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -0
  13. package/lib/always-encrypted/cek-entry.d.ts +11 -0
  14. package/lib/always-encrypted/cek-entry.js +42 -0
  15. package/lib/always-encrypted/cek-entry.js.map +1 -0
  16. package/lib/always-encrypted/get-parameter-encryption-metadata.js +90 -0
  17. package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -0
  18. package/lib/always-encrypted/key-crypto.js +94 -0
  19. package/lib/always-encrypted/key-crypto.js.map +1 -0
  20. package/lib/always-encrypted/keystore-provider-azure-key-vault.d.ts +21 -0
  21. package/lib/always-encrypted/keystore-provider-azure-key-vault.js +247 -0
  22. package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -0
  23. package/lib/always-encrypted/symmetric-key-cache.js +36 -0
  24. package/lib/always-encrypted/symmetric-key-cache.js.map +1 -0
  25. package/lib/always-encrypted/symmetric-key.js +25 -0
  26. package/lib/always-encrypted/symmetric-key.js.map +1 -0
  27. package/lib/always-encrypted/types.d.ts +73 -0
  28. package/lib/always-encrypted/types.js +61 -0
  29. package/lib/always-encrypted/types.js.map +1 -0
  30. package/lib/always-encrypted/utils.js +23 -0
  31. package/lib/always-encrypted/utils.js.map +1 -0
  32. package/lib/bulk-load-payload.d.ts +8 -0
  33. package/lib/bulk-load-payload.js +23 -0
  34. package/lib/bulk-load-payload.js.map +1 -0
  35. package/lib/bulk-load.d.ts +275 -0
  36. package/lib/bulk-load.js +515 -0
  37. package/lib/bulk-load.js.map +1 -0
  38. package/lib/collation.d.ts +28 -0
  39. package/lib/collation.js +348 -0
  40. package/lib/collation.js.map +1 -0
  41. package/lib/connection.d.ts +1309 -0
  42. package/lib/connection.js +2732 -0
  43. package/lib/connection.js.map +1 -0
  44. package/lib/connector.d.ts +18 -0
  45. package/lib/connector.js +142 -0
  46. package/lib/connector.js.map +1 -0
  47. package/lib/data-type.d.ts +554 -0
  48. package/lib/data-type.js +428 -0
  49. package/lib/data-type.js.map +1 -0
  50. package/lib/data-types/bigint.d.ts +3 -0
  51. package/lib/data-types/bigint.js +53 -0
  52. package/lib/data-types/bigint.js.map +1 -0
  53. package/lib/data-types/binary.d.ts +5 -0
  54. package/lib/data-types/binary.js +67 -0
  55. package/lib/data-types/binary.js.map +1 -0
  56. package/lib/data-types/bit.d.ts +3 -0
  57. package/lib/data-types/bit.js +46 -0
  58. package/lib/data-types/bit.js.map +1 -0
  59. package/lib/data-types/bitn.d.ts +3 -0
  60. package/lib/data-types/bitn.js +29 -0
  61. package/lib/data-types/bitn.js.map +1 -0
  62. package/lib/data-types/char.d.ts +5 -0
  63. package/lib/data-types/char.js +86 -0
  64. package/lib/data-types/char.js.map +1 -0
  65. package/lib/data-types/date.d.ts +3 -0
  66. package/lib/data-types/date.js +72 -0
  67. package/lib/data-types/date.js.map +1 -0
  68. package/lib/data-types/datetime.d.ts +3 -0
  69. package/lib/data-types/datetime.js +93 -0
  70. package/lib/data-types/datetime.js.map +1 -0
  71. package/lib/data-types/datetime2.d.ts +5 -0
  72. package/lib/data-types/datetime2.js +118 -0
  73. package/lib/data-types/datetime2.js.map +1 -0
  74. package/lib/data-types/datetimen.d.ts +3 -0
  75. package/lib/data-types/datetimen.js +29 -0
  76. package/lib/data-types/datetimen.js.map +1 -0
  77. package/lib/data-types/datetimeoffset.d.ts +5 -0
  78. package/lib/data-types/datetimeoffset.js +111 -0
  79. package/lib/data-types/datetimeoffset.js.map +1 -0
  80. package/lib/data-types/decimal.d.ts +6 -0
  81. package/lib/data-types/decimal.js +107 -0
  82. package/lib/data-types/decimal.js.map +1 -0
  83. package/lib/data-types/decimaln.d.ts +3 -0
  84. package/lib/data-types/decimaln.js +29 -0
  85. package/lib/data-types/decimaln.js.map +1 -0
  86. package/lib/data-types/float.d.ts +3 -0
  87. package/lib/data-types/float.js +47 -0
  88. package/lib/data-types/float.js.map +1 -0
  89. package/lib/data-types/floatn.d.ts +3 -0
  90. package/lib/data-types/floatn.js +29 -0
  91. package/lib/data-types/floatn.js.map +1 -0
  92. package/lib/data-types/image.d.ts +3 -0
  93. package/lib/data-types/image.js +56 -0
  94. package/lib/data-types/image.js.map +1 -0
  95. package/lib/data-types/int.d.ts +3 -0
  96. package/lib/data-types/int.js +53 -0
  97. package/lib/data-types/int.js.map +1 -0
  98. package/lib/data-types/intn.d.ts +3 -0
  99. package/lib/data-types/intn.js +29 -0
  100. package/lib/data-types/intn.js.map +1 -0
  101. package/lib/data-types/money.d.ts +3 -0
  102. package/lib/data-types/money.js +59 -0
  103. package/lib/data-types/money.js.map +1 -0
  104. package/lib/data-types/moneyn.d.ts +3 -0
  105. package/lib/data-types/moneyn.js +29 -0
  106. package/lib/data-types/moneyn.js.map +1 -0
  107. package/lib/data-types/nchar.d.ts +5 -0
  108. package/lib/data-types/nchar.js +100 -0
  109. package/lib/data-types/nchar.js.map +1 -0
  110. package/lib/data-types/ntext.d.ts +3 -0
  111. package/lib/data-types/ntext.js +60 -0
  112. package/lib/data-types/ntext.js.map +1 -0
  113. package/lib/data-types/null.d.ts +3 -0
  114. package/lib/data-types/null.js +29 -0
  115. package/lib/data-types/null.js.map +1 -0
  116. package/lib/data-types/numeric.d.ts +6 -0
  117. package/lib/data-types/numeric.js +106 -0
  118. package/lib/data-types/numeric.js.map +1 -0
  119. package/lib/data-types/numericn.d.ts +3 -0
  120. package/lib/data-types/numericn.js +29 -0
  121. package/lib/data-types/numericn.js.map +1 -0
  122. package/lib/data-types/nvarchar.d.ts +5 -0
  123. package/lib/data-types/nvarchar.js +133 -0
  124. package/lib/data-types/nvarchar.js.map +1 -0
  125. package/lib/data-types/real.d.ts +3 -0
  126. package/lib/data-types/real.js +48 -0
  127. package/lib/data-types/real.js.map +1 -0
  128. package/lib/data-types/smalldatetime.d.ts +3 -0
  129. package/lib/data-types/smalldatetime.js +83 -0
  130. package/lib/data-types/smalldatetime.js.map +1 -0
  131. package/lib/data-types/smallint.d.ts +3 -0
  132. package/lib/data-types/smallint.js +53 -0
  133. package/lib/data-types/smallint.js.map +1 -0
  134. package/lib/data-types/smallmoney.d.ts +3 -0
  135. package/lib/data-types/smallmoney.js +51 -0
  136. package/lib/data-types/smallmoney.js.map +1 -0
  137. package/lib/data-types/sql-variant.d.ts +3 -0
  138. package/lib/data-types/sql-variant.js +29 -0
  139. package/lib/data-types/sql-variant.js.map +1 -0
  140. package/lib/data-types/text.d.ts +3 -0
  141. package/lib/data-types/text.js +69 -0
  142. package/lib/data-types/text.js.map +1 -0
  143. package/lib/data-types/time.d.ts +3 -0
  144. package/lib/data-types/time.js +96 -0
  145. package/lib/data-types/time.js.map +1 -0
  146. package/lib/data-types/tinyint.d.ts +3 -0
  147. package/lib/data-types/tinyint.js +53 -0
  148. package/lib/data-types/tinyint.js.map +1 -0
  149. package/lib/data-types/tvp.d.ts +3 -0
  150. package/lib/data-types/tvp.js +117 -0
  151. package/lib/data-types/tvp.js.map +1 -0
  152. package/lib/data-types/udt.d.ts +3 -0
  153. package/lib/data-types/udt.js +29 -0
  154. package/lib/data-types/udt.js.map +1 -0
  155. package/lib/data-types/uniqueidentifier.d.ts +3 -0
  156. package/lib/data-types/uniqueidentifier.js +50 -0
  157. package/lib/data-types/uniqueidentifier.js.map +1 -0
  158. package/lib/data-types/varbinary.d.ts +5 -0
  159. package/lib/data-types/varbinary.js +119 -0
  160. package/lib/data-types/varbinary.js.map +1 -0
  161. package/lib/data-types/varchar.d.ts +5 -0
  162. package/lib/data-types/varchar.js +112 -0
  163. package/lib/data-types/varchar.js.map +1 -0
  164. package/lib/data-types/xml.d.ts +3 -0
  165. package/lib/data-types/xml.js +29 -0
  166. package/lib/data-types/xml.js.map +1 -0
  167. package/lib/debug.d.ts +25 -0
  168. package/lib/debug.js +66 -0
  169. package/lib/debug.js.map +1 -0
  170. package/lib/errors.d.ts +17 -0
  171. package/lib/errors.js +23 -0
  172. package/lib/errors.js.map +1 -0
  173. package/lib/guid-parser.d.ts +3 -0
  174. package/lib/guid-parser.js +30 -0
  175. package/lib/guid-parser.js.map +1 -0
  176. package/lib/incoming-message-stream.d.ts +19 -0
  177. package/lib/incoming-message-stream.js +97 -0
  178. package/lib/incoming-message-stream.js.map +1 -0
  179. package/lib/instance-lookup.d.ts +13 -0
  180. package/lib/instance-lookup.js +91 -0
  181. package/lib/instance-lookup.js.map +1 -0
  182. package/lib/library.d.ts +1 -0
  183. package/lib/library.js +8 -0
  184. package/lib/library.js.map +1 -0
  185. package/lib/login7-payload.d.ts +51 -0
  186. package/lib/login7-payload.js +408 -0
  187. package/lib/login7-payload.js.map +1 -0
  188. package/lib/message-io.d.ts +28 -0
  189. package/lib/message-io.js +152 -0
  190. package/lib/message-io.js.map +1 -0
  191. package/lib/message.d.ts +11 -0
  192. package/lib/message.js +21 -0
  193. package/lib/message.js.map +1 -0
  194. package/lib/metadata-parser.d.ts +48 -0
  195. package/lib/metadata-parser.js +380 -0
  196. package/lib/metadata-parser.js.map +1 -0
  197. package/lib/ntlm-payload.d.ts +23 -0
  198. package/lib/ntlm-payload.js +135 -0
  199. package/lib/ntlm-payload.js.map +1 -0
  200. package/lib/ntlm.d.ts +4 -0
  201. package/lib/ntlm.js +72 -0
  202. package/lib/ntlm.js.map +1 -0
  203. package/lib/outgoing-message-stream.d.ts +15 -0
  204. package/lib/outgoing-message-stream.js +81 -0
  205. package/lib/outgoing-message-stream.js.map +1 -0
  206. package/lib/packet.d.ts +33 -0
  207. package/lib/packet.js +191 -0
  208. package/lib/packet.js.map +1 -0
  209. package/lib/prelogin-payload.d.ts +67 -0
  210. package/lib/prelogin-payload.js +228 -0
  211. package/lib/prelogin-payload.js.map +1 -0
  212. package/lib/request.d.ts +370 -0
  213. package/lib/request.js +387 -0
  214. package/lib/request.js.map +1 -0
  215. package/lib/rpcrequest-payload.d.ts +16 -0
  216. package/lib/rpcrequest-payload.js +109 -0
  217. package/lib/rpcrequest-payload.js.map +1 -0
  218. package/lib/sender.d.ts +5 -0
  219. package/lib/sender.js +78 -0
  220. package/lib/sender.js.map +1 -0
  221. package/lib/special-stored-procedure.d.ts +18 -0
  222. package/lib/special-stored-procedure.js +26 -0
  223. package/lib/special-stored-procedure.js.map +1 -0
  224. package/lib/sqlbatch-payload.d.ts +13 -0
  225. package/lib/sqlbatch-payload.js +34 -0
  226. package/lib/sqlbatch-payload.js.map +1 -0
  227. package/lib/tds-versions.d.ts +6 -0
  228. package/lib/tds-versions.js +19 -0
  229. package/lib/tds-versions.js.map +1 -0
  230. package/lib/tedious.d.ts +13 -0
  231. package/lib/tedious.js +73 -0
  232. package/lib/tedious.js.map +1 -0
  233. package/lib/token/colmetadata-token-parser.d.ts +12 -0
  234. package/lib/token/colmetadata-token-parser.js +124 -0
  235. package/lib/token/colmetadata-token-parser.js.map +1 -0
  236. package/lib/token/done-token-parser.d.ts +6 -0
  237. package/lib/token/done-token-parser.js +76 -0
  238. package/lib/token/done-token-parser.js.map +1 -0
  239. package/lib/token/env-change-token-parser.d.ts +5 -0
  240. package/lib/token/env-change-token-parser.js +190 -0
  241. package/lib/token/env-change-token-parser.js.map +1 -0
  242. package/lib/token/feature-ext-ack-parser.d.ts +5 -0
  243. package/lib/token/feature-ext-ack-parser.js +52 -0
  244. package/lib/token/feature-ext-ack-parser.js.map +1 -0
  245. package/lib/token/fedauth-info-parser.d.ts +5 -0
  246. package/lib/token/fedauth-info-parser.js +62 -0
  247. package/lib/token/fedauth-info-parser.js.map +1 -0
  248. package/lib/token/handler.d.ts +136 -0
  249. package/lib/token/handler.js +445 -0
  250. package/lib/token/handler.js.map +1 -0
  251. package/lib/token/helpers.d.ts +28 -0
  252. package/lib/token/helpers.js +205 -0
  253. package/lib/token/helpers.js.map +1 -0
  254. package/lib/token/infoerror-token-parser.d.ts +5 -0
  255. package/lib/token/infoerror-token-parser.js +80 -0
  256. package/lib/token/infoerror-token-parser.js.map +1 -0
  257. package/lib/token/loginack-token-parser.d.ts +5 -0
  258. package/lib/token/loginack-token-parser.js +75 -0
  259. package/lib/token/loginack-token-parser.js.map +1 -0
  260. package/lib/token/nbcrow-token-parser.d.ts +4 -0
  261. package/lib/token/nbcrow-token-parser.js +103 -0
  262. package/lib/token/nbcrow-token-parser.js.map +1 -0
  263. package/lib/token/order-token-parser.d.ts +5 -0
  264. package/lib/token/order-token-parser.js +34 -0
  265. package/lib/token/order-token-parser.js.map +1 -0
  266. package/lib/token/returnstatus-token-parser.d.ts +5 -0
  267. package/lib/token/returnstatus-token-parser.js +21 -0
  268. package/lib/token/returnstatus-token-parser.js.map +1 -0
  269. package/lib/token/returnvalue-token-parser.d.ts +4 -0
  270. package/lib/token/returnvalue-token-parser.js +93 -0
  271. package/lib/token/returnvalue-token-parser.js.map +1 -0
  272. package/lib/token/row-token-parser.d.ts +4 -0
  273. package/lib/token/row-token-parser.js +76 -0
  274. package/lib/token/row-token-parser.js.map +1 -0
  275. package/lib/token/sspi-token-parser.d.ts +5 -0
  276. package/lib/token/sspi-token-parser.js +42 -0
  277. package/lib/token/sspi-token-parser.js.map +1 -0
  278. package/lib/token/stream-parser.d.ts +34 -0
  279. package/lib/token/stream-parser.js +341 -0
  280. package/lib/token/stream-parser.js.map +1 -0
  281. package/lib/token/token-stream-parser.d.ts +15 -0
  282. package/lib/token/token-stream-parser.js +36 -0
  283. package/lib/token/token-stream-parser.js.map +1 -0
  284. package/lib/token/token.d.ts +312 -0
  285. package/lib/token/token.js +328 -0
  286. package/lib/token/token.js.map +1 -0
  287. package/lib/tracking-buffer/writable-tracking-buffer.d.ts +47 -0
  288. package/lib/tracking-buffer/writable-tracking-buffer.js +249 -0
  289. package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -0
  290. package/lib/transaction.d.ts +39 -0
  291. package/lib/transaction.js +137 -0
  292. package/lib/transaction.js.map +1 -0
  293. package/lib/transient-error-lookup.d.ts +3 -0
  294. package/lib/transient-error-lookup.js +19 -0
  295. package/lib/transient-error-lookup.js.map +1 -0
  296. package/lib/value-parser.d.ts +7 -0
  297. package/lib/value-parser.js +813 -0
  298. package/lib/value-parser.js.map +1 -0
  299. package/package.json +145 -0
  300. package/pull_request_template.md +9 -0
  301. package/tsconfig.build-types.json +15 -0
  302. package/tsconfig.json +30 -0
  303. package/types/js-md4.d.ts +7 -0
  304. package/types/native-duplexpair.d.ts +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-parser.js","names":["_metadataParser","require","_dataType","_iconvLite","_interopRequireDefault","_sprintfJs","_guidParser","_helpers","e","__esModule","default","NULL","MAX","THREE_AND_A_THIRD","MONEY_DIVISOR","PLP_NULL","UNKNOWN_PLP_LEN","DEFAULT_ENCODING","readTinyInt","buf","offset","readUInt8","readSmallInt","readInt16LE","readInt","readInt32LE","readBigInt","value","readBigInt64LE","Result","toString","readReal","readFloatLE","readFloat","readDoubleLE","readSmallMoney","readMoney","high","low","readUInt32LE","readBit","readValue","metadata","options","type","name","dataLength","Error","codepage","collation","readUInt16LE","readChars","readNChars","readBinary","textPointerLength","readSmallDateTime","useUTC","readDateTime","readTime","scale","readDate","readDateTime2","readDateTimeOffset","readNumeric","precision","readUniqueIdentifier","sprintf","readVariant","isPLPStream","data","lowerCaseGuids","bufferToLowerCaseGuid","bufferToUpperCaseGuid","_precision","sign","readUNumeric64LE","readUNumeric96LE","readUNumeric128LE","Math","pow","baseType","TYPE","propBytes","readCollation","length","NotEnoughDataError","slice","iconv","decode","readPLPStream","parser","buffer","position","waitForChunk","expectedLength","readBigUInt64LE","chunks","currentLength","chunkLength","push","Number","days","minutes","Date","UTC","threeHundredthsOfSecond","milliseconds","round","readUInt24LE","readUInt40LE","i","date","Object","defineProperty","enumerable","time","getHours","getMinutes","getSeconds","getMilliseconds","nanosecondsDelta","module","exports"],"sources":["../src/value-parser.ts"],"sourcesContent":["import Parser, { type ParserOptions } from './token/stream-parser';\nimport { type 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';\nimport { NotEnoughDataError, Result, readBigInt64LE, readDoubleLE, readFloatLE, readInt16LE, readInt32LE, readUInt16LE, readUInt32LE, readUInt8, readUInt24LE, readUInt40LE, readUNumeric64LE, readUNumeric96LE, readUNumeric128LE } from './token/helpers';\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 = 0xFFFFFFFFFFFFFFFFn;\nconst UNKNOWN_PLP_LEN = 0xFFFFFFFFFFFFFFFEn;\nconst DEFAULT_ENCODING = 'utf8';\n\nfunction readTinyInt(buf: Buffer, offset: number): Result<number> {\n return readUInt8(buf, offset);\n}\n\nfunction readSmallInt(buf: Buffer, offset: number): Result<number> {\n return readInt16LE(buf, offset);\n}\n\nfunction readInt(buf: Buffer, offset: number): Result<number> {\n return readInt32LE(buf, offset);\n}\n\nfunction readBigInt(buf: Buffer, offset: number): Result<string> {\n let value;\n ({ offset, value } = readBigInt64LE(buf, offset));\n\n return new Result(value.toString(), offset);\n}\n\nfunction readReal(buf: Buffer, offset: number): Result<number> {\n return readFloatLE(buf, offset);\n}\n\nfunction readFloat(buf: Buffer, offset: number): Result<number> {\n return readDoubleLE(buf, offset);\n}\n\nfunction readSmallMoney(buf: Buffer, offset: number): Result<number> {\n let value;\n ({ offset, value } = readInt32LE(buf, offset));\n\n return new Result(value / MONEY_DIVISOR, offset);\n}\n\nfunction readMoney(buf: Buffer, offset: number): Result<number> {\n let high;\n ({ offset, value: high } = readInt32LE(buf, offset));\n\n let low;\n ({ offset, value: low } = readUInt32LE(buf, offset));\n\n return new Result((low + (0x100000000 * high)) / MONEY_DIVISOR, offset);\n}\n\nfunction readBit(buf: Buffer, offset: number): Result<boolean> {\n let value;\n ({ offset, value } = readUInt8(buf, offset));\n\n return new Result(!!value, offset);\n}\n\nfunction readValue(buf: Buffer, offset: number, metadata: Metadata, options: ParserOptions): Result<unknown> {\n const type = metadata.type;\n\n switch (type.name) {\n case 'Null':\n return new Result(null, offset);\n\n case 'TinyInt': {\n return readTinyInt(buf, offset);\n }\n\n case 'SmallInt': {\n return readSmallInt(buf, offset);\n }\n\n case 'Int': {\n return readInt(buf, offset);\n }\n\n case 'BigInt': {\n return readBigInt(buf, offset);\n }\n\n case 'IntN': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n switch (dataLength) {\n case 0:\n return new Result(null, offset);\n\n case 1:\n return readTinyInt(buf, offset);\n case 2:\n return readSmallInt(buf, offset);\n case 4:\n return readInt(buf, offset);\n case 8:\n return readBigInt(buf, offset);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for IntN');\n }\n }\n\n case 'Real': {\n return readReal(buf, offset);\n }\n\n case 'Float': {\n return readFloat(buf, offset);\n }\n\n case 'FloatN': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n switch (dataLength) {\n case 0:\n return new Result(null, offset);\n\n case 4:\n return readReal(buf, offset);\n case 8:\n return readFloat(buf, offset);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for FloatN');\n }\n }\n\n case 'SmallMoney': {\n return readSmallMoney(buf, offset);\n }\n\n case 'Money':\n return readMoney(buf, offset);\n\n case 'MoneyN': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n switch (dataLength) {\n case 0:\n return new Result(null, offset);\n\n case 4:\n return readSmallMoney(buf, offset);\n case 8:\n return readMoney(buf, offset);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for MoneyN');\n }\n }\n\n case 'Bit': {\n return readBit(buf, offset);\n }\n\n case 'BitN': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n switch (dataLength) {\n case 0:\n return new Result(null, offset);\n\n case 1:\n return readBit(buf, offset);\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\n let dataLength;\n ({ offset, value: dataLength } = readUInt16LE(buf, offset));\n\n if (dataLength === NULL) {\n return new Result(null, offset);\n }\n\n return readChars(buf, offset, dataLength, codepage);\n }\n\n case 'NVarChar':\n case 'NChar': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt16LE(buf, offset));\n\n if (dataLength === NULL) {\n return new Result(null, offset);\n }\n\n return readNChars(buf, offset, dataLength);\n }\n\n case 'VarBinary':\n case 'Binary': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt16LE(buf, offset));\n\n if (dataLength === NULL) {\n return new Result(null, offset);\n }\n\n return readBinary(buf, offset, dataLength);\n }\n\n case 'Text': {\n let textPointerLength;\n ({ offset, value: textPointerLength } = readUInt8(buf, offset));\n\n if (textPointerLength === 0) {\n return new Result(null, offset);\n }\n\n // Textpointer\n ({ offset } = readBinary(buf, offset, textPointerLength));\n\n // Timestamp\n ({ offset } = readBinary(buf, offset, 8));\n\n let dataLength;\n ({ offset, value: dataLength } = readUInt32LE(buf, offset));\n\n return readChars(buf, offset, dataLength, metadata.collation!.codepage!);\n }\n\n case 'NText': {\n let textPointerLength;\n ({ offset, value: textPointerLength } = readUInt8(buf, offset));\n\n if (textPointerLength === 0) {\n return new Result(null, offset);\n }\n\n // Textpointer\n ({ offset } = readBinary(buf, offset, textPointerLength));\n\n // Timestamp\n ({ offset } = readBinary(buf, offset, 8));\n\n let dataLength;\n ({ offset, value: dataLength } = readUInt32LE(buf, offset));\n\n return readNChars(buf, offset, dataLength);\n }\n\n case 'Image': {\n let textPointerLength;\n ({ offset, value: textPointerLength } = readUInt8(buf, offset));\n\n if (textPointerLength === 0) {\n return new Result(null, offset);\n }\n\n // Textpointer\n ({ offset } = readBinary(buf, offset, textPointerLength));\n\n // Timestamp\n ({ offset } = readBinary(buf, offset, 8));\n\n let dataLength;\n ({ offset, value: dataLength } = readUInt32LE(buf, offset));\n\n return readBinary(buf, offset, dataLength);\n }\n\n case 'SmallDateTime': {\n return readSmallDateTime(buf, offset, options.useUTC);\n }\n\n case 'DateTime': {\n return readDateTime(buf, offset, options.useUTC);\n }\n\n case 'DateTimeN': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n switch (dataLength) {\n case 0:\n return new Result(null, offset);\n\n case 4:\n return readSmallDateTime(buf, offset, options.useUTC);\n case 8:\n return readDateTime(buf, offset, options.useUTC);\n\n default:\n throw new Error('Unsupported dataLength ' + dataLength + ' for DateTimeN');\n }\n }\n\n case 'Time': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n if (dataLength === 0) {\n return new Result(null, offset);\n }\n\n return readTime(buf, offset, dataLength, metadata.scale!, options.useUTC);\n }\n\n case 'Date': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n if (dataLength === 0) {\n return new Result(null, offset);\n }\n\n return readDate(buf, offset, options.useUTC);\n }\n\n case 'DateTime2': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n if (dataLength === 0) {\n return new Result(null, offset);\n }\n\n return readDateTime2(buf, offset, dataLength, metadata.scale!, options.useUTC);\n }\n\n case 'DateTimeOffset': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n if (dataLength === 0) {\n return new Result(null, offset);\n }\n\n return readDateTimeOffset(buf, offset, dataLength, metadata.scale!);\n }\n\n case 'NumericN':\n case 'DecimalN': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n if (dataLength === 0) {\n return new Result(null, offset);\n }\n\n return readNumeric(buf, offset, dataLength, metadata.precision!, metadata.scale!);\n }\n\n case 'UniqueIdentifier': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt8(buf, offset));\n\n switch (dataLength) {\n case 0:\n return new Result(null, offset);\n\n case 0x10:\n return readUniqueIdentifier(buf, offset, options);\n\n default:\n throw new Error(sprintf('Unsupported guid size %d', dataLength! - 1));\n }\n }\n\n case 'Variant': {\n let dataLength;\n ({ offset, value: dataLength } = readUInt32LE(buf, offset));\n\n if (dataLength === 0) {\n return new Result(null, offset);\n }\n\n return readVariant(buf, offset, options, dataLength);\n }\n\n default: {\n throw new Error('Invalid type!');\n }\n }\n}\n\nfunction isPLPStream(metadata: Metadata) {\n switch (metadata.type.name) {\n case 'VarChar':\n case 'NVarChar':\n case 'VarBinary': {\n return metadata.dataLength === MAX;\n }\n\n case 'Xml': {\n return true;\n }\n\n case 'UDT': {\n return true;\n }\n }\n}\n\nfunction readUniqueIdentifier(buf: Buffer, offset: number, options: ParserOptions): Result<string> {\n let data;\n ({ value: data, offset } = readBinary(buf, offset, 0x10));\n\n return new Result(options.lowerCaseGuids ? bufferToLowerCaseGuid(data) : bufferToUpperCaseGuid(data), offset);\n}\n\nfunction readNumeric(buf: Buffer, offset: number, dataLength: number, _precision: number, scale: number): Result<number> {\n let sign;\n ({ offset, value: sign } = readUInt8(buf, offset));\n\n sign = sign === 1 ? 1 : -1;\n\n let value;\n if (dataLength === 5) {\n ({ offset, value } = readUInt32LE(buf, offset));\n } else if (dataLength === 9) {\n ({ offset, value } = readUNumeric64LE(buf, offset));\n } else if (dataLength === 13) {\n ({ offset, value } = readUNumeric96LE(buf, offset));\n } else if (dataLength === 17) {\n ({ offset, value } = readUNumeric128LE(buf, offset));\n } else {\n throw new Error(sprintf('Unsupported numeric dataLength %d', dataLength));\n }\n\n return new Result((value * sign) / Math.pow(10, scale), offset);\n}\n\nfunction readVariant(buf: Buffer, offset: number, options: ParserOptions, dataLength: number): Result<unknown> {\n let baseType;\n ({ value: baseType, offset } = readUInt8(buf, offset));\n\n const type = TYPE[baseType];\n\n let propBytes;\n ({ value: propBytes, offset } = readUInt8(buf, offset));\n\n dataLength = dataLength - propBytes - 2;\n\n switch (type.name) {\n case 'UniqueIdentifier':\n return readUniqueIdentifier(buf, offset, options);\n\n case 'Bit':\n return readBit(buf, offset);\n\n case 'TinyInt':\n return readTinyInt(buf, offset);\n\n case 'SmallInt':\n return readSmallInt(buf, offset);\n\n case 'Int':\n return readInt(buf, offset);\n\n case 'BigInt':\n return readBigInt(buf, offset);\n\n case 'SmallDateTime':\n return readSmallDateTime(buf, offset, options.useUTC);\n\n case 'DateTime':\n return readDateTime(buf, offset, options.useUTC);\n\n case 'Real':\n return readReal(buf, offset);\n\n case 'Float':\n return readFloat(buf, offset);\n\n case 'SmallMoney':\n return readSmallMoney(buf, offset);\n\n case 'Money':\n return readMoney(buf, offset);\n\n case 'Date':\n return readDate(buf, offset, options.useUTC);\n\n case 'Time': {\n let scale;\n ({ value: scale, offset } = readUInt8(buf, offset));\n\n return readTime(buf, offset, dataLength, scale, options.useUTC);\n }\n\n case 'DateTime2': {\n let scale;\n ({ value: scale, offset } = readUInt8(buf, offset));\n\n return readDateTime2(buf, offset, dataLength, scale, options.useUTC);\n }\n\n case 'DateTimeOffset': {\n let scale;\n ({ value: scale, offset } = readUInt8(buf, offset));\n\n return readDateTimeOffset(buf, offset, dataLength, scale);\n }\n\n case 'VarBinary':\n case 'Binary': {\n // maxLength (unused?)\n ({ offset } = readUInt16LE(buf, offset));\n\n return readBinary(buf, offset, dataLength);\n }\n\n case 'NumericN':\n case 'DecimalN': {\n let precision;\n ({ value: precision, offset } = readUInt8(buf, offset));\n\n let scale;\n ({ value: scale, offset } = readUInt8(buf, offset));\n\n return readNumeric(buf, offset, dataLength, precision, scale);\n }\n\n case 'VarChar':\n case 'Char': {\n // maxLength (unused?)\n ({ offset } = readUInt16LE(buf, offset));\n\n let collation;\n ({ value: collation, offset } = readCollation(buf, offset));\n\n return readChars(buf, offset, dataLength, collation.codepage!);\n }\n\n case 'NVarChar':\n case 'NChar': {\n // maxLength (unused?)\n ({ offset } = readUInt16LE(buf, offset));\n\n // collation (unused?)\n ({ offset } = readCollation(buf, offset));\n\n return readNChars(buf, offset, dataLength);\n }\n\n default:\n throw new Error('Invalid type!');\n }\n}\n\nfunction readBinary(buf: Buffer, offset: number, dataLength: number): Result<Buffer> {\n if (buf.length < offset + dataLength) {\n throw new NotEnoughDataError(offset + dataLength);\n }\n\n return new Result(buf.slice(offset, offset + dataLength), offset + dataLength);\n}\n\nfunction readChars(buf: Buffer, offset: number, dataLength: number, codepage: string): Result<string> {\n if (buf.length < offset + dataLength) {\n throw new NotEnoughDataError(offset + dataLength);\n }\n\n return new Result(iconv.decode(buf.slice(offset, offset + dataLength), codepage ?? DEFAULT_ENCODING), offset + dataLength);\n}\n\nfunction readNChars(buf: Buffer, offset: number, dataLength: number): Result<string> {\n if (buf.length < offset + dataLength) {\n throw new NotEnoughDataError(offset + dataLength);\n }\n\n return new Result(buf.toString('ucs2', offset, offset + dataLength), offset + dataLength);\n}\n\nasync function readPLPStream(parser: Parser): Promise<null | Buffer[]> {\n while (parser.buffer.length < parser.position + 8) {\n await parser.waitForChunk();\n }\n\n const expectedLength = parser.buffer.readBigUInt64LE(parser.position);\n parser.position += 8;\n\n if (expectedLength === PLP_NULL) {\n return null;\n }\n\n const chunks: Buffer[] = [];\n let currentLength = 0;\n\n while (true) {\n while (parser.buffer.length < parser.position + 4) {\n await parser.waitForChunk();\n }\n\n const chunkLength = parser.buffer.readUInt32LE(parser.position);\n parser.position += 4;\n\n if (!chunkLength) {\n break;\n }\n\n while (parser.buffer.length < parser.position + chunkLength) {\n await parser.waitForChunk();\n }\n\n chunks.push(parser.buffer.slice(parser.position, parser.position + chunkLength));\n parser.position += chunkLength;\n currentLength += chunkLength;\n }\n\n if (expectedLength !== UNKNOWN_PLP_LEN) {\n if (currentLength !== Number(expectedLength)) {\n throw new Error('Partially Length-prefixed Bytes unmatched lengths : expected ' + expectedLength + ', but got ' + currentLength + ' bytes');\n }\n }\n\n return chunks;\n}\n\nfunction readSmallDateTime(buf: Buffer, offset: number, useUTC: boolean): Result<Date> {\n let days;\n ({ offset, value: days } = readUInt16LE(buf, offset));\n\n let minutes;\n ({ offset, value: minutes } = readUInt16LE(buf, offset));\n\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\n return new Result(value, offset);\n}\n\nfunction readDateTime(buf: Buffer, offset: number, useUTC: boolean): Result<Date> {\n let days;\n ({ offset, value: days } = readInt32LE(buf, offset));\n\n let threeHundredthsOfSecond;\n ({ offset, value: threeHundredthsOfSecond } = readInt32LE(buf, offset));\n\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 return new Result(value, offset);\n}\n\ninterface DateWithNanosecondsDelta extends Date {\n nanosecondsDelta: number;\n}\n\nfunction readTime(buf: Buffer, offset: number, dataLength: number, scale: number, useUTC: boolean): Result<DateWithNanosecondsDelta> {\n let value;\n\n switch (dataLength) {\n case 3: {\n ({ value, offset } = readUInt24LE(buf, offset));\n break;\n }\n\n case 4: {\n ({ value, offset } = readUInt32LE(buf, offset));\n break;\n }\n\n case 5: {\n ({ value, offset } = readUInt40LE(buf, offset));\n break;\n }\n\n default: {\n throw new Error('unreachable');\n }\n }\n\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\n return new Result(date, offset);\n}\n\nfunction readDate(buf: Buffer, offset: number, useUTC: boolean): Result<Date> {\n let days;\n ({ offset, value: days } = readUInt24LE(buf, offset));\n\n if (useUTC) {\n return new Result(new Date(Date.UTC(2000, 0, days - 730118)), offset);\n } else {\n return new Result(new Date(2000, 0, days - 730118), offset);\n }\n}\n\nfunction readDateTime2(buf: Buffer, offset: number, dataLength: number, scale: number, useUTC: boolean): Result<DateWithNanosecondsDelta> {\n let time;\n ({ offset, value: time } = readTime(buf, offset, dataLength - 3, scale, useUTC));\n\n let days;\n ({ offset, value: days } = readUInt24LE(buf, offset));\n\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\n return new Result(date, offset);\n}\n\nfunction readDateTimeOffset(buf: Buffer, offset: number, dataLength: number, scale: number): Result<DateWithNanosecondsDelta> {\n let time;\n ({ offset, value: time } = readTime(buf, offset, dataLength - 5, scale, true));\n\n let days;\n ({ offset, value: days } = readUInt24LE(buf, offset));\n\n // time offset?\n ({ offset } = readUInt16LE(buf, offset));\n\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 return new Result(date, offset);\n}\n\nmodule.exports.readValue = readValue;\nmodule.exports.isPLPStream = isPLPStream;\nmodule.exports.readPLPStream = readPLPStream;\n\nexport { readValue, isPLPStream, readPLPStream };\n"],"mappings":"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","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,145 @@
1
+ {
2
+ "author": "Mike D Pilsbury <mike.pilsbury@gmail.com>",
3
+ "contributors": [
4
+ "Alex Robson",
5
+ "Arthur Schreiber",
6
+ "Bret Copeland <bret@atlantisflight.org> (https://github.com/bretcope)",
7
+ "Bryan Ross <bryan@rossipedia.com> (https://github.com/rossipedia)",
8
+ "Ciaran Jessup <ciaranj@gmail.com>",
9
+ "Cort Fritz <cfritz@caa.com>",
10
+ "lastonesky",
11
+ "Patrik Simek <patrik@patriksimek.cz>",
12
+ "Phil Dodderidge <pdodde@poyntz.com>",
13
+ "Zach Aller"
14
+ ],
15
+ "name": "tedious-fabric",
16
+ "description": "A TDS driver for MS SQL Server with Microsoft Fabric support. Fork of tedious.",
17
+ "keywords": [
18
+ "sql",
19
+ "database",
20
+ "mssql",
21
+ "sqlserver",
22
+ "sql-server",
23
+ "tds",
24
+ "msnodesql",
25
+ "azure",
26
+ "fabric",
27
+ "microsoft-fabric"
28
+ ],
29
+ "homepage": "https://github.com/tediousjs/tedious",
30
+ "bugs": "https://github.com/tediousjs/tedious/issues",
31
+ "license": "MIT",
32
+ "version": "1.0.0",
33
+ "main": "./lib/tedious.js",
34
+ "types": "./lib/tedious.d.ts",
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/tediousjs/tedious.git"
38
+ },
39
+ "engines": {
40
+ "node": ">=18.17"
41
+ },
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "dependencies": {
46
+ "@azure/core-auth": "^1.7.2",
47
+ "@azure/identity": "^4.2.1",
48
+ "@azure/keyvault-keys": "^4.4.0",
49
+ "@js-joda/core": "^5.6.5",
50
+ "@types/node": ">=18",
51
+ "bl": "^6.1.4",
52
+ "iconv-lite": "^0.7.0",
53
+ "js-md4": "^0.3.2",
54
+ "native-duplexpair": "^1.0.0",
55
+ "sprintf-js": "^1.1.3"
56
+ },
57
+ "devDependencies": {
58
+ "@babel/cli": "^7.28.3",
59
+ "@babel/core": "^7.28.5",
60
+ "@babel/node": "^7.28.0",
61
+ "@babel/preset-env": "^7.28.5",
62
+ "@babel/preset-typescript": "^7.28.5",
63
+ "@babel/register": "^7.28.3",
64
+ "@stylistic/eslint-plugin": "^5.5.0",
65
+ "@types/async": "^3.2.25",
66
+ "@types/chai": "^4.3.20",
67
+ "@types/depd": "^1.1.37",
68
+ "@types/lru-cache": "^5.1.1",
69
+ "@types/mitm": "^1.3.8",
70
+ "@types/mocha": "^10.0.10",
71
+ "@types/sinon": "^21.0.0",
72
+ "@types/sprintf-js": "^1.1.4",
73
+ "@typescript-eslint/eslint-plugin": "^8.46.3",
74
+ "@typescript-eslint/parser": "^8.46.3",
75
+ "async": "^3.2.6",
76
+ "babel-plugin-istanbul": "^7.0.1",
77
+ "chai": "^4.5.0",
78
+ "codecov": "^3.8.3",
79
+ "eslint": "^9.39.1",
80
+ "mitm": "^1.7.3",
81
+ "mocha": "^11.7.5",
82
+ "nyc": "^17.1.0",
83
+ "rimraf": "^5.0.10",
84
+ "semantic-release": "^22.0.12",
85
+ "sinon": "^21.0.0",
86
+ "typedoc": "^0.28.14",
87
+ "typescript": "^5.9.3"
88
+ },
89
+ "scripts": {
90
+ "docs": "typedoc",
91
+ "lint": "eslint src test --ext .js,.ts && tsc",
92
+ "test": "mocha --forbid-only test/unit test/unit/token test/unit/tracking-buffer",
93
+ "test-integration": "mocha --forbid-only test/integration/",
94
+ "test-all": "mocha --forbid-only test/unit/ test/unit/token/ test/unit/tracking-buffer test/integration/",
95
+ "build:types": "tsc --project tsconfig.build-types.json",
96
+ "build": "rimraf lib && babel src --out-dir lib --extensions .js,.ts && npm run build:types",
97
+ "prepublish": "npm run build",
98
+ "semantic-release": "semantic-release"
99
+ },
100
+ "babel": {
101
+ "sourceMaps": "both",
102
+ "ignore": [
103
+ "./src/**/*.d.ts"
104
+ ],
105
+ "presets": [
106
+ [
107
+ "@babel/preset-env",
108
+ {
109
+ "targets": {
110
+ "node": 18
111
+ }
112
+ }
113
+ ],
114
+ [
115
+ "@babel/preset-typescript",
116
+ {
117
+ "allowDeclareFields": true
118
+ }
119
+ ]
120
+ ],
121
+ "plugins": [
122
+ [
123
+ "@babel/transform-typescript",
124
+ {
125
+ "allowDeclareFields": true
126
+ }
127
+ ]
128
+ ]
129
+ },
130
+ "mocha": {
131
+ "require": "test/setup.js",
132
+ "timeout": 10000,
133
+ "extension": [
134
+ "js",
135
+ "ts"
136
+ ]
137
+ },
138
+ "nyc": {
139
+ "sourceMap": false,
140
+ "instrument": false,
141
+ "extension": [
142
+ ".ts"
143
+ ]
144
+ }
145
+ }
@@ -0,0 +1,9 @@
1
+ **Before submitting a PR :**
2
+ 1. Ensure your fork is created from `master` branch of [the repository](https://github.com/tediousjs/tedious).
3
+ 2. Run `npm install` in the root folder.
4
+ 3. After bug fix/code change, ensure all the existing tests and new tests (if any) pass (`npm run-script test-all`). During development, to run individual test use `node_modules/nodeunit test/<test_file.js> -t <test_name>`.
5
+ 4. Build the driver (`npm run build`).
6
+ 5. Run eslint and flow typechecker (`npm run lint`).
7
+ 6. Run commitlint (`node_modules/.bin/commitlint --from origin/master --to HEAD`). Refer [commit conventions](https://commitlint.js.org/#/concepts-commit-conventions) and [commit rules](https://commitlint.js.org/#/reference-rules).
8
+
9
+ **Thank you for Contributing!**
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ // Disable features needed by the IDE which harm type declaration generation
5
+ "isolatedModules": false,
6
+ "noEmit": false,
7
+
8
+ // Enable features needed for type declaration generation
9
+ "declaration": true,
10
+ "emitDeclarationOnly": true,
11
+ "declarationDir": "lib"
12
+ },
13
+
14
+ "include": ["types/*.d.ts", "src/tedious.ts"]
15
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "esnext",
4
+ "moduleResolution": "node",
5
+ "allowJs": true,
6
+ "noEmit": true,
7
+ "strict": true,
8
+ "esModuleInterop": true,
9
+ "allowSyntheticDefaultImports": true,
10
+ "lib": [ "ES2022" ],
11
+ "skipLibCheck": true,
12
+ "resolveJsonModule": true,
13
+ "exactOptionalPropertyTypes": true,
14
+ "verbatimModuleSyntax": true
15
+ },
16
+
17
+ "include": [
18
+ "types/*.d.ts",
19
+ "src/**/*.ts",
20
+ "test/**/*.ts",
21
+ "test/**/*.js",
22
+ "eslint.config.mjs"
23
+ ],
24
+
25
+ "typedocOptions": {
26
+ "name": "Tedious",
27
+ "out": "./docs",
28
+ "entryPoints": ["./src/tedious.ts"]
29
+ }
30
+ }
@@ -0,0 +1,7 @@
1
+ declare module 'js-md4' {
2
+ declare const md4: {
3
+ arrayBuffer(message: string | number[] | Uint8Array | ArrayBuffer): ArrayBuffer;
4
+ };
5
+
6
+ export = md4;
7
+ }
@@ -0,0 +1,12 @@
1
+ declare module 'native-duplexpair' {
2
+ import { Duplex } from 'stream';
3
+
4
+ class DuplexSocket extends Duplex { }
5
+
6
+ class DuplexPair {
7
+ socket1: DuplexSocket;
8
+ socket2: DuplexSocket;
9
+ }
10
+
11
+ export = DuplexPair;
12
+ }