plugin-data-source-mssql 2.0.0 → 2.0.1

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 (408) hide show
  1. package/README.md +31 -10
  2. package/dist/node_modules/tedious/245.index.js +741 -0
  3. package/dist/node_modules/tedious/LICENSE +21 -0
  4. package/dist/node_modules/tedious/appveyor.yml +67 -0
  5. package/dist/node_modules/tedious/benchmarks/bulk-load/iterable.js +61 -0
  6. package/dist/node_modules/tedious/benchmarks/common.js +287 -0
  7. package/dist/node_modules/tedious/benchmarks/connection/open.js +26 -0
  8. package/dist/node_modules/tedious/benchmarks/package-lock.json +21173 -0
  9. package/dist/node_modules/tedious/benchmarks/package.json +11 -0
  10. package/dist/node_modules/tedious/benchmarks/query/call-tvp.js +105 -0
  11. package/dist/node_modules/tedious/benchmarks/query/insert-varbinary.js +46 -0
  12. package/dist/node_modules/tedious/benchmarks/query/select-many-rows.js +63 -0
  13. package/dist/node_modules/tedious/benchmarks/query/select-nvarchar.js +50 -0
  14. package/dist/node_modules/tedious/benchmarks/query/select-varbinary.js +50 -0
  15. package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-tvp.js +45 -0
  16. package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-varbinary.js +37 -0
  17. package/dist/node_modules/tedious/benchmarks/token-parser/colmetadata-token.js +27 -0
  18. package/dist/node_modules/tedious/benchmarks/token-parser/done-token.js +28 -0
  19. package/dist/node_modules/tedious/benchmarks/token-parser/simple-tokens.js +363 -0
  20. package/dist/node_modules/tedious/lib/all-headers.d.ts +2 -0
  21. package/dist/node_modules/tedious/lib/all-headers.js +24 -0
  22. package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +82 -0
  23. package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +55 -0
  24. package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.d.ts +11 -0
  25. package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.js +42 -0
  26. package/dist/node_modules/tedious/lib/always-encrypted/get-parameter-encryption-metadata.js +90 -0
  27. package/dist/node_modules/tedious/lib/always-encrypted/key-crypto.js +94 -0
  28. package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.d.ts +21 -0
  29. package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.js +247 -0
  30. package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key-cache.js +36 -0
  31. package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key.js +25 -0
  32. package/dist/node_modules/tedious/lib/always-encrypted/types.d.ts +73 -0
  33. package/dist/node_modules/tedious/lib/always-encrypted/types.js +48 -0
  34. package/dist/node_modules/tedious/lib/always-encrypted/utils.js +23 -0
  35. package/dist/node_modules/tedious/lib/bulk-load-payload.d.ts +8 -0
  36. package/dist/node_modules/tedious/lib/bulk-load-payload.js +23 -0
  37. package/dist/node_modules/tedious/lib/bulk-load.d.ts +275 -0
  38. package/dist/node_modules/tedious/lib/bulk-load.js +516 -0
  39. package/dist/node_modules/tedious/lib/collation.d.ts +28 -0
  40. package/dist/node_modules/tedious/lib/collation.js +348 -0
  41. package/dist/node_modules/tedious/lib/connection.d.ts +1310 -0
  42. package/dist/node_modules/tedious/lib/connection.js +2730 -0
  43. package/dist/node_modules/tedious/lib/connector.d.ts +18 -0
  44. package/dist/node_modules/tedious/lib/connector.js +150 -0
  45. package/dist/node_modules/tedious/lib/data-type.d.ts +455 -0
  46. package/dist/node_modules/tedious/lib/data-type.js +428 -0
  47. package/dist/node_modules/tedious/lib/data-types/bigint.d.ts +3 -0
  48. package/dist/node_modules/tedious/lib/data-types/bigint.js +53 -0
  49. package/dist/node_modules/tedious/lib/data-types/binary.d.ts +5 -0
  50. package/dist/node_modules/tedious/lib/data-types/binary.js +67 -0
  51. package/dist/node_modules/tedious/lib/data-types/bit.d.ts +3 -0
  52. package/dist/node_modules/tedious/lib/data-types/bit.js +46 -0
  53. package/dist/node_modules/tedious/lib/data-types/bitn.d.ts +3 -0
  54. package/dist/node_modules/tedious/lib/data-types/bitn.js +29 -0
  55. package/dist/node_modules/tedious/lib/data-types/char.d.ts +5 -0
  56. package/dist/node_modules/tedious/lib/data-types/char.js +86 -0
  57. package/dist/node_modules/tedious/lib/data-types/date.d.ts +3 -0
  58. package/dist/node_modules/tedious/lib/data-types/date.js +72 -0
  59. package/dist/node_modules/tedious/lib/data-types/datetime.d.ts +3 -0
  60. package/dist/node_modules/tedious/lib/data-types/datetime.js +93 -0
  61. package/dist/node_modules/tedious/lib/data-types/datetime2.d.ts +5 -0
  62. package/dist/node_modules/tedious/lib/data-types/datetime2.js +118 -0
  63. package/dist/node_modules/tedious/lib/data-types/datetimen.d.ts +3 -0
  64. package/dist/node_modules/tedious/lib/data-types/datetimen.js +29 -0
  65. package/dist/node_modules/tedious/lib/data-types/datetimeoffset.d.ts +5 -0
  66. package/dist/node_modules/tedious/lib/data-types/datetimeoffset.js +111 -0
  67. package/dist/node_modules/tedious/lib/data-types/decimal.d.ts +6 -0
  68. package/dist/node_modules/tedious/lib/data-types/decimal.js +107 -0
  69. package/dist/node_modules/tedious/lib/data-types/decimaln.d.ts +3 -0
  70. package/dist/node_modules/tedious/lib/data-types/decimaln.js +29 -0
  71. package/dist/node_modules/tedious/lib/data-types/float.d.ts +3 -0
  72. package/dist/node_modules/tedious/lib/data-types/float.js +47 -0
  73. package/dist/node_modules/tedious/lib/data-types/floatn.d.ts +3 -0
  74. package/dist/node_modules/tedious/lib/data-types/floatn.js +29 -0
  75. package/dist/node_modules/tedious/lib/data-types/image.d.ts +3 -0
  76. package/dist/node_modules/tedious/lib/data-types/image.js +56 -0
  77. package/dist/node_modules/tedious/lib/data-types/int.d.ts +3 -0
  78. package/dist/node_modules/tedious/lib/data-types/int.js +53 -0
  79. package/dist/node_modules/tedious/lib/data-types/intn.d.ts +3 -0
  80. package/dist/node_modules/tedious/lib/data-types/intn.js +29 -0
  81. package/dist/node_modules/tedious/lib/data-types/money.d.ts +3 -0
  82. package/dist/node_modules/tedious/lib/data-types/money.js +59 -0
  83. package/dist/node_modules/tedious/lib/data-types/moneyn.d.ts +3 -0
  84. package/dist/node_modules/tedious/lib/data-types/moneyn.js +29 -0
  85. package/dist/node_modules/tedious/lib/data-types/nchar.d.ts +5 -0
  86. package/dist/node_modules/tedious/lib/data-types/nchar.js +100 -0
  87. package/dist/node_modules/tedious/lib/data-types/ntext.d.ts +3 -0
  88. package/dist/node_modules/tedious/lib/data-types/ntext.js +60 -0
  89. package/dist/node_modules/tedious/lib/data-types/null.d.ts +3 -0
  90. package/dist/node_modules/tedious/lib/data-types/null.js +29 -0
  91. package/dist/node_modules/tedious/lib/data-types/numeric.d.ts +6 -0
  92. package/dist/node_modules/tedious/lib/data-types/numeric.js +106 -0
  93. package/dist/node_modules/tedious/lib/data-types/numericn.d.ts +3 -0
  94. package/dist/node_modules/tedious/lib/data-types/numericn.js +29 -0
  95. package/dist/node_modules/tedious/lib/data-types/nvarchar.d.ts +5 -0
  96. package/dist/node_modules/tedious/lib/data-types/nvarchar.js +133 -0
  97. package/dist/node_modules/tedious/lib/data-types/real.d.ts +3 -0
  98. package/dist/node_modules/tedious/lib/data-types/real.js +48 -0
  99. package/dist/node_modules/tedious/lib/data-types/smalldatetime.d.ts +3 -0
  100. package/dist/node_modules/tedious/lib/data-types/smalldatetime.js +83 -0
  101. package/dist/node_modules/tedious/lib/data-types/smallint.d.ts +3 -0
  102. package/dist/node_modules/tedious/lib/data-types/smallint.js +53 -0
  103. package/dist/node_modules/tedious/lib/data-types/smallmoney.d.ts +3 -0
  104. package/dist/node_modules/tedious/lib/data-types/smallmoney.js +51 -0
  105. package/dist/node_modules/tedious/lib/data-types/sql-variant.d.ts +3 -0
  106. package/dist/node_modules/tedious/lib/data-types/sql-variant.js +29 -0
  107. package/dist/node_modules/tedious/lib/data-types/text.d.ts +3 -0
  108. package/dist/node_modules/tedious/lib/data-types/text.js +69 -0
  109. package/dist/node_modules/tedious/lib/data-types/time.d.ts +3 -0
  110. package/dist/node_modules/tedious/lib/data-types/time.js +96 -0
  111. package/dist/node_modules/tedious/lib/data-types/tinyint.d.ts +3 -0
  112. package/dist/node_modules/tedious/lib/data-types/tinyint.js +53 -0
  113. package/dist/node_modules/tedious/lib/data-types/tvp.d.ts +3 -0
  114. package/dist/node_modules/tedious/lib/data-types/tvp.js +117 -0
  115. package/dist/node_modules/tedious/lib/data-types/udt.d.ts +3 -0
  116. package/dist/node_modules/tedious/lib/data-types/udt.js +29 -0
  117. package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.d.ts +3 -0
  118. package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.js +50 -0
  119. package/dist/node_modules/tedious/lib/data-types/varbinary.d.ts +5 -0
  120. package/dist/node_modules/tedious/lib/data-types/varbinary.js +119 -0
  121. package/dist/node_modules/tedious/lib/data-types/varchar.d.ts +5 -0
  122. package/dist/node_modules/tedious/lib/data-types/varchar.js +112 -0
  123. package/dist/node_modules/tedious/lib/data-types/xml.d.ts +3 -0
  124. package/dist/node_modules/tedious/lib/data-types/xml.js +29 -0
  125. package/dist/node_modules/tedious/lib/debug.d.ts +25 -0
  126. package/dist/node_modules/tedious/lib/debug.js +67 -0
  127. package/dist/node_modules/tedious/lib/errors/abort-error.d.ts +4 -0
  128. package/dist/node_modules/tedious/lib/errors/abort-error.js +15 -0
  129. package/dist/node_modules/tedious/lib/errors/timeout-error.d.ts +4 -0
  130. package/dist/node_modules/tedious/lib/errors/timeout-error.js +15 -0
  131. package/dist/node_modules/tedious/lib/errors.d.ts +17 -0
  132. package/dist/node_modules/tedious/lib/errors.js +23 -0
  133. package/dist/node_modules/tedious/lib/guid-parser.d.ts +3 -0
  134. package/dist/node_modules/tedious/lib/guid-parser.js +30 -0
  135. package/dist/node_modules/tedious/lib/incoming-message-stream.d.ts +19 -0
  136. package/dist/node_modules/tedious/lib/incoming-message-stream.js +97 -0
  137. package/dist/node_modules/tedious/lib/instance-lookup.d.ts +13 -0
  138. package/dist/node_modules/tedious/lib/instance-lookup.js +96 -0
  139. package/dist/node_modules/tedious/lib/library.d.ts +1 -0
  140. package/dist/node_modules/tedious/lib/library.js +8 -0
  141. package/dist/node_modules/tedious/lib/login7-payload.d.ts +51 -0
  142. package/dist/node_modules/tedious/lib/login7-payload.js +402 -0
  143. package/dist/node_modules/tedious/lib/message-io.d.ts +28 -0
  144. package/dist/node_modules/tedious/lib/message-io.js +153 -0
  145. package/dist/node_modules/tedious/lib/message.d.ts +11 -0
  146. package/dist/node_modules/tedious/lib/message.js +21 -0
  147. package/dist/node_modules/tedious/lib/metadata-parser.d.ts +48 -0
  148. package/dist/node_modules/tedious/lib/metadata-parser.js +380 -0
  149. package/dist/node_modules/tedious/lib/ntlm-payload.d.ts +23 -0
  150. package/dist/node_modules/tedious/lib/ntlm-payload.js +136 -0
  151. package/dist/node_modules/tedious/lib/ntlm.d.ts +4 -0
  152. package/dist/node_modules/tedious/lib/ntlm.js +72 -0
  153. package/dist/node_modules/tedious/lib/outgoing-message-stream.d.ts +15 -0
  154. package/dist/node_modules/tedious/lib/outgoing-message-stream.js +81 -0
  155. package/dist/node_modules/tedious/lib/packet.d.ts +33 -0
  156. package/dist/node_modules/tedious/lib/packet.js +191 -0
  157. package/dist/node_modules/tedious/lib/prelogin-payload.d.ts +61 -0
  158. package/dist/node_modules/tedious/lib/prelogin-payload.js +209 -0
  159. package/dist/node_modules/tedious/lib/request.d.ts +370 -0
  160. package/dist/node_modules/tedious/lib/request.js +387 -0
  161. package/dist/node_modules/tedious/lib/rpcrequest-payload.d.ts +16 -0
  162. package/dist/node_modules/tedious/lib/rpcrequest-payload.js +109 -0
  163. package/dist/node_modules/tedious/lib/sender.d.ts +5 -0
  164. package/dist/node_modules/tedious/lib/sender.js +83 -0
  165. package/dist/node_modules/tedious/lib/special-stored-procedure.d.ts +18 -0
  166. package/dist/node_modules/tedious/lib/special-stored-procedure.js +26 -0
  167. package/dist/node_modules/tedious/lib/sqlbatch-payload.d.ts +13 -0
  168. package/dist/node_modules/tedious/lib/sqlbatch-payload.js +34 -0
  169. package/dist/node_modules/tedious/lib/tds-versions.d.ts +6 -0
  170. package/dist/node_modules/tedious/lib/tds-versions.js +19 -0
  171. package/dist/node_modules/tedious/lib/tedious.d.ts +13 -0
  172. package/dist/node_modules/tedious/lib/tedious.js +249 -0
  173. package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.d.ts +12 -0
  174. package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.js +124 -0
  175. package/dist/node_modules/tedious/lib/token/done-token-parser.d.ts +6 -0
  176. package/dist/node_modules/tedious/lib/token/done-token-parser.js +76 -0
  177. package/dist/node_modules/tedious/lib/token/env-change-token-parser.d.ts +5 -0
  178. package/dist/node_modules/tedious/lib/token/env-change-token-parser.js +190 -0
  179. package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.d.ts +5 -0
  180. package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.js +52 -0
  181. package/dist/node_modules/tedious/lib/token/fedauth-info-parser.d.ts +5 -0
  182. package/dist/node_modules/tedious/lib/token/fedauth-info-parser.js +62 -0
  183. package/dist/node_modules/tedious/lib/token/handler.d.ts +135 -0
  184. package/dist/node_modules/tedious/lib/token/handler.js +444 -0
  185. package/dist/node_modules/tedious/lib/token/helpers.d.ts +28 -0
  186. package/dist/node_modules/tedious/lib/token/helpers.js +205 -0
  187. package/dist/node_modules/tedious/lib/token/infoerror-token-parser.d.ts +5 -0
  188. package/dist/node_modules/tedious/lib/token/infoerror-token-parser.js +80 -0
  189. package/dist/node_modules/tedious/lib/token/loginack-token-parser.d.ts +5 -0
  190. package/dist/node_modules/tedious/lib/token/loginack-token-parser.js +75 -0
  191. package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.d.ts +4 -0
  192. package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.js +104 -0
  193. package/dist/node_modules/tedious/lib/token/order-token-parser.d.ts +5 -0
  194. package/dist/node_modules/tedious/lib/token/order-token-parser.js +34 -0
  195. package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.d.ts +5 -0
  196. package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.js +21 -0
  197. package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.d.ts +4 -0
  198. package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.js +94 -0
  199. package/dist/node_modules/tedious/lib/token/row-token-parser.d.ts +4 -0
  200. package/dist/node_modules/tedious/lib/token/row-token-parser.js +77 -0
  201. package/dist/node_modules/tedious/lib/token/sspi-token-parser.d.ts +5 -0
  202. package/dist/node_modules/tedious/lib/token/sspi-token-parser.js +42 -0
  203. package/dist/node_modules/tedious/lib/token/stream-parser.d.ts +34 -0
  204. package/dist/node_modules/tedious/lib/token/stream-parser.js +341 -0
  205. package/dist/node_modules/tedious/lib/token/token-stream-parser.d.ts +15 -0
  206. package/dist/node_modules/tedious/lib/token/token-stream-parser.js +36 -0
  207. package/dist/node_modules/tedious/lib/token/token.d.ts +312 -0
  208. package/dist/node_modules/tedious/lib/token/token.js +328 -0
  209. package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.d.ts +47 -0
  210. package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.js +249 -0
  211. package/dist/node_modules/tedious/lib/transaction.d.ts +39 -0
  212. package/dist/node_modules/tedious/lib/transaction.js +137 -0
  213. package/dist/node_modules/tedious/lib/transient-error-lookup.d.ts +3 -0
  214. package/dist/node_modules/tedious/lib/transient-error-lookup.js +19 -0
  215. package/dist/node_modules/tedious/lib/utils/with-timeout.d.ts +7 -0
  216. package/dist/node_modules/tedious/lib/utils/with-timeout.js +36 -0
  217. package/dist/node_modules/tedious/lib/value-parser.d.ts +7 -0
  218. package/dist/node_modules/tedious/lib/value-parser.js +813 -0
  219. package/dist/node_modules/tedious/node_modules/@types/node/assert/strict.d.ts +105 -0
  220. package/dist/node_modules/tedious/node_modules/@types/node/assert.d.ts +955 -0
  221. package/dist/node_modules/tedious/node_modules/@types/node/async_hooks.d.ts +623 -0
  222. package/dist/node_modules/tedious/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  223. package/dist/node_modules/tedious/node_modules/@types/node/buffer.d.ts +1810 -0
  224. package/dist/node_modules/tedious/node_modules/@types/node/child_process.d.ts +1428 -0
  225. package/dist/node_modules/tedious/node_modules/@types/node/cluster.d.ts +486 -0
  226. package/dist/node_modules/tedious/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  227. package/dist/node_modules/tedious/node_modules/@types/node/console.d.ts +151 -0
  228. package/dist/node_modules/tedious/node_modules/@types/node/constants.d.ts +20 -0
  229. package/dist/node_modules/tedious/node_modules/@types/node/crypto.d.ts +4065 -0
  230. package/dist/node_modules/tedious/node_modules/@types/node/dgram.d.ts +564 -0
  231. package/dist/node_modules/tedious/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  232. package/dist/node_modules/tedious/node_modules/@types/node/dns/promises.d.ts +503 -0
  233. package/dist/node_modules/tedious/node_modules/@types/node/dns.d.ts +922 -0
  234. package/dist/node_modules/tedious/node_modules/@types/node/domain.d.ts +166 -0
  235. package/dist/node_modules/tedious/node_modules/@types/node/events.d.ts +1054 -0
  236. package/dist/node_modules/tedious/node_modules/@types/node/fs/promises.d.ts +1329 -0
  237. package/dist/node_modules/tedious/node_modules/@types/node/fs.d.ts +4676 -0
  238. package/dist/node_modules/tedious/node_modules/@types/node/globals.d.ts +150 -0
  239. package/dist/node_modules/tedious/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  240. package/dist/node_modules/tedious/node_modules/@types/node/http.d.ts +2167 -0
  241. package/dist/node_modules/tedious/node_modules/@types/node/http2.d.ts +2480 -0
  242. package/dist/node_modules/tedious/node_modules/@types/node/https.d.ts +405 -0
  243. package/dist/node_modules/tedious/node_modules/@types/node/index.d.ts +115 -0
  244. package/dist/node_modules/tedious/node_modules/@types/node/inspector/promises.d.ts +41 -0
  245. package/dist/node_modules/tedious/node_modules/@types/node/inspector.d.ts +224 -0
  246. package/dist/node_modules/tedious/node_modules/@types/node/inspector.generated.d.ts +4226 -0
  247. package/dist/node_modules/tedious/node_modules/@types/node/module.d.ts +819 -0
  248. package/dist/node_modules/tedious/node_modules/@types/node/net.d.ts +933 -0
  249. package/dist/node_modules/tedious/node_modules/@types/node/os.d.ts +507 -0
  250. package/dist/node_modules/tedious/node_modules/@types/node/package.json +155 -0
  251. package/dist/node_modules/tedious/node_modules/@types/node/path/posix.d.ts +8 -0
  252. package/dist/node_modules/tedious/node_modules/@types/node/path/win32.d.ts +8 -0
  253. package/dist/node_modules/tedious/node_modules/@types/node/path.d.ts +187 -0
  254. package/dist/node_modules/tedious/node_modules/@types/node/perf_hooks.d.ts +643 -0
  255. package/dist/node_modules/tedious/node_modules/@types/node/process.d.ts +2161 -0
  256. package/dist/node_modules/tedious/node_modules/@types/node/punycode.d.ts +117 -0
  257. package/dist/node_modules/tedious/node_modules/@types/node/querystring.d.ts +152 -0
  258. package/dist/node_modules/tedious/node_modules/@types/node/quic.d.ts +910 -0
  259. package/dist/node_modules/tedious/node_modules/@types/node/readline/promises.d.ts +161 -0
  260. package/dist/node_modules/tedious/node_modules/@types/node/readline.d.ts +541 -0
  261. package/dist/node_modules/tedious/node_modules/@types/node/repl.d.ts +415 -0
  262. package/dist/node_modules/tedious/node_modules/@types/node/sea.d.ts +162 -0
  263. package/dist/node_modules/tedious/node_modules/@types/node/sqlite.d.ts +955 -0
  264. package/dist/node_modules/tedious/node_modules/@types/node/stream/consumers.d.ts +38 -0
  265. package/dist/node_modules/tedious/node_modules/@types/node/stream/promises.d.ts +211 -0
  266. package/dist/node_modules/tedious/node_modules/@types/node/stream/web.d.ts +296 -0
  267. package/dist/node_modules/tedious/node_modules/@types/node/stream.d.ts +1760 -0
  268. package/dist/node_modules/tedious/node_modules/@types/node/string_decoder.d.ts +67 -0
  269. package/dist/node_modules/tedious/node_modules/@types/node/test/reporters.d.ts +96 -0
  270. package/dist/node_modules/tedious/node_modules/@types/node/test.d.ts +2240 -0
  271. package/dist/node_modules/tedious/node_modules/@types/node/timers/promises.d.ts +108 -0
  272. package/dist/node_modules/tedious/node_modules/@types/node/timers.d.ts +159 -0
  273. package/dist/node_modules/tedious/node_modules/@types/node/tls.d.ts +1198 -0
  274. package/dist/node_modules/tedious/node_modules/@types/node/trace_events.d.ts +197 -0
  275. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  276. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  277. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  278. package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  279. package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  280. package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  281. package/dist/node_modules/tedious/node_modules/@types/node/tty.d.ts +250 -0
  282. package/dist/node_modules/tedious/node_modules/@types/node/url.d.ts +519 -0
  283. package/dist/node_modules/tedious/node_modules/@types/node/util/types.d.ts +558 -0
  284. package/dist/node_modules/tedious/node_modules/@types/node/util.d.ts +1662 -0
  285. package/dist/node_modules/tedious/node_modules/@types/node/v8.d.ts +983 -0
  286. package/dist/node_modules/tedious/node_modules/@types/node/vm.d.ts +1208 -0
  287. package/dist/node_modules/tedious/node_modules/@types/node/wasi.d.ts +202 -0
  288. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  289. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  290. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/console.d.ts +9 -0
  291. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  292. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  293. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  294. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/events.d.ts +106 -0
  295. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  296. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  297. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  298. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  299. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  300. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  301. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  302. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  303. package/dist/node_modules/tedious/node_modules/@types/node/web-globals/url.d.ts +24 -0
  304. package/dist/node_modules/tedious/node_modules/@types/node/worker_threads.d.ts +717 -0
  305. package/dist/node_modules/tedious/node_modules/@types/node/zlib.d.ts +618 -0
  306. package/dist/node_modules/tedious/node_modules/bl/.github/dependabot.yml +16 -0
  307. package/dist/node_modules/tedious/node_modules/bl/.github/workflows/test-and-release.yml +61 -0
  308. package/dist/node_modules/tedious/node_modules/bl/BufferList.d.ts +431 -0
  309. package/dist/node_modules/tedious/node_modules/bl/BufferList.js +421 -0
  310. package/dist/node_modules/tedious/node_modules/bl/bl.js +84 -0
  311. package/dist/node_modules/tedious/node_modules/bl/index.d.ts +88 -0
  312. package/dist/node_modules/tedious/node_modules/bl/package.json +123 -0
  313. package/dist/node_modules/tedious/node_modules/bl/test/convert.js +21 -0
  314. package/dist/node_modules/tedious/node_modules/bl/test/indexOf.js +492 -0
  315. package/dist/node_modules/tedious/node_modules/bl/test/isBufferList.js +32 -0
  316. package/dist/node_modules/tedious/node_modules/bl/test/test.js +1032 -0
  317. package/dist/node_modules/tedious/node_modules/buffer/index.d.ts +194 -0
  318. package/dist/node_modules/tedious/node_modules/buffer/index.js +2106 -0
  319. package/dist/node_modules/tedious/node_modules/buffer/package.json +93 -0
  320. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
  321. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
  322. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_readable.js +4 -0
  323. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_transform.js +4 -0
  324. package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_writable.js +4 -0
  325. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
  326. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
  327. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
  328. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
  329. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
  330. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
  331. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
  332. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
  333. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
  334. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/legacy.js +89 -0
  335. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
  336. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
  337. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
  338. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
  339. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
  340. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
  341. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
  342. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
  343. package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/validators.js +530 -0
  344. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/browser.js +35 -0
  345. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/errors.js +343 -0
  346. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/index.js +65 -0
  347. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/primordials.js +124 -0
  348. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
  349. package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util.js +148 -0
  350. package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream/promises.js +43 -0
  351. package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream.js +143 -0
  352. package/dist/node_modules/tedious/node_modules/readable-stream/package.json +88 -0
  353. package/dist/node_modules/tedious/node_modules/sprintf-js/dist/.gitattributes +4 -0
  354. package/dist/node_modules/tedious/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
  355. package/dist/node_modules/tedious/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
  356. package/dist/node_modules/tedious/node_modules/sprintf-js/package.json +35 -0
  357. package/dist/node_modules/tedious/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
  358. package/dist/node_modules/tedious/node_modules/sprintf-js/src/sprintf.js +231 -0
  359. package/dist/node_modules/tedious/node_modules/undici-types/agent.d.ts +32 -0
  360. package/dist/node_modules/tedious/node_modules/undici-types/api.d.ts +43 -0
  361. package/dist/node_modules/tedious/node_modules/undici-types/balanced-pool.d.ts +29 -0
  362. package/dist/node_modules/tedious/node_modules/undici-types/cache-interceptor.d.ts +172 -0
  363. package/dist/node_modules/tedious/node_modules/undici-types/cache.d.ts +36 -0
  364. package/dist/node_modules/tedious/node_modules/undici-types/client-stats.d.ts +15 -0
  365. package/dist/node_modules/tedious/node_modules/undici-types/client.d.ts +108 -0
  366. package/dist/node_modules/tedious/node_modules/undici-types/connector.d.ts +34 -0
  367. package/dist/node_modules/tedious/node_modules/undici-types/content-type.d.ts +21 -0
  368. package/dist/node_modules/tedious/node_modules/undici-types/cookies.d.ts +30 -0
  369. package/dist/node_modules/tedious/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  370. package/dist/node_modules/tedious/node_modules/undici-types/dispatcher.d.ts +276 -0
  371. package/dist/node_modules/tedious/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  372. package/dist/node_modules/tedious/node_modules/undici-types/errors.d.ts +161 -0
  373. package/dist/node_modules/tedious/node_modules/undici-types/eventsource.d.ts +66 -0
  374. package/dist/node_modules/tedious/node_modules/undici-types/fetch.d.ts +211 -0
  375. package/dist/node_modules/tedious/node_modules/undici-types/formdata.d.ts +108 -0
  376. package/dist/node_modules/tedious/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  377. package/dist/node_modules/tedious/node_modules/undici-types/global-origin.d.ts +7 -0
  378. package/dist/node_modules/tedious/node_modules/undici-types/h2c-client.d.ts +73 -0
  379. package/dist/node_modules/tedious/node_modules/undici-types/handlers.d.ts +15 -0
  380. package/dist/node_modules/tedious/node_modules/undici-types/header.d.ts +160 -0
  381. package/dist/node_modules/tedious/node_modules/undici-types/index.d.ts +80 -0
  382. package/dist/node_modules/tedious/node_modules/undici-types/interceptors.d.ts +39 -0
  383. package/dist/node_modules/tedious/node_modules/undici-types/mock-agent.d.ts +68 -0
  384. package/dist/node_modules/tedious/node_modules/undici-types/mock-call-history.d.ts +111 -0
  385. package/dist/node_modules/tedious/node_modules/undici-types/mock-client.d.ts +27 -0
  386. package/dist/node_modules/tedious/node_modules/undici-types/mock-errors.d.ts +12 -0
  387. package/dist/node_modules/tedious/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  388. package/dist/node_modules/tedious/node_modules/undici-types/mock-pool.d.ts +27 -0
  389. package/dist/node_modules/tedious/node_modules/undici-types/package.json +55 -0
  390. package/dist/node_modules/tedious/node_modules/undici-types/patch.d.ts +29 -0
  391. package/dist/node_modules/tedious/node_modules/undici-types/pool-stats.d.ts +19 -0
  392. package/dist/node_modules/tedious/node_modules/undici-types/pool.d.ts +41 -0
  393. package/dist/node_modules/tedious/node_modules/undici-types/proxy-agent.d.ts +29 -0
  394. package/dist/node_modules/tedious/node_modules/undici-types/readable.d.ts +68 -0
  395. package/dist/node_modules/tedious/node_modules/undici-types/retry-agent.d.ts +8 -0
  396. package/dist/node_modules/tedious/node_modules/undici-types/retry-handler.d.ts +125 -0
  397. package/dist/node_modules/tedious/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  398. package/dist/node_modules/tedious/node_modules/undici-types/util.d.ts +18 -0
  399. package/dist/node_modules/tedious/node_modules/undici-types/utility.d.ts +7 -0
  400. package/dist/node_modules/tedious/node_modules/undici-types/webidl.d.ts +341 -0
  401. package/dist/node_modules/tedious/node_modules/undici-types/websocket.d.ts +186 -0
  402. package/dist/node_modules/tedious/package.json +1 -0
  403. package/dist/node_modules/tedious/tsconfig.build-types.json +15 -0
  404. package/dist/node_modules/tedious/tsconfig.json +29 -0
  405. package/dist/node_modules/tedious/types/js-md4.d.ts +7 -0
  406. package/dist/node_modules/tedious/types/native-duplexpair.d.ts +12 -0
  407. package/dist/server/data-source/MssqlExternalDataSource.js +33 -2
  408. package/package.json +1 -1
@@ -0,0 +1,21 @@
1
+ 'use strict'
2
+
3
+ const tape = require('tape')
4
+ const { BufferList, BufferListStream } = require('../')
5
+ const { Buffer } = require('buffer')
6
+
7
+ tape('convert from BufferList to BufferListStream', (t) => {
8
+ const data = Buffer.from(`TEST-${Date.now()}`)
9
+ const bl = new BufferList(data)
10
+ const bls = new BufferListStream(bl)
11
+ t.ok(bl.slice().equals(bls.slice()))
12
+ t.end()
13
+ })
14
+
15
+ tape('convert from BufferListStream to BufferList', (t) => {
16
+ const data = Buffer.from(`TEST-${Date.now()}`)
17
+ const bls = new BufferListStream(data)
18
+ const bl = new BufferList(bls)
19
+ t.ok(bl.slice().equals(bls.slice()))
20
+ t.end()
21
+ })
@@ -0,0 +1,492 @@
1
+ 'use strict'
2
+
3
+ const tape = require('tape')
4
+ const BufferList = require('../')
5
+ const { Buffer } = require('buffer')
6
+
7
+ tape('indexOf single byte needle', (t) => {
8
+ const bl = new BufferList(['abcdefg', 'abcdefg', '12345'])
9
+
10
+ t.equal(bl.indexOf('e'), 4)
11
+ t.equal(bl.indexOf('e', 5), 11)
12
+ t.equal(bl.indexOf('e', 12), -1)
13
+ t.equal(bl.indexOf('5'), 18)
14
+
15
+ t.end()
16
+ })
17
+
18
+ tape('indexOf multiple byte needle', (t) => {
19
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
20
+
21
+ t.equal(bl.indexOf('ef'), 4)
22
+ t.equal(bl.indexOf('ef', 5), 11)
23
+
24
+ t.end()
25
+ })
26
+
27
+ tape('indexOf multiple byte needles across buffer boundaries', (t) => {
28
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
29
+
30
+ t.equal(bl.indexOf('fgabc'), 5)
31
+
32
+ t.end()
33
+ })
34
+
35
+ tape('indexOf takes a Uint8Array search', (t) => {
36
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
37
+ const search = new Uint8Array([102, 103, 97, 98, 99]) // fgabc
38
+
39
+ t.equal(bl.indexOf(search), 5)
40
+
41
+ t.end()
42
+ })
43
+
44
+ tape('indexOf takes a buffer list search', (t) => {
45
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
46
+ const search = new BufferList('fgabc')
47
+
48
+ t.equal(bl.indexOf(search), 5)
49
+
50
+ t.end()
51
+ })
52
+
53
+ tape('indexOf a zero byte needle', (t) => {
54
+ const b = new BufferList('abcdef')
55
+ const bufEmpty = Buffer.from('')
56
+
57
+ t.equal(b.indexOf(''), 0)
58
+ t.equal(b.indexOf('', 1), 1)
59
+ t.equal(b.indexOf('', b.length + 1), b.length)
60
+ t.equal(b.indexOf('', Infinity), b.length)
61
+ t.equal(b.indexOf(bufEmpty), 0)
62
+ t.equal(b.indexOf(bufEmpty, 1), 1)
63
+ t.equal(b.indexOf(bufEmpty, b.length + 1), b.length)
64
+ t.equal(b.indexOf(bufEmpty, Infinity), b.length)
65
+
66
+ t.end()
67
+ })
68
+
69
+ tape('indexOf buffers smaller and larger than the needle', (t) => {
70
+ const bl = new BufferList(['abcdefg', 'a', 'bcdefg', 'a', 'bcfgab'])
71
+
72
+ t.equal(bl.indexOf('fgabc'), 5)
73
+ t.equal(bl.indexOf('fgabc', 6), 12)
74
+ t.equal(bl.indexOf('fgabc', 13), -1)
75
+
76
+ t.end()
77
+ })
78
+
79
+ // only present in node 6+
80
+ ;(process.version.substr(1).split('.')[0] >= 6) && tape('indexOf latin1 and binary encoding', (t) => {
81
+ const b = new BufferList('abcdef')
82
+
83
+ // test latin1 encoding
84
+ t.equal(
85
+ new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
86
+ .indexOf('d', 0, 'latin1'),
87
+ 3
88
+ )
89
+ t.equal(
90
+ new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
91
+ .indexOf(Buffer.from('d', 'latin1'), 0, 'latin1'),
92
+ 3
93
+ )
94
+ t.equal(
95
+ new BufferList(Buffer.from('aa\u00e8aa', 'latin1'))
96
+ .indexOf('\u00e8', 'latin1'),
97
+ 2
98
+ )
99
+ t.equal(
100
+ new BufferList(Buffer.from('\u00e8', 'latin1'))
101
+ .indexOf('\u00e8', 'latin1'),
102
+ 0
103
+ )
104
+ t.equal(
105
+ new BufferList(Buffer.from('\u00e8', 'latin1'))
106
+ .indexOf(Buffer.from('\u00e8', 'latin1'), 'latin1'),
107
+ 0
108
+ )
109
+
110
+ // test binary encoding
111
+ t.equal(
112
+ new BufferList(Buffer.from(b.toString('binary'), 'binary'))
113
+ .indexOf('d', 0, 'binary'),
114
+ 3
115
+ )
116
+ t.equal(
117
+ new BufferList(Buffer.from(b.toString('binary'), 'binary'))
118
+ .indexOf(Buffer.from('d', 'binary'), 0, 'binary'),
119
+ 3
120
+ )
121
+ t.equal(
122
+ new BufferList(Buffer.from('aa\u00e8aa', 'binary'))
123
+ .indexOf('\u00e8', 'binary'),
124
+ 2
125
+ )
126
+ t.equal(
127
+ new BufferList(Buffer.from('\u00e8', 'binary'))
128
+ .indexOf('\u00e8', 'binary'),
129
+ 0
130
+ )
131
+ t.equal(
132
+ new BufferList(Buffer.from('\u00e8', 'binary'))
133
+ .indexOf(Buffer.from('\u00e8', 'binary'), 'binary'),
134
+ 0
135
+ )
136
+
137
+ t.end()
138
+ })
139
+
140
+ tape('indexOf the entire nodejs10 buffer test suite', (t) => {
141
+ const b = new BufferList('abcdef')
142
+ const bufA = Buffer.from('a')
143
+ const bufBc = Buffer.from('bc')
144
+ const bufF = Buffer.from('f')
145
+ const bufZ = Buffer.from('z')
146
+
147
+ const stringComparison = 'abcdef'
148
+
149
+ t.equal(b.indexOf('a'), 0)
150
+ t.equal(b.indexOf('a', 1), -1)
151
+ t.equal(b.indexOf('a', -1), -1)
152
+ t.equal(b.indexOf('a', -4), -1)
153
+ t.equal(b.indexOf('a', -b.length), 0)
154
+ t.equal(b.indexOf('a', NaN), 0)
155
+ t.equal(b.indexOf('a', -Infinity), 0)
156
+ t.equal(b.indexOf('a', Infinity), -1)
157
+ t.equal(b.indexOf('bc'), 1)
158
+ t.equal(b.indexOf('bc', 2), -1)
159
+ t.equal(b.indexOf('bc', -1), -1)
160
+ t.equal(b.indexOf('bc', -3), -1)
161
+ t.equal(b.indexOf('bc', -5), 1)
162
+ t.equal(b.indexOf('bc', NaN), 1)
163
+ t.equal(b.indexOf('bc', -Infinity), 1)
164
+ t.equal(b.indexOf('bc', Infinity), -1)
165
+ t.equal(b.indexOf('f'), b.length - 1)
166
+ t.equal(b.indexOf('z'), -1)
167
+
168
+ // empty search tests
169
+ t.equal(b.indexOf(bufA), 0)
170
+ t.equal(b.indexOf(bufA, 1), -1)
171
+ t.equal(b.indexOf(bufA, -1), -1)
172
+ t.equal(b.indexOf(bufA, -4), -1)
173
+ t.equal(b.indexOf(bufA, -b.length), 0)
174
+ t.equal(b.indexOf(bufA, NaN), 0)
175
+ t.equal(b.indexOf(bufA, -Infinity), 0)
176
+ t.equal(b.indexOf(bufA, Infinity), -1)
177
+ t.equal(b.indexOf(bufBc), 1)
178
+ t.equal(b.indexOf(bufBc, 2), -1)
179
+ t.equal(b.indexOf(bufBc, -1), -1)
180
+ t.equal(b.indexOf(bufBc, -3), -1)
181
+ t.equal(b.indexOf(bufBc, -5), 1)
182
+ t.equal(b.indexOf(bufBc, NaN), 1)
183
+ t.equal(b.indexOf(bufBc, -Infinity), 1)
184
+ t.equal(b.indexOf(bufBc, Infinity), -1)
185
+ t.equal(b.indexOf(bufF), b.length - 1)
186
+ t.equal(b.indexOf(bufZ), -1)
187
+ t.equal(b.indexOf(0x61), 0)
188
+ t.equal(b.indexOf(0x61, 1), -1)
189
+ t.equal(b.indexOf(0x61, -1), -1)
190
+ t.equal(b.indexOf(0x61, -4), -1)
191
+ t.equal(b.indexOf(0x61, -b.length), 0)
192
+ t.equal(b.indexOf(0x61, NaN), 0)
193
+ t.equal(b.indexOf(0x61, -Infinity), 0)
194
+ t.equal(b.indexOf(0x61, Infinity), -1)
195
+ t.equal(b.indexOf(0x0), -1)
196
+
197
+ // test offsets
198
+ t.equal(b.indexOf('d', 2), 3)
199
+ t.equal(b.indexOf('f', 5), 5)
200
+ t.equal(b.indexOf('f', -1), 5)
201
+ t.equal(b.indexOf('f', 6), -1)
202
+
203
+ t.equal(b.indexOf(Buffer.from('d'), 2), 3)
204
+ t.equal(b.indexOf(Buffer.from('f'), 5), 5)
205
+ t.equal(b.indexOf(Buffer.from('f'), -1), 5)
206
+ t.equal(b.indexOf(Buffer.from('f'), 6), -1)
207
+
208
+ t.equal(Buffer.from('ff').indexOf(Buffer.from('f'), 1, 'ucs2'), -1)
209
+
210
+ // test invalid and uppercase encoding
211
+ t.equal(b.indexOf('b', 'utf8'), 1)
212
+ t.equal(b.indexOf('b', 'UTF8'), 1)
213
+ t.equal(b.indexOf('62', 'HEX'), 1)
214
+ t.throws(() => b.indexOf('bad', 'enc'), TypeError)
215
+
216
+ // test hex encoding
217
+ t.equal(
218
+ Buffer.from(b.toString('hex'), 'hex')
219
+ .indexOf('64', 0, 'hex'),
220
+ 3
221
+ )
222
+ t.equal(
223
+ Buffer.from(b.toString('hex'), 'hex')
224
+ .indexOf(Buffer.from('64', 'hex'), 0, 'hex'),
225
+ 3
226
+ )
227
+
228
+ // test base64 encoding
229
+ t.equal(
230
+ Buffer.from(b.toString('base64'), 'base64')
231
+ .indexOf('ZA==', 0, 'base64'),
232
+ 3
233
+ )
234
+ t.equal(
235
+ Buffer.from(b.toString('base64'), 'base64')
236
+ .indexOf(Buffer.from('ZA==', 'base64'), 0, 'base64'),
237
+ 3
238
+ )
239
+
240
+ // test ascii encoding
241
+ t.equal(
242
+ Buffer.from(b.toString('ascii'), 'ascii')
243
+ .indexOf('d', 0, 'ascii'),
244
+ 3
245
+ )
246
+ t.equal(
247
+ Buffer.from(b.toString('ascii'), 'ascii')
248
+ .indexOf(Buffer.from('d', 'ascii'), 0, 'ascii'),
249
+ 3
250
+ )
251
+
252
+ // test optional offset with passed encoding
253
+ t.equal(Buffer.from('aaaa0').indexOf('30', 'hex'), 4)
254
+ t.equal(Buffer.from('aaaa00a').indexOf('3030', 'hex'), 4)
255
+
256
+ {
257
+ // test usc2 encoding
258
+ const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
259
+
260
+ t.equal(8, twoByteString.indexOf('\u0395', 4, 'ucs2'))
261
+ t.equal(6, twoByteString.indexOf('\u03a3', -4, 'ucs2'))
262
+ t.equal(4, twoByteString.indexOf('\u03a3', -6, 'ucs2'))
263
+ t.equal(4, twoByteString.indexOf(
264
+ Buffer.from('\u03a3', 'ucs2'), -6, 'ucs2'))
265
+ t.equal(-1, twoByteString.indexOf('\u03a3', -2, 'ucs2'))
266
+ }
267
+
268
+ const mixedByteStringUcs2 =
269
+ Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395', 'ucs2')
270
+
271
+ t.equal(6, mixedByteStringUcs2.indexOf('bc', 0, 'ucs2'))
272
+ t.equal(10, mixedByteStringUcs2.indexOf('\u03a3', 0, 'ucs2'))
273
+ t.equal(-1, mixedByteStringUcs2.indexOf('\u0396', 0, 'ucs2'))
274
+
275
+ t.equal(
276
+ 6, mixedByteStringUcs2.indexOf(Buffer.from('bc', 'ucs2'), 0, 'ucs2'))
277
+ t.equal(
278
+ 10, mixedByteStringUcs2.indexOf(Buffer.from('\u03a3', 'ucs2'), 0, 'ucs2'))
279
+ t.equal(
280
+ -1, mixedByteStringUcs2.indexOf(Buffer.from('\u0396', 'ucs2'), 0, 'ucs2'))
281
+
282
+ {
283
+ const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
284
+
285
+ // Test single char pattern
286
+ t.equal(0, twoByteString.indexOf('\u039a', 0, 'ucs2'))
287
+ let index = twoByteString.indexOf('\u0391', 0, 'ucs2')
288
+ t.equal(2, index, `Alpha - at index ${index}`)
289
+ index = twoByteString.indexOf('\u03a3', 0, 'ucs2')
290
+ t.equal(4, index, `First Sigma - at index ${index}`)
291
+ index = twoByteString.indexOf('\u03a3', 6, 'ucs2')
292
+ t.equal(6, index, `Second Sigma - at index ${index}`)
293
+ index = twoByteString.indexOf('\u0395', 0, 'ucs2')
294
+ t.equal(8, index, `Epsilon - at index ${index}`)
295
+ index = twoByteString.indexOf('\u0392', 0, 'ucs2')
296
+ t.equal(-1, index, `Not beta - at index ${index}`)
297
+
298
+ // Test multi-char pattern
299
+ index = twoByteString.indexOf('\u039a\u0391', 0, 'ucs2')
300
+ t.equal(0, index, `Lambda Alpha - at index ${index}`)
301
+ index = twoByteString.indexOf('\u0391\u03a3', 0, 'ucs2')
302
+ t.equal(2, index, `Alpha Sigma - at index ${index}`)
303
+ index = twoByteString.indexOf('\u03a3\u03a3', 0, 'ucs2')
304
+ t.equal(4, index, `Sigma Sigma - at index ${index}`)
305
+ index = twoByteString.indexOf('\u03a3\u0395', 0, 'ucs2')
306
+ t.equal(6, index, `Sigma Epsilon - at index ${index}`)
307
+ }
308
+
309
+ const mixedByteStringUtf8 = Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395')
310
+
311
+ t.equal(5, mixedByteStringUtf8.indexOf('bc'))
312
+ t.equal(5, mixedByteStringUtf8.indexOf('bc', 5))
313
+ t.equal(5, mixedByteStringUtf8.indexOf('bc', -8))
314
+ t.equal(7, mixedByteStringUtf8.indexOf('\u03a3'))
315
+ t.equal(-1, mixedByteStringUtf8.indexOf('\u0396'))
316
+
317
+ // Test complex string indexOf algorithms. Only trigger for long strings.
318
+ // Long string that isn't a simple repeat of a shorter string.
319
+ let longString = 'A'
320
+ for (let i = 66; i < 76; i++) { // from 'B' to 'K'
321
+ longString = longString + String.fromCharCode(i) + longString
322
+ }
323
+
324
+ const longBufferString = Buffer.from(longString)
325
+
326
+ // pattern of 15 chars, repeated every 16 chars in long
327
+ let pattern = 'ABACABADABACABA'
328
+ for (let i = 0; i < longBufferString.length - pattern.length; i += 7) {
329
+ const index = longBufferString.indexOf(pattern, i)
330
+ t.equal((i + 15) & ~0xf, index,
331
+ `Long ABACABA...-string at index ${i}`)
332
+ }
333
+
334
+ let index = longBufferString.indexOf('AJABACA')
335
+ t.equal(510, index, `Long AJABACA, First J - at index ${index}`)
336
+ index = longBufferString.indexOf('AJABACA', 511)
337
+ t.equal(1534, index, `Long AJABACA, Second J - at index ${index}`)
338
+
339
+ pattern = 'JABACABADABACABA'
340
+ index = longBufferString.indexOf(pattern)
341
+ t.equal(511, index, `Long JABACABA..., First J - at index ${index}`)
342
+ index = longBufferString.indexOf(pattern, 512)
343
+ t.equal(
344
+ 1535, index, `Long JABACABA..., Second J - at index ${index}`)
345
+
346
+ // Search for a non-ASCII string in a pure ASCII string.
347
+ const asciiString = Buffer.from(
348
+ 'somethingnotatallsinisterwhichalsoworks')
349
+ t.equal(-1, asciiString.indexOf('\x2061'))
350
+ t.equal(3, asciiString.indexOf('eth', 0))
351
+
352
+ // Search in string containing many non-ASCII chars.
353
+ const allCodePoints = []
354
+ for (let i = 0; i < 65536; i++) {
355
+ allCodePoints[i] = i
356
+ }
357
+
358
+ const allCharsString = String.fromCharCode.apply(String, allCodePoints)
359
+ const allCharsBufferUtf8 = Buffer.from(allCharsString)
360
+ const allCharsBufferUcs2 = Buffer.from(allCharsString, 'ucs2')
361
+
362
+ // Search for string long enough to trigger complex search with ASCII pattern
363
+ // and UC16 subject.
364
+ t.equal(-1, allCharsBufferUtf8.indexOf('notfound'))
365
+ t.equal(-1, allCharsBufferUcs2.indexOf('notfound'))
366
+
367
+ // Needle is longer than haystack, but only because it's encoded as UTF-16
368
+ t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'ucs2'), -1)
369
+
370
+ t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'utf8'), 0)
371
+ t.equal(Buffer.from('aaaa').indexOf('你好', 'ucs2'), -1)
372
+
373
+ // Haystack has odd length, but the needle is UCS2.
374
+ t.equal(Buffer.from('aaaaa').indexOf('b', 'ucs2'), -1)
375
+
376
+ {
377
+ // Find substrings in Utf8.
378
+ const lengths = [1, 3, 15] // Single char, simple and complex.
379
+ const indices = [0x5, 0x60, 0x400, 0x680, 0x7ee, 0xFF02, 0x16610, 0x2f77b]
380
+ for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
381
+ for (let i = 0; i < indices.length; i++) {
382
+ const index = indices[i]
383
+ let length = lengths[lengthIndex]
384
+
385
+ if (index + length > 0x7F) {
386
+ length = 2 * length
387
+ }
388
+
389
+ if (index + length > 0x7FF) {
390
+ length = 3 * length
391
+ }
392
+
393
+ if (index + length > 0xFFFF) {
394
+ length = 4 * length
395
+ }
396
+
397
+ const patternBufferUtf8 = allCharsBufferUtf8.slice(index, index + length)
398
+ t.equal(index, allCharsBufferUtf8.indexOf(patternBufferUtf8))
399
+
400
+ const patternStringUtf8 = patternBufferUtf8.toString()
401
+ t.equal(index, allCharsBufferUtf8.indexOf(patternStringUtf8))
402
+ }
403
+ }
404
+ }
405
+
406
+ {
407
+ // Find substrings in Usc2.
408
+ const lengths = [2, 4, 16] // Single char, simple and complex.
409
+ const indices = [0x5, 0x65, 0x105, 0x205, 0x285, 0x2005, 0x2085, 0xfff0]
410
+
411
+ for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
412
+ for (let i = 0; i < indices.length; i++) {
413
+ const index = indices[i] * 2
414
+ const length = lengths[lengthIndex]
415
+
416
+ const patternBufferUcs2 =
417
+ allCharsBufferUcs2.slice(index, index + length)
418
+ t.equal(
419
+ index, allCharsBufferUcs2.indexOf(patternBufferUcs2, 0, 'ucs2'))
420
+
421
+ const patternStringUcs2 = patternBufferUcs2.toString('ucs2')
422
+ t.equal(
423
+ index, allCharsBufferUcs2.indexOf(patternStringUcs2, 0, 'ucs2'))
424
+ }
425
+ }
426
+ }
427
+
428
+ [
429
+ () => {},
430
+ {},
431
+ []
432
+ ].forEach((val) => {
433
+ t.throws(() => b.indexOf(val), TypeError, `"${JSON.stringify(val)}" should throw`)
434
+ })
435
+
436
+ // Test weird offset arguments.
437
+ // The following offsets coerce to NaN or 0, searching the whole Buffer
438
+ t.equal(b.indexOf('b', undefined), 1)
439
+ t.equal(b.indexOf('b', {}), 1)
440
+ t.equal(b.indexOf('b', 0), 1)
441
+ t.equal(b.indexOf('b', null), 1)
442
+ t.equal(b.indexOf('b', []), 1)
443
+
444
+ // The following offset coerces to 2, in other words +[2] === 2
445
+ t.equal(b.indexOf('b', [2]), -1)
446
+
447
+ // Behavior should match String.indexOf()
448
+ t.equal(
449
+ b.indexOf('b', undefined),
450
+ stringComparison.indexOf('b', undefined))
451
+ t.equal(
452
+ b.indexOf('b', {}),
453
+ stringComparison.indexOf('b', {}))
454
+ t.equal(
455
+ b.indexOf('b', 0),
456
+ stringComparison.indexOf('b', 0))
457
+ t.equal(
458
+ b.indexOf('b', null),
459
+ stringComparison.indexOf('b', null))
460
+ t.equal(
461
+ b.indexOf('b', []),
462
+ stringComparison.indexOf('b', []))
463
+ t.equal(
464
+ b.indexOf('b', [2]),
465
+ stringComparison.indexOf('b', [2]))
466
+
467
+ // test truncation of Number arguments to uint8
468
+ {
469
+ const buf = Buffer.from('this is a test')
470
+
471
+ t.equal(buf.indexOf(0x6973), 3)
472
+ t.equal(buf.indexOf(0x697320), 4)
473
+ t.equal(buf.indexOf(0x69732069), 2)
474
+ t.equal(buf.indexOf(0x697374657374), 0)
475
+ t.equal(buf.indexOf(0x69737374), 0)
476
+ t.equal(buf.indexOf(0x69737465), 11)
477
+ t.equal(buf.indexOf(0x69737465), 11)
478
+ t.equal(buf.indexOf(-140), 0)
479
+ t.equal(buf.indexOf(-152), 1)
480
+ t.equal(buf.indexOf(0xff), -1)
481
+ t.equal(buf.indexOf(0xffff), -1)
482
+ }
483
+
484
+ // Test that Uint8Array arguments are okay.
485
+ {
486
+ const needle = new Uint8Array([0x66, 0x6f, 0x6f])
487
+ const haystack = new BufferList(Buffer.from('a foo b foo'))
488
+ t.equal(haystack.indexOf(needle), 2)
489
+ }
490
+
491
+ t.end()
492
+ })
@@ -0,0 +1,32 @@
1
+ 'use strict'
2
+
3
+ const tape = require('tape')
4
+ const { BufferList, BufferListStream } = require('../')
5
+ const { Buffer } = require('buffer')
6
+
7
+ tape('isBufferList positives', (t) => {
8
+ t.ok(BufferList.isBufferList(new BufferList()))
9
+ t.ok(BufferList.isBufferList(new BufferListStream()))
10
+
11
+ t.end()
12
+ })
13
+
14
+ tape('isBufferList negatives', (t) => {
15
+ const types = [
16
+ null,
17
+ undefined,
18
+ NaN,
19
+ true,
20
+ false,
21
+ {},
22
+ [],
23
+ Buffer.alloc(0),
24
+ [Buffer.alloc(0)]
25
+ ]
26
+
27
+ for (const obj of types) {
28
+ t.notOk(BufferList.isBufferList(obj))
29
+ }
30
+
31
+ t.end()
32
+ })