plugin-data-source-mssql 2.0.3 → 2.0.5

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 (410) hide show
  1. package/dist/client/index.js +1 -1
  2. package/dist/externalVersion.js +6 -6
  3. package/dist/server/data-source/MssqlExternalDataSource.js +114 -30
  4. package/dist/server/data-source/MssqlIntrospector.js +109 -24
  5. package/package.json +1 -1
  6. package/dist/node_modules/tedious/245.index.js +0 -741
  7. package/dist/node_modules/tedious/LICENSE +0 -21
  8. package/dist/node_modules/tedious/appveyor.yml +0 -67
  9. package/dist/node_modules/tedious/benchmarks/bulk-load/iterable.js +0 -61
  10. package/dist/node_modules/tedious/benchmarks/common.js +0 -287
  11. package/dist/node_modules/tedious/benchmarks/connection/open.js +0 -26
  12. package/dist/node_modules/tedious/benchmarks/package-lock.json +0 -21173
  13. package/dist/node_modules/tedious/benchmarks/package.json +0 -11
  14. package/dist/node_modules/tedious/benchmarks/query/call-tvp.js +0 -105
  15. package/dist/node_modules/tedious/benchmarks/query/insert-varbinary.js +0 -46
  16. package/dist/node_modules/tedious/benchmarks/query/select-many-rows.js +0 -63
  17. package/dist/node_modules/tedious/benchmarks/query/select-nvarchar.js +0 -50
  18. package/dist/node_modules/tedious/benchmarks/query/select-varbinary.js +0 -50
  19. package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-tvp.js +0 -45
  20. package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-varbinary.js +0 -37
  21. package/dist/node_modules/tedious/benchmarks/token-parser/colmetadata-token.js +0 -27
  22. package/dist/node_modules/tedious/benchmarks/token-parser/done-token.js +0 -28
  23. package/dist/node_modules/tedious/benchmarks/token-parser/simple-tokens.js +0 -363
  24. package/dist/node_modules/tedious/lib/all-headers.d.ts +0 -2
  25. package/dist/node_modules/tedious/lib/all-headers.js +0 -24
  26. package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +0 -82
  27. package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +0 -55
  28. package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.d.ts +0 -11
  29. package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.js +0 -42
  30. package/dist/node_modules/tedious/lib/always-encrypted/get-parameter-encryption-metadata.js +0 -90
  31. package/dist/node_modules/tedious/lib/always-encrypted/key-crypto.js +0 -94
  32. package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.d.ts +0 -21
  33. package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.js +0 -247
  34. package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key-cache.js +0 -36
  35. package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key.js +0 -25
  36. package/dist/node_modules/tedious/lib/always-encrypted/types.d.ts +0 -73
  37. package/dist/node_modules/tedious/lib/always-encrypted/types.js +0 -48
  38. package/dist/node_modules/tedious/lib/always-encrypted/utils.js +0 -23
  39. package/dist/node_modules/tedious/lib/bulk-load-payload.d.ts +0 -8
  40. package/dist/node_modules/tedious/lib/bulk-load-payload.js +0 -23
  41. package/dist/node_modules/tedious/lib/bulk-load.d.ts +0 -275
  42. package/dist/node_modules/tedious/lib/bulk-load.js +0 -516
  43. package/dist/node_modules/tedious/lib/collation.d.ts +0 -28
  44. package/dist/node_modules/tedious/lib/collation.js +0 -348
  45. package/dist/node_modules/tedious/lib/connection.d.ts +0 -1310
  46. package/dist/node_modules/tedious/lib/connection.js +0 -2730
  47. package/dist/node_modules/tedious/lib/connector.d.ts +0 -18
  48. package/dist/node_modules/tedious/lib/connector.js +0 -150
  49. package/dist/node_modules/tedious/lib/data-type.d.ts +0 -455
  50. package/dist/node_modules/tedious/lib/data-type.js +0 -428
  51. package/dist/node_modules/tedious/lib/data-types/bigint.d.ts +0 -3
  52. package/dist/node_modules/tedious/lib/data-types/bigint.js +0 -53
  53. package/dist/node_modules/tedious/lib/data-types/binary.d.ts +0 -5
  54. package/dist/node_modules/tedious/lib/data-types/binary.js +0 -67
  55. package/dist/node_modules/tedious/lib/data-types/bit.d.ts +0 -3
  56. package/dist/node_modules/tedious/lib/data-types/bit.js +0 -46
  57. package/dist/node_modules/tedious/lib/data-types/bitn.d.ts +0 -3
  58. package/dist/node_modules/tedious/lib/data-types/bitn.js +0 -29
  59. package/dist/node_modules/tedious/lib/data-types/char.d.ts +0 -5
  60. package/dist/node_modules/tedious/lib/data-types/char.js +0 -86
  61. package/dist/node_modules/tedious/lib/data-types/date.d.ts +0 -3
  62. package/dist/node_modules/tedious/lib/data-types/date.js +0 -72
  63. package/dist/node_modules/tedious/lib/data-types/datetime.d.ts +0 -3
  64. package/dist/node_modules/tedious/lib/data-types/datetime.js +0 -93
  65. package/dist/node_modules/tedious/lib/data-types/datetime2.d.ts +0 -5
  66. package/dist/node_modules/tedious/lib/data-types/datetime2.js +0 -118
  67. package/dist/node_modules/tedious/lib/data-types/datetimen.d.ts +0 -3
  68. package/dist/node_modules/tedious/lib/data-types/datetimen.js +0 -29
  69. package/dist/node_modules/tedious/lib/data-types/datetimeoffset.d.ts +0 -5
  70. package/dist/node_modules/tedious/lib/data-types/datetimeoffset.js +0 -111
  71. package/dist/node_modules/tedious/lib/data-types/decimal.d.ts +0 -6
  72. package/dist/node_modules/tedious/lib/data-types/decimal.js +0 -107
  73. package/dist/node_modules/tedious/lib/data-types/decimaln.d.ts +0 -3
  74. package/dist/node_modules/tedious/lib/data-types/decimaln.js +0 -29
  75. package/dist/node_modules/tedious/lib/data-types/float.d.ts +0 -3
  76. package/dist/node_modules/tedious/lib/data-types/float.js +0 -47
  77. package/dist/node_modules/tedious/lib/data-types/floatn.d.ts +0 -3
  78. package/dist/node_modules/tedious/lib/data-types/floatn.js +0 -29
  79. package/dist/node_modules/tedious/lib/data-types/image.d.ts +0 -3
  80. package/dist/node_modules/tedious/lib/data-types/image.js +0 -56
  81. package/dist/node_modules/tedious/lib/data-types/int.d.ts +0 -3
  82. package/dist/node_modules/tedious/lib/data-types/int.js +0 -53
  83. package/dist/node_modules/tedious/lib/data-types/intn.d.ts +0 -3
  84. package/dist/node_modules/tedious/lib/data-types/intn.js +0 -29
  85. package/dist/node_modules/tedious/lib/data-types/money.d.ts +0 -3
  86. package/dist/node_modules/tedious/lib/data-types/money.js +0 -59
  87. package/dist/node_modules/tedious/lib/data-types/moneyn.d.ts +0 -3
  88. package/dist/node_modules/tedious/lib/data-types/moneyn.js +0 -29
  89. package/dist/node_modules/tedious/lib/data-types/nchar.d.ts +0 -5
  90. package/dist/node_modules/tedious/lib/data-types/nchar.js +0 -100
  91. package/dist/node_modules/tedious/lib/data-types/ntext.d.ts +0 -3
  92. package/dist/node_modules/tedious/lib/data-types/ntext.js +0 -60
  93. package/dist/node_modules/tedious/lib/data-types/null.d.ts +0 -3
  94. package/dist/node_modules/tedious/lib/data-types/null.js +0 -29
  95. package/dist/node_modules/tedious/lib/data-types/numeric.d.ts +0 -6
  96. package/dist/node_modules/tedious/lib/data-types/numeric.js +0 -106
  97. package/dist/node_modules/tedious/lib/data-types/numericn.d.ts +0 -3
  98. package/dist/node_modules/tedious/lib/data-types/numericn.js +0 -29
  99. package/dist/node_modules/tedious/lib/data-types/nvarchar.d.ts +0 -5
  100. package/dist/node_modules/tedious/lib/data-types/nvarchar.js +0 -133
  101. package/dist/node_modules/tedious/lib/data-types/real.d.ts +0 -3
  102. package/dist/node_modules/tedious/lib/data-types/real.js +0 -48
  103. package/dist/node_modules/tedious/lib/data-types/smalldatetime.d.ts +0 -3
  104. package/dist/node_modules/tedious/lib/data-types/smalldatetime.js +0 -83
  105. package/dist/node_modules/tedious/lib/data-types/smallint.d.ts +0 -3
  106. package/dist/node_modules/tedious/lib/data-types/smallint.js +0 -53
  107. package/dist/node_modules/tedious/lib/data-types/smallmoney.d.ts +0 -3
  108. package/dist/node_modules/tedious/lib/data-types/smallmoney.js +0 -51
  109. package/dist/node_modules/tedious/lib/data-types/sql-variant.d.ts +0 -3
  110. package/dist/node_modules/tedious/lib/data-types/sql-variant.js +0 -29
  111. package/dist/node_modules/tedious/lib/data-types/text.d.ts +0 -3
  112. package/dist/node_modules/tedious/lib/data-types/text.js +0 -69
  113. package/dist/node_modules/tedious/lib/data-types/time.d.ts +0 -3
  114. package/dist/node_modules/tedious/lib/data-types/time.js +0 -96
  115. package/dist/node_modules/tedious/lib/data-types/tinyint.d.ts +0 -3
  116. package/dist/node_modules/tedious/lib/data-types/tinyint.js +0 -53
  117. package/dist/node_modules/tedious/lib/data-types/tvp.d.ts +0 -3
  118. package/dist/node_modules/tedious/lib/data-types/tvp.js +0 -117
  119. package/dist/node_modules/tedious/lib/data-types/udt.d.ts +0 -3
  120. package/dist/node_modules/tedious/lib/data-types/udt.js +0 -29
  121. package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.d.ts +0 -3
  122. package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.js +0 -50
  123. package/dist/node_modules/tedious/lib/data-types/varbinary.d.ts +0 -5
  124. package/dist/node_modules/tedious/lib/data-types/varbinary.js +0 -119
  125. package/dist/node_modules/tedious/lib/data-types/varchar.d.ts +0 -5
  126. package/dist/node_modules/tedious/lib/data-types/varchar.js +0 -112
  127. package/dist/node_modules/tedious/lib/data-types/xml.d.ts +0 -3
  128. package/dist/node_modules/tedious/lib/data-types/xml.js +0 -29
  129. package/dist/node_modules/tedious/lib/debug.d.ts +0 -25
  130. package/dist/node_modules/tedious/lib/debug.js +0 -67
  131. package/dist/node_modules/tedious/lib/errors/abort-error.d.ts +0 -4
  132. package/dist/node_modules/tedious/lib/errors/abort-error.js +0 -15
  133. package/dist/node_modules/tedious/lib/errors/timeout-error.d.ts +0 -4
  134. package/dist/node_modules/tedious/lib/errors/timeout-error.js +0 -15
  135. package/dist/node_modules/tedious/lib/errors.d.ts +0 -17
  136. package/dist/node_modules/tedious/lib/errors.js +0 -23
  137. package/dist/node_modules/tedious/lib/guid-parser.d.ts +0 -3
  138. package/dist/node_modules/tedious/lib/guid-parser.js +0 -30
  139. package/dist/node_modules/tedious/lib/incoming-message-stream.d.ts +0 -19
  140. package/dist/node_modules/tedious/lib/incoming-message-stream.js +0 -97
  141. package/dist/node_modules/tedious/lib/instance-lookup.d.ts +0 -13
  142. package/dist/node_modules/tedious/lib/instance-lookup.js +0 -96
  143. package/dist/node_modules/tedious/lib/library.d.ts +0 -1
  144. package/dist/node_modules/tedious/lib/library.js +0 -8
  145. package/dist/node_modules/tedious/lib/login7-payload.d.ts +0 -51
  146. package/dist/node_modules/tedious/lib/login7-payload.js +0 -402
  147. package/dist/node_modules/tedious/lib/message-io.d.ts +0 -28
  148. package/dist/node_modules/tedious/lib/message-io.js +0 -153
  149. package/dist/node_modules/tedious/lib/message.d.ts +0 -11
  150. package/dist/node_modules/tedious/lib/message.js +0 -21
  151. package/dist/node_modules/tedious/lib/metadata-parser.d.ts +0 -48
  152. package/dist/node_modules/tedious/lib/metadata-parser.js +0 -380
  153. package/dist/node_modules/tedious/lib/ntlm-payload.d.ts +0 -23
  154. package/dist/node_modules/tedious/lib/ntlm-payload.js +0 -136
  155. package/dist/node_modules/tedious/lib/ntlm.d.ts +0 -4
  156. package/dist/node_modules/tedious/lib/ntlm.js +0 -72
  157. package/dist/node_modules/tedious/lib/outgoing-message-stream.d.ts +0 -15
  158. package/dist/node_modules/tedious/lib/outgoing-message-stream.js +0 -81
  159. package/dist/node_modules/tedious/lib/packet.d.ts +0 -33
  160. package/dist/node_modules/tedious/lib/packet.js +0 -191
  161. package/dist/node_modules/tedious/lib/prelogin-payload.d.ts +0 -61
  162. package/dist/node_modules/tedious/lib/prelogin-payload.js +0 -209
  163. package/dist/node_modules/tedious/lib/request.d.ts +0 -370
  164. package/dist/node_modules/tedious/lib/request.js +0 -387
  165. package/dist/node_modules/tedious/lib/rpcrequest-payload.d.ts +0 -16
  166. package/dist/node_modules/tedious/lib/rpcrequest-payload.js +0 -109
  167. package/dist/node_modules/tedious/lib/sender.d.ts +0 -5
  168. package/dist/node_modules/tedious/lib/sender.js +0 -83
  169. package/dist/node_modules/tedious/lib/special-stored-procedure.d.ts +0 -18
  170. package/dist/node_modules/tedious/lib/special-stored-procedure.js +0 -26
  171. package/dist/node_modules/tedious/lib/sqlbatch-payload.d.ts +0 -13
  172. package/dist/node_modules/tedious/lib/sqlbatch-payload.js +0 -34
  173. package/dist/node_modules/tedious/lib/tds-versions.d.ts +0 -6
  174. package/dist/node_modules/tedious/lib/tds-versions.js +0 -19
  175. package/dist/node_modules/tedious/lib/tedious.d.ts +0 -13
  176. package/dist/node_modules/tedious/lib/tedious.js +0 -249
  177. package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.d.ts +0 -12
  178. package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.js +0 -124
  179. package/dist/node_modules/tedious/lib/token/done-token-parser.d.ts +0 -6
  180. package/dist/node_modules/tedious/lib/token/done-token-parser.js +0 -76
  181. package/dist/node_modules/tedious/lib/token/env-change-token-parser.d.ts +0 -5
  182. package/dist/node_modules/tedious/lib/token/env-change-token-parser.js +0 -190
  183. package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.d.ts +0 -5
  184. package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.js +0 -52
  185. package/dist/node_modules/tedious/lib/token/fedauth-info-parser.d.ts +0 -5
  186. package/dist/node_modules/tedious/lib/token/fedauth-info-parser.js +0 -62
  187. package/dist/node_modules/tedious/lib/token/handler.d.ts +0 -135
  188. package/dist/node_modules/tedious/lib/token/handler.js +0 -444
  189. package/dist/node_modules/tedious/lib/token/helpers.d.ts +0 -28
  190. package/dist/node_modules/tedious/lib/token/helpers.js +0 -205
  191. package/dist/node_modules/tedious/lib/token/infoerror-token-parser.d.ts +0 -5
  192. package/dist/node_modules/tedious/lib/token/infoerror-token-parser.js +0 -80
  193. package/dist/node_modules/tedious/lib/token/loginack-token-parser.d.ts +0 -5
  194. package/dist/node_modules/tedious/lib/token/loginack-token-parser.js +0 -75
  195. package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.d.ts +0 -4
  196. package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.js +0 -104
  197. package/dist/node_modules/tedious/lib/token/order-token-parser.d.ts +0 -5
  198. package/dist/node_modules/tedious/lib/token/order-token-parser.js +0 -34
  199. package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.d.ts +0 -5
  200. package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.js +0 -21
  201. package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.d.ts +0 -4
  202. package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.js +0 -94
  203. package/dist/node_modules/tedious/lib/token/row-token-parser.d.ts +0 -4
  204. package/dist/node_modules/tedious/lib/token/row-token-parser.js +0 -77
  205. package/dist/node_modules/tedious/lib/token/sspi-token-parser.d.ts +0 -5
  206. package/dist/node_modules/tedious/lib/token/sspi-token-parser.js +0 -42
  207. package/dist/node_modules/tedious/lib/token/stream-parser.d.ts +0 -34
  208. package/dist/node_modules/tedious/lib/token/stream-parser.js +0 -341
  209. package/dist/node_modules/tedious/lib/token/token-stream-parser.d.ts +0 -15
  210. package/dist/node_modules/tedious/lib/token/token-stream-parser.js +0 -36
  211. package/dist/node_modules/tedious/lib/token/token.d.ts +0 -312
  212. package/dist/node_modules/tedious/lib/token/token.js +0 -328
  213. package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.d.ts +0 -47
  214. package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.js +0 -249
  215. package/dist/node_modules/tedious/lib/transaction.d.ts +0 -39
  216. package/dist/node_modules/tedious/lib/transaction.js +0 -137
  217. package/dist/node_modules/tedious/lib/transient-error-lookup.d.ts +0 -3
  218. package/dist/node_modules/tedious/lib/transient-error-lookup.js +0 -19
  219. package/dist/node_modules/tedious/lib/utils/with-timeout.d.ts +0 -7
  220. package/dist/node_modules/tedious/lib/utils/with-timeout.js +0 -36
  221. package/dist/node_modules/tedious/lib/value-parser.d.ts +0 -7
  222. package/dist/node_modules/tedious/lib/value-parser.js +0 -813
  223. package/dist/node_modules/tedious/node_modules/@types/node/assert/strict.d.ts +0 -105
  224. package/dist/node_modules/tedious/node_modules/@types/node/assert.d.ts +0 -955
  225. package/dist/node_modules/tedious/node_modules/@types/node/async_hooks.d.ts +0 -623
  226. package/dist/node_modules/tedious/node_modules/@types/node/buffer.buffer.d.ts +0 -466
  227. package/dist/node_modules/tedious/node_modules/@types/node/buffer.d.ts +0 -1810
  228. package/dist/node_modules/tedious/node_modules/@types/node/child_process.d.ts +0 -1428
  229. package/dist/node_modules/tedious/node_modules/@types/node/cluster.d.ts +0 -486
  230. package/dist/node_modules/tedious/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  231. package/dist/node_modules/tedious/node_modules/@types/node/console.d.ts +0 -151
  232. package/dist/node_modules/tedious/node_modules/@types/node/constants.d.ts +0 -20
  233. package/dist/node_modules/tedious/node_modules/@types/node/crypto.d.ts +0 -4065
  234. package/dist/node_modules/tedious/node_modules/@types/node/dgram.d.ts +0 -564
  235. package/dist/node_modules/tedious/node_modules/@types/node/diagnostics_channel.d.ts +0 -576
  236. package/dist/node_modules/tedious/node_modules/@types/node/dns/promises.d.ts +0 -503
  237. package/dist/node_modules/tedious/node_modules/@types/node/dns.d.ts +0 -922
  238. package/dist/node_modules/tedious/node_modules/@types/node/domain.d.ts +0 -166
  239. package/dist/node_modules/tedious/node_modules/@types/node/events.d.ts +0 -1054
  240. package/dist/node_modules/tedious/node_modules/@types/node/fs/promises.d.ts +0 -1329
  241. package/dist/node_modules/tedious/node_modules/@types/node/fs.d.ts +0 -4676
  242. package/dist/node_modules/tedious/node_modules/@types/node/globals.d.ts +0 -150
  243. package/dist/node_modules/tedious/node_modules/@types/node/globals.typedarray.d.ts +0 -101
  244. package/dist/node_modules/tedious/node_modules/@types/node/http.d.ts +0 -2167
  245. package/dist/node_modules/tedious/node_modules/@types/node/http2.d.ts +0 -2480
  246. package/dist/node_modules/tedious/node_modules/@types/node/https.d.ts +0 -405
  247. package/dist/node_modules/tedious/node_modules/@types/node/index.d.ts +0 -115
  248. package/dist/node_modules/tedious/node_modules/@types/node/inspector/promises.d.ts +0 -41
  249. package/dist/node_modules/tedious/node_modules/@types/node/inspector.d.ts +0 -224
  250. package/dist/node_modules/tedious/node_modules/@types/node/inspector.generated.d.ts +0 -4226
  251. package/dist/node_modules/tedious/node_modules/@types/node/module.d.ts +0 -819
  252. package/dist/node_modules/tedious/node_modules/@types/node/net.d.ts +0 -933
  253. package/dist/node_modules/tedious/node_modules/@types/node/os.d.ts +0 -507
  254. package/dist/node_modules/tedious/node_modules/@types/node/package.json +0 -155
  255. package/dist/node_modules/tedious/node_modules/@types/node/path/posix.d.ts +0 -8
  256. package/dist/node_modules/tedious/node_modules/@types/node/path/win32.d.ts +0 -8
  257. package/dist/node_modules/tedious/node_modules/@types/node/path.d.ts +0 -187
  258. package/dist/node_modules/tedious/node_modules/@types/node/perf_hooks.d.ts +0 -643
  259. package/dist/node_modules/tedious/node_modules/@types/node/process.d.ts +0 -2161
  260. package/dist/node_modules/tedious/node_modules/@types/node/punycode.d.ts +0 -117
  261. package/dist/node_modules/tedious/node_modules/@types/node/querystring.d.ts +0 -152
  262. package/dist/node_modules/tedious/node_modules/@types/node/quic.d.ts +0 -910
  263. package/dist/node_modules/tedious/node_modules/@types/node/readline/promises.d.ts +0 -161
  264. package/dist/node_modules/tedious/node_modules/@types/node/readline.d.ts +0 -541
  265. package/dist/node_modules/tedious/node_modules/@types/node/repl.d.ts +0 -415
  266. package/dist/node_modules/tedious/node_modules/@types/node/sea.d.ts +0 -162
  267. package/dist/node_modules/tedious/node_modules/@types/node/sqlite.d.ts +0 -955
  268. package/dist/node_modules/tedious/node_modules/@types/node/stream/consumers.d.ts +0 -38
  269. package/dist/node_modules/tedious/node_modules/@types/node/stream/promises.d.ts +0 -211
  270. package/dist/node_modules/tedious/node_modules/@types/node/stream/web.d.ts +0 -296
  271. package/dist/node_modules/tedious/node_modules/@types/node/stream.d.ts +0 -1760
  272. package/dist/node_modules/tedious/node_modules/@types/node/string_decoder.d.ts +0 -67
  273. package/dist/node_modules/tedious/node_modules/@types/node/test/reporters.d.ts +0 -96
  274. package/dist/node_modules/tedious/node_modules/@types/node/test.d.ts +0 -2240
  275. package/dist/node_modules/tedious/node_modules/@types/node/timers/promises.d.ts +0 -108
  276. package/dist/node_modules/tedious/node_modules/@types/node/timers.d.ts +0 -159
  277. package/dist/node_modules/tedious/node_modules/@types/node/tls.d.ts +0 -1198
  278. package/dist/node_modules/tedious/node_modules/@types/node/trace_events.d.ts +0 -197
  279. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
  280. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
  281. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
  282. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/index.d.ts +0 -117
  283. package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
  284. package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/index.d.ts +0 -117
  285. package/dist/node_modules/tedious/node_modules/@types/node/tty.d.ts +0 -250
  286. package/dist/node_modules/tedious/node_modules/@types/node/url.d.ts +0 -519
  287. package/dist/node_modules/tedious/node_modules/@types/node/util/types.d.ts +0 -558
  288. package/dist/node_modules/tedious/node_modules/@types/node/util.d.ts +0 -1662
  289. package/dist/node_modules/tedious/node_modules/@types/node/v8.d.ts +0 -983
  290. package/dist/node_modules/tedious/node_modules/@types/node/vm.d.ts +0 -1208
  291. package/dist/node_modules/tedious/node_modules/@types/node/wasi.d.ts +0 -202
  292. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
  293. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/blob.d.ts +0 -23
  294. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/console.d.ts +0 -9
  295. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
  296. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  297. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
  298. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/events.d.ts +0 -106
  299. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
  300. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
  301. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
  302. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
  303. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/performance.d.ts +0 -45
  304. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  305. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/streams.d.ts +0 -115
  306. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/timers.d.ts +0 -44
  307. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/url.d.ts +0 -24
  308. package/dist/node_modules/tedious/node_modules/@types/node/worker_threads.d.ts +0 -717
  309. package/dist/node_modules/tedious/node_modules/@types/node/zlib.d.ts +0 -618
  310. package/dist/node_modules/tedious/node_modules/bl/.github/dependabot.yml +0 -16
  311. package/dist/node_modules/tedious/node_modules/bl/.github/workflows/test-and-release.yml +0 -61
  312. package/dist/node_modules/tedious/node_modules/bl/BufferList.d.ts +0 -431
  313. package/dist/node_modules/tedious/node_modules/bl/BufferList.js +0 -421
  314. package/dist/node_modules/tedious/node_modules/bl/bl.js +0 -84
  315. package/dist/node_modules/tedious/node_modules/bl/index.d.ts +0 -88
  316. package/dist/node_modules/tedious/node_modules/bl/package.json +0 -123
  317. package/dist/node_modules/tedious/node_modules/bl/test/convert.js +0 -21
  318. package/dist/node_modules/tedious/node_modules/bl/test/indexOf.js +0 -492
  319. package/dist/node_modules/tedious/node_modules/bl/test/isBufferList.js +0 -32
  320. package/dist/node_modules/tedious/node_modules/bl/test/test.js +0 -1032
  321. package/dist/node_modules/tedious/node_modules/buffer/index.d.ts +0 -194
  322. package/dist/node_modules/tedious/node_modules/buffer/index.js +0 -2106
  323. package/dist/node_modules/tedious/node_modules/buffer/package.json +0 -93
  324. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_duplex.js +0 -4
  325. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_passthrough.js +0 -4
  326. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_readable.js +0 -4
  327. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_transform.js +0 -4
  328. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_writable.js +0 -4
  329. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +0 -52
  330. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -157
  331. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/compose.js +0 -194
  332. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -290
  333. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplex.js +0 -143
  334. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplexify.js +0 -378
  335. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -286
  336. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/from.js +0 -98
  337. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +0 -51
  338. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/legacy.js +0 -89
  339. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/operators.js +0 -457
  340. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/passthrough.js +0 -39
  341. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -471
  342. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/readable.js +0 -1290
  343. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/state.js +0 -39
  344. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/transform.js +0 -180
  345. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/utils.js +0 -327
  346. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/writable.js +0 -819
  347. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/validators.js +0 -530
  348. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/browser.js +0 -35
  349. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/errors.js +0 -343
  350. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/index.js +0 -65
  351. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/primordials.js +0 -124
  352. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util/inspect.js +0 -55
  353. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util.js +0 -148
  354. package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream/promises.js +0 -43
  355. package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream.js +0 -143
  356. package/dist/node_modules/tedious/node_modules/readable-stream/package.json +0 -88
  357. package/dist/node_modules/tedious/node_modules/sprintf-js/dist/.gitattributes +0 -4
  358. package/dist/node_modules/tedious/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -3
  359. package/dist/node_modules/tedious/node_modules/sprintf-js/dist/sprintf.min.js +0 -3
  360. package/dist/node_modules/tedious/node_modules/sprintf-js/package.json +0 -35
  361. package/dist/node_modules/tedious/node_modules/sprintf-js/src/angular-sprintf.js +0 -24
  362. package/dist/node_modules/tedious/node_modules/sprintf-js/src/sprintf.js +0 -231
  363. package/dist/node_modules/tedious/node_modules/undici-types/agent.d.ts +0 -32
  364. package/dist/node_modules/tedious/node_modules/undici-types/api.d.ts +0 -43
  365. package/dist/node_modules/tedious/node_modules/undici-types/balanced-pool.d.ts +0 -29
  366. package/dist/node_modules/tedious/node_modules/undici-types/cache-interceptor.d.ts +0 -172
  367. package/dist/node_modules/tedious/node_modules/undici-types/cache.d.ts +0 -36
  368. package/dist/node_modules/tedious/node_modules/undici-types/client-stats.d.ts +0 -15
  369. package/dist/node_modules/tedious/node_modules/undici-types/client.d.ts +0 -108
  370. package/dist/node_modules/tedious/node_modules/undici-types/connector.d.ts +0 -34
  371. package/dist/node_modules/tedious/node_modules/undici-types/content-type.d.ts +0 -21
  372. package/dist/node_modules/tedious/node_modules/undici-types/cookies.d.ts +0 -30
  373. package/dist/node_modules/tedious/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
  374. package/dist/node_modules/tedious/node_modules/undici-types/dispatcher.d.ts +0 -276
  375. package/dist/node_modules/tedious/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
  376. package/dist/node_modules/tedious/node_modules/undici-types/errors.d.ts +0 -161
  377. package/dist/node_modules/tedious/node_modules/undici-types/eventsource.d.ts +0 -66
  378. package/dist/node_modules/tedious/node_modules/undici-types/fetch.d.ts +0 -211
  379. package/dist/node_modules/tedious/node_modules/undici-types/formdata.d.ts +0 -108
  380. package/dist/node_modules/tedious/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  381. package/dist/node_modules/tedious/node_modules/undici-types/global-origin.d.ts +0 -7
  382. package/dist/node_modules/tedious/node_modules/undici-types/h2c-client.d.ts +0 -73
  383. package/dist/node_modules/tedious/node_modules/undici-types/handlers.d.ts +0 -15
  384. package/dist/node_modules/tedious/node_modules/undici-types/header.d.ts +0 -160
  385. package/dist/node_modules/tedious/node_modules/undici-types/index.d.ts +0 -80
  386. package/dist/node_modules/tedious/node_modules/undici-types/interceptors.d.ts +0 -39
  387. package/dist/node_modules/tedious/node_modules/undici-types/mock-agent.d.ts +0 -68
  388. package/dist/node_modules/tedious/node_modules/undici-types/mock-call-history.d.ts +0 -111
  389. package/dist/node_modules/tedious/node_modules/undici-types/mock-client.d.ts +0 -27
  390. package/dist/node_modules/tedious/node_modules/undici-types/mock-errors.d.ts +0 -12
  391. package/dist/node_modules/tedious/node_modules/undici-types/mock-interceptor.d.ts +0 -94
  392. package/dist/node_modules/tedious/node_modules/undici-types/mock-pool.d.ts +0 -27
  393. package/dist/node_modules/tedious/node_modules/undici-types/package.json +0 -55
  394. package/dist/node_modules/tedious/node_modules/undici-types/patch.d.ts +0 -29
  395. package/dist/node_modules/tedious/node_modules/undici-types/pool-stats.d.ts +0 -19
  396. package/dist/node_modules/tedious/node_modules/undici-types/pool.d.ts +0 -41
  397. package/dist/node_modules/tedious/node_modules/undici-types/proxy-agent.d.ts +0 -29
  398. package/dist/node_modules/tedious/node_modules/undici-types/readable.d.ts +0 -68
  399. package/dist/node_modules/tedious/node_modules/undici-types/retry-agent.d.ts +0 -8
  400. package/dist/node_modules/tedious/node_modules/undici-types/retry-handler.d.ts +0 -125
  401. package/dist/node_modules/tedious/node_modules/undici-types/snapshot-agent.d.ts +0 -109
  402. package/dist/node_modules/tedious/node_modules/undici-types/util.d.ts +0 -18
  403. package/dist/node_modules/tedious/node_modules/undici-types/utility.d.ts +0 -7
  404. package/dist/node_modules/tedious/node_modules/undici-types/webidl.d.ts +0 -341
  405. package/dist/node_modules/tedious/node_modules/undici-types/websocket.d.ts +0 -186
  406. package/dist/node_modules/tedious/package.json +0 -1
  407. package/dist/node_modules/tedious/tsconfig.build-types.json +0 -15
  408. package/dist/node_modules/tedious/tsconfig.json +0 -29
  409. package/dist/node_modules/tedious/types/js-md4.d.ts +0 -7
  410. package/dist/node_modules/tedious/types/native-duplexpair.d.ts +0 -12
@@ -1,18 +0,0 @@
1
- import net from 'net';
2
- import dns from 'dns';
3
- type LookupFunction = (hostname: string, options: dns.LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: dns.LookupAddress[]) => void) => void;
4
- export declare function connectInParallel(options: {
5
- host: string;
6
- port: number;
7
- localAddress?: string | undefined;
8
- }, lookup: LookupFunction, signal: AbortSignal): Promise<net.Socket>;
9
- export declare function connectInSequence(options: {
10
- host: string;
11
- port: number;
12
- localAddress?: string | undefined;
13
- }, lookup: LookupFunction, signal: AbortSignal): Promise<net.Socket>;
14
- /**
15
- * Look up all addresses for the given hostname.
16
- */
17
- export declare function lookupAllAddresses(host: string, lookup: LookupFunction, signal: AbortSignal): Promise<dns.LookupAddress[]>;
18
- export {};
@@ -1,150 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.connectInParallel = connectInParallel;
7
- exports.connectInSequence = connectInSequence;
8
- exports.lookupAllAddresses = lookupAllAddresses;
9
- var _net = _interopRequireDefault(require("net"));
10
- var _nodeUrl = _interopRequireDefault(require("node:url"));
11
- var _abortError = _interopRequireDefault(require("./errors/abort-error"));
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- async function connectInParallel(options, lookup, signal) {
14
- if (signal.aborted) {
15
- throw new _abortError.default();
16
- }
17
- const addresses = await lookupAllAddresses(options.host, lookup, signal);
18
- return await new Promise((resolve, reject) => {
19
- const sockets = new Array(addresses.length);
20
- const errors = [];
21
- function onError(err) {
22
- errors.push(err);
23
- this.removeListener('error', onError);
24
- this.removeListener('connect', onConnect);
25
- this.destroy();
26
- if (errors.length === addresses.length) {
27
- signal.removeEventListener('abort', onAbort);
28
- reject(new AggregateError(errors, 'Could not connect (parallel)'));
29
- }
30
- }
31
- function onConnect() {
32
- signal.removeEventListener('abort', onAbort);
33
- for (let j = 0; j < sockets.length; j++) {
34
- const socket = sockets[j];
35
- if (this === socket) {
36
- continue;
37
- }
38
- socket.removeListener('error', onError);
39
- socket.removeListener('connect', onConnect);
40
- socket.destroy();
41
- }
42
- resolve(this);
43
- }
44
- const onAbort = () => {
45
- for (let j = 0; j < sockets.length; j++) {
46
- const socket = sockets[j];
47
- socket.removeListener('error', onError);
48
- socket.removeListener('connect', onConnect);
49
- socket.destroy();
50
- }
51
- reject(new _abortError.default());
52
- };
53
- for (let i = 0, len = addresses.length; i < len; i++) {
54
- const socket = sockets[i] = _net.default.connect({
55
- ...options,
56
- host: addresses[i].address,
57
- family: addresses[i].family
58
- });
59
- socket.on('error', onError);
60
- socket.on('connect', onConnect);
61
- }
62
- signal.addEventListener('abort', onAbort, {
63
- once: true
64
- });
65
- });
66
- }
67
- async function connectInSequence(options, lookup, signal) {
68
- if (signal.aborted) {
69
- throw new _abortError.default();
70
- }
71
- const errors = [];
72
- const addresses = await lookupAllAddresses(options.host, lookup, signal);
73
- for (const address of addresses) {
74
- try {
75
- return await new Promise((resolve, reject) => {
76
- const socket = _net.default.connect({
77
- ...options,
78
- host: address.address,
79
- family: address.family
80
- });
81
- const onAbort = () => {
82
- socket.removeListener('error', onError);
83
- socket.removeListener('connect', onConnect);
84
- socket.destroy();
85
- reject(new _abortError.default());
86
- };
87
- const onError = err => {
88
- signal.removeEventListener('abort', onAbort);
89
- socket.removeListener('error', onError);
90
- socket.removeListener('connect', onConnect);
91
- socket.destroy();
92
- reject(err);
93
- };
94
- const onConnect = () => {
95
- signal.removeEventListener('abort', onAbort);
96
- socket.removeListener('error', onError);
97
- socket.removeListener('connect', onConnect);
98
- resolve(socket);
99
- };
100
- signal.addEventListener('abort', onAbort, {
101
- once: true
102
- });
103
- socket.on('error', onError);
104
- socket.on('connect', onConnect);
105
- });
106
- } catch (err) {
107
- if (err instanceof Error && err.name === 'AbortError') {
108
- throw err;
109
- }
110
- errors.push(err);
111
- continue;
112
- }
113
- }
114
- throw new AggregateError(errors, 'Could not connect (sequence)');
115
- }
116
-
117
- /**
118
- * Look up all addresses for the given hostname.
119
- */
120
- async function lookupAllAddresses(host, lookup, signal) {
121
- if (signal.aborted) {
122
- throw new _abortError.default();
123
- }
124
- if (_net.default.isIPv6(host)) {
125
- return [{
126
- address: host,
127
- family: 6
128
- }];
129
- } else if (_net.default.isIPv4(host)) {
130
- return [{
131
- address: host,
132
- family: 4
133
- }];
134
- } else {
135
- return await new Promise((resolve, reject) => {
136
- const onAbort = () => {
137
- reject(new _abortError.default());
138
- };
139
- signal.addEventListener('abort', onAbort);
140
- const domainInASCII = _nodeUrl.default.domainToASCII(host);
141
- lookup(domainInASCII === '' ? host : domainInASCII, {
142
- all: true
143
- }, (err, addresses) => {
144
- signal.removeEventListener('abort', onAbort);
145
- err ? reject(err) : resolve(addresses);
146
- });
147
- });
148
- }
149
- }
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbmV0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbm9kZVVybCIsIl9hYm9ydEVycm9yIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjb25uZWN0SW5QYXJhbGxlbCIsIm9wdGlvbnMiLCJsb29rdXAiLCJzaWduYWwiLCJhYm9ydGVkIiwiQWJvcnRFcnJvciIsImFkZHJlc3NlcyIsImxvb2t1cEFsbEFkZHJlc3NlcyIsImhvc3QiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInNvY2tldHMiLCJBcnJheSIsImxlbmd0aCIsImVycm9ycyIsIm9uRXJyb3IiLCJlcnIiLCJwdXNoIiwicmVtb3ZlTGlzdGVuZXIiLCJvbkNvbm5lY3QiLCJkZXN0cm95IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uQWJvcnQiLCJBZ2dyZWdhdGVFcnJvciIsImoiLCJzb2NrZXQiLCJpIiwibGVuIiwibmV0IiwiY29ubmVjdCIsImFkZHJlc3MiLCJmYW1pbHkiLCJvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJvbmNlIiwiY29ubmVjdEluU2VxdWVuY2UiLCJFcnJvciIsIm5hbWUiLCJpc0lQdjYiLCJpc0lQdjQiLCJkb21haW5JbkFTQ0lJIiwidXJsIiwiZG9tYWluVG9BU0NJSSIsImFsbCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5ldCBmcm9tICduZXQnO1xuaW1wb3J0IGRucywgeyB0eXBlIExvb2t1cEFkZHJlc3MgfSBmcm9tICdkbnMnO1xuXG5pbXBvcnQgdXJsIGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCBBYm9ydEVycm9yIGZyb20gJy4vZXJyb3JzL2Fib3J0LWVycm9yJztcblxudHlwZSBMb29rdXBGdW5jdGlvbiA9IChob3N0bmFtZTogc3RyaW5nLCBvcHRpb25zOiBkbnMuTG9va3VwQWxsT3B0aW9ucywgY2FsbGJhY2s6IChlcnI6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiB8IG51bGwsIGFkZHJlc3NlczogZG5zLkxvb2t1cEFkZHJlc3NbXSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RJblBhcmFsbGVsKG9wdGlvbnM6IHsgaG9zdDogc3RyaW5nLCBwb3J0OiBudW1iZXIsIGxvY2FsQWRkcmVzcz86IHN0cmluZyB8IHVuZGVmaW5lZCB9LCBsb29rdXA6IExvb2t1cEZ1bmN0aW9uLCBzaWduYWw6IEFib3J0U2lnbmFsKSB7XG4gIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgIHRocm93IG5ldyBBYm9ydEVycm9yKCk7XG4gIH1cblxuICBjb25zdCBhZGRyZXNzZXMgPSBhd2FpdCBsb29rdXBBbGxBZGRyZXNzZXMob3B0aW9ucy5ob3N0LCBsb29rdXAsIHNpZ25hbCk7XG5cbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPG5ldC5Tb2NrZXQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBzb2NrZXRzID0gbmV3IEFycmF5KGFkZHJlc3Nlcy5sZW5ndGgpO1xuXG4gICAgY29uc3QgZXJyb3JzOiBFcnJvcltdID0gW107XG5cbiAgICBmdW5jdGlvbiBvbkVycm9yKHRoaXM6IG5ldC5Tb2NrZXQsIGVycjogRXJyb3IpIHtcbiAgICAgIGVycm9ycy5wdXNoKGVycik7XG5cbiAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgICB0aGlzLnJlbW92ZUxpc3RlbmVyKCdjb25uZWN0Jywgb25Db25uZWN0KTtcblxuICAgICAgdGhpcy5kZXN0cm95KCk7XG5cbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoID09PSBhZGRyZXNzZXMubGVuZ3RoKSB7XG4gICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuXG4gICAgICAgIHJlamVjdChuZXcgQWdncmVnYXRlRXJyb3IoZXJyb3JzLCAnQ291bGQgbm90IGNvbm5lY3QgKHBhcmFsbGVsKScpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBvbkNvbm5lY3QodGhpczogbmV0LlNvY2tldCkge1xuICAgICAgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCk7XG5cbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgc29ja2V0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBjb25zdCBzb2NrZXQgPSBzb2NrZXRzW2pdO1xuXG4gICAgICAgIGlmICh0aGlzID09PSBzb2NrZXQpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdjb25uZWN0Jywgb25Db25uZWN0KTtcbiAgICAgICAgc29ja2V0LmRlc3Ryb3koKTtcbiAgICAgIH1cblxuICAgICAgcmVzb2x2ZSh0aGlzKTtcbiAgICB9XG5cbiAgICBjb25zdCBvbkFib3J0ID0gKCkgPT4ge1xuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBzb2NrZXRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGNvbnN0IHNvY2tldCA9IHNvY2tldHNbal07XG5cbiAgICAgICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgICAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2Nvbm5lY3QnLCBvbkNvbm5lY3QpO1xuXG4gICAgICAgIHNvY2tldC5kZXN0cm95KCk7XG4gICAgICB9XG5cbiAgICAgIHJlamVjdChuZXcgQWJvcnRFcnJvcigpKTtcbiAgICB9O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGFkZHJlc3Nlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgY29uc3Qgc29ja2V0ID0gc29ja2V0c1tpXSA9IG5ldC5jb25uZWN0KHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgaG9zdDogYWRkcmVzc2VzW2ldLmFkZHJlc3MsXG4gICAgICAgIGZhbWlseTogYWRkcmVzc2VzW2ldLmZhbWlseVxuICAgICAgfSk7XG5cbiAgICAgIHNvY2tldC5vbignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgIHNvY2tldC5vbignY29ubmVjdCcsIG9uQ29ubmVjdCk7XG4gICAgfVxuXG4gICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCwgeyBvbmNlOiB0cnVlIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RJblNlcXVlbmNlKG9wdGlvbnM6IHsgaG9zdDogc3RyaW5nLCBwb3J0OiBudW1iZXIsIGxvY2FsQWRkcmVzcz86IHN0cmluZyB8IHVuZGVmaW5lZCB9LCBsb29rdXA6IExvb2t1cEZ1bmN0aW9uLCBzaWduYWw6IEFib3J0U2lnbmFsKSB7XG4gIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgIHRocm93IG5ldyBBYm9ydEVycm9yKCk7XG4gIH1cblxuICBjb25zdCBlcnJvcnM6IGFueVtdID0gW107XG4gIGNvbnN0IGFkZHJlc3NlcyA9IGF3YWl0IGxvb2t1cEFsbEFkZHJlc3NlcyhvcHRpb25zLmhvc3QsIGxvb2t1cCwgc2lnbmFsKTtcblxuICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2YgYWRkcmVzc2VzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxuZXQuU29ja2V0PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHNvY2tldCA9IG5ldC5jb25uZWN0KHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIGhvc3Q6IGFkZHJlc3MuYWRkcmVzcyxcbiAgICAgICAgICBmYW1pbHk6IGFkZHJlc3MuZmFtaWx5XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG9uQWJvcnQgPSAoKSA9PiB7XG4gICAgICAgICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgICAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignY29ubmVjdCcsIG9uQ29ubmVjdCk7XG5cbiAgICAgICAgICBzb2NrZXQuZGVzdHJveSgpO1xuXG4gICAgICAgICAgcmVqZWN0KG5ldyBBYm9ydEVycm9yKCkpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IG9uRXJyb3IgPSAoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuXG4gICAgICAgICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgICAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignY29ubmVjdCcsIG9uQ29ubmVjdCk7XG5cbiAgICAgICAgICBzb2NrZXQuZGVzdHJveSgpO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb25Db25uZWN0ID0gKCkgPT4ge1xuICAgICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuXG4gICAgICAgICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgICAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignY29ubmVjdCcsIG9uQ29ubmVjdCk7XG5cbiAgICAgICAgICByZXNvbHZlKHNvY2tldCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCwgeyBvbmNlOiB0cnVlIH0pO1xuXG4gICAgICAgIHNvY2tldC5vbignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgICAgc29ja2V0Lm9uKCdjb25uZWN0Jywgb25Db25uZWN0KTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5uYW1lID09PSAnQWJvcnRFcnJvcicpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuXG4gICAgICBlcnJvcnMucHVzaChlcnIpO1xuXG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IoZXJyb3JzLCAnQ291bGQgbm90IGNvbm5lY3QgKHNlcXVlbmNlKScpO1xufVxuXG4vKipcbiAqIExvb2sgdXAgYWxsIGFkZHJlc3NlcyBmb3IgdGhlIGdpdmVuIGhvc3RuYW1lLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9va3VwQWxsQWRkcmVzc2VzKGhvc3Q6IHN0cmluZywgbG9va3VwOiBMb29rdXBGdW5jdGlvbiwgc2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8ZG5zLkxvb2t1cEFkZHJlc3NbXT4ge1xuICBpZiAoc2lnbmFsLmFib3J0ZWQpIHtcbiAgICB0aHJvdyBuZXcgQWJvcnRFcnJvcigpO1xuICB9XG5cbiAgaWYgKG5ldC5pc0lQdjYoaG9zdCkpIHtcbiAgICByZXR1cm4gW3sgYWRkcmVzczogaG9zdCwgZmFtaWx5OiA2IH1dO1xuICB9IGVsc2UgaWYgKG5ldC5pc0lQdjQoaG9zdCkpIHtcbiAgICByZXR1cm4gW3sgYWRkcmVzczogaG9zdCwgZmFtaWx5OiA0IH1dO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxMb29rdXBBZGRyZXNzW10+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IG9uQWJvcnQgPSAoKSA9PiB7XG4gICAgICAgIHJlamVjdChuZXcgQWJvcnRFcnJvcigpKTtcbiAgICAgIH07XG5cbiAgICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuXG4gICAgICBjb25zdCBkb21haW5JbkFTQ0lJID0gdXJsLmRvbWFpblRvQVNDSUkoaG9zdCk7XG4gICAgICBsb29rdXAoZG9tYWluSW5BU0NJSSA9PT0gJycgPyBob3N0IDogZG9tYWluSW5BU0NJSSwgeyBhbGw6IHRydWUgfSwgKGVyciwgYWRkcmVzc2VzKSA9PiB7XG4gICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuXG4gICAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShhZGRyZXNzZXMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBQyxRQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBOEMsU0FBQUQsdUJBQUFJLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFJdkMsZUFBZUcsaUJBQWlCQSxDQUFDQyxPQUEwRSxFQUFFQyxNQUFzQixFQUFFQyxNQUFtQixFQUFFO0VBQy9KLElBQUlBLE1BQU0sQ0FBQ0MsT0FBTyxFQUFFO0lBQ2xCLE1BQU0sSUFBSUMsbUJBQVUsQ0FBQyxDQUFDO0VBQ3hCO0VBRUEsTUFBTUMsU0FBUyxHQUFHLE1BQU1DLGtCQUFrQixDQUFDTixPQUFPLENBQUNPLElBQUksRUFBRU4sTUFBTSxFQUFFQyxNQUFNLENBQUM7RUFFeEUsT0FBTyxNQUFNLElBQUlNLE9BQU8sQ0FBYSxDQUFDQyxPQUFPLEVBQUVDLE1BQU0sS0FBSztJQUN4RCxNQUFNQyxPQUFPLEdBQUcsSUFBSUMsS0FBSyxDQUFDUCxTQUFTLENBQUNRLE1BQU0sQ0FBQztJQUUzQyxNQUFNQyxNQUFlLEdBQUcsRUFBRTtJQUUxQixTQUFTQyxPQUFPQSxDQUFtQkMsR0FBVSxFQUFFO01BQzdDRixNQUFNLENBQUNHLElBQUksQ0FBQ0QsR0FBRyxDQUFDO01BRWhCLElBQUksQ0FBQ0UsY0FBYyxDQUFDLE9BQU8sRUFBRUgsT0FBTyxD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
@@ -1,455 +0,0 @@
1
- import { type CryptoMetadata } from './always-encrypted/types';
2
- import { type InternalConnectionOptions } from './connection';
3
- import { Collation } from './collation';
4
- export interface Parameter {
5
- type: DataType;
6
- name: string;
7
- value: unknown;
8
- output: boolean;
9
- length?: number | undefined;
10
- precision?: number | undefined;
11
- scale?: number | undefined;
12
- nullable?: boolean | undefined;
13
- forceEncrypt?: boolean | undefined;
14
- cryptoMetadata?: CryptoMetadata | undefined;
15
- encryptedVal?: Buffer | undefined;
16
- }
17
- export interface ParameterData<T = any> {
18
- length?: number | undefined;
19
- scale?: number | undefined;
20
- precision?: number | undefined;
21
- collation?: Collation | undefined;
22
- value: T;
23
- }
24
- export interface DataType {
25
- id: number;
26
- type: string;
27
- name: string;
28
- declaration(parameter: Parameter): string;
29
- generateTypeInfo(parameter: ParameterData, options: InternalConnectionOptions): Buffer;
30
- generateParameterLength(parameter: ParameterData, options: InternalConnectionOptions): Buffer;
31
- generateParameterData(parameter: ParameterData, options: InternalConnectionOptions): Generator<Buffer, void>;
32
- validate(value: any, collation: Collation | undefined, options?: InternalConnectionOptions): any;
33
- hasTableName?: boolean;
34
- resolveLength?: (parameter: Parameter) => number;
35
- resolvePrecision?: (parameter: Parameter) => number;
36
- resolveScale?: (parameter: Parameter) => number;
37
- }
38
- export declare const TYPE: {
39
- [x: number]: DataType;
40
- };
41
- /**
42
- * <table>
43
- * <thead>
44
- * <tr>
45
- * <th>Type</th>
46
- * <th>Constant</th>
47
- * <th>JavaScript</th>
48
- * <th>Result set</th>
49
- * <th>Parameter</th>
50
- * </tr>
51
- * </thead>
52
- *
53
- * <tbody>
54
- * <tr class="group-heading">
55
- * <th colspan="5">Exact numerics</th>
56
- * </tr>
57
- * <tr>
58
- * <td><code>bit</code></td>
59
- * <td><code>[[TYPES.Bit]]</code></td>
60
- * <td><code>boolean</code></td>
61
- * <td>✓</td>
62
- * <td>✓</td>
63
- * </tr>
64
- * <tr>
65
- * <td><code>tinyint</code></td>
66
- * <td><code>[[TYPES.TinyInt]]</code></td>
67
- * <td><code>number</code></td>
68
- * <td>✓</td>
69
- * <td>✓</td>
70
- * </tr>
71
- * <tr>
72
- * <td><code>smallint</code></td>
73
- * <td><code>[[TYPES.SmallInt]]</code></td>
74
- * <td><code>number</code></td>
75
- * <td>✓</td>
76
- * <td>✓</td>
77
- * </tr>
78
- * <tr>
79
- * <td><code>int</code></td>
80
- * <td><code>[[TYPES.Int]]</code></td>
81
- * <td><code>number</code></td>
82
- * <td>✓</td>
83
- * <td>✓</td>
84
- * </tr>
85
- * <tr>
86
- * <td><code>bigint</code><sup>1</sup></td>
87
- * <td><code>[[TYPES.BigInt]]</code></td>
88
- * <td><code>string</code></td>
89
- * <td>✓</td>
90
- * <td>✓</td>
91
- * </tr>
92
- * <tr>
93
- * <td><code>numeric</code><sup>2</sup></td>
94
- * <td><code>[[TYPES.Numeric]]</code></td>
95
- * <td><code>number</code></td>
96
- * <td>✓</td>
97
- * <td>✓</td>
98
- * </tr>
99
- * <tr>
100
- * <td><code>decimal</code><sup>2</sup></td>
101
- * <td><code>[[TYPES.Decimal]]</code></td>
102
- * <td><code>number</code></td>
103
- * <td>✓</td>
104
- * <td>✓</td>
105
- * </tr>
106
- * <tr>
107
- * <td><code>smallmoney</code></td>
108
- * <td><code>[[TYPES.SmallMoney]]</code></td>
109
- * <td><code>number</code></td>
110
- * <td>✓</td>
111
- * <td>✓</td>
112
- * </tr>
113
- * <tr>
114
- * <td><code>money</code></td>
115
- * <td><code>[[TYPES.Money]]</code></td>
116
- * <td><code>number</code></td>
117
- * <td>✓</td>
118
- * <td>✓</td>
119
- * </tr>
120
- * </tbody>
121
- *
122
- * <tbody>
123
- * <tr class="group-heading">
124
- * <th colspan="5">Approximate numerics</th>
125
- * </tr>
126
- * <tr>
127
- * <td><code>float</code></td>
128
- * <td><code>[[TYPES.Float]]</code></td>
129
- * <td><code>number</code></td>
130
- * <td>✓</td>
131
- * <td>✓</td>
132
- * </tr>
133
- * <tr>
134
- * <td><code>real</code></td>
135
- * <td><code>[[TYPES.Real]]</code></td>
136
- * <td><code>number</code></td>
137
- * <td>✓</td>
138
- * <td>✓</td>
139
- * </tr>
140
- * </tbody>
141
- *
142
- * <tbody>
143
- * <tr class="group-heading">
144
- * <th colspan="4">Date and Time</th>
145
- * </tr>
146
- * <tr>
147
- * <td><code>smalldatetime</code></td>
148
- * <td><code>[[TYPES.SmallDateTime]]</code></td>
149
- * <td><code>Date</code></td>
150
- * <td>✓</td>
151
- * <td>✓</td>
152
- * </tr>
153
- * <tr>
154
- * <td><code>datetime</code></td>
155
- * <td><code>[[TYPES.DateTime]]</code></td>
156
- * <td><code>Date</code></td>
157
- * <td>✓</td>
158
- * <td>✓</td>
159
- * </tr>
160
- * <tr>
161
- * <td><code>datetime2</code></td>
162
- * <td><code>[[TYPES.DateTime2]]</code></td>
163
- * <td><code>Date</code></td>
164
- * <td>✓</td>
165
- * <td>✓</td>
166
- * </tr>
167
- * <tr>
168
- * <td><code>datetimeoffset</code></td>
169
- * <td><code>[[TYPES.DateTimeOffset]]</code></td>
170
- * <td><code>Date</code></td>
171
- * <td>✓</td>
172
- * <td>✓</td>
173
- * </tr>
174
- * <tr>
175
- * <td><code>time</code></td>
176
- * <td><code>[[TYPES.Time]]</code></td>
177
- * <td><code>Date</code></td>
178
- * <td>✓</td>
179
- * <td>✓</td>
180
- * </tr>
181
- * <tr>
182
- * <td><code>date</code></td>
183
- * <td><code>[[TYPES.Date]]</code></td>
184
- * <td><code>Date</code></td>
185
- * <td>✓</td>
186
- * <td>✓</td>
187
- * </tr>
188
- * </tbody>
189
- *
190
- * <tbody>
191
- * <tr class="group-heading">
192
- * <th colspan="4">Character Strings</th>
193
- * </tr>
194
- * <tr>
195
- * <td><code>char</code></td>
196
- * <td><code>[[TYPES.Char]]</code></td>
197
- * <td><code>string</code></td>
198
- * <td>✓</td>
199
- * <td>✓</td>
200
- * </tr>
201
- * <tr>
202
- * <td><code>varchar</code><sup>3</sup></td>
203
- * <td><code>[[TYPES.VarChar]]</code></td>
204
- * <td><code>string</code></td>
205
- * <td>✓</td>
206
- * <td>✓</td>
207
- * </tr>
208
- * <tr>
209
- * <td><code>text</code></td>
210
- * <td><code>[[TYPES.Text]]</code></td>
211
- * <td><code>string</code></td>
212
- * <td>✓</td>
213
- * <td>✓</td>
214
- * </tr>
215
- * </tbody>
216
- *
217
- * <tbody>
218
- * <tr class="group-heading">
219
- * <th colspan="4">Unicode Strings</th>
220
- * </tr>
221
- * <tr>
222
- * <td><code>nchar</code></td>
223
- * <td><code>[[TYPES.NChar]]</code></td>
224
- * <td><code>string</code></td>
225
- * <td>✓</td>
226
- * <td>✓</td>
227
- * </tr>
228
- * <tr>
229
- * <td><code>nvarchar</code><sup>3</sup></td>
230
- * <td><code>[[TYPES.NVarChar]]</code></td>
231
- * <td><code>string</code></td>
232
- * <td>✓</td>
233
- * <td>✓</td>
234
- * </tr>
235
- * <tr>
236
- * <td><code>ntext</code></td>
237
- * <td><code>[[TYPES.NText]]</code></td>
238
- * <td><code>string</code></td>
239
- * <td>✓</td>
240
- * <td>-</td>
241
- * </tr>
242
- * </tbody>
243
- *
244
- * <tbody>
245
- * <tr class="group-heading">
246
- * <th colspan="5">Binary Strings<sup>4</sup></th>
247
- * </tr>
248
- * <tr>
249
- * <td><code>binary</code></td>
250
- * <td><code>[[TYPES.Binary]]</code></td>
251
- * <td><code>Buffer</code></td>
252
- * <td>✓</td>
253
- * <td>✓</td>
254
- * </tr>
255
- * <tr>
256
- * <td><code>varbinary</code></td>
257
- * <td><code>[[TYPES.VarBinary]]</code></td>
258
- * <td><code>Buffer</code></td>
259
- * <td>✓</td>
260
- * <td>✓</td>
261
- * </tr>
262
- * <tr>
263
- * <td><code>image</code></td>
264
- * <td><code>[[TYPES.Image]]</code></td>
265
- * <td><code>Buffer</code></td>
266
- * <td>✓</td>
267
- * <td>✓</td>
268
- * </tr>
269
- * </tbody>
270
- *
271
- * <tbody>
272
- * <tr class="group-heading">
273
- * <th colspan="5">Other Data Types</th>
274
- * </tr>
275
- * <tr>
276
- * <td><code>TVP</code></td>
277
- * <td><code>[[TYPES.TVP]]</code></td>
278
- * <td><code>Object</code></td>
279
- * <td>-</td>
280
- * <td>✓</td>
281
- * </tr>
282
- * <tr>
283
- * <td><code>UDT</code></td>
284
- * <td><code>[[TYPES.UDT]]</code></td>
285
- * <td><code>Buffer</code></td>
286
- * <td>✓</td>
287
- * <td>-</td>
288
- * </tr>
289
- * <tr>
290
- * <td><code>uniqueidentifier</code><sup>4</sup></td>
291
- * <td><code>[[TYPES.UniqueIdentifier]]</code></td>
292
- * <td><code>string</code></td>
293
- * <td>✓</td>
294
- * <td>✓</td>
295
- * </tr>
296
- * <tr>
297
- * <td><code>variant</code></td>
298
- * <td><code>[[TYPES.Variant]]</code></td>
299
- * <td><code>any</code></td>
300
- * <td>✓</td>
301
- * <td>-</td>
302
- * </tr>
303
- * <tr>
304
- * <td><code>xml</code></td>
305
- * <td><code>[[TYPES.Xml]]</code></td>
306
- * <td><code>string</code></td>
307
- * <td>✓</td>
308
- * <td>-</td>
309
- * </tr>
310
- * </tbody>
311
- * </table>
312
- *
313
- * <ol>
314
- * <li>
315
- * <h4>BigInt</h4>
316
- * <p>
317
- * Values are returned as a string. This is because values can exceed 53 bits of significant data, which is greater than a
318
- * Javascript <code>number</code> type can represent as an integer.
319
- * </p>
320
- * </li>
321
- * <li>
322
- * <h4>Numerical, Decimal</h4>
323
- * <p>
324
- * For input parameters, default precision is 18 and default scale is 0. Maximum supported precision is 19.
325
- * </p>
326
- * </li>
327
- * <li>
328
- * <h4>VarChar, NVarChar</h4>
329
- * <p>
330
- * <code>varchar(max)</code> and <code>nvarchar(max)</code> are also supported.
331
- * </p>
332
- * </li>
333
- * <li>
334
- * <h4>UniqueIdentifier</h4>
335
- * <p>
336
- * Values are returned as a 16 byte hexadecimal string.
337
- * </p>
338
- * <p>
339
- * Note that the order of bytes is not the same as the character representation. See
340
- * <a href="http://msdn.microsoft.com/en-us/library/ms190215.aspx">Using uniqueidentifier Data</a>
341
- * for an example of the different ordering of bytes.
342
- * </p>
343
- * </li>
344
- * </ol>
345
- */
346
- export declare const TYPES: {
347
- TinyInt: DataType;
348
- Bit: DataType;
349
- SmallInt: DataType;
350
- Int: DataType;
351
- SmallDateTime: DataType;
352
- Real: DataType;
353
- Money: DataType;
354
- DateTime: DataType;
355
- Float: DataType;
356
- Decimal: DataType & {
357
- resolvePrecision: NonNullable<DataType["resolvePrecision"]>;
358
- resolveScale: NonNullable<DataType["resolveScale"]>;
359
- };
360
- Numeric: DataType & {
361
- resolveScale: NonNullable<DataType["resolveScale"]>;
362
- resolvePrecision: NonNullable<DataType["resolvePrecision"]>;
363
- };
364
- SmallMoney: DataType;
365
- BigInt: DataType;
366
- Image: DataType;
367
- Text: DataType;
368
- UniqueIdentifier: DataType;
369
- NText: DataType;
370
- VarBinary: {
371
- maximumLength: number;
372
- } & DataType;
373
- VarChar: {
374
- maximumLength: number;
375
- } & DataType;
376
- Binary: {
377
- maximumLength: number;
378
- } & DataType;
379
- Char: {
380
- maximumLength: number;
381
- } & DataType;
382
- NVarChar: {
383
- maximumLength: number;
384
- } & DataType;
385
- NChar: DataType & {
386
- maximumLength: number;
387
- };
388
- Xml: DataType;
389
- Time: DataType;
390
- Date: DataType;
391
- DateTime2: DataType & {
392
- resolveScale: NonNullable<DataType["resolveScale"]>;
393
- };
394
- DateTimeOffset: DataType & {
395
- resolveScale: NonNullable<DataType["resolveScale"]>;
396
- };
397
- UDT: DataType;
398
- TVP: DataType;
399
- Variant: DataType;
400
- };
401
- export declare const typeByName: {
402
- TinyInt: DataType;
403
- Bit: DataType;
404
- SmallInt: DataType;
405
- Int: DataType;
406
- SmallDateTime: DataType;
407
- Real: DataType;
408
- Money: DataType;
409
- DateTime: DataType;
410
- Float: DataType;
411
- Decimal: DataType & {
412
- resolvePrecision: NonNullable<DataType["resolvePrecision"]>;
413
- resolveScale: NonNullable<DataType["resolveScale"]>;
414
- };
415
- Numeric: DataType & {
416
- resolveScale: NonNullable<DataType["resolveScale"]>;
417
- resolvePrecision: NonNullable<DataType["resolvePrecision"]>;
418
- };
419
- SmallMoney: DataType;
420
- BigInt: DataType;
421
- Image: DataType;
422
- Text: DataType;
423
- UniqueIdentifier: DataType;
424
- NText: DataType;
425
- VarBinary: {
426
- maximumLength: number;
427
- } & DataType;
428
- VarChar: {
429
- maximumLength: number;
430
- } & DataType;
431
- Binary: {
432
- maximumLength: number;
433
- } & DataType;
434
- Char: {
435
- maximumLength: number;
436
- } & DataType;
437
- NVarChar: {
438
- maximumLength: number;
439
- } & DataType;
440
- NChar: DataType & {
441
- maximumLength: number;
442
- };
443
- Xml: DataType;
444
- Time: DataType;
445
- Date: DataType;
446
- DateTime2: DataType & {
447
- resolveScale: NonNullable<DataType["resolveScale"]>;
448
- };
449
- DateTimeOffset: DataType & {
450
- resolveScale: NonNullable<DataType["resolveScale"]>;
451
- };
452
- UDT: DataType;
453
- TVP: DataType;
454
- Variant: DataType;
455
- };