plugin-data-source-mssql 1.9.48 → 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 +86 -72
  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 +35 -4
  408. package/package.json +2 -2
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const MoneyN = {
8
+ id: 0x6E,
9
+ type: 'MONEYN',
10
+ name: 'MoneyN',
11
+ declaration() {
12
+ throw new Error('not implemented');
13
+ },
14
+ generateTypeInfo() {
15
+ throw new Error('not implemented');
16
+ },
17
+ generateParameterLength() {
18
+ throw new Error('not implemented');
19
+ },
20
+ generateParameterData() {
21
+ throw new Error('not implemented');
22
+ },
23
+ validate() {
24
+ throw new Error('not implemented');
25
+ }
26
+ };
27
+ var _default = exports.default = MoneyN;
28
+ module.exports = MoneyN;
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb25leU4iLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJFcnJvciIsImdlbmVyYXRlVHlwZUluZm8iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInZhbGlkYXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL21vbmV5bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTW9uZXlOOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NkUsXG4gIHR5cGU6ICdNT05FWU4nLFxuICBuYW1lOiAnTW9uZXlOJyxcblxuICBkZWNsYXJhdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vbmV5Tjtcbm1vZHVsZS5leHBvcnRzID0gTW9uZXlOO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxNQUFnQixHQUFHO0VBQ3ZCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUUsUUFBUTtFQUVkQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURDLGdCQUFnQkEsQ0FBQSxFQUFHO0lBQ2pCLE1BQU0sSUFBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREUsdUJBQXVCQSxDQUFBLEVBQUc7SUFDeEIsTUFBTSxJQUFJRixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERyxxQkFBcUJBLENBQUEsRUFBRztJQUN0QixNQUFNLElBQUlILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURJLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU0sSUFBSUosS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDO0FBQ0YsQ0FBQztBQUFDLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWFaLE1BQU07QUFDckJhLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHWCxNQUFNIn0=
@@ -0,0 +1,5 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const NChar: DataType & {
3
+ maximumLength: number;
4
+ };
5
+ export default NChar;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const NULL_LENGTH = Buffer.from([0xFF, 0xFF]);
8
+ const NChar = {
9
+ id: 0xEF,
10
+ type: 'NCHAR',
11
+ name: 'NChar',
12
+ maximumLength: 4000,
13
+ declaration: function (parameter) {
14
+ // const value = parameter.value as null | string | { toString(): string };
15
+ const value = parameter.value; // Temporary solution. Remove 'any' later.
16
+
17
+ let length;
18
+ if (parameter.length) {
19
+ length = parameter.length;
20
+ } else if (parameter.value != null) {
21
+ length = value.toString().length || 1;
22
+ } else if (parameter.value === null && !parameter.output) {
23
+ length = 1;
24
+ } else {
25
+ length = this.maximumLength;
26
+ }
27
+ if (length < this.maximumLength) {
28
+ return 'nchar(' + length + ')';
29
+ } else {
30
+ return 'nchar(' + this.maximumLength + ')';
31
+ }
32
+ },
33
+ resolveLength: function (parameter) {
34
+ // const value = parameter.value as null | string | { toString(): string };
35
+ const value = parameter.value; // Temporary solution. Remove 'any' later.
36
+
37
+ if (parameter.length != null) {
38
+ return parameter.length;
39
+ } else if (parameter.value != null) {
40
+ if (Buffer.isBuffer(parameter.value)) {
41
+ return parameter.value.length / 2 || 1;
42
+ } else {
43
+ return value.toString().length || 1;
44
+ }
45
+ } else {
46
+ return this.maximumLength;
47
+ }
48
+ },
49
+ generateTypeInfo: function (parameter) {
50
+ const buffer = Buffer.alloc(8);
51
+ buffer.writeUInt8(this.id, 0);
52
+ buffer.writeUInt16LE(parameter.length * 2, 1);
53
+ if (parameter.collation) {
54
+ parameter.collation.toBuffer().copy(buffer, 3, 0, 5);
55
+ }
56
+ return buffer;
57
+ },
58
+ generateParameterLength(parameter, options) {
59
+ if (parameter.value == null) {
60
+ return NULL_LENGTH;
61
+ }
62
+ const {
63
+ value
64
+ } = parameter;
65
+ if (value instanceof Buffer) {
66
+ const length = value.length;
67
+ const buffer = Buffer.alloc(2);
68
+ buffer.writeUInt16LE(length, 0);
69
+ return buffer;
70
+ } else {
71
+ const length = Buffer.byteLength(value.toString(), 'ucs2');
72
+ const buffer = Buffer.alloc(2);
73
+ buffer.writeUInt16LE(length, 0);
74
+ return buffer;
75
+ }
76
+ },
77
+ *generateParameterData(parameter, options) {
78
+ if (parameter.value == null) {
79
+ return;
80
+ }
81
+ const value = parameter.value;
82
+ if (value instanceof Buffer) {
83
+ yield value;
84
+ } else {
85
+ yield Buffer.from(value, 'ucs2');
86
+ }
87
+ },
88
+ validate: function (value) {
89
+ if (value == null) {
90
+ return null;
91
+ }
92
+ if (typeof value !== 'string') {
93
+ throw new TypeError('Invalid string.');
94
+ }
95
+ return value;
96
+ }
97
+ };
98
+ var _default = exports.default = NChar;
99
+ module.exports = NChar;
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOQ2hhciIsImlkIiwidHlwZSIsIm5hbWUiLCJtYXhpbXVtTGVuZ3RoIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsInRvU3RyaW5nIiwib3V0cHV0IiwicmVzb2x2ZUxlbmd0aCIsImlzQnVmZmVyIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsIndyaXRlVUludDE2TEUiLCJjb2xsYXRpb24iLCJ0b0J1ZmZlciIsImNvcHkiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJieXRlTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbmNoYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkZdKTtcblxuY29uc3QgTkNoYXI6IERhdGFUeXBlICYgeyBtYXhpbXVtTGVuZ3RoOiBudW1iZXIgfSA9IHtcbiAgaWQ6IDB4RUYsXG4gIHR5cGU6ICdOQ0hBUicsXG4gIG5hbWU6ICdOQ2hhcicsXG4gIG1heGltdW1MZW5ndGg6IDQwMDAsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIC8vIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIG51bGwgfCBzdHJpbmcgfCB7IHRvU3RyaW5nKCk6IHN0cmluZyB9O1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICBsZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlICE9IG51bGwpIHtcbiAgICAgIGxlbmd0aCA9IHZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIHx8IDE7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIudmFsdWUgPT09IG51bGwgJiYgIXBhcmFtZXRlci5vdXRwdXQpIHtcbiAgICAgIGxlbmd0aCA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxlbmd0aCA9IHRoaXMubWF4aW11bUxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAobGVuZ3RoIDwgdGhpcy5tYXhpbXVtTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ25jaGFyKCcgKyBsZW5ndGggKyAnKSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnbmNoYXIoJyArIHRoaXMubWF4aW11bUxlbmd0aCArICcpJztcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgLy8gY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgbnVsbCB8IHN0cmluZyB8IHsgdG9TdHJpbmcoKTogc3RyaW5nIH07XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlICE9IG51bGwpIHtcbiAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIocGFyYW1ldGVyLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKHBhcmFtZXRlci52YWx1ZS5sZW5ndGggLyAyKSB8fCAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIHx8IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm86IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg4KTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcbiAgICBidWZmZXIud3JpdGVVSW50MTZMRShwYXJhbWV0ZXIubGVuZ3RoISAqIDIsIDEpO1xuXG4gICAgaWYgKHBhcmFtZXRlci5jb2xsYXRpb24pIHtcbiAgICAgIHBhcmFtZXRlci5jb2xsYXRpb24udG9CdWZmZXIoKS5jb3B5KGJ1ZmZlciwgMywgMCwgNSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBjb25zdCB7IHZhbHVlIH0gPSBwYXJhbWV0ZXI7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICBjb25zdCBsZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoMik7XG5cbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG5cbiAgICAgIHJldHVybiBidWZmZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlLnRvU3RyaW5nKCksICd1Y3MyJyk7XG5cbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH1cbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZTtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgIHlpZWxkIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3VjczInKTtcbiAgICB9XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5DaGFyO1xubW9kdWxlLmV4cG9ydHMgPSBOQ2hhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUU3QyxNQUFNQyxLQUEyQyxHQUFHO0VBQ2xEQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxhQUFhLEVBQUUsSUFBSTtFQUVuQkMsV0FBVyxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUMvQjtJQUNBLE1BQU1DLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUFZ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
@@ -0,0 +1,3 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const NText: DataType;
3
+ export default NText;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);
8
+ const NText = {
9
+ id: 0x63,
10
+ type: 'NTEXT',
11
+ name: 'NText',
12
+ hasTableName: true,
13
+ declaration: function () {
14
+ return 'ntext';
15
+ },
16
+ resolveLength: function (parameter) {
17
+ const value = parameter.value; // Temporary solution. Remove 'any' later.
18
+
19
+ if (value != null) {
20
+ return value.length;
21
+ } else {
22
+ return -1;
23
+ }
24
+ },
25
+ generateTypeInfo(parameter, _options) {
26
+ const buffer = Buffer.alloc(10);
27
+ buffer.writeUInt8(this.id, 0);
28
+ buffer.writeInt32LE(parameter.length, 1);
29
+ if (parameter.collation) {
30
+ parameter.collation.toBuffer().copy(buffer, 5, 0, 5);
31
+ }
32
+ return buffer;
33
+ },
34
+ generateParameterLength(parameter, options) {
35
+ if (parameter.value == null) {
36
+ return NULL_LENGTH;
37
+ }
38
+ const buffer = Buffer.alloc(4);
39
+ buffer.writeInt32LE(Buffer.byteLength(parameter.value, 'ucs2'), 0);
40
+ return buffer;
41
+ },
42
+ generateParameterData: function* (parameter, options) {
43
+ if (parameter.value == null) {
44
+ return;
45
+ }
46
+ yield Buffer.from(parameter.value.toString(), 'ucs2');
47
+ },
48
+ validate: function (value) {
49
+ if (value == null) {
50
+ return null;
51
+ }
52
+ if (typeof value !== 'string') {
53
+ throw new TypeError('Invalid string.');
54
+ }
55
+ return value;
56
+ }
57
+ };
58
+ var _default = exports.default = NText;
59
+ module.exports = NText;
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVGV4dCIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsImdlbmVyYXRlVHlwZUluZm8iLCJfb3B0aW9ucyIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsIndyaXRlSW50MzJMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ0b1N0cmluZyIsInZhbGlkYXRlIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGLCAweEZGLCAweEZGXSk7XG5cbmNvbnN0IE5UZXh0OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NjMsXG4gIHR5cGU6ICdOVEVYVCcsXG4gIG5hbWU6ICdOVGV4dCcsXG5cbiAgaGFzVGFibGVOYW1lOiB0cnVlLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ250ZXh0JztcbiAgfSxcblxuICByZXNvbHZlTGVuZ3RoOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVtb3ZlICdhbnknIGxhdGVyLlxuXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbWV0ZXIsIF9vcHRpb25zKSB7XG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDEwKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKHBhcmFtZXRlci5sZW5ndGghLCAxKTtcblxuICAgIGlmIChwYXJhbWV0ZXIuY29sbGF0aW9uKSB7XG4gICAgICBwYXJhbWV0ZXIuY29sbGF0aW9uLnRvQnVmZmVyKCkuY29weShidWZmZXIsIDUsIDAsIDUpO1xuICAgIH1cblxuICAgIHJldHVybiBidWZmZXI7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDQpO1xuICAgIGJ1ZmZlci53cml0ZUludDMyTEUoQnVmZmVyLmJ5dGVMZW5ndGgocGFyYW1ldGVyLnZhbHVlLCAndWNzMicpLCAwKTtcbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YTogZnVuY3Rpb24qKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHlpZWxkIEJ1ZmZlci5mcm9tKHBhcmFtZXRlci52YWx1ZS50b1N0cmluZygpLCAndWNzMicpO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBzdHJpbmcuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOVGV4dDtcbm1vZHVsZS5leHBvcnRzID0gTlRleHQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUV6RCxNQUFNQyxLQUFlLEdBQUc7RUFDdEJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRSxPQUFPO0VBRWJDLFlBQVksRUFBRSxJQUFJO0VBRWxCQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sT0FBTztFQUNoQixDQUFDO0VBRURDLGFBQWEsRUFBRSxTQUFBQSxDQUFTQyxTQUFTLEVBQUU7SUFDakMsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQVksQ0FBQyxDQUFDOztJQUV0QyxJQUFJQSxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2pCLE9BQU9BLEtBQUssQ0FBQ0MsTUFBTTtJQUNyQixDQUFDLE1BQU07TUFDTCxPQUFPLENBQUMsQ0FBQztJQUNYO0VBQ0YsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUNILFNBQVMsRUFBRUksUUFBUSxFQUFFO0lBQ3BDLE1BQU1DLE1BQU0sR0FBR2QsTUFBTSxDQUFDZSxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQy9CRCxNQUFNLENBQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUNiLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0JXLE1BQU0sQ0FBQ0csWUFBWSxDQUFDUixTQUFTLENBQUNFLE1BQU0sRUFBRyxDQUFDLENBQUM7SUFFekMsSUFBSUYsU0FBUyxDQUFDUyxTQUFTLEVBQUU7TUFDdkJULFNBQVMsQ0FBQ1MsU0FBUyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUNOLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RDtJQUVBLE9BQU9BLE1BQU07RUFDZixDQUFDO0VBRURPLHVCQUF1QkEsQ0FBQ1osU0FBUyxFQUFFYSxPQUFPLEVBQUU7SUFDMUMsSUFBSWIsU0FBUyxDQUFDQyxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCLE9BQU9YLFdBQVc7SUFDcEI7SUFFQSxNQUFNZSxNQUFNLEdBQUdkLE1BQU0sQ0FBQ2UsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRyxZQUFZLENBQUNqQixNQUFNLENBQUN1QixVQUFVLENBQUNkLFNBQVMsQ0FBQ0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxPQUFPSSxNQUFNO0VBQ2YsQ0FBQztFQUVEVSxxQkFBcUIsRUFBRSxVQUFBQSxDQUFVZixTQUFTLEVBQUVhLE9BQU8sRUFBRTtJQUNuRCxJQUFJYixTQUFTLENBQUNDLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0I7SUFDRjtJQUVBLE1BQU1WLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDUSxTQUFTLENBQUNDLEtBQUssQ0FBQ2UsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7RUFDdkQsQ0FBQztFQUVEQyxRQUFRLEVBQUUsU0FBQUEsQ0FBU2hCLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUM3QixNQUFNLElBQUlpQixTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDeEM7SUFFQSxPQUFPakIsS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUFDLElBQUFrQixRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhNUIsS0FBSztBQUNwQjZCLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHM0IsS0FBSyJ9
@@ -0,0 +1,3 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const Null: DataType;
3
+ export default Null;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const Null = {
8
+ id: 0x1F,
9
+ type: 'NULL',
10
+ name: 'Null',
11
+ declaration() {
12
+ throw new Error('not implemented');
13
+ },
14
+ generateTypeInfo() {
15
+ throw new Error('not implemented');
16
+ },
17
+ generateParameterLength() {
18
+ throw new Error('not implemented');
19
+ },
20
+ generateParameterData() {
21
+ throw new Error('not implemented');
22
+ },
23
+ validate() {
24
+ throw new Error('not implemented');
25
+ }
26
+ };
27
+ var _default = exports.default = Null;
28
+ module.exports = Null;
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiRXJyb3IiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ2YWxpZGF0ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9udWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOdWxsOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MUYsXG4gIHR5cGU6ICdOVUxMJyxcbiAgbmFtZTogJ051bGwnLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTnVsbDtcbm1vZHVsZS5leHBvcnRzID0gTnVsbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsTUFBTTtFQUVaQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURDLGdCQUFnQkEsQ0FBQSxFQUFHO0lBQ2pCLE1BQU0sSUFBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREUsdUJBQXVCQSxDQUFBLEVBQUc7SUFDeEIsTUFBTSxJQUFJRixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERyxxQkFBcUJBLENBQUEsRUFBRztJQUN0QixNQUFNLElBQUlILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURJLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU0sSUFBSUosS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDO0FBQ0YsQ0FBQztBQUFDLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWFaLElBQUk7QUFDbkJhLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHWCxJQUFJIn0=
@@ -0,0 +1,6 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const Numeric: DataType & {
3
+ resolveScale: NonNullable<DataType['resolveScale']>;
4
+ resolvePrecision: NonNullable<DataType['resolvePrecision']>;
5
+ };
6
+ export default Numeric;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _numericn = _interopRequireDefault(require("./numericn"));
8
+ var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const NULL_LENGTH = Buffer.from([0x00]);
11
+ const Numeric = {
12
+ id: 0x3F,
13
+ type: 'NUMERIC',
14
+ name: 'Numeric',
15
+ declaration: function (parameter) {
16
+ return 'numeric(' + this.resolvePrecision(parameter) + ', ' + this.resolveScale(parameter) + ')';
17
+ },
18
+ resolvePrecision: function (parameter) {
19
+ if (parameter.precision != null) {
20
+ return parameter.precision;
21
+ } else if (parameter.value === null) {
22
+ return 1;
23
+ } else {
24
+ return 18;
25
+ }
26
+ },
27
+ resolveScale: function (parameter) {
28
+ if (parameter.scale != null) {
29
+ return parameter.scale;
30
+ } else {
31
+ return 0;
32
+ }
33
+ },
34
+ generateTypeInfo(parameter) {
35
+ let precision;
36
+ if (parameter.precision <= 9) {
37
+ precision = 0x05;
38
+ } else if (parameter.precision <= 19) {
39
+ precision = 0x09;
40
+ } else if (parameter.precision <= 28) {
41
+ precision = 0x0D;
42
+ } else {
43
+ precision = 0x11;
44
+ }
45
+ return Buffer.from([_numericn.default.id, precision, parameter.precision, parameter.scale]);
46
+ },
47
+ generateParameterLength(parameter, options) {
48
+ if (parameter.value == null) {
49
+ return NULL_LENGTH;
50
+ }
51
+ const precision = parameter.precision;
52
+ if (precision <= 9) {
53
+ return Buffer.from([0x05]);
54
+ } else if (precision <= 19) {
55
+ return Buffer.from([0x09]);
56
+ } else if (precision <= 28) {
57
+ return Buffer.from([0x0D]);
58
+ } else {
59
+ return Buffer.from([0x11]);
60
+ }
61
+ },
62
+ *generateParameterData(parameter, options) {
63
+ if (parameter.value == null) {
64
+ return;
65
+ }
66
+ const sign = parameter.value < 0 ? 0 : 1;
67
+ const value = Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale)));
68
+ if (parameter.precision <= 9) {
69
+ const buffer = Buffer.alloc(5);
70
+ buffer.writeUInt8(sign, 0);
71
+ buffer.writeUInt32LE(value, 1);
72
+ yield buffer;
73
+ } else if (parameter.precision <= 19) {
74
+ const buffer = new _writableTrackingBuffer.default(10);
75
+ buffer.writeUInt8(sign);
76
+ buffer.writeUInt64LE(value);
77
+ yield buffer.data;
78
+ } else if (parameter.precision <= 28) {
79
+ const buffer = new _writableTrackingBuffer.default(14);
80
+ buffer.writeUInt8(sign);
81
+ buffer.writeUInt64LE(value);
82
+ buffer.writeUInt32LE(0x00000000);
83
+ yield buffer.data;
84
+ } else {
85
+ const buffer = new _writableTrackingBuffer.default(18);
86
+ buffer.writeUInt8(sign);
87
+ buffer.writeUInt64LE(value);
88
+ buffer.writeUInt32LE(0x00000000);
89
+ buffer.writeUInt32LE(0x00000000);
90
+ yield buffer.data;
91
+ }
92
+ },
93
+ validate: function (value) {
94
+ if (value == null) {
95
+ return null;
96
+ }
97
+ value = parseFloat(value);
98
+ if (isNaN(value)) {
99
+ throw new TypeError('Invalid number.');
100
+ }
101
+ return value;
102
+ }
103
+ };
104
+ var _default = exports.default = Numeric;
105
+ module.exports = Numeric;
106
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbnVtZXJpY24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl93cml0YWJsZVRyYWNraW5nQnVmZmVyIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOdW1lcmljIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwicGFyYW1ldGVyIiwicmVzb2x2ZVByZWNpc2lvbiIsInJlc29sdmVTY2FsZSIsInByZWNpc2lvbiIsInZhbHVlIiwic2NhbGUiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiTnVtZXJpY04iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJzaWduIiwiTWF0aCIsInJvdW5kIiwiYWJzIiwicG93IiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MzJMRSIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ2NExFIiwiZGF0YSIsInZhbGlkYXRlIiwicGFyc2VGbG9hdCIsImlzTmFOIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnVtZXJpYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBOdW1lcmljTiBmcm9tICcuL251bWVyaWNuJztcbmltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4uL3RyYWNraW5nLWJ1ZmZlci93cml0YWJsZS10cmFja2luZy1idWZmZXInO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IE51bWVyaWM6IERhdGFUeXBlICYgeyByZXNvbHZlU2NhbGU6IE5vbk51bGxhYmxlPERhdGFUeXBlWydyZXNvbHZlU2NhbGUnXT4sIHJlc29sdmVQcmVjaXNpb246IE5vbk51bGxhYmxlPERhdGFUeXBlWydyZXNvbHZlUHJlY2lzaW9uJ10+IH0gPSB7XG4gIGlkOiAweDNGLFxuICB0eXBlOiAnTlVNRVJJQycsXG4gIG5hbWU6ICdOdW1lcmljJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgcmV0dXJuICdudW1lcmljKCcgKyAodGhpcy5yZXNvbHZlUHJlY2lzaW9uKHBhcmFtZXRlcikpICsgJywgJyArICh0aGlzLnJlc29sdmVTY2FsZShwYXJhbWV0ZXIpKSArICcpJztcbiAgfSxcblxuICByZXNvbHZlUHJlY2lzaW9uOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLnByZWNpc2lvbjtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAxODtcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZVNjYWxlOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBpZiAocGFyYW1ldGVyLnNjYWxlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIuc2NhbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlcikge1xuICAgIGxldCBwcmVjaXNpb247XG4gICAgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDkpIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MDU7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSAxOSkge1xuICAgICAgcHJlY2lzaW9uID0gMHgwOTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDI4KSB7XG4gICAgICBwcmVjaXNpb24gPSAweDBEO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcmVjaXNpb24gPSAweDExO1xuICAgIH1cblxuICAgIHJldHVybiBCdWZmZXIuZnJvbShbTnVtZXJpY04uaWQsIHByZWNpc2lvbiwgcGFyYW1ldGVyLnByZWNpc2lvbiEsIHBhcmFtZXRlci5zY2FsZSFdKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVjaXNpb24gPSBwYXJhbWV0ZXIucHJlY2lzaW9uITtcbiAgICBpZiAocHJlY2lzaW9uIDw9IDkpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgwNV0pO1xuICAgIH0gZWxzZSBpZiAocHJlY2lzaW9uIDw9IDE5KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDldKTtcbiAgICB9IGVsc2UgaWYgKHByZWNpc2lvbiA8PSAyOCkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDBEXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgxMV0pO1xuICAgIH1cbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaWduID0gcGFyYW1ldGVyLnZhbHVlIDwgMCA/IDAgOiAxO1xuICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChNYXRoLmFicyhwYXJhbWV0ZXIudmFsdWUgKiBNYXRoLnBvdygxMCwgcGFyYW1ldGVyLnNjYWxlISkpKTtcbiAgICBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gOSkge1xuICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDUpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDgoc2lnbiwgMCk7XG4gICAgICBidWZmZXIud3JpdGVVSW50MzJMRSh2YWx1ZSwgMSk7XG4gICAgICB5aWVsZCBidWZmZXI7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSAxOSkge1xuICAgICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoMTApO1xuICAgICAgYnVmZmVyLndyaXRlVUludDgoc2lnbik7XG4gICAgICBidWZmZXIud3JpdGVVSW50NjRMRSh2YWx1ZSk7XG4gICAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDI4KSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxNCk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ2NExFKHZhbHVlKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKDB4MDAwMDAwMDApO1xuICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDE4KTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHNpZ24pO1xuICAgICAgYnVmZmVyLndyaXRlVUludDY0TEUodmFsdWUpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUoMHgwMDAwMDAwMCk7XG4gICAgICBidWZmZXIud3JpdGVVSW50MzJMRSgweDAwMDAwMDAwKTtcbiAgICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICAgIH1cbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBudW1iZXIuJyk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTnVtZXJpYztcbm1vZHVsZS5leHBvcnRzID0gTnVtZXJpYztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsU0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsdUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFpRixTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUVqRixNQUFNRyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkMsTUFBTUMsT0FBd0ksR0FBRztFQUMvSUMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLFNBQVM7RUFDZkMsSUFBSSxFQUFFLFNBQVM7RUFFZkMsV0FBVyxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUMvQixPQUFPLFVBQVUsR0FBSSxJQUFJLENBQUNDLGdCQUFnQixDQUFDRCxTQUFTLENBQUUsR0FBRyxJQUFJLEdBQUksSUFBSSxDQUFDRSxZQUFZLENBQUNGLFNBQVMsQ0FBRSxHQUFHLEdBQUc7RUFDdEcsQ0FBQztFQUVEQyxnQkFBZ0IsRUFBRSxTQUFBQSxDQUFTRCxTQUFTLEVBQUU7SUFDcEMsSUFBSUEsU0FBUyxDQUFDRyxTQUFTLElBQUksSUFBSSxFQUFFO01BQy9CLE9BQU9ILFNBQVMsQ0FBQ0csU0FBUztJQUM1QixDQUFDLE1BQU0sSUFBSUgsU0FBUyxDQUFDSSxLQUFLLEtBQUssSUFBSSxFQUFFO01BQ25DLE9BQU8sQ0FBQztJQUNWLENB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
@@ -0,0 +1,3 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const NumericN: DataType;
3
+ export default NumericN;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const NumericN = {
8
+ id: 0x6C,
9
+ type: 'NUMERICN',
10
+ name: 'NumericN',
11
+ declaration() {
12
+ throw new Error('not implemented');
13
+ },
14
+ generateTypeInfo() {
15
+ throw new Error('not implemented');
16
+ },
17
+ generateParameterLength() {
18
+ throw new Error('not implemented');
19
+ },
20
+ generateParameterData() {
21
+ throw new Error('not implemented');
22
+ },
23
+ validate() {
24
+ throw new Error('not implemented');
25
+ }
26
+ };
27
+ var _default = exports.default = NumericN;
28
+ module.exports = NumericN;
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1lcmljTiIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIkVycm9yIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnVtZXJpY24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE51bWVyaWNOOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NkMsXG4gIHR5cGU6ICdOVU1FUklDTicsXG4gIG5hbWU6ICdOdW1lcmljTicsXG5cbiAgZGVjbGFyYXRpb24oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGEoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICB2YWxpZGF0ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOdW1lcmljTjtcbm1vZHVsZS5leHBvcnRzID0gTnVtZXJpY047XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLFFBQWtCLEdBQUc7RUFDekJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxVQUFVO0VBQ2hCQyxJQUFJLEVBQUUsVUFBVTtFQUVoQkMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHVCQUF1QkEsQ0FBQSxFQUFHO0lBQ3hCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcscUJBQXFCQSxDQUFBLEVBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVESSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhWixRQUFRO0FBQ3ZCYSxNQUFNLENBQUNGLE9BQU8sR0FBR1gsUUFBUSJ9
@@ -0,0 +1,5 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const NVarChar: {
3
+ maximumLength: number;
4
+ } & DataType;
5
+ export default NVarChar;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const MAX = (1 << 16) - 1;
8
+ const UNKNOWN_PLP_LEN = Buffer.from([0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]);
9
+ const PLP_TERMINATOR = Buffer.from([0x00, 0x00, 0x00, 0x00]);
10
+ const NULL_LENGTH = Buffer.from([0xFF, 0xFF]);
11
+ const MAX_NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]);
12
+ const NVarChar = {
13
+ id: 0xE7,
14
+ type: 'NVARCHAR',
15
+ name: 'NVarChar',
16
+ maximumLength: 4000,
17
+ declaration: function (parameter) {
18
+ const value = parameter.value; // Temporary solution. Remove 'any' later.
19
+
20
+ let length;
21
+ if (parameter.length) {
22
+ length = parameter.length;
23
+ } else if (value != null) {
24
+ length = value.toString().length || 1;
25
+ } else if (value === null && !parameter.output) {
26
+ length = 1;
27
+ } else {
28
+ length = this.maximumLength;
29
+ }
30
+ if (length <= this.maximumLength) {
31
+ return 'nvarchar(' + length + ')';
32
+ } else {
33
+ return 'nvarchar(max)';
34
+ }
35
+ },
36
+ resolveLength: function (parameter) {
37
+ const value = parameter.value; // Temporary solution. Remove 'any' later.
38
+ if (parameter.length != null) {
39
+ return parameter.length;
40
+ } else if (value != null) {
41
+ if (Buffer.isBuffer(value)) {
42
+ return value.length / 2 || 1;
43
+ } else {
44
+ return value.toString().length || 1;
45
+ }
46
+ } else {
47
+ return this.maximumLength;
48
+ }
49
+ },
50
+ generateTypeInfo(parameter) {
51
+ const buffer = Buffer.alloc(8);
52
+ buffer.writeUInt8(this.id, 0);
53
+ if (parameter.length <= this.maximumLength) {
54
+ buffer.writeUInt16LE(parameter.length * 2, 1);
55
+ } else {
56
+ buffer.writeUInt16LE(MAX, 1);
57
+ }
58
+ if (parameter.collation) {
59
+ parameter.collation.toBuffer().copy(buffer, 3, 0, 5);
60
+ }
61
+ return buffer;
62
+ },
63
+ generateParameterLength(parameter, options) {
64
+ if (parameter.value == null) {
65
+ if (parameter.length <= this.maximumLength) {
66
+ return NULL_LENGTH;
67
+ } else {
68
+ return MAX_NULL_LENGTH;
69
+ }
70
+ }
71
+ let value = parameter.value;
72
+ if (parameter.length <= this.maximumLength) {
73
+ let length;
74
+ if (value instanceof Buffer) {
75
+ length = value.length;
76
+ } else {
77
+ value = value.toString();
78
+ length = Buffer.byteLength(value, 'ucs2');
79
+ }
80
+ const buffer = Buffer.alloc(2);
81
+ buffer.writeUInt16LE(length, 0);
82
+ return buffer;
83
+ } else {
84
+ return UNKNOWN_PLP_LEN;
85
+ }
86
+ },
87
+ *generateParameterData(parameter, options) {
88
+ if (parameter.value == null) {
89
+ return;
90
+ }
91
+ let value = parameter.value;
92
+ if (parameter.length <= this.maximumLength) {
93
+ if (value instanceof Buffer) {
94
+ yield value;
95
+ } else {
96
+ value = value.toString();
97
+ yield Buffer.from(value, 'ucs2');
98
+ }
99
+ } else {
100
+ if (value instanceof Buffer) {
101
+ const length = value.length;
102
+ if (length > 0) {
103
+ const buffer = Buffer.alloc(4);
104
+ buffer.writeUInt32LE(length, 0);
105
+ yield buffer;
106
+ yield value;
107
+ }
108
+ } else {
109
+ value = value.toString();
110
+ const length = Buffer.byteLength(value, 'ucs2');
111
+ if (length > 0) {
112
+ const buffer = Buffer.alloc(4);
113
+ buffer.writeUInt32LE(length, 0);
114
+ yield buffer;
115
+ yield Buffer.from(value, 'ucs2');
116
+ }
117
+ }
118
+ yield PLP_TERMINATOR;
119
+ }
120
+ },
121
+ validate: function (value) {
122
+ if (value == null) {
123
+ return null;
124
+ }
125
+ if (typeof value !== 'string') {
126
+ throw new TypeError('Invalid string.');
127
+ }
128
+ return value;
129
+ }
130
+ };
131
+ var _default = exports.default = NVarChar;
132
+ module.exports = NVarChar;
133
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQVgiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiUExQX1RFUk1JTkFUT1IiLCJOVUxMX0xFTkdUSCIsIk1BWF9OVUxMX0xFTkdUSCIsIk5WYXJDaGFyIiwiaWQiLCJ0eXBlIiwibmFtZSIsIm1heGltdW1MZW5ndGgiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwibGVuZ3RoIiwidG9TdHJpbmciLCJvdXRwdXQiLCJyZXNvbHZlTGVuZ3RoIiwiaXNCdWZmZXIiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ3cml0ZVVJbnQzMkxFIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnZhcmNoYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE1BWCA9ICgxIDw8IDE2KSAtIDE7XG5jb25zdCBVTktOT1dOX1BMUF9MRU4gPSBCdWZmZXIuZnJvbShbMHhmZSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZl0pO1xuY29uc3QgUExQX1RFUk1JTkFUT1IgPSBCdWZmZXIuZnJvbShbMHgwMCwgMHgwMCwgMHgwMCwgMHgwMF0pO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGXSk7XG5jb25zdCBNQVhfTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBOVmFyQ2hhcjogeyBtYXhpbXVtTGVuZ3RoOiBudW1iZXIgfSAmIERhdGFUeXBlID0ge1xuICBpZDogMHhFNyxcbiAgdHlwZTogJ05WQVJDSEFSJyxcbiAgbmFtZTogJ05WYXJDaGFyJyxcbiAgbWF4aW11bUxlbmd0aDogNDAwMCxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cblxuICAgIGxldCBsZW5ndGg7XG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGgpIHtcbiAgICAgIGxlbmd0aCA9IHBhcmFtZXRlci5sZW5ndGg7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICBsZW5ndGggPSB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB8fCAxO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwgJiYgIXBhcmFtZXRlci5vdXRwdXQpIHtcbiAgICAgIGxlbmd0aCA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxlbmd0aCA9IHRoaXMubWF4aW11bUxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAobGVuZ3RoIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgcmV0dXJuICdudmFyY2hhcignICsgbGVuZ3RoICsgJyknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ252YXJjaGFyKG1heCknO1xuICAgIH1cbiAgfSxcblxuICByZXNvbHZlTGVuZ3RoOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVtb3ZlICdhbnknIGxhdGVyLlxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuICh2YWx1ZS5sZW5ndGggLyAyKSB8fCAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIHx8IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDgpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMuaWQsIDApO1xuXG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgYnVmZmVyLndyaXRlVUludDE2TEUocGFyYW1ldGVyLmxlbmd0aCEgKiAyLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLndyaXRlVUludDE2TEUoTUFYLCAxKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1ldGVyLmNvbGxhdGlvbikge1xuICAgICAgcGFyYW1ldGVyLmNvbGxhdGlvbi50b0J1ZmZlcigpLmNvcHkoYnVmZmVyLCAzLCAwLCA1KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gTUFYX05VTExfTEVOR1RIO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZTtcbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCEgPD0gdGhpcy5tYXhpbXVtTGVuZ3RoKSB7XG4gICAgICBsZXQgbGVuZ3RoO1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgIGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgbGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUsICd1Y3MyJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gVU5LTk9XTl9QTFBfTEVOO1xuICAgIH1cbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWU7XG5cbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCEgPD0gdGhpcy5tYXhpbXVtTGVuZ3RoKSB7XG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIHlpZWxkIEJ1ZmZlci5mcm9tKHZhbHVlLCAndWNzMicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuXG4gICAgICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDQpO1xuICAgICAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKGxlbmd0aCwgMCk7XG4gICAgICAgICAgeWllbGQgYnVmZmVyO1xuICAgICAgICAgIHlpZWxkIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlLCAndWNzMicpO1xuXG4gICAgICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDQpO1xuICAgICAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKGxlbmd0aCwgMCk7XG4gICAgICAgICAgeWllbGQgYnVmZmVyO1xuICAgICAgICAgIHlpZWxkIEJ1ZmZlci5mcm9tKHZhbHVlLCAndWNzMicpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHlpZWxkIFBMUF9URVJNSU5BVE9SO1xuICAgIH1cbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc3RyaW5nLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTlZhckNoYXI7XG5tb2R1bGUuZXhwb3J0cyA9IE5WYXJDaGFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7QUFD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
@@ -0,0 +1,3 @@
1
+ import { type DataType } from '../data-type';
2
+ declare const Real: DataType;
3
+ export default Real;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _floatn = _interopRequireDefault(require("./floatn"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const NULL_LENGTH = Buffer.from([0x00]);
10
+ const DATA_LENGTH = Buffer.from([0x04]);
11
+ const Real = {
12
+ id: 0x3B,
13
+ type: 'FLT4',
14
+ name: 'Real',
15
+ declaration: function () {
16
+ return 'real';
17
+ },
18
+ generateTypeInfo() {
19
+ return Buffer.from([_floatn.default.id, 0x04]);
20
+ },
21
+ generateParameterLength(parameter, options) {
22
+ if (parameter.value == null) {
23
+ return NULL_LENGTH;
24
+ }
25
+ return DATA_LENGTH;
26
+ },
27
+ *generateParameterData(parameter, options) {
28
+ if (parameter.value == null) {
29
+ return;
30
+ }
31
+ const buffer = Buffer.alloc(4);
32
+ buffer.writeFloatLE(parseFloat(parameter.value), 0);
33
+ yield buffer;
34
+ },
35
+ validate: function (value) {
36
+ if (value == null) {
37
+ return null;
38
+ }
39
+ value = parseFloat(value);
40
+ if (isNaN(value)) {
41
+ throw new TypeError('Invalid number.');
42
+ }
43
+ return value;
44
+ }
45
+ };
46
+ var _default = exports.default = Real;
47
+ module.exports = Real;
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZmxvYXRuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIk5VTExfTEVOR1RIIiwiQnVmZmVyIiwiZnJvbSIsIkRBVEFfTEVOR1RIIiwiUmVhbCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsImdlbmVyYXRlVHlwZUluZm8iLCJGbG9hdE4iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsInBhcmFtZXRlciIsIm9wdGlvbnMiLCJ2YWx1ZSIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVGbG9hdExFIiwicGFyc2VGbG9hdCIsInZhbGlkYXRlIiwiaXNOYU4iLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9yZWFsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IEZsb2F0TiBmcm9tICcuL2Zsb2F0bic7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcbmNvbnN0IERBVEFfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDRdKTtcblxuY29uc3QgUmVhbDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDNCLFxuICB0eXBlOiAnRkxUNCcsXG4gIG5hbWU6ICdSZWFsJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdyZWFsJztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShbRmxvYXROLmlkLCAweDA0XSk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgcmV0dXJuIERBVEFfTEVOR1RIO1xuICB9LFxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBidWZmZXIud3JpdGVGbG9hdExFKHBhcnNlRmxvYXQocGFyYW1ldGVyLnZhbHVlKSwgMCk7XG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG51bWJlci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWFsO1xubW9kdWxlLmV4cG9ydHMgPSBSZWFsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOEIsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFOUIsTUFBTUcsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLE1BQU1DLFdBQVcsR0FBR0YsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QyxNQUFNRSxJQUFjLEdBQUc7RUFDckJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxNQUFNO0VBQ1pDLElBQUksRUFBRSxNQUFNO0VBRVpDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxNQUFNO0VBQ2YsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixPQUFPUixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDUSxlQUFNLENBQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztFQUN2QyxDQUFDO0VBRURNLHVCQUF1QkEsQ0FBQ0MsU0FBUyxFQUFFQyxPQUFPLEVBQUU7SUFDMUMsSUFBSUQsU0FBUyxDQUFDRSxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCLE9BQU9kLFdBQVc7SUFDcEI7SUFFQSxPQUFPRyxXQUFXO0VBQ3BCLENBQUM7RUFFRCxDQUFFWSxxQkFBcUJBLENBQUNILFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQjtJQUNGO0lBRUEsTUFBTUUsTUFBTSxHQUFHZixNQUFNLENBQUNnQixLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlCRCxNQUFNLENBQUNFLFlBQVksQ0FBQ0MsVUFBVSxDQUFDUCxTQUFTLENBQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNRSxNQUFNO0VBQ2QsQ0FBQztFQUVESSxRQUFRLEVBQUUsU0FBQUEsQ0FBU04sS0FBSyxFQUFpQjtJQUN2QyxJQUFJQSxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2pCLE9BQU8sSUFBSTtJQUNiO0lBQ0FBLEtBQUssR0FBR0ssVUFBVSxDQUFDTCxLQUFLLENBQUM7SUFDekIsSUFBSU8sS0FBSyxDQUFDUCxLQUFLLENBQUMsRUFBRTtNQUNoQixNQUFNLElBQUlRLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QztJQUNBLE9BQU9SLEtBQUs7RUFDZDtBQUNGLENBQUM7QUFBQyxJQUFBUyxRQUFBLEdBQUFDLE9BQUEsQ0FBQXpCLE9BQUEsR0FFYUssSUFBSTtBQUNuQnFCLE1BQU0sQ0FBQ0QsT0FBTyxHQUFHcEIsSUFBSSJ9