tedious 19.0.0 → 19.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 (219) hide show
  1. package/README.md +1 -1
  2. package/lib/all-headers.js +1 -1
  3. package/lib/all-headers.js.map +1 -1
  4. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +1 -1
  5. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -1
  6. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +2 -2
  7. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -1
  8. package/lib/always-encrypted/cek-entry.js +1 -1
  9. package/lib/always-encrypted/cek-entry.js.map +1 -1
  10. package/lib/always-encrypted/get-parameter-encryption-metadata.js +2 -2
  11. package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -1
  12. package/lib/always-encrypted/key-crypto.js +1 -1
  13. package/lib/always-encrypted/key-crypto.js.map +1 -1
  14. package/lib/always-encrypted/keystore-provider-azure-key-vault.js +1 -1
  15. package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -1
  16. package/lib/always-encrypted/symmetric-key-cache.js +2 -2
  17. package/lib/always-encrypted/symmetric-key-cache.js.map +1 -1
  18. package/lib/always-encrypted/symmetric-key.js +1 -1
  19. package/lib/always-encrypted/symmetric-key.js.map +1 -1
  20. package/lib/always-encrypted/types.js +1 -1
  21. package/lib/always-encrypted/types.js.map +1 -1
  22. package/lib/always-encrypted/utils.js +1 -1
  23. package/lib/always-encrypted/utils.js.map +1 -1
  24. package/lib/bulk-load-payload.js +1 -1
  25. package/lib/bulk-load-payload.js.map +1 -1
  26. package/lib/bulk-load.js +2 -2
  27. package/lib/bulk-load.js.map +1 -1
  28. package/lib/collation.js +1 -1
  29. package/lib/collation.js.map +1 -1
  30. package/lib/connection.d.ts +44 -50
  31. package/lib/connection.js +579 -580
  32. package/lib/connection.js.map +1 -1
  33. package/lib/connector.js +2 -2
  34. package/lib/connector.js.map +1 -1
  35. package/lib/data-type.js +2 -2
  36. package/lib/data-type.js.map +1 -1
  37. package/lib/data-types/bigint.js +2 -2
  38. package/lib/data-types/bigint.js.map +1 -1
  39. package/lib/data-types/binary.js +1 -1
  40. package/lib/data-types/binary.js.map +1 -1
  41. package/lib/data-types/bit.js +2 -2
  42. package/lib/data-types/bit.js.map +1 -1
  43. package/lib/data-types/bitn.js +1 -1
  44. package/lib/data-types/bitn.js.map +1 -1
  45. package/lib/data-types/char.js +2 -2
  46. package/lib/data-types/char.js.map +1 -1
  47. package/lib/data-types/date.js +1 -1
  48. package/lib/data-types/date.js.map +1 -1
  49. package/lib/data-types/datetime.js +2 -2
  50. package/lib/data-types/datetime.js.map +1 -1
  51. package/lib/data-types/datetime2.js +2 -2
  52. package/lib/data-types/datetime2.js.map +1 -1
  53. package/lib/data-types/datetimen.js +1 -1
  54. package/lib/data-types/datetimen.js.map +1 -1
  55. package/lib/data-types/datetimeoffset.js +2 -2
  56. package/lib/data-types/datetimeoffset.js.map +1 -1
  57. package/lib/data-types/decimal.js +2 -2
  58. package/lib/data-types/decimal.js.map +1 -1
  59. package/lib/data-types/decimaln.js +1 -1
  60. package/lib/data-types/decimaln.js.map +1 -1
  61. package/lib/data-types/float.js +2 -2
  62. package/lib/data-types/float.js.map +1 -1
  63. package/lib/data-types/floatn.js +1 -1
  64. package/lib/data-types/floatn.js.map +1 -1
  65. package/lib/data-types/image.js +1 -1
  66. package/lib/data-types/image.js.map +1 -1
  67. package/lib/data-types/int.js +2 -2
  68. package/lib/data-types/int.js.map +1 -1
  69. package/lib/data-types/intn.js +1 -1
  70. package/lib/data-types/intn.js.map +1 -1
  71. package/lib/data-types/money.js +2 -2
  72. package/lib/data-types/money.js.map +1 -1
  73. package/lib/data-types/moneyn.js +1 -1
  74. package/lib/data-types/moneyn.js.map +1 -1
  75. package/lib/data-types/nchar.js +1 -1
  76. package/lib/data-types/nchar.js.map +1 -1
  77. package/lib/data-types/ntext.js +1 -1
  78. package/lib/data-types/ntext.js.map +1 -1
  79. package/lib/data-types/null.js +1 -1
  80. package/lib/data-types/null.js.map +1 -1
  81. package/lib/data-types/numeric.js +2 -2
  82. package/lib/data-types/numeric.js.map +1 -1
  83. package/lib/data-types/numericn.js +1 -1
  84. package/lib/data-types/numericn.js.map +1 -1
  85. package/lib/data-types/nvarchar.js +1 -1
  86. package/lib/data-types/nvarchar.js.map +1 -1
  87. package/lib/data-types/real.js +2 -2
  88. package/lib/data-types/real.js.map +1 -1
  89. package/lib/data-types/smalldatetime.js +2 -2
  90. package/lib/data-types/smalldatetime.js.map +1 -1
  91. package/lib/data-types/smallint.js +2 -2
  92. package/lib/data-types/smallint.js.map +1 -1
  93. package/lib/data-types/smallmoney.js +2 -2
  94. package/lib/data-types/smallmoney.js.map +1 -1
  95. package/lib/data-types/sql-variant.js +1 -1
  96. package/lib/data-types/sql-variant.js.map +1 -1
  97. package/lib/data-types/text.js +2 -2
  98. package/lib/data-types/text.js.map +1 -1
  99. package/lib/data-types/time.js +2 -2
  100. package/lib/data-types/time.js.map +1 -1
  101. package/lib/data-types/tinyint.js +2 -2
  102. package/lib/data-types/tinyint.js.map +1 -1
  103. package/lib/data-types/tvp.js +2 -2
  104. package/lib/data-types/tvp.js.map +1 -1
  105. package/lib/data-types/udt.js +1 -1
  106. package/lib/data-types/udt.js.map +1 -1
  107. package/lib/data-types/uniqueidentifier.js +1 -1
  108. package/lib/data-types/uniqueidentifier.js.map +1 -1
  109. package/lib/data-types/varbinary.js +1 -1
  110. package/lib/data-types/varbinary.js.map +1 -1
  111. package/lib/data-types/varchar.js +2 -2
  112. package/lib/data-types/varchar.js.map +1 -1
  113. package/lib/data-types/xml.js +1 -1
  114. package/lib/data-types/xml.js.map +1 -1
  115. package/lib/debug.js +2 -2
  116. package/lib/debug.js.map +1 -1
  117. package/lib/errors.js +1 -1
  118. package/lib/errors.js.map +1 -1
  119. package/lib/guid-parser.js +1 -1
  120. package/lib/guid-parser.js.map +1 -1
  121. package/lib/incoming-message-stream.js +2 -2
  122. package/lib/incoming-message-stream.js.map +1 -1
  123. package/lib/instance-lookup.js +2 -2
  124. package/lib/instance-lookup.js.map +1 -1
  125. package/lib/library.js +1 -1
  126. package/lib/library.js.map +1 -1
  127. package/lib/login7-payload.js +1 -1
  128. package/lib/login7-payload.js.map +1 -1
  129. package/lib/message-io.js +3 -3
  130. package/lib/message-io.js.map +1 -1
  131. package/lib/message.js +1 -1
  132. package/lib/message.js.map +1 -1
  133. package/lib/metadata-parser.js +1 -1
  134. package/lib/metadata-parser.js.map +1 -1
  135. package/lib/ntlm-payload.js +3 -3
  136. package/lib/ntlm-payload.js.map +1 -1
  137. package/lib/ntlm.js +1 -1
  138. package/lib/ntlm.js.map +1 -1
  139. package/lib/outgoing-message-stream.js +2 -2
  140. package/lib/outgoing-message-stream.js.map +1 -1
  141. package/lib/packet.js +1 -1
  142. package/lib/packet.js.map +1 -1
  143. package/lib/prelogin-payload.js +2 -2
  144. package/lib/prelogin-payload.js.map +1 -1
  145. package/lib/request.js +1 -1
  146. package/lib/request.js.map +1 -1
  147. package/lib/rpcrequest-payload.js +2 -2
  148. package/lib/rpcrequest-payload.js.map +1 -1
  149. package/lib/sender.js +2 -2
  150. package/lib/sender.js.map +1 -1
  151. package/lib/special-stored-procedure.js +1 -1
  152. package/lib/special-stored-procedure.js.map +1 -1
  153. package/lib/sqlbatch-payload.js +2 -2
  154. package/lib/sqlbatch-payload.js.map +1 -1
  155. package/lib/tds-versions.js +1 -1
  156. package/lib/tds-versions.js.map +1 -1
  157. package/lib/tedious.js +2 -2
  158. package/lib/tedious.js.map +1 -1
  159. package/lib/token/colmetadata-token-parser.js +1 -1
  160. package/lib/token/colmetadata-token-parser.js.map +1 -1
  161. package/lib/token/done-token-parser.js +1 -1
  162. package/lib/token/done-token-parser.js.map +1 -1
  163. package/lib/token/env-change-token-parser.js +1 -1
  164. package/lib/token/env-change-token-parser.js.map +1 -1
  165. package/lib/token/feature-ext-ack-parser.js +1 -1
  166. package/lib/token/feature-ext-ack-parser.js.map +1 -1
  167. package/lib/token/fedauth-info-parser.js +1 -1
  168. package/lib/token/fedauth-info-parser.js.map +1 -1
  169. package/lib/token/handler.js +2 -2
  170. package/lib/token/handler.js.map +1 -1
  171. package/lib/token/helpers.js +1 -1
  172. package/lib/token/helpers.js.map +1 -1
  173. package/lib/token/infoerror-token-parser.js +1 -1
  174. package/lib/token/infoerror-token-parser.js.map +1 -1
  175. package/lib/token/loginack-token-parser.js +1 -1
  176. package/lib/token/loginack-token-parser.js.map +1 -1
  177. package/lib/token/nbcrow-token-parser.js +2 -2
  178. package/lib/token/nbcrow-token-parser.js.map +1 -1
  179. package/lib/token/order-token-parser.js +1 -1
  180. package/lib/token/order-token-parser.js.map +1 -1
  181. package/lib/token/returnstatus-token-parser.js +1 -1
  182. package/lib/token/returnstatus-token-parser.js.map +1 -1
  183. package/lib/token/returnvalue-token-parser.js +2 -2
  184. package/lib/token/returnvalue-token-parser.js.map +1 -1
  185. package/lib/token/row-token-parser.js +2 -2
  186. package/lib/token/row-token-parser.js.map +1 -1
  187. package/lib/token/sspi-token-parser.js +1 -1
  188. package/lib/token/sspi-token-parser.js.map +1 -1
  189. package/lib/token/stream-parser.js +2 -2
  190. package/lib/token/stream-parser.js.map +1 -1
  191. package/lib/token/token-stream-parser.js +2 -2
  192. package/lib/token/token-stream-parser.js.map +1 -1
  193. package/lib/token/token.js +1 -1
  194. package/lib/token/token.js.map +1 -1
  195. package/lib/tracking-buffer/writable-tracking-buffer.js +1 -1
  196. package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -1
  197. package/lib/transaction.js +2 -2
  198. package/lib/transaction.js.map +1 -1
  199. package/lib/transient-error-lookup.js +1 -1
  200. package/lib/transient-error-lookup.js.map +1 -1
  201. package/lib/value-parser.js +2 -2
  202. package/lib/value-parser.js.map +1 -1
  203. package/package.json +18 -19
  204. package/benchmarks/README.md +0 -12
  205. package/benchmarks/bulk-load/iterable.js +0 -61
  206. package/benchmarks/common.js +0 -287
  207. package/benchmarks/connection/open.js +0 -26
  208. package/benchmarks/package-lock.json +0 -21173
  209. package/benchmarks/package.json +0 -11
  210. package/benchmarks/query/call-tvp.js +0 -105
  211. package/benchmarks/query/insert-varbinary.js +0 -46
  212. package/benchmarks/query/select-many-rows.js +0 -63
  213. package/benchmarks/query/select-nvarchar.js +0 -50
  214. package/benchmarks/query/select-varbinary.js +0 -50
  215. package/benchmarks/request/rpcrequest-payload-tvp.js +0 -45
  216. package/benchmarks/request/rpcrequest-payload-varbinary.js +0 -37
  217. package/benchmarks/token-parser/colmetadata-token.js +0 -27
  218. package/benchmarks/token-parser/done-token.js +0 -28
  219. package/benchmarks/token-parser/simple-tokens.js +0 -363
@@ -246,4 +246,4 @@ class WritableTrackingBuffer {
246
246
  }
247
247
  var _default = exports.default = WritableTrackingBuffer;
248
248
  module.exports = WritableTrackingBuffer;
249
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSElGVF9MRUZUXzMyIiwiU0hJRlRfUklHSFRfMzIiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiWkVST19MRU5HVEhfQlVGRkVSIiwiYWxsb2MiLCJXcml0YWJsZVRyYWNraW5nQnVmZmVyIiwiY29uc3RydWN0b3IiLCJpbml0aWFsU2l6ZSIsImVuY29kaW5nIiwiZG91YmxlU2l6ZUdyb3d0aCIsImJ1ZmZlciIsImNvbXBvc2l0ZUJ1ZmZlciIsInBvc2l0aW9uIiwiZGF0YSIsIm5ld0J1ZmZlciIsImNvcHlGcm9tIiwibGVuZ3RoIiwibWFrZVJvb21Gb3IiLCJjb3B5IiwicmVxdWlyZWRMZW5ndGgiLCJzaXplIiwiTWF0aCIsIm1heCIsInNsaWNlIiwiY29uY2F0Iiwid3JpdGVVSW50OCIsInZhbHVlIiwid3JpdGVVSW50MTZMRSIsIndyaXRlVVNob3J0Iiwid3JpdGVVSW50MTZCRSIsIndyaXRlVUludDI0TEUiLCJ3cml0ZVVJbnQzMkxFIiwid3JpdGVCaWdJbnQ2NExFIiwid3JpdGVJbnQ2NExFIiwiQmlnSW50Iiwid3JpdGVVSW50NjRMRSIsIndyaXRlQmlnVUludDY0TEUiLCJ3cml0ZVVJbnQzMkJFIiwid3JpdGVVSW50NDBMRSIsIndyaXRlSW50MzJMRSIsImZsb29yIiwid3JpdGVJbnQ4Iiwid3JpdGVJbnQxNkxFIiwid3JpdGVJbnQxNkJFIiwid3JpdGVJbnQzMkJFIiwid3JpdGVGbG9hdExFIiwid3JpdGVEb3VibGVMRSIsIndyaXRlU3RyaW5nIiwiYnl0ZUxlbmd0aCIsIndyaXRlIiwid3JpdGVCVmFyY2hhciIsIndyaXRlVXNWYXJjaGFyIiwid3JpdGVVc1ZhcmJ5dGUiLCJ0b1N0cmluZyIsIndyaXRlQnVmZmVyIiwid3JpdGVQTFBCb2R5Iiwid3JpdGVNb25leSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTSElGVF9MRUZUXzMyID0gKDEgPDwgMTYpICogKDEgPDwgMTYpO1xuY29uc3QgU0hJRlRfUklHSFRfMzIgPSAxIC8gU0hJRlRfTEVGVF8zMjtcbmNvbnN0IFVOS05PV05fUExQX0xFTiA9IEJ1ZmZlci5mcm9tKFsweGZlLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmXSk7XG5jb25zdCBaRVJPX0xFTkdUSF9CVUZGRVIgPSBCdWZmZXIuYWxsb2MoMCk7XG5cbmV4cG9ydCB0eXBlIEVuY29kaW5nID0gJ3V0ZjgnIHwgJ3VjczInIHwgJ2FzY2lpJztcblxuLyoqXG4gIEEgQnVmZmVyLWxpa2UgY2xhc3MgdGhhdCB0cmFja3MgcG9zaXRpb24uXG5cbiAgQXMgdmFsdWVzIGFyZSB3cml0dGVuLCB0aGUgcG9zaXRpb24gYWR2YW5jZXMgYnkgdGhlIHNpemUgb2YgdGhlIHdyaXR0ZW4gZGF0YS5cbiAgV2hlbiB3cml0aW5nLCBhdXRvbWF0aWNhbGx5IGFsbG9jYXRlcyBuZXcgYnVmZmVycyBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2UuXG4gKi9cbmNsYXNzIFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIge1xuICBkZWNsYXJlIGluaXRpYWxTaXplOiBudW1iZXI7XG4gIGRlY2xhcmUgZW5jb2Rpbmc6IEVuY29kaW5nO1xuICBkZWNsYXJlIGRvdWJsZVNpemVHcm93dGg6IGJvb2xlYW47XG5cbiAgZGVjbGFyZSBidWZmZXI6IEJ1ZmZlcjtcbiAgZGVjbGFyZSBjb21wb3NpdGVCdWZmZXI6IEJ1ZmZlcjtcblxuICBkZWNsYXJlIHBvc2l0aW9uOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFNpemU6IG51bWJlciwgZW5jb2Rpbmc/OiBFbmNvZGluZyB8IG51bGwsIGRvdWJsZVNpemVHcm93dGg/OiBib29sZWFuKSB7XG4gICAgdGhpcy5pbml0aWFsU2l6ZSA9IGluaXRpYWxTaXplO1xuICAgIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZyB8fCAndWNzMic7XG4gICAgdGhpcy5kb3VibGVTaXplR3Jvd3RoID0gZG91YmxlU2l6ZUdyb3d0aCB8fCBmYWxzZTtcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyh0aGlzLmluaXRpYWxTaXplLCAwKTtcbiAgICB0aGlzLmNvbXBvc2l0ZUJ1ZmZlciA9IFpFUk9fTEVOR1RIX0JVRkZFUjtcbiAgICB0aGlzLnBvc2l0aW9uID0gMDtcbiAgfVxuXG4gIGdldCBkYXRhKCkge1xuICAgIHRoaXMubmV3QnVmZmVyKDApO1xuICAgIHJldHVybiB0aGlzLmNvbXBvc2l0ZUJ1ZmZlcjtcbiAgfVxuXG4gIGNvcHlGcm9tKGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aDtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgYnVmZmVyLmNvcHkodGhpcy5idWZmZXIsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgbWFrZVJvb21Gb3IocmVxdWlyZWRMZW5ndGg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmJ1ZmZlci5sZW5ndGggLSB0aGlzLnBvc2l0aW9uIDwgcmVxdWlyZWRMZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmRvdWJsZVNpemVHcm93dGgpIHtcbiAgICAgICAgbGV0IHNpemUgPSBNYXRoLm1heCgxMjgsIHRoaXMuYnVmZmVyLmxlbmd0aCAqIDIpO1xuICAgICAgICB3aGlsZSAoc2l6ZSA8IHJlcXVpcmVkTGVuZ3RoKSB7XG4gICAgICAgICAgc2l6ZSAqPSAyO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmV3QnVmZmVyKHNpemUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZXdCdWZmZXIocmVxdWlyZWRMZW5ndGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5ld0J1ZmZlcihzaXplOiBudW1iZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSB0aGlzLmJ1ZmZlci5zbGljZSgwLCB0aGlzLnBvc2l0aW9uKTtcbiAgICB0aGlzLmNvbXBvc2l0ZUJ1ZmZlciA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY29tcG9zaXRlQnVmZmVyLCBidWZmZXJdKTtcbiAgICB0aGlzLmJ1ZmZlciA9IChzaXplID09PSAwKSA/IFpFUk9fTEVOR1RIX0JVRkZFUiA6IEJ1ZmZlci5hbGxvYyhzaXplLCAwKTtcbiAgICB0aGlzLnBvc2l0aW9uID0gMDtcbiAgfVxuXG4gIHdyaXRlVUludDgodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxlbmd0aCA9IDE7XG4gICAgdGhpcy5tYWtlUm9vbUZvcihsZW5ndGgpO1xuICAgIHRoaXMuYnVmZmVyLndyaXRlVUludDgodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVVSW50MTZMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gMjtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVVSW50MTZMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZVVTaG9ydCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy53cml0ZVVJbnQxNkxFKHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVUludDE2QkUodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxlbmd0aCA9IDI7XG4gICAgdGhpcy5tYWtlUm9vbUZvcihsZW5ndGgpO1xuICAgIHRoaXMuYnVmZmVyLndyaXRlVUludDE2QkUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVVSW50MjRMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gMztcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXJbdGhpcy5wb3NpdGlvbiArIDJdID0gKHZhbHVlID4+PiAxNikgJiAweGZmO1xuICAgIHRoaXMuYnVmZmVyW3RoaXMucG9zaXRpb24gKyAxXSA9ICh2YWx1ZSA+Pj4gOCkgJiAweGZmO1xuICAgIHRoaXMuYnVmZmVyW3RoaXMucG9zaXRpb25dID0gdmFsdWUgJiAweGZmO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVVSW50MzJMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gNDtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVVSW50MzJMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZUJpZ0ludDY0TEUodmFsdWU6IGJpZ2ludCkge1xuICAgIGNvbnN0IGxlbmd0aCA9IDg7XG4gICAgdGhpcy5tYWtlUm9vbUZvcihsZW5ndGgpO1xuICAgIHRoaXMuYnVmZmVyLndyaXRlQmlnSW50NjRMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZUludDY0TEUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMud3JpdGVCaWdJbnQ2NExFKEJpZ0ludCh2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVVSW50NjRMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy53cml0ZUJpZ1VJbnQ2NExFKEJpZ0ludCh2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVCaWdVSW50NjRMRSh2YWx1ZTogYmlnaW50KSB7XG4gICAgY29uc3QgbGVuZ3RoID0gODtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVCaWdVSW50NjRMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZVVJbnQzMkJFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZVVJbnQzMkJFKHZhbHVlLCB0aGlzLnBvc2l0aW9uKTtcbiAgICB0aGlzLnBvc2l0aW9uICs9IGxlbmd0aDtcbiAgfVxuXG4gIHdyaXRlVUludDQwTEUodmFsdWU6IG51bWJlcikge1xuICAgIC8vIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9kcHcvbm9kZS1idWZmZXItbW9yZS1pbnRzXG4gICAgdGhpcy53cml0ZUludDMyTEUodmFsdWUgJiAtMSk7XG4gICAgdGhpcy53cml0ZVVJbnQ4KE1hdGguZmxvb3IodmFsdWUgKiBTSElGVF9SSUdIVF8zMikpO1xuICB9XG5cbiAgd3JpdGVJbnQ4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSAxO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDgodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQxNkxFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSAyO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDE2TEUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQxNkJFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSAyO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDE2QkUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQzMkxFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDMyTEUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQzMkJFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDMyQkUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVGbG9hdExFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUZsb2F0TEUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVEb3VibGVMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gODtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVEb3VibGVMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZVN0cmluZyh2YWx1ZTogc3RyaW5nLCBlbmNvZGluZz86IEVuY29kaW5nIHwgbnVsbCkge1xuICAgIGlmIChlbmNvZGluZyA9PSBudWxsKSB7XG4gICAgICBlbmNvZGluZyA9IHRoaXMuZW5jb2Rpbmc7XG4gICAgfVxuXG4gICAgY29uc3QgbGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUsIGVuY29kaW5nKTtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG5cbiAgICAvLyAkRmxvd0ZpeE1lIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L3B1bGwvNTM5OFxuICAgIHRoaXMuYnVmZmVyLndyaXRlKHZhbHVlLCB0aGlzLnBvc2l0aW9uLCBlbmNvZGluZyk7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZUJWYXJjaGFyKHZhbHVlOiBzdHJpbmcsIGVuY29kaW5nPzogRW5jb2RpbmcgfCBudWxsKSB7XG4gICAgdGhpcy53cml0ZVVJbnQ4KHZhbHVlLmxlbmd0aCk7XG4gICAgdGhpcy53cml0ZVN0cmluZyh2YWx1ZSwgZW5jb2RpbmcpO1xuICB9XG5cbiAgd3JpdGVVc1ZhcmNoYXIodmFsdWU6IHN0cmluZywgZW5jb2Rpbmc/OiBFbmNvZGluZyB8IG51bGwpIHtcbiAgICB0aGlzLndyaXRlVUludDE2TEUodmFsdWUubGVuZ3RoKTtcbiAgICB0aGlzLndyaXRlU3RyaW5nKHZhbHVlLCBlbmNvZGluZyk7XG4gIH1cblxuICAvLyBUT0RPOiBGaWd1cmUgb3V0IHdoYXQgdHlwZXMgYXJlIHBhc3NlZCBpbiBvdGhlciB0aGFuIGBCdWZmZXJgXG4gIHdyaXRlVXNWYXJieXRlKHZhbHVlOiBhbnksIGVuY29kaW5nPzogRW5jb2RpbmcgfCBudWxsKSB7XG4gICAgaWYgKGVuY29kaW5nID09IG51bGwpIHtcbiAgICAgIGVuY29kaW5nID0gdGhpcy5lbmNvZGluZztcbiAgICB9XG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgZW5jb2RpbmcpO1xuICAgIH1cbiAgICB0aGlzLndyaXRlVUludDE2TEUobGVuZ3RoKTtcblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgdGhpcy53cml0ZUJ1ZmZlcih2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICAgIC8vICRGbG93Rml4TWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvcHVsbC81Mzk4XG4gICAgICB0aGlzLmJ1ZmZlci53cml0ZSh2YWx1ZSwgdGhpcy5wb3NpdGlvbiwgZW5jb2RpbmcpO1xuICAgICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVQTFBCb2R5KHZhbHVlOiBhbnksIGVuY29kaW5nPzogRW5jb2RpbmcgfCBudWxsKSB7XG4gICAgaWYgKGVuY29kaW5nID09IG51bGwpIHtcbiAgICAgIGVuY29kaW5nID0gdGhpcy5lbmNvZGluZztcbiAgICB9XG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgZW5jb2RpbmcpO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCBvZiBhbGwgY2h1bmtzLlxuICAgIC8vIHRoaXMud3JpdGVVSW50NjRMRShsZW5ndGgpO1xuICAgIC8vIHVua25vd24gc2VlbXMgdG8gd29yayBiZXR0ZXIgaGVyZSAtIG1pZ2h0IHJldmlzaXQgbGF0ZXIuXG4gICAgdGhpcy53cml0ZUJ1ZmZlcihVTktOT1dOX1BMUF9MRU4pO1xuXG4gICAgLy8gSW4gdGhlIFVOS05PV05fUExQX0xFTiBjYXNlLCB0aGUgZGF0YSBpcyByZXByZXNlbnRlZCBhcyBhIHNlcmllcyBvZiB6ZXJvIG9yIG1vcmUgY2h1bmtzLlxuICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAvLyBPbmUgY2h1bmsuXG4gICAgICB0aGlzLndyaXRlVUludDMyTEUobGVuZ3RoKTtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICB0aGlzLndyaXRlQnVmZmVyKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5idWZmZXIud3JpdGUodmFsdWUsIHRoaXMucG9zaXRpb24sIGVuY29kaW5nKTtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUExQX1RFUk1JTkFUT1IgKG5vIG1vcmUgY2h1bmtzKS5cbiAgICB0aGlzLndyaXRlVUludDMyTEUoMCk7XG4gIH1cblxuICB3cml0ZUJ1ZmZlcih2YWx1ZTogQnVmZmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB2YWx1ZS5jb3B5KHRoaXMuYnVmZmVyLCB0aGlzLnBvc2l0aW9uKTtcbiAgICB0aGlzLnBvc2l0aW9uICs9IGxlbmd0aDtcbiAgfVxuXG4gIHdyaXRlTW9uZXkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMud3JpdGVJbnQzMkxFKE1hdGguZmxvb3IodmFsdWUgKiBTSElGVF9SSUdIVF8zMikpO1xuICAgIHRoaXMud3JpdGVJbnQzMkxFKHZhbHVlICYgLTEpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXI7XG5tb2R1bGUuZXhwb3J0cyA9IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQU1BLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUs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
249
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSElGVF9MRUZUXzMyIiwiU0hJRlRfUklHSFRfMzIiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiWkVST19MRU5HVEhfQlVGRkVSIiwiYWxsb2MiLCJXcml0YWJsZVRyYWNraW5nQnVmZmVyIiwiY29uc3RydWN0b3IiLCJpbml0aWFsU2l6ZSIsImVuY29kaW5nIiwiZG91YmxlU2l6ZUdyb3d0aCIsImJ1ZmZlciIsImNvbXBvc2l0ZUJ1ZmZlciIsInBvc2l0aW9uIiwiZGF0YSIsIm5ld0J1ZmZlciIsImNvcHlGcm9tIiwibGVuZ3RoIiwibWFrZVJvb21Gb3IiLCJjb3B5IiwicmVxdWlyZWRMZW5ndGgiLCJzaXplIiwiTWF0aCIsIm1heCIsInNsaWNlIiwiY29uY2F0Iiwid3JpdGVVSW50OCIsInZhbHVlIiwid3JpdGVVSW50MTZMRSIsIndyaXRlVVNob3J0Iiwid3JpdGVVSW50MTZCRSIsIndyaXRlVUludDI0TEUiLCJ3cml0ZVVJbnQzMkxFIiwid3JpdGVCaWdJbnQ2NExFIiwid3JpdGVJbnQ2NExFIiwiQmlnSW50Iiwid3JpdGVVSW50NjRMRSIsIndyaXRlQmlnVUludDY0TEUiLCJ3cml0ZVVJbnQzMkJFIiwid3JpdGVVSW50NDBMRSIsIndyaXRlSW50MzJMRSIsImZsb29yIiwid3JpdGVJbnQ4Iiwid3JpdGVJbnQxNkxFIiwid3JpdGVJbnQxNkJFIiwid3JpdGVJbnQzMkJFIiwid3JpdGVGbG9hdExFIiwid3JpdGVEb3VibGVMRSIsIndyaXRlU3RyaW5nIiwiYnl0ZUxlbmd0aCIsIndyaXRlIiwid3JpdGVCVmFyY2hhciIsIndyaXRlVXNWYXJjaGFyIiwid3JpdGVVc1ZhcmJ5dGUiLCJ0b1N0cmluZyIsIndyaXRlQnVmZmVyIiwid3JpdGVQTFBCb2R5Iiwid3JpdGVNb25leSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTSElGVF9MRUZUXzMyID0gKDEgPDwgMTYpICogKDEgPDwgMTYpO1xuY29uc3QgU0hJRlRfUklHSFRfMzIgPSAxIC8gU0hJRlRfTEVGVF8zMjtcbmNvbnN0IFVOS05PV05fUExQX0xFTiA9IEJ1ZmZlci5mcm9tKFsweGZlLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmXSk7XG5jb25zdCBaRVJPX0xFTkdUSF9CVUZGRVIgPSBCdWZmZXIuYWxsb2MoMCk7XG5cbmV4cG9ydCB0eXBlIEVuY29kaW5nID0gJ3V0ZjgnIHwgJ3VjczInIHwgJ2FzY2lpJztcblxuLyoqXG4gIEEgQnVmZmVyLWxpa2UgY2xhc3MgdGhhdCB0cmFja3MgcG9zaXRpb24uXG5cbiAgQXMgdmFsdWVzIGFyZSB3cml0dGVuLCB0aGUgcG9zaXRpb24gYWR2YW5jZXMgYnkgdGhlIHNpemUgb2YgdGhlIHdyaXR0ZW4gZGF0YS5cbiAgV2hlbiB3cml0aW5nLCBhdXRvbWF0aWNhbGx5IGFsbG9jYXRlcyBuZXcgYnVmZmVycyBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2UuXG4gKi9cbmNsYXNzIFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIge1xuICBkZWNsYXJlIGluaXRpYWxTaXplOiBudW1iZXI7XG4gIGRlY2xhcmUgZW5jb2Rpbmc6IEVuY29kaW5nO1xuICBkZWNsYXJlIGRvdWJsZVNpemVHcm93dGg6IGJvb2xlYW47XG5cbiAgZGVjbGFyZSBidWZmZXI6IEJ1ZmZlcjtcbiAgZGVjbGFyZSBjb21wb3NpdGVCdWZmZXI6IEJ1ZmZlcjtcblxuICBkZWNsYXJlIHBvc2l0aW9uOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFNpemU6IG51bWJlciwgZW5jb2Rpbmc/OiBFbmNvZGluZyB8IG51bGwsIGRvdWJsZVNpemVHcm93dGg/OiBib29sZWFuKSB7XG4gICAgdGhpcy5pbml0aWFsU2l6ZSA9IGluaXRpYWxTaXplO1xuICAgIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZyB8fCAndWNzMic7XG4gICAgdGhpcy5kb3VibGVTaXplR3Jvd3RoID0gZG91YmxlU2l6ZUdyb3d0aCB8fCBmYWxzZTtcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyh0aGlzLmluaXRpYWxTaXplLCAwKTtcbiAgICB0aGlzLmNvbXBvc2l0ZUJ1ZmZlciA9IFpFUk9fTEVOR1RIX0JVRkZFUjtcbiAgICB0aGlzLnBvc2l0aW9uID0gMDtcbiAgfVxuXG4gIGdldCBkYXRhKCkge1xuICAgIHRoaXMubmV3QnVmZmVyKDApO1xuICAgIHJldHVybiB0aGlzLmNvbXBvc2l0ZUJ1ZmZlcjtcbiAgfVxuXG4gIGNvcHlGcm9tKGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aDtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgYnVmZmVyLmNvcHkodGhpcy5idWZmZXIsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgbWFrZVJvb21Gb3IocmVxdWlyZWRMZW5ndGg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmJ1ZmZlci5sZW5ndGggLSB0aGlzLnBvc2l0aW9uIDwgcmVxdWlyZWRMZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmRvdWJsZVNpemVHcm93dGgpIHtcbiAgICAgICAgbGV0IHNpemUgPSBNYXRoLm1heCgxMjgsIHRoaXMuYnVmZmVyLmxlbmd0aCAqIDIpO1xuICAgICAgICB3aGlsZSAoc2l6ZSA8IHJlcXVpcmVkTGVuZ3RoKSB7XG4gICAgICAgICAgc2l6ZSAqPSAyO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmV3QnVmZmVyKHNpemUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZXdCdWZmZXIocmVxdWlyZWRMZW5ndGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5ld0J1ZmZlcihzaXplOiBudW1iZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSB0aGlzLmJ1ZmZlci5zbGljZSgwLCB0aGlzLnBvc2l0aW9uKTtcbiAgICB0aGlzLmNvbXBvc2l0ZUJ1ZmZlciA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY29tcG9zaXRlQnVmZmVyLCBidWZmZXJdKTtcbiAgICB0aGlzLmJ1ZmZlciA9IChzaXplID09PSAwKSA/IFpFUk9fTEVOR1RIX0JVRkZFUiA6IEJ1ZmZlci5hbGxvYyhzaXplLCAwKTtcbiAgICB0aGlzLnBvc2l0aW9uID0gMDtcbiAgfVxuXG4gIHdyaXRlVUludDgodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxlbmd0aCA9IDE7XG4gICAgdGhpcy5tYWtlUm9vbUZvcihsZW5ndGgpO1xuICAgIHRoaXMuYnVmZmVyLndyaXRlVUludDgodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVVSW50MTZMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gMjtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVVSW50MTZMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZVVTaG9ydCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy53cml0ZVVJbnQxNkxFKHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVUludDE2QkUodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxlbmd0aCA9IDI7XG4gICAgdGhpcy5tYWtlUm9vbUZvcihsZW5ndGgpO1xuICAgIHRoaXMuYnVmZmVyLndyaXRlVUludDE2QkUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVVSW50MjRMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gMztcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXJbdGhpcy5wb3NpdGlvbiArIDJdID0gKHZhbHVlID4+PiAxNikgJiAweGZmO1xuICAgIHRoaXMuYnVmZmVyW3RoaXMucG9zaXRpb24gKyAxXSA9ICh2YWx1ZSA+Pj4gOCkgJiAweGZmO1xuICAgIHRoaXMuYnVmZmVyW3RoaXMucG9zaXRpb25dID0gdmFsdWUgJiAweGZmO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVVSW50MzJMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gNDtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVVSW50MzJMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZUJpZ0ludDY0TEUodmFsdWU6IGJpZ2ludCkge1xuICAgIGNvbnN0IGxlbmd0aCA9IDg7XG4gICAgdGhpcy5tYWtlUm9vbUZvcihsZW5ndGgpO1xuICAgIHRoaXMuYnVmZmVyLndyaXRlQmlnSW50NjRMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZUludDY0TEUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMud3JpdGVCaWdJbnQ2NExFKEJpZ0ludCh2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVVSW50NjRMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy53cml0ZUJpZ1VJbnQ2NExFKEJpZ0ludCh2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVCaWdVSW50NjRMRSh2YWx1ZTogYmlnaW50KSB7XG4gICAgY29uc3QgbGVuZ3RoID0gODtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVCaWdVSW50NjRMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZVVJbnQzMkJFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZVVJbnQzMkJFKHZhbHVlLCB0aGlzLnBvc2l0aW9uKTtcbiAgICB0aGlzLnBvc2l0aW9uICs9IGxlbmd0aDtcbiAgfVxuXG4gIHdyaXRlVUludDQwTEUodmFsdWU6IG51bWJlcikge1xuICAgIC8vIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9kcHcvbm9kZS1idWZmZXItbW9yZS1pbnRzXG4gICAgdGhpcy53cml0ZUludDMyTEUodmFsdWUgJiAtMSk7XG4gICAgdGhpcy53cml0ZVVJbnQ4KE1hdGguZmxvb3IodmFsdWUgKiBTSElGVF9SSUdIVF8zMikpO1xuICB9XG5cbiAgd3JpdGVJbnQ4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSAxO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDgodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQxNkxFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSAyO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDE2TEUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQxNkJFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSAyO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDE2QkUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQzMkxFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDMyTEUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVJbnQzMkJFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUludDMyQkUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVGbG9hdExFKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW5ndGggPSA0O1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB0aGlzLmJ1ZmZlci53cml0ZUZsb2F0TEUodmFsdWUsIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb24gKz0gbGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVEb3VibGVMRSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gODtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG4gICAgdGhpcy5idWZmZXIud3JpdGVEb3VibGVMRSh2YWx1ZSwgdGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZVN0cmluZyh2YWx1ZTogc3RyaW5nLCBlbmNvZGluZz86IEVuY29kaW5nIHwgbnVsbCkge1xuICAgIGlmIChlbmNvZGluZyA9PSBudWxsKSB7XG4gICAgICBlbmNvZGluZyA9IHRoaXMuZW5jb2Rpbmc7XG4gICAgfVxuXG4gICAgY29uc3QgbGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUsIGVuY29kaW5nKTtcbiAgICB0aGlzLm1ha2VSb29tRm9yKGxlbmd0aCk7XG5cbiAgICAvLyAkRmxvd0ZpeE1lIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L3B1bGwvNTM5OFxuICAgIHRoaXMuYnVmZmVyLndyaXRlKHZhbHVlLCB0aGlzLnBvc2l0aW9uLCBlbmNvZGluZyk7XG4gICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gIH1cblxuICB3cml0ZUJWYXJjaGFyKHZhbHVlOiBzdHJpbmcsIGVuY29kaW5nPzogRW5jb2RpbmcgfCBudWxsKSB7XG4gICAgdGhpcy53cml0ZVVJbnQ4KHZhbHVlLmxlbmd0aCk7XG4gICAgdGhpcy53cml0ZVN0cmluZyh2YWx1ZSwgZW5jb2RpbmcpO1xuICB9XG5cbiAgd3JpdGVVc1ZhcmNoYXIodmFsdWU6IHN0cmluZywgZW5jb2Rpbmc/OiBFbmNvZGluZyB8IG51bGwpIHtcbiAgICB0aGlzLndyaXRlVUludDE2TEUodmFsdWUubGVuZ3RoKTtcbiAgICB0aGlzLndyaXRlU3RyaW5nKHZhbHVlLCBlbmNvZGluZyk7XG4gIH1cblxuICAvLyBUT0RPOiBGaWd1cmUgb3V0IHdoYXQgdHlwZXMgYXJlIHBhc3NlZCBpbiBvdGhlciB0aGFuIGBCdWZmZXJgXG4gIHdyaXRlVXNWYXJieXRlKHZhbHVlOiBhbnksIGVuY29kaW5nPzogRW5jb2RpbmcgfCBudWxsKSB7XG4gICAgaWYgKGVuY29kaW5nID09IG51bGwpIHtcbiAgICAgIGVuY29kaW5nID0gdGhpcy5lbmNvZGluZztcbiAgICB9XG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgZW5jb2RpbmcpO1xuICAgIH1cbiAgICB0aGlzLndyaXRlVUludDE2TEUobGVuZ3RoKTtcblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgdGhpcy53cml0ZUJ1ZmZlcih2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICAgIC8vICRGbG93Rml4TWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvcHVsbC81Mzk4XG4gICAgICB0aGlzLmJ1ZmZlci53cml0ZSh2YWx1ZSwgdGhpcy5wb3NpdGlvbiwgZW5jb2RpbmcpO1xuICAgICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVQTFBCb2R5KHZhbHVlOiBhbnksIGVuY29kaW5nPzogRW5jb2RpbmcgfCBudWxsKSB7XG4gICAgaWYgKGVuY29kaW5nID09IG51bGwpIHtcbiAgICAgIGVuY29kaW5nID0gdGhpcy5lbmNvZGluZztcbiAgICB9XG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgZW5jb2RpbmcpO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCBvZiBhbGwgY2h1bmtzLlxuICAgIC8vIHRoaXMud3JpdGVVSW50NjRMRShsZW5ndGgpO1xuICAgIC8vIHVua25vd24gc2VlbXMgdG8gd29yayBiZXR0ZXIgaGVyZSAtIG1pZ2h0IHJldmlzaXQgbGF0ZXIuXG4gICAgdGhpcy53cml0ZUJ1ZmZlcihVTktOT1dOX1BMUF9MRU4pO1xuXG4gICAgLy8gSW4gdGhlIFVOS05PV05fUExQX0xFTiBjYXNlLCB0aGUgZGF0YSBpcyByZXByZXNlbnRlZCBhcyBhIHNlcmllcyBvZiB6ZXJvIG9yIG1vcmUgY2h1bmtzLlxuICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAvLyBPbmUgY2h1bmsuXG4gICAgICB0aGlzLndyaXRlVUludDMyTEUobGVuZ3RoKTtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICB0aGlzLndyaXRlQnVmZmVyKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5idWZmZXIud3JpdGUodmFsdWUsIHRoaXMucG9zaXRpb24sIGVuY29kaW5nKTtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiArPSBsZW5ndGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUExQX1RFUk1JTkFUT1IgKG5vIG1vcmUgY2h1bmtzKS5cbiAgICB0aGlzLndyaXRlVUludDMyTEUoMCk7XG4gIH1cblxuICB3cml0ZUJ1ZmZlcih2YWx1ZTogQnVmZmVyKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIHRoaXMubWFrZVJvb21Gb3IobGVuZ3RoKTtcbiAgICB2YWx1ZS5jb3B5KHRoaXMuYnVmZmVyLCB0aGlzLnBvc2l0aW9uKTtcbiAgICB0aGlzLnBvc2l0aW9uICs9IGxlbmd0aDtcbiAgfVxuXG4gIHdyaXRlTW9uZXkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMud3JpdGVJbnQzMkxFKE1hdGguZmxvb3IodmFsdWUgKiBTSElGVF9SSUdIVF8zMikpO1xuICAgIHRoaXMud3JpdGVJbnQzMkxFKHZhbHVlICYgLTEpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXI7XG5tb2R1bGUuZXhwb3J0cyA9IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQU1BLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUs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
@@ -1 +1 @@
1
- {"version":3,"file":"writable-tracking-buffer.js","names":["SHIFT_LEFT_32","SHIFT_RIGHT_32","UNKNOWN_PLP_LEN","Buffer","from","ZERO_LENGTH_BUFFER","alloc","WritableTrackingBuffer","constructor","initialSize","encoding","doubleSizeGrowth","buffer","compositeBuffer","position","data","newBuffer","copyFrom","length","makeRoomFor","copy","requiredLength","size","Math","max","slice","concat","writeUInt8","value","writeUInt16LE","writeUShort","writeUInt16BE","writeUInt24LE","writeUInt32LE","writeBigInt64LE","writeInt64LE","BigInt","writeUInt64LE","writeBigUInt64LE","writeUInt32BE","writeUInt40LE","writeInt32LE","floor","writeInt8","writeInt16LE","writeInt16BE","writeInt32BE","writeFloatLE","writeDoubleLE","writeString","byteLength","write","writeBVarchar","writeUsVarchar","writeUsVarbyte","toString","writeBuffer","writePLPBody","writeMoney","_default","exports","default","module"],"sources":["../../src/tracking-buffer/writable-tracking-buffer.ts"],"sourcesContent":["const SHIFT_LEFT_32 = (1 << 16) * (1 << 16);\nconst SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;\nconst UNKNOWN_PLP_LEN = Buffer.from([0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]);\nconst ZERO_LENGTH_BUFFER = Buffer.alloc(0);\n\nexport type Encoding = 'utf8' | 'ucs2' | 'ascii';\n\n/**\n A Buffer-like class that tracks position.\n\n As values are written, the position advances by the size of the written data.\n When writing, automatically allocates new buffers if there's not enough space.\n */\nclass WritableTrackingBuffer {\n declare initialSize: number;\n declare encoding: Encoding;\n declare doubleSizeGrowth: boolean;\n\n declare buffer: Buffer;\n declare compositeBuffer: Buffer;\n\n declare position: number;\n\n constructor(initialSize: number, encoding?: Encoding | null, doubleSizeGrowth?: boolean) {\n this.initialSize = initialSize;\n this.encoding = encoding || 'ucs2';\n this.doubleSizeGrowth = doubleSizeGrowth || false;\n this.buffer = Buffer.alloc(this.initialSize, 0);\n this.compositeBuffer = ZERO_LENGTH_BUFFER;\n this.position = 0;\n }\n\n get data() {\n this.newBuffer(0);\n return this.compositeBuffer;\n }\n\n copyFrom(buffer: Buffer) {\n const length = buffer.length;\n this.makeRoomFor(length);\n buffer.copy(this.buffer, this.position);\n this.position += length;\n }\n\n makeRoomFor(requiredLength: number) {\n if (this.buffer.length - this.position < requiredLength) {\n if (this.doubleSizeGrowth) {\n let size = Math.max(128, this.buffer.length * 2);\n while (size < requiredLength) {\n size *= 2;\n }\n this.newBuffer(size);\n } else {\n this.newBuffer(requiredLength);\n }\n }\n }\n\n newBuffer(size: number) {\n const buffer = this.buffer.slice(0, this.position);\n this.compositeBuffer = Buffer.concat([this.compositeBuffer, buffer]);\n this.buffer = (size === 0) ? ZERO_LENGTH_BUFFER : Buffer.alloc(size, 0);\n this.position = 0;\n }\n\n writeUInt8(value: number) {\n const length = 1;\n this.makeRoomFor(length);\n this.buffer.writeUInt8(value, this.position);\n this.position += length;\n }\n\n writeUInt16LE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeUInt16LE(value, this.position);\n this.position += length;\n }\n\n writeUShort(value: number) {\n this.writeUInt16LE(value);\n }\n\n writeUInt16BE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeUInt16BE(value, this.position);\n this.position += length;\n }\n\n writeUInt24LE(value: number) {\n const length = 3;\n this.makeRoomFor(length);\n this.buffer[this.position + 2] = (value >>> 16) & 0xff;\n this.buffer[this.position + 1] = (value >>> 8) & 0xff;\n this.buffer[this.position] = value & 0xff;\n this.position += length;\n }\n\n writeUInt32LE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeUInt32LE(value, this.position);\n this.position += length;\n }\n\n writeBigInt64LE(value: bigint) {\n const length = 8;\n this.makeRoomFor(length);\n this.buffer.writeBigInt64LE(value, this.position);\n this.position += length;\n }\n\n writeInt64LE(value: number) {\n this.writeBigInt64LE(BigInt(value));\n }\n\n writeUInt64LE(value: number) {\n this.writeBigUInt64LE(BigInt(value));\n }\n\n writeBigUInt64LE(value: bigint) {\n const length = 8;\n this.makeRoomFor(length);\n this.buffer.writeBigUInt64LE(value, this.position);\n this.position += length;\n }\n\n writeUInt32BE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeUInt32BE(value, this.position);\n this.position += length;\n }\n\n writeUInt40LE(value: number) {\n // inspired by https://github.com/dpw/node-buffer-more-ints\n this.writeInt32LE(value & -1);\n this.writeUInt8(Math.floor(value * SHIFT_RIGHT_32));\n }\n\n writeInt8(value: number) {\n const length = 1;\n this.makeRoomFor(length);\n this.buffer.writeInt8(value, this.position);\n this.position += length;\n }\n\n writeInt16LE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeInt16LE(value, this.position);\n this.position += length;\n }\n\n writeInt16BE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeInt16BE(value, this.position);\n this.position += length;\n }\n\n writeInt32LE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeInt32LE(value, this.position);\n this.position += length;\n }\n\n writeInt32BE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeInt32BE(value, this.position);\n this.position += length;\n }\n\n writeFloatLE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeFloatLE(value, this.position);\n this.position += length;\n }\n\n writeDoubleLE(value: number) {\n const length = 8;\n this.makeRoomFor(length);\n this.buffer.writeDoubleLE(value, this.position);\n this.position += length;\n }\n\n writeString(value: string, encoding?: Encoding | null) {\n if (encoding == null) {\n encoding = this.encoding;\n }\n\n const length = Buffer.byteLength(value, encoding);\n this.makeRoomFor(length);\n\n // $FlowFixMe https://github.com/facebook/flow/pull/5398\n this.buffer.write(value, this.position, encoding);\n this.position += length;\n }\n\n writeBVarchar(value: string, encoding?: Encoding | null) {\n this.writeUInt8(value.length);\n this.writeString(value, encoding);\n }\n\n writeUsVarchar(value: string, encoding?: Encoding | null) {\n this.writeUInt16LE(value.length);\n this.writeString(value, encoding);\n }\n\n // TODO: Figure out what types are passed in other than `Buffer`\n writeUsVarbyte(value: any, encoding?: Encoding | null) {\n if (encoding == null) {\n encoding = this.encoding;\n }\n\n let length;\n if (value instanceof Buffer) {\n length = value.length;\n } else {\n value = value.toString();\n length = Buffer.byteLength(value, encoding);\n }\n this.writeUInt16LE(length);\n\n if (value instanceof Buffer) {\n this.writeBuffer(value);\n } else {\n this.makeRoomFor(length);\n // $FlowFixMe https://github.com/facebook/flow/pull/5398\n this.buffer.write(value, this.position, encoding);\n this.position += length;\n }\n }\n\n writePLPBody(value: any, encoding?: Encoding | null) {\n if (encoding == null) {\n encoding = this.encoding;\n }\n\n let length;\n if (value instanceof Buffer) {\n length = value.length;\n } else {\n value = value.toString();\n length = Buffer.byteLength(value, encoding);\n }\n\n // Length of all chunks.\n // this.writeUInt64LE(length);\n // unknown seems to work better here - might revisit later.\n this.writeBuffer(UNKNOWN_PLP_LEN);\n\n // In the UNKNOWN_PLP_LEN case, the data is represented as a series of zero or more chunks.\n if (length > 0) {\n // One chunk.\n this.writeUInt32LE(length);\n if (value instanceof Buffer) {\n this.writeBuffer(value);\n } else {\n this.makeRoomFor(length);\n this.buffer.write(value, this.position, encoding);\n this.position += length;\n }\n }\n\n // PLP_TERMINATOR (no more chunks).\n this.writeUInt32LE(0);\n }\n\n writeBuffer(value: Buffer) {\n const length = value.length;\n this.makeRoomFor(length);\n value.copy(this.buffer, this.position);\n this.position += length;\n }\n\n writeMoney(value: number) {\n this.writeInt32LE(Math.floor(value * SHIFT_RIGHT_32));\n this.writeInt32LE(value & -1);\n }\n}\n\nexport default WritableTrackingBuffer;\nmodule.exports = WritableTrackingBuffer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"writable-tracking-buffer.js","names":["SHIFT_LEFT_32","SHIFT_RIGHT_32","UNKNOWN_PLP_LEN","Buffer","from","ZERO_LENGTH_BUFFER","alloc","WritableTrackingBuffer","constructor","initialSize","encoding","doubleSizeGrowth","buffer","compositeBuffer","position","data","newBuffer","copyFrom","length","makeRoomFor","copy","requiredLength","size","Math","max","slice","concat","writeUInt8","value","writeUInt16LE","writeUShort","writeUInt16BE","writeUInt24LE","writeUInt32LE","writeBigInt64LE","writeInt64LE","BigInt","writeUInt64LE","writeBigUInt64LE","writeUInt32BE","writeUInt40LE","writeInt32LE","floor","writeInt8","writeInt16LE","writeInt16BE","writeInt32BE","writeFloatLE","writeDoubleLE","writeString","byteLength","write","writeBVarchar","writeUsVarchar","writeUsVarbyte","toString","writeBuffer","writePLPBody","writeMoney","_default","exports","default","module"],"sources":["../../src/tracking-buffer/writable-tracking-buffer.ts"],"sourcesContent":["const SHIFT_LEFT_32 = (1 << 16) * (1 << 16);\nconst SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;\nconst UNKNOWN_PLP_LEN = Buffer.from([0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]);\nconst ZERO_LENGTH_BUFFER = Buffer.alloc(0);\n\nexport type Encoding = 'utf8' | 'ucs2' | 'ascii';\n\n/**\n A Buffer-like class that tracks position.\n\n As values are written, the position advances by the size of the written data.\n When writing, automatically allocates new buffers if there's not enough space.\n */\nclass WritableTrackingBuffer {\n declare initialSize: number;\n declare encoding: Encoding;\n declare doubleSizeGrowth: boolean;\n\n declare buffer: Buffer;\n declare compositeBuffer: Buffer;\n\n declare position: number;\n\n constructor(initialSize: number, encoding?: Encoding | null, doubleSizeGrowth?: boolean) {\n this.initialSize = initialSize;\n this.encoding = encoding || 'ucs2';\n this.doubleSizeGrowth = doubleSizeGrowth || false;\n this.buffer = Buffer.alloc(this.initialSize, 0);\n this.compositeBuffer = ZERO_LENGTH_BUFFER;\n this.position = 0;\n }\n\n get data() {\n this.newBuffer(0);\n return this.compositeBuffer;\n }\n\n copyFrom(buffer: Buffer) {\n const length = buffer.length;\n this.makeRoomFor(length);\n buffer.copy(this.buffer, this.position);\n this.position += length;\n }\n\n makeRoomFor(requiredLength: number) {\n if (this.buffer.length - this.position < requiredLength) {\n if (this.doubleSizeGrowth) {\n let size = Math.max(128, this.buffer.length * 2);\n while (size < requiredLength) {\n size *= 2;\n }\n this.newBuffer(size);\n } else {\n this.newBuffer(requiredLength);\n }\n }\n }\n\n newBuffer(size: number) {\n const buffer = this.buffer.slice(0, this.position);\n this.compositeBuffer = Buffer.concat([this.compositeBuffer, buffer]);\n this.buffer = (size === 0) ? ZERO_LENGTH_BUFFER : Buffer.alloc(size, 0);\n this.position = 0;\n }\n\n writeUInt8(value: number) {\n const length = 1;\n this.makeRoomFor(length);\n this.buffer.writeUInt8(value, this.position);\n this.position += length;\n }\n\n writeUInt16LE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeUInt16LE(value, this.position);\n this.position += length;\n }\n\n writeUShort(value: number) {\n this.writeUInt16LE(value);\n }\n\n writeUInt16BE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeUInt16BE(value, this.position);\n this.position += length;\n }\n\n writeUInt24LE(value: number) {\n const length = 3;\n this.makeRoomFor(length);\n this.buffer[this.position + 2] = (value >>> 16) & 0xff;\n this.buffer[this.position + 1] = (value >>> 8) & 0xff;\n this.buffer[this.position] = value & 0xff;\n this.position += length;\n }\n\n writeUInt32LE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeUInt32LE(value, this.position);\n this.position += length;\n }\n\n writeBigInt64LE(value: bigint) {\n const length = 8;\n this.makeRoomFor(length);\n this.buffer.writeBigInt64LE(value, this.position);\n this.position += length;\n }\n\n writeInt64LE(value: number) {\n this.writeBigInt64LE(BigInt(value));\n }\n\n writeUInt64LE(value: number) {\n this.writeBigUInt64LE(BigInt(value));\n }\n\n writeBigUInt64LE(value: bigint) {\n const length = 8;\n this.makeRoomFor(length);\n this.buffer.writeBigUInt64LE(value, this.position);\n this.position += length;\n }\n\n writeUInt32BE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeUInt32BE(value, this.position);\n this.position += length;\n }\n\n writeUInt40LE(value: number) {\n // inspired by https://github.com/dpw/node-buffer-more-ints\n this.writeInt32LE(value & -1);\n this.writeUInt8(Math.floor(value * SHIFT_RIGHT_32));\n }\n\n writeInt8(value: number) {\n const length = 1;\n this.makeRoomFor(length);\n this.buffer.writeInt8(value, this.position);\n this.position += length;\n }\n\n writeInt16LE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeInt16LE(value, this.position);\n this.position += length;\n }\n\n writeInt16BE(value: number) {\n const length = 2;\n this.makeRoomFor(length);\n this.buffer.writeInt16BE(value, this.position);\n this.position += length;\n }\n\n writeInt32LE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeInt32LE(value, this.position);\n this.position += length;\n }\n\n writeInt32BE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeInt32BE(value, this.position);\n this.position += length;\n }\n\n writeFloatLE(value: number) {\n const length = 4;\n this.makeRoomFor(length);\n this.buffer.writeFloatLE(value, this.position);\n this.position += length;\n }\n\n writeDoubleLE(value: number) {\n const length = 8;\n this.makeRoomFor(length);\n this.buffer.writeDoubleLE(value, this.position);\n this.position += length;\n }\n\n writeString(value: string, encoding?: Encoding | null) {\n if (encoding == null) {\n encoding = this.encoding;\n }\n\n const length = Buffer.byteLength(value, encoding);\n this.makeRoomFor(length);\n\n // $FlowFixMe https://github.com/facebook/flow/pull/5398\n this.buffer.write(value, this.position, encoding);\n this.position += length;\n }\n\n writeBVarchar(value: string, encoding?: Encoding | null) {\n this.writeUInt8(value.length);\n this.writeString(value, encoding);\n }\n\n writeUsVarchar(value: string, encoding?: Encoding | null) {\n this.writeUInt16LE(value.length);\n this.writeString(value, encoding);\n }\n\n // TODO: Figure out what types are passed in other than `Buffer`\n writeUsVarbyte(value: any, encoding?: Encoding | null) {\n if (encoding == null) {\n encoding = this.encoding;\n }\n\n let length;\n if (value instanceof Buffer) {\n length = value.length;\n } else {\n value = value.toString();\n length = Buffer.byteLength(value, encoding);\n }\n this.writeUInt16LE(length);\n\n if (value instanceof Buffer) {\n this.writeBuffer(value);\n } else {\n this.makeRoomFor(length);\n // $FlowFixMe https://github.com/facebook/flow/pull/5398\n this.buffer.write(value, this.position, encoding);\n this.position += length;\n }\n }\n\n writePLPBody(value: any, encoding?: Encoding | null) {\n if (encoding == null) {\n encoding = this.encoding;\n }\n\n let length;\n if (value instanceof Buffer) {\n length = value.length;\n } else {\n value = value.toString();\n length = Buffer.byteLength(value, encoding);\n }\n\n // Length of all chunks.\n // this.writeUInt64LE(length);\n // unknown seems to work better here - might revisit later.\n this.writeBuffer(UNKNOWN_PLP_LEN);\n\n // In the UNKNOWN_PLP_LEN case, the data is represented as a series of zero or more chunks.\n if (length > 0) {\n // One chunk.\n this.writeUInt32LE(length);\n if (value instanceof Buffer) {\n this.writeBuffer(value);\n } else {\n this.makeRoomFor(length);\n this.buffer.write(value, this.position, encoding);\n this.position += length;\n }\n }\n\n // PLP_TERMINATOR (no more chunks).\n this.writeUInt32LE(0);\n }\n\n writeBuffer(value: Buffer) {\n const length = value.length;\n this.makeRoomFor(length);\n value.copy(this.buffer, this.position);\n this.position += length;\n }\n\n writeMoney(value: number) {\n this.writeInt32LE(Math.floor(value * SHIFT_RIGHT_32));\n this.writeInt32LE(value & -1);\n }\n}\n\nexport default WritableTrackingBuffer;\nmodule.exports = WritableTrackingBuffer;\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ exports.assertValidIsolationLevel = assertValidIsolationLevel;
8
8
  exports.isolationLevelByValue = void 0;
9
9
  var _writableTrackingBuffer = _interopRequireDefault(require("./tracking-buffer/writable-tracking-buffer"));
10
10
  var _allHeaders = require("./all-headers");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  /*
13
13
  s2.2.6.8
14
14
  */
@@ -134,4 +134,4 @@ class Transaction {
134
134
  }
135
135
  }
136
136
  exports.Transaction = Transaction;
137
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FsbEhlYWRlcnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIk9QRVJBVElPTl9UWVBFIiwiZXhwb3J0cyIsIlRNX0dFVF9EVENfQUREUkVTUyIsIlRNX1BST1BBR0FURV9YQUNUIiwiVE1fQkVHSU5fWEFDVCIsIlRNX1BST01PVEVfWEFDVCIsIlRNX0NPTU1JVF9YQUNUIiwiVE1fUk9MTEJBQ0tfWEFDVCIsIlRNX1NBVkVfWEFDVCIsIklTT0xBVElPTl9MRVZFTCIsIk5PX0NIQU5HRSIsIlJFQURfVU5DT01NSVRURUQiLCJSRUFEX0NPTU1JVFRFRCIsIlJFUEVBVEFCTEVfUkVBRCIsIlNFUklBTElaQUJMRSIsIlNOQVBTSE9UIiwiaXNvbGF0aW9uTGV2ZWxCeVZhbHVlIiwibmFtZSIsInZhbHVlIiwiYXNzZXJ0VmFsaWRJc29sYXRpb25MZXZlbCIsImlzb2xhdGlvbkxldmVsIiwiVHlwZUVycm9yIiwiaW5jbHVkZXMiLCJOdW1iZXIiLCJpc0ludGVnZXIiLCJSYW5nZUVycm9yIiwiVHJhbnNhY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm91dHN0YW5kaW5nUmVxdWVzdENvdW50IiwiYmVnaW5QYXlsb2FkIiwidHhuRGVzY3JpcHRvciIsImJ1ZmZlciIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVRvVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVTaG9ydCIsIndyaXRlVUludDgiLCJsZW5ndGgiLCJ3cml0ZVN0cmluZyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZGF0YSIsInRvU3RyaW5nIiwiY29tbWl0UGF5bG9hZCIsInJvbGxiYWNrUGF5bG9hZCIsInNhdmVQYXlsb2FkIiwiaXNvbGF0aW9uTGV2ZWxUb1RTUUwiXSwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIgZnJvbSAnLi90cmFja2luZy1idWZmZXIvd3JpdGFibGUtdHJhY2tpbmctYnVmZmVyJztcbmltcG9ydCB7IHdyaXRlVG9UcmFja2luZ0J1ZmZlciB9IGZyb20gJy4vYWxsLWhlYWRlcnMnO1xuXG4vKlxuICBzMi4yLjYuOFxuICovXG5cbmV4cG9ydCBjb25zdCBPUEVSQVRJT05fVFlQRSA9IHtcbiAgVE1fR0VUX0RUQ19BRERSRVNTOiAweDAwLFxuICBUTV9QUk9QQUdBVEVfWEFDVDogMHgwMSxcbiAgVE1fQkVHSU5fWEFDVDogMHgwNSxcbiAgVE1fUFJPTU9URV9YQUNUOiAweDA2LFxuICBUTV9DT01NSVRfWEFDVDogMHgwNyxcbiAgVE1fUk9MTEJBQ0tfWEFDVDogMHgwOCxcbiAgVE1fU0FWRV9YQUNUOiAweDA5XG59O1xuXG5leHBvcnQgY29uc3QgSVNPTEFUSU9OX0xFVkVMOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuICBOT19DSEFOR0U6IDB4MDAsXG4gIFJFQURfVU5DT01NSVRURUQ6IDB4MDEsXG4gIFJFQURfQ09NTUlUVEVEOiAweDAyLFxuICBSRVBFQVRBQkxFX1JFQUQ6IDB4MDMsXG4gIFNFUklBTElaQUJMRTogMHgwNCxcbiAgU05BUFNIT1Q6IDB4MDVcbn07XG5cbmV4cG9ydCBjb25zdCBpc29sYXRpb25MZXZlbEJ5VmFsdWU6IHsgW2tleTogbnVtYmVyXTogc3RyaW5nIH0gPSB7fTtcbmZvciAoY29uc3QgbmFtZSBpbiBJU09MQVRJT05fTEVWRUwpIHtcbiAgY29uc3QgdmFsdWUgPSBJU09MQVRJT05fTEVWRUxbbmFtZV07XG4gIGlzb2xhdGlvbkxldmVsQnlWYWx1ZVt2YWx1ZV0gPSBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRJc29sYXRpb25MZXZlbChpc29sYXRpb25MZXZlbDogYW55LCBuYW1lOiBzdHJpbmcpOiBhc3NlcnRzIGlzb2xhdGlvbkxldmVsIGlzIDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB7XG4gIGlmICh0eXBlb2YgaXNvbGF0aW9uTGV2ZWwgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFwiJHtuYW1lfVwiICR7bmFtZS5pbmNsdWRlcygnLicpID8gJ3Byb3BlcnR5JyA6ICdhcmd1bWVudCd9IG11c3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJHt0eXBlb2YgaXNvbGF0aW9uTGV2ZWx9ICgke2lzb2xhdGlvbkxldmVsfSlgKTtcbiAgfVxuXG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihpc29sYXRpb25MZXZlbCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIHZhbHVlIG9mIFwiJHtuYW1lfVwiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhbiBpbnRlZ2VyLiBSZWNlaXZlZDogJHtpc29sYXRpb25MZXZlbH1gKTtcbiAgfVxuXG4gIGlmICghKGlzb2xhdGlvbkxldmVsID49IDAgJiYgaXNvbGF0aW9uTGV2ZWwgPD0gNSkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIHZhbHVlIG9mIFwiJHtuYW1lfVwiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSA+PSAwICYmIDw9IDUuIFJlY2VpdmVkOiAke2lzb2xhdGlvbkxldmVsfWApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiB7XG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xuICBkZWNsYXJlIGlzb2xhdGlvbkxldmVsOiBudW1iZXI7XG4gIGRlY2xhcmUgb3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIGlzb2xhdGlvbkxldmVsID0gSVNPTEFUSU9OX0xFVkVMLk5PX0NIQU5HRSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5pc29sYXRpb25MZXZlbCA9IGlzb2xhdGlvbkxldmVsO1xuICAgIHRoaXMub3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQgPSAxO1xuICB9XG5cbiAgYmVnaW5QYXlsb2FkKHR4bkRlc2NyaXB0b3I6IEJ1ZmZlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEwMCwgJ3VjczInKTtcbiAgICB3cml0ZVRvVHJhY2tpbmdCdWZmZXIoYnVmZmVyLCB0eG5EZXNjcmlwdG9yLCB0aGlzLm91dHN0YW5kaW5nUmVxdWVzdENvdW50KTtcbiAgICBidWZmZXIud3JpdGVVU2hvcnQoT1BFUkFUSU9OX1RZUEUuVE1fQkVHSU5fWEFDVCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pc29sYXRpb25MZXZlbCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5uYW1lLmxlbmd0aCAqIDIpO1xuICAgIGJ1ZmZlci53cml0ZVN0cmluZyh0aGlzLm5hbWUsICd1Y3MyJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgKltTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgICAgIH0sXG4gICAgICB0b1N0cmluZzogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJ0JlZ2luIFRyYW5zYWN0aW9uOiBuYW1lPScgKyB0aGlzLm5hbWUgKyAnLCBpc29sYXRpb25MZXZlbD0nICsgaXNvbGF0aW9uTGV2ZWxCeVZhbHVlW3RoaXMuaXNvbGF0aW9uTGV2ZWxdO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjb21taXRQYXlsb2FkKHR4bkRlc2NyaXB0b3I6IEJ1ZmZlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEwMCwgJ2FzY2lpJyk7XG4gICAgd3JpdGVUb1RyYWNraW5nQnVmZmVyKGJ1ZmZlciwgdHhuRGVzY3JpcHRvciwgdGhpcy5vdXRzdGFuZGluZ1JlcXVlc3RDb3VudCk7XG4gICAgYnVmZmVyLndyaXRlVVNob3J0KE9QRVJBVElPTl9UWVBFLlRNX0NPTU1JVF9YQUNUKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLm5hbWUubGVuZ3RoICogMik7XG4gICAgYnVmZmVyLndyaXRlU3RyaW5nKHRoaXMubmFtZSwgJ3VjczInKTtcbiAgICAvLyBObyBmQmVnaW5YYWN0IGZsYWcsIHNvIG5vIG5ldyB0cmFuc2FjdGlvbiBpcyBzdGFydGVkLlxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICpbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgICB9LFxuICAgICAgdG9TdHJpbmc6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICdDb21taXQgVHJhbnNhY3Rpb246IG5hbWU9JyArIHRoaXMubmFtZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcm9sbGJhY2tQYXlsb2FkKHR4bkRlc2NyaXB0b3I6IEJ1ZmZlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEwMCwgJ2FzY2lpJyk7XG4gICAgd3JpdGVUb1RyYWNraW5nQnVmZmVyKGJ1ZmZlciwgdHhuRGVzY3JpcHRvciwgdGhpcy5vdXRzdGFuZGluZ1JlcXVlc3RDb3VudCk7XG4gICAgYnVmZmVyLndyaXRlVVNob3J0KE9QRVJBVElPTl9UWVBFLlRNX1JPTExCQUNLX1hBQ1QpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMubmFtZS5sZW5ndGggKiAyKTtcbiAgICBidWZmZXIud3JpdGVTdHJpbmcodGhpcy5uYW1lLCAndWNzMicpO1xuICAgIC8vIE5vIGZCZWdpblhhY3QgZmxhZywgc28gbm8gbmV3IHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQuXG4gICAgYnVmZmVyLndyaXRlVUludDgoMCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgKltTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgICAgIH0sXG4gICAgICB0b1N0cmluZzogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJ1JvbGxiYWNrIFRyYW5zYWN0aW9uOiBuYW1lPScgKyB0aGlzLm5hbWU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHNhdmVQYXlsb2FkKHR4bkRlc2NyaXB0b3I6IEJ1ZmZlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEwMCwgJ2FzY2lpJyk7XG4gICAgd3JpdGVUb1RyYWNraW5nQnVmZmVyKGJ1ZmZlciwgdHhuRGVzY3JpcHRvciwgdGhpcy5vdXRzdGFuZGluZ1JlcXVlc3RDb3VudCk7XG4gICAgYnVmZmVyLndyaXRlVVNob3J0KE9QRVJBVElPTl9UWVBFLlRNX1NBVkVfWEFDVCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5uYW1lLmxlbmd0aCAqIDIpO1xuICAgIGJ1ZmZlci53cml0ZVN0cmluZyh0aGlzLm5hbWUsICd1Y3MyJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgKltTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgICAgIH0sXG4gICAgICB0b1N0cmluZzogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJ1NhdmUgVHJhbnNhY3Rpb246IG5hbWU9JyArIHRoaXMubmFtZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgaXNvbGF0aW9uTGV2ZWxUb1RTUUwoKSB7XG4gICAgc3dpdGNoICh0aGlzLmlzb2xhdGlvbkxldmVsKSB7XG4gICAgICBjYXNlIElTT0xBVElPTl9MRVZFTC5SRUFEX1VOQ09NTUlUVEVEOlxuICAgICAgICByZXR1cm4gJ1JFQUQgVU5DT01NSVRURUQnO1xuICAgICAgY2FzZSBJU09MQVRJT05fTEVWRUwuUkVBRF9DT01NSVRURUQ6XG4gICAgICAgIHJldHVybiAnUkVBRCBDT01NSVRURUQnO1xuICAgICAgY2FzZSBJU09MQVRJT05fTEVWRUwuUkVQRUFUQUJMRV9SRUFEOlxuICAgICAgICByZXR1cm4gJ1JFUEVBVEFCTEUgUkVBRCc7XG4gICAgICBjYXNlIElTT0xBVElPTl9MRVZFTC5TRVJJQUxJWkFCTEU6XG4gICAgICAgIHJldHVybiAnU0VSSUFMSVpBQkxFJztcbiAgICAgIGNhc2UgSVNPTEFUSU9OX0xFVkVMLlNOQVBTSE9UOlxuICAgICAgICByZXR1cm4gJ1NOQVBTSE9UJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUFzRCxTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUV0RDtBQUNBO0FBQ0E7O0FBRU8sTUFBTUcsY0FBYyxHQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBRztFQUM1QkUsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkMsaUJBQWlCLEVBQUUsSUFBSTtFQUN2QkMsYUFBYSxFQUFFLElBQUk7RUFDbkJDLGVBQWUsRUFBRSxJQUFJO0VBQ3JCQyxjQUFjLEVBQUUsSUFBSTtFQUNwQkMsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QkMsWUFBWSxFQUFFO0FBQ2hCLENBQUM7QUFFTSxNQUFNQyxlQUEwQyxHQUFBUixPQUFBLENBQUFRLGVBQUEsR0FBRztFQUN4REMsU0FBUyxFQUFFLElBQUk7RUFDZkMsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QkMsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGVBQWUsRUFBRSxJQUFJO0VBQ3JCQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsUUFBUSxFQUFFO0FBQ1osQ0FBQztBQUVNLE1BQU1DLHFCQUFnRCxHQUFBZixPQUFBLENBQUFlLHFCQUFBLEdBQUcsQ0FBQyxDQUFDO0FBQ2xFLEtBQUssTUFBTUMsSUFBSSxJQUFJUixlQUFlLEVBQUU7RUFDbEMsTUFBTVMsS0FBSyxHQUFHVCxlQUFlLENBQUNRLElBQUksQ0FBQztFQUNuQ0QscUJBQXFCLENBQUNFLEtBQUssQ0FBQyxHQUFHRCxJQUFJO0FBQ3JDO0FBRU8sU0FBU0UseUJBQXlCQSxDQUFDQyxjQUFtQixFQUFFSCxJQUFZLEVBQW1EO0VBQzVILElBQUksT0FBT0csY0FBYyxLQUFLLFFBQVEsRUFBRTtJQUN0QyxNQUFNLElBQUlDLFNBQVMsQ0FBRSxRQUFPSixJQUFLLEtBQUlBLElBQUksQ0FBQ0ssUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsR0FBRyxVQUFXLDBDQUF5QyxPQUFPRixjQUFlLEtBQUlBLGNBQWUsR0FBRSxDQUFDO0VBQ3pLO0VBRUEsSUFBSSxDQUFDRyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0osY0FBYyxDQUFDLEVBQUU7SUFDckMsTUFBTSxJQUFJSyxVQUFVLENBQUUsaUJBQWdCUixJQUFLLHVEQUFzREcsY0FBZSxFQUFDLENBQUM7RUFDcEg7RUFFQSxJQUFJLEVBQUVBLGNBQWMsSUFBSSxDQUFDLElBQUlBLGNBQWMsSUFBSSxDQUFDLENBQUMsRUFBRTtJQUNqRCxNQUFNLElBQUlLLFVBQVUsQ0FBRSxpQkFBZ0JSLElBQUsseURBQXdERyxjQUFlLEVBQUMsQ0FBQztFQUN0SDtBQUNGO0FBRU8sTUFBTU0sV0FBVyxDQUFDO0VBS3ZCQyxXQUFXQSxDQUFDVixJQUFZLEVBQUVHLGNBQWMsR0FBR1gsZUFBZSxDQUFDQyxTQUFTLEVBQUU7SUFDcEUsSUFBSSxDQUFDTyxJQUFJLEdBQUdBLElBQUk7SUFDaEIsSUFBSSxDQUFDRyxjQUFjLEdBQUdBLGNBQWM7SUFDcEMsSUFBSSxDQUFDUSx1QkFBdUIsR0FBRyxDQUFDO0VBQ2xDO0VBRUFDLFlBQVlBLENBQUNDLGFBQXFCLEVBQUU7SUFDbEMsTUFBTUMsTUFBTSxHQUFHLElBQUlDLCtCQUFzQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFDdEQsSUFBQUMsaUNBQXFCLEVBQUNGLE1BQU0sRUFBRUQsYUFBYSxFQUFFLElBQUksQ0FBQ0YsdUJBQXVCLENBQUM7SUFDMUVHLE1BQU0sQ0FBQ0csV0FBVyxDQUFDbEMsY0FBYyxDQUFDSSxhQUFhLENBQUM7SUFDaEQyQixNQUFNLENBQUNJLFVBQVUsQ0FBQyxJQUFJLENBQUNmLGNBQWMsQ0FBQztJQUN0Q1csTUFBTSxDQUFDSSxVQUFVLENBQUMsSUFBSSxDQUFDbEIsSUFBSSxDQUFDbUIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2Q0wsTUFBTSxDQUFDTSxXQUFXLENBQUMsSUFBSSxDQUFDcEIsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUVyQyxPQUFPO01BQ0wsRUFBRXFCLE1BQU0sQ0FBQ0MsUUFBUSxJQUFJO1FBQ25CLE1BQU1SLE1BQU0sQ0FBQ1MsSUFBSTtNQUNuQixDQUFDO01BQ0RDLFFBQVEsRUFBRUEsQ0FBQSxLQUFNO1FBQ2QsT0FBTywwQkFBMEIsR0FBRyxJQUFJLENBQUN4QixJQUFJLEdBQUcsbUJBQW1CLEdBQUdELHFCQUFxQixDQUFDLElBQUksQ0FBQ0ksY0FBYyxDQUFDO01BQ2xIO0lBQ0YsQ0FBQztFQUNIO0VBRUFzQixhQUFhQSxDQUFDWixhQUFxQixFQUFFO0lBQ25DLE1BQU1DLE1BQU0sR0FBRyxJQUFJQywrQkFBc0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO0lBQ3ZELElBQUFDLGlDQUFxQixFQUFDRixNQUFNLEVBQUVELGFBQWEsRUFBRSxJQUFJLENBQUNGLHVCQUF1QixDQUFDO0lBQzFFRyxNQUFNLENBQUNHLFdBQVcsQ0FBQ2xDLGNBQWMsQ0FBQ00sY0FBYyxDQUFDO0lBQ2pEeUIsTUFBTSxDQUFDSSxVQUFVLENBQUMsSUFBSSxDQUFDbEIsSUFBSSxDQUFDbUIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2Q0wsTUFBTSxDQUFDTSxXQUFXLENBQUMsSUFBSSxDQUFDcEIsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNyQztJQUNBYyxNQUFNLENBQUNJLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFcEIsT0FBTztNQUNMLEVBQUVHLE1BQU0sQ0FBQ0MsUUFBUSxJQUFJO1FBQ25CLE1BQU1SLE1BQU0sQ0FBQ1MsSUFBSTtNQUNuQixDQUFDO01BQ0RDLFFBQVEsRUFBRUEsQ0FBQSxLQUFNO1FBQ2QsT0FBTywyQkFBMkIsR0FBRyxJQUFJLENBQUN4QixJQUFJO01BQ2hEO0lBQ0YsQ0FBQztFQUNIO0VBRUEwQixlQUFlQSxDQUFDYixhQUFxQixFQUFFO0lBQ3JDLE1BQU1DLE1BQU0sR0FBRyxJQUFJQywrQkFBc0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO0lBQ3ZELElBQUFDLGlDQUFxQixFQUFDRixNQUFNLEVBQUVELGFBQWEsRUFBRSxJQUFJLENBQUNGLHVCQUF1QixDQUFDO0lBQzFFRyxNQUFNLENBQUNHLFdBQVcsQ0FBQ2xDLGNBQWMsQ0FBQ08sZ0JBQWdCLENBQUM7SUFDbkR3QixNQUFNLENBQUNJLFVBQVUsQ0FBQyxJQUFJLENBQUNsQixJQUFJLENBQUNtQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDTCxNQUFNLENBQUNNLFdBQVcsQ0FBQyxJQUFJLENBQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ3JDO0lBQ0FjLE1BQU0sQ0FBQ0ksVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVwQixPQUFPO01BQ0wsRUFBRUcsTUFBTSxDQUFDQyxRQUFRLElBQUk7UUFDbkIsTUFBTVIsTUFBTSxDQUFDUyxJQUFJO01BQ25CLENBQUM7TUFDREMsUUFBUSxFQUFFQSxDQUFBLEtBQU07UUFDZCxPQUFPLDZCQUE2QixHQUFHLElBQUksQ0FBQ3hCLElBQUk7TUFDbEQ7SUFDRixDQUFDO0VBQ0g7RUFFQTJCLFdBQVdBLENBQUNkLGFBQXFCLEVBQUU7SUFDakMsTUFBTUMsTUFBTSxHQUFHLElBQUlDLCtCQUFzQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7SUFDdkQsSUFBQUMsaUNBQXFCLEVBQUNGLE1BQU0sRUFBRUQsYUFBYSxFQUFFLElBQUksQ0FBQ0YsdUJBQXVCLENBQUM7SUFDMUVHLE1BQU0sQ0FBQ0csV0FBVyxDQUFDbEMsY0FBYyxDQUFDUSxZQUFZLENBQUM7SUFDL0N1QixNQUFNLENBQUNJLFVBQVUsQ0FBQyxJQUFJLENBQUNsQixJQUFJLENBQUNtQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDTCxNQUFNLENBQUNNLFdBQVcsQ0FBQyxJQUFJLENBQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBRXJDLE9BQU87TUFDTCxFQUFFcUIsTUFBTSxDQUFDQyxRQUFRLElBQUk7UUFDbkIsTUFBTVIsTUFBTSxDQUFDUyxJQUFJO01BQ25CLENBQUM7TUFDREMsUUFBUSxFQUFFQSxDQUFBLEtBQU07UUFDZCxPQUFPLHlCQUF5QixHQUFHLElBQUksQ0FBQ3hCLElBQUk7TUFDOUM7SUFDRixDQUFDO0VBQ0g7RUFFQTRCLG9CQUFvQkEsQ0FBQSxFQUFHO0lBQ3JCLFFBQVEsSUFBSSxDQUFDekIsY0FBYztNQUN6QixLQUFLWCxlQUFlLENBQUNFLGdCQUFnQjtRQUNuQyxPQUFPLGtCQUFrQjtNQUMzQixLQUFLRixlQUFlLENBQUNHLGNBQWM7UUFDakMsT0FBTyxnQkFBZ0I7TUFDekIsS0FBS0gsZUFBZSxDQUFDSSxlQUFlO1FBQ2xDLE9BQU8saUJBQWlCO01BQzFCLEtBQUtKLGVBQWUsQ0FBQ0ssWUFBWTtRQUMvQixPQUFPLGNBQWM7TUFDdkIsS0FBS0wsZUFBZSxDQUFDTSxRQUFRO1FBQzNCLE9BQU8sVUFBVTtJQUNyQjtJQUNBLE9BQU8sRUFBRTtFQUNYO0FBQ0Y7QUFBQ2QsT0FBQSxDQUFBeUIsV0FBQSxHQUFBQSxXQUFBIn0=
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FsbEhlYWRlcnMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJPUEVSQVRJT05fVFlQRSIsImV4cG9ydHMiLCJUTV9HRVRfRFRDX0FERFJFU1MiLCJUTV9QUk9QQUdBVEVfWEFDVCIsIlRNX0JFR0lOX1hBQ1QiLCJUTV9QUk9NT1RFX1hBQ1QiLCJUTV9DT01NSVRfWEFDVCIsIlRNX1JPTExCQUNLX1hBQ1QiLCJUTV9TQVZFX1hBQ1QiLCJJU09MQVRJT05fTEVWRUwiLCJOT19DSEFOR0UiLCJSRUFEX1VOQ09NTUlUVEVEIiwiUkVBRF9DT01NSVRURUQiLCJSRVBFQVRBQkxFX1JFQUQiLCJTRVJJQUxJWkFCTEUiLCJTTkFQU0hPVCIsImlzb2xhdGlvbkxldmVsQnlWYWx1ZSIsIm5hbWUiLCJ2YWx1ZSIsImFzc2VydFZhbGlkSXNvbGF0aW9uTGV2ZWwiLCJpc29sYXRpb25MZXZlbCIsIlR5cGVFcnJvciIsImluY2x1ZGVzIiwiTnVtYmVyIiwiaXNJbnRlZ2VyIiwiUmFuZ2VFcnJvciIsIlRyYW5zYWN0aW9uIiwiY29uc3RydWN0b3IiLCJvdXRzdGFuZGluZ1JlcXVlc3RDb3VudCIsImJlZ2luUGF5bG9hZCIsInR4bkRlc2NyaXB0b3IiLCJidWZmZXIiLCJXcml0YWJsZVRyYWNraW5nQnVmZmVyIiwid3JpdGVUb1RyYWNraW5nQnVmZmVyIiwid3JpdGVVU2hvcnQiLCJ3cml0ZVVJbnQ4IiwibGVuZ3RoIiwid3JpdGVTdHJpbmciLCJTeW1ib2wiLCJpdGVyYXRvciIsImRhdGEiLCJ0b1N0cmluZyIsImNvbW1pdFBheWxvYWQiLCJyb2xsYmFja1BheWxvYWQiLCJzYXZlUGF5bG9hZCIsImlzb2xhdGlvbkxldmVsVG9UU1FMIl0sInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5pbXBvcnQgeyB3cml0ZVRvVHJhY2tpbmdCdWZmZXIgfSBmcm9tICcuL2FsbC1oZWFkZXJzJztcblxuLypcbiAgczIuMi42LjhcbiAqL1xuXG5leHBvcnQgY29uc3QgT1BFUkFUSU9OX1RZUEUgPSB7XG4gIFRNX0dFVF9EVENfQUREUkVTUzogMHgwMCxcbiAgVE1fUFJPUEFHQVRFX1hBQ1Q6IDB4MDEsXG4gIFRNX0JFR0lOX1hBQ1Q6IDB4MDUsXG4gIFRNX1BST01PVEVfWEFDVDogMHgwNixcbiAgVE1fQ09NTUlUX1hBQ1Q6IDB4MDcsXG4gIFRNX1JPTExCQUNLX1hBQ1Q6IDB4MDgsXG4gIFRNX1NBVkVfWEFDVDogMHgwOVxufTtcblxuZXhwb3J0IGNvbnN0IElTT0xBVElPTl9MRVZFTDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHtcbiAgTk9fQ0hBTkdFOiAweDAwLFxuICBSRUFEX1VOQ09NTUlUVEVEOiAweDAxLFxuICBSRUFEX0NPTU1JVFRFRDogMHgwMixcbiAgUkVQRUFUQUJMRV9SRUFEOiAweDAzLFxuICBTRVJJQUxJWkFCTEU6IDB4MDQsXG4gIFNOQVBTSE9UOiAweDA1XG59O1xuXG5leHBvcnQgY29uc3QgaXNvbGF0aW9uTGV2ZWxCeVZhbHVlOiB7IFtrZXk6IG51bWJlcl06IHN0cmluZyB9ID0ge307XG5mb3IgKGNvbnN0IG5hbWUgaW4gSVNPTEFUSU9OX0xFVkVMKSB7XG4gIGNvbnN0IHZhbHVlID0gSVNPTEFUSU9OX0xFVkVMW25hbWVdO1xuICBpc29sYXRpb25MZXZlbEJ5VmFsdWVbdmFsdWVdID0gbmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkSXNvbGF0aW9uTGV2ZWwoaXNvbGF0aW9uTGV2ZWw6IGFueSwgbmFtZTogc3RyaW5nKTogYXNzZXJ0cyBpc29sYXRpb25MZXZlbCBpcyAwIHwgMSB8IDIgfCAzIHwgNCB8IDUge1xuICBpZiAodHlwZW9mIGlzb2xhdGlvbkxldmVsICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBcIiR7bmFtZX1cIiAke25hbWUuaW5jbHVkZXMoJy4nKSA/ICdwcm9wZXJ0eScgOiAnYXJndW1lbnQnfSBtdXN0IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIGlzb2xhdGlvbkxldmVsfSAoJHtpc29sYXRpb25MZXZlbH0pYCk7XG4gIH1cblxuICBpZiAoIU51bWJlci5pc0ludGVnZXIoaXNvbGF0aW9uTGV2ZWwpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFRoZSB2YWx1ZSBvZiBcIiR7bmFtZX1cIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYW4gaW50ZWdlci4gUmVjZWl2ZWQ6ICR7aXNvbGF0aW9uTGV2ZWx9YCk7XG4gIH1cblxuICBpZiAoIShpc29sYXRpb25MZXZlbCA+PSAwICYmIGlzb2xhdGlvbkxldmVsIDw9IDUpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFRoZSB2YWx1ZSBvZiBcIiR7bmFtZX1cIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgPj0gMCAmJiA8PSA1LiBSZWNlaXZlZDogJHtpc29sYXRpb25MZXZlbH1gKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24ge1xuICBkZWNsYXJlIG5hbWU6IHN0cmluZztcbiAgZGVjbGFyZSBpc29sYXRpb25MZXZlbDogbnVtYmVyO1xuICBkZWNsYXJlIG91dHN0YW5kaW5nUmVxdWVzdENvdW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBpc29sYXRpb25MZXZlbCA9IElTT0xBVElPTl9MRVZFTC5OT19DSEFOR0UpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuaXNvbGF0aW9uTGV2ZWwgPSBpc29sYXRpb25MZXZlbDtcbiAgICB0aGlzLm91dHN0YW5kaW5nUmVxdWVzdENvdW50ID0gMTtcbiAgfVxuXG4gIGJlZ2luUGF5bG9hZCh0eG5EZXNjcmlwdG9yOiBCdWZmZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxMDAsICd1Y3MyJyk7XG4gICAgd3JpdGVUb1RyYWNraW5nQnVmZmVyKGJ1ZmZlciwgdHhuRGVzY3JpcHRvciwgdGhpcy5vdXRzdGFuZGluZ1JlcXVlc3RDb3VudCk7XG4gICAgYnVmZmVyLndyaXRlVVNob3J0KE9QRVJBVElPTl9UWVBFLlRNX0JFR0lOX1hBQ1QpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMuaXNvbGF0aW9uTGV2ZWwpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMubmFtZS5sZW5ndGggKiAyKTtcbiAgICBidWZmZXIud3JpdGVTdHJpbmcodGhpcy5uYW1lLCAndWNzMicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICpbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgICB9LFxuICAgICAgdG9TdHJpbmc6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICdCZWdpbiBUcmFuc2FjdGlvbjogbmFtZT0nICsgdGhpcy5uYW1lICsgJywgaXNvbGF0aW9uTGV2ZWw9JyArIGlzb2xhdGlvbkxldmVsQnlWYWx1ZVt0aGlzLmlzb2xhdGlvbkxldmVsXTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgY29tbWl0UGF5bG9hZCh0eG5EZXNjcmlwdG9yOiBCdWZmZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxMDAsICdhc2NpaScpO1xuICAgIHdyaXRlVG9UcmFja2luZ0J1ZmZlcihidWZmZXIsIHR4bkRlc2NyaXB0b3IsIHRoaXMub3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQpO1xuICAgIGJ1ZmZlci53cml0ZVVTaG9ydChPUEVSQVRJT05fVFlQRS5UTV9DT01NSVRfWEFDVCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5uYW1lLmxlbmd0aCAqIDIpO1xuICAgIGJ1ZmZlci53cml0ZVN0cmluZyh0aGlzLm5hbWUsICd1Y3MyJyk7XG4gICAgLy8gTm8gZkJlZ2luWGFjdCBmbGFnLCBzbyBubyBuZXcgdHJhbnNhY3Rpb24gaXMgc3RhcnRlZC5cbiAgICBidWZmZXIud3JpdGVVSW50OCgwKTtcblxuICAgIHJldHVybiB7XG4gICAgICAqW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICAgICAgfSxcbiAgICAgIHRvU3RyaW5nOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnQ29tbWl0IFRyYW5zYWN0aW9uOiBuYW1lPScgKyB0aGlzLm5hbWU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJvbGxiYWNrUGF5bG9hZCh0eG5EZXNjcmlwdG9yOiBCdWZmZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxMDAsICdhc2NpaScpO1xuICAgIHdyaXRlVG9UcmFja2luZ0J1ZmZlcihidWZmZXIsIHR4bkRlc2NyaXB0b3IsIHRoaXMub3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQpO1xuICAgIGJ1ZmZlci53cml0ZVVTaG9ydChPUEVSQVRJT05fVFlQRS5UTV9ST0xMQkFDS19YQUNUKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLm5hbWUubGVuZ3RoICogMik7XG4gICAgYnVmZmVyLndyaXRlU3RyaW5nKHRoaXMubmFtZSwgJ3VjczInKTtcbiAgICAvLyBObyBmQmVnaW5YYWN0IGZsYWcsIHNvIG5vIG5ldyB0cmFuc2FjdGlvbiBpcyBzdGFydGVkLlxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICpbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgICB9LFxuICAgICAgdG9TdHJpbmc6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICdSb2xsYmFjayBUcmFuc2FjdGlvbjogbmFtZT0nICsgdGhpcy5uYW1lO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzYXZlUGF5bG9hZCh0eG5EZXNjcmlwdG9yOiBCdWZmZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxMDAsICdhc2NpaScpO1xuICAgIHdyaXRlVG9UcmFja2luZ0J1ZmZlcihidWZmZXIsIHR4bkRlc2NyaXB0b3IsIHRoaXMub3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQpO1xuICAgIGJ1ZmZlci53cml0ZVVTaG9ydChPUEVSQVRJT05fVFlQRS5UTV9TQVZFX1hBQ1QpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMubmFtZS5sZW5ndGggKiAyKTtcbiAgICBidWZmZXIud3JpdGVTdHJpbmcodGhpcy5uYW1lLCAndWNzMicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICpbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgICB9LFxuICAgICAgdG9TdHJpbmc6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICdTYXZlIFRyYW5zYWN0aW9uOiBuYW1lPScgKyB0aGlzLm5hbWU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGlzb2xhdGlvbkxldmVsVG9UU1FMKCkge1xuICAgIHN3aXRjaCAodGhpcy5pc29sYXRpb25MZXZlbCkge1xuICAgICAgY2FzZSBJU09MQVRJT05fTEVWRUwuUkVBRF9VTkNPTU1JVFRFRDpcbiAgICAgICAgcmV0dXJuICdSRUFEIFVOQ09NTUlUVEVEJztcbiAgICAgIGNhc2UgSVNPTEFUSU9OX0xFVkVMLlJFQURfQ09NTUlUVEVEOlxuICAgICAgICByZXR1cm4gJ1JFQUQgQ09NTUlUVEVEJztcbiAgICAgIGNhc2UgSVNPTEFUSU9OX0xFVkVMLlJFUEVBVEFCTEVfUkVBRDpcbiAgICAgICAgcmV0dXJuICdSRVBFQVRBQkxFIFJFQUQnO1xuICAgICAgY2FzZSBJU09MQVRJT05fTEVWRUwuU0VSSUFMSVpBQkxFOlxuICAgICAgICByZXR1cm4gJ1NFUklBTElaQUJMRSc7XG4gICAgICBjYXNlIElTT0xBVElPTl9MRVZFTC5TTkFQU0hPVDpcbiAgICAgICAgcmV0dXJuICdTTkFQU0hPVCc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLHVCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFBc0QsU0FBQUQsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFdEQ7QUFDQTtBQUNBOztBQUVPLE1BQU1HLGNBQWMsR0FBQUMsT0FBQSxDQUFBRCxjQUFBLEdBQUc7RUFDNUJFLGtCQUFrQixFQUFFLElBQUk7RUFDeEJDLGlCQUFpQixFQUFFLElBQUk7RUFDdkJDLGFBQWEsRUFBRSxJQUFJO0VBQ25CQyxlQUFlLEVBQUUsSUFBSTtFQUNyQkMsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGdCQUFnQixFQUFFLElBQUk7RUFDdEJDLFlBQVksRUFBRTtBQUNoQixDQUFDO0FBRU0sTUFBTUMsZUFBMEMsR0FBQVIsT0FBQSxDQUFBUSxlQUFBLEdBQUc7RUFDeERDLFNBQVMsRUFBRSxJQUFJO0VBQ2ZDLGdCQUFnQixFQUFFLElBQUk7RUFDdEJDLGNBQWMsRUFBRSxJQUFJO0VBQ3BCQyxlQUFlLEVBQUUsSUFBSTtFQUNyQkMsWUFBWSxFQUFFLElBQUk7RUFDbEJDLFFBQVEsRUFBRTtBQUNaLENBQUM7QUFFTSxNQUFNQyxxQkFBZ0QsR0FBQWYsT0FBQSxDQUFBZSxxQkFBQSxHQUFHLENBQUMsQ0FBQztBQUNsRSxLQUFLLE1BQU1DLElBQUksSUFBSVIsZUFBZSxFQUFFO0VBQ2xDLE1BQU1TLEtBQUssR0FBR1QsZUFBZSxDQUFDUSxJQUFJLENBQUM7RUFDbkNELHFCQUFxQixDQUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","_allHeaders","obj","__esModule","default","OPERATION_TYPE","exports","TM_GET_DTC_ADDRESS","TM_PROPAGATE_XACT","TM_BEGIN_XACT","TM_PROMOTE_XACT","TM_COMMIT_XACT","TM_ROLLBACK_XACT","TM_SAVE_XACT","ISOLATION_LEVEL","NO_CHANGE","READ_UNCOMMITTED","READ_COMMITTED","REPEATABLE_READ","SERIALIZABLE","SNAPSHOT","isolationLevelByValue","name","value","assertValidIsolationLevel","isolationLevel","TypeError","includes","Number","isInteger","RangeError","Transaction","constructor","outstandingRequestCount","beginPayload","txnDescriptor","buffer","WritableTrackingBuffer","writeToTrackingBuffer","writeUShort","writeUInt8","length","writeString","Symbol","iterator","data","toString","commitPayload","rollbackPayload","savePayload","isolationLevelToTSQL"],"sources":["../src/transaction.ts"],"sourcesContent":["import WritableTrackingBuffer from './tracking-buffer/writable-tracking-buffer';\nimport { writeToTrackingBuffer } from './all-headers';\n\n/*\n s2.2.6.8\n */\n\nexport const OPERATION_TYPE = {\n TM_GET_DTC_ADDRESS: 0x00,\n TM_PROPAGATE_XACT: 0x01,\n TM_BEGIN_XACT: 0x05,\n TM_PROMOTE_XACT: 0x06,\n TM_COMMIT_XACT: 0x07,\n TM_ROLLBACK_XACT: 0x08,\n TM_SAVE_XACT: 0x09\n};\n\nexport const ISOLATION_LEVEL: { [key: string]: number } = {\n NO_CHANGE: 0x00,\n READ_UNCOMMITTED: 0x01,\n READ_COMMITTED: 0x02,\n REPEATABLE_READ: 0x03,\n SERIALIZABLE: 0x04,\n SNAPSHOT: 0x05\n};\n\nexport const isolationLevelByValue: { [key: number]: string } = {};\nfor (const name in ISOLATION_LEVEL) {\n const value = ISOLATION_LEVEL[name];\n isolationLevelByValue[value] = name;\n}\n\nexport function assertValidIsolationLevel(isolationLevel: any, name: string): asserts isolationLevel is 0 | 1 | 2 | 3 | 4 | 5 {\n if (typeof isolationLevel !== 'number') {\n throw new TypeError(`The \"${name}\" ${name.includes('.') ? 'property' : 'argument'} must be of type number. Received type ${typeof isolationLevel} (${isolationLevel})`);\n }\n\n if (!Number.isInteger(isolationLevel)) {\n throw new RangeError(`The value of \"${name}\" is out of range. It must be an integer. Received: ${isolationLevel}`);\n }\n\n if (!(isolationLevel >= 0 && isolationLevel <= 5)) {\n throw new RangeError(`The value of \"${name}\" is out of range. It must be >= 0 && <= 5. Received: ${isolationLevel}`);\n }\n}\n\nexport class Transaction {\n declare name: string;\n declare isolationLevel: number;\n declare outstandingRequestCount: number;\n\n constructor(name: string, isolationLevel = ISOLATION_LEVEL.NO_CHANGE) {\n this.name = name;\n this.isolationLevel = isolationLevel;\n this.outstandingRequestCount = 1;\n }\n\n beginPayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ucs2');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_BEGIN_XACT);\n buffer.writeUInt8(this.isolationLevel);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Begin Transaction: name=' + this.name + ', isolationLevel=' + isolationLevelByValue[this.isolationLevel];\n }\n };\n }\n\n commitPayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ascii');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_COMMIT_XACT);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n // No fBeginXact flag, so no new transaction is started.\n buffer.writeUInt8(0);\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Commit Transaction: name=' + this.name;\n }\n };\n }\n\n rollbackPayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ascii');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_ROLLBACK_XACT);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n // No fBeginXact flag, so no new transaction is started.\n buffer.writeUInt8(0);\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Rollback Transaction: name=' + this.name;\n }\n };\n }\n\n savePayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ascii');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_SAVE_XACT);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Save Transaction: name=' + this.name;\n }\n };\n }\n\n isolationLevelToTSQL() {\n switch (this.isolationLevel) {\n case ISOLATION_LEVEL.READ_UNCOMMITTED:\n return 'READ UNCOMMITTED';\n case ISOLATION_LEVEL.READ_COMMITTED:\n return 'READ COMMITTED';\n case ISOLATION_LEVEL.REPEATABLE_READ:\n return 'REPEATABLE READ';\n case ISOLATION_LEVEL.SERIALIZABLE:\n return 'SERIALIZABLE';\n case ISOLATION_LEVEL.SNAPSHOT:\n return 'SNAPSHOT';\n }\n return '';\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","_allHeaders","e","__esModule","default","OPERATION_TYPE","exports","TM_GET_DTC_ADDRESS","TM_PROPAGATE_XACT","TM_BEGIN_XACT","TM_PROMOTE_XACT","TM_COMMIT_XACT","TM_ROLLBACK_XACT","TM_SAVE_XACT","ISOLATION_LEVEL","NO_CHANGE","READ_UNCOMMITTED","READ_COMMITTED","REPEATABLE_READ","SERIALIZABLE","SNAPSHOT","isolationLevelByValue","name","value","assertValidIsolationLevel","isolationLevel","TypeError","includes","Number","isInteger","RangeError","Transaction","constructor","outstandingRequestCount","beginPayload","txnDescriptor","buffer","WritableTrackingBuffer","writeToTrackingBuffer","writeUShort","writeUInt8","length","writeString","Symbol","iterator","data","toString","commitPayload","rollbackPayload","savePayload","isolationLevelToTSQL"],"sources":["../src/transaction.ts"],"sourcesContent":["import WritableTrackingBuffer from './tracking-buffer/writable-tracking-buffer';\nimport { writeToTrackingBuffer } from './all-headers';\n\n/*\n s2.2.6.8\n */\n\nexport const OPERATION_TYPE = {\n TM_GET_DTC_ADDRESS: 0x00,\n TM_PROPAGATE_XACT: 0x01,\n TM_BEGIN_XACT: 0x05,\n TM_PROMOTE_XACT: 0x06,\n TM_COMMIT_XACT: 0x07,\n TM_ROLLBACK_XACT: 0x08,\n TM_SAVE_XACT: 0x09\n};\n\nexport const ISOLATION_LEVEL: { [key: string]: number } = {\n NO_CHANGE: 0x00,\n READ_UNCOMMITTED: 0x01,\n READ_COMMITTED: 0x02,\n REPEATABLE_READ: 0x03,\n SERIALIZABLE: 0x04,\n SNAPSHOT: 0x05\n};\n\nexport const isolationLevelByValue: { [key: number]: string } = {};\nfor (const name in ISOLATION_LEVEL) {\n const value = ISOLATION_LEVEL[name];\n isolationLevelByValue[value] = name;\n}\n\nexport function assertValidIsolationLevel(isolationLevel: any, name: string): asserts isolationLevel is 0 | 1 | 2 | 3 | 4 | 5 {\n if (typeof isolationLevel !== 'number') {\n throw new TypeError(`The \"${name}\" ${name.includes('.') ? 'property' : 'argument'} must be of type number. Received type ${typeof isolationLevel} (${isolationLevel})`);\n }\n\n if (!Number.isInteger(isolationLevel)) {\n throw new RangeError(`The value of \"${name}\" is out of range. It must be an integer. Received: ${isolationLevel}`);\n }\n\n if (!(isolationLevel >= 0 && isolationLevel <= 5)) {\n throw new RangeError(`The value of \"${name}\" is out of range. It must be >= 0 && <= 5. Received: ${isolationLevel}`);\n }\n}\n\nexport class Transaction {\n declare name: string;\n declare isolationLevel: number;\n declare outstandingRequestCount: number;\n\n constructor(name: string, isolationLevel = ISOLATION_LEVEL.NO_CHANGE) {\n this.name = name;\n this.isolationLevel = isolationLevel;\n this.outstandingRequestCount = 1;\n }\n\n beginPayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ucs2');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_BEGIN_XACT);\n buffer.writeUInt8(this.isolationLevel);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Begin Transaction: name=' + this.name + ', isolationLevel=' + isolationLevelByValue[this.isolationLevel];\n }\n };\n }\n\n commitPayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ascii');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_COMMIT_XACT);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n // No fBeginXact flag, so no new transaction is started.\n buffer.writeUInt8(0);\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Commit Transaction: name=' + this.name;\n }\n };\n }\n\n rollbackPayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ascii');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_ROLLBACK_XACT);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n // No fBeginXact flag, so no new transaction is started.\n buffer.writeUInt8(0);\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Rollback Transaction: name=' + this.name;\n }\n };\n }\n\n savePayload(txnDescriptor: Buffer) {\n const buffer = new WritableTrackingBuffer(100, 'ascii');\n writeToTrackingBuffer(buffer, txnDescriptor, this.outstandingRequestCount);\n buffer.writeUShort(OPERATION_TYPE.TM_SAVE_XACT);\n buffer.writeUInt8(this.name.length * 2);\n buffer.writeString(this.name, 'ucs2');\n\n return {\n *[Symbol.iterator]() {\n yield buffer.data;\n },\n toString: () => {\n return 'Save Transaction: name=' + this.name;\n }\n };\n }\n\n isolationLevelToTSQL() {\n switch (this.isolationLevel) {\n case ISOLATION_LEVEL.READ_UNCOMMITTED:\n return 'READ UNCOMMITTED';\n case ISOLATION_LEVEL.READ_COMMITTED:\n return 'READ COMMITTED';\n case ISOLATION_LEVEL.REPEATABLE_READ:\n return 'REPEATABLE READ';\n case ISOLATION_LEVEL.SERIALIZABLE:\n return 'SERIALIZABLE';\n case ISOLATION_LEVEL.SNAPSHOT:\n return 'SNAPSHOT';\n }\n return '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,4 +16,4 @@ class TransientErrorLookup {
16
16
  }
17
17
  }
18
18
  exports.TransientErrorLookup = TransientErrorLookup;
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUcmFuc2llbnRFcnJvckxvb2t1cCIsImlzVHJhbnNpZW50RXJyb3IiLCJlcnJvciIsInRyYW5zaWVudEVycm9ycyIsImluZGV4T2YiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zaWVudC1lcnJvci1sb29rdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBzaW1wbGUgcGllY2Ugb2YgY29kZSBpcyBmYWN0b3JlZCBvdXQgaW50byBhIHNlcGFyYXRlIGNsYXNzIHRvIG1ha2UgaXRcbi8vIGVhc3kgdG8gc3R1YiBpdCBvdXQgaW4gdGVzdHMuIEl0J3MgaGFyZCwgaWYgbm90IGltcG9zc2libGUsIHRvIGNhdXNlIGFcbi8vIHRyYW5zaWVudCBlcnJvciBvbiBkZW1hbmQgaW4gdGVzdHMuXG5leHBvcnQgY2xhc3MgVHJhbnNpZW50RXJyb3JMb29rdXAge1xuICBpc1RyYW5zaWVudEVycm9yKGVycm9yOiBudW1iZXIpIHtcbiAgICAvLyBUaGlzIGxpc3Qgb2YgdHJhbnNpZW50IGVycm9ycyBjb21lcyBmcm9tIE1pY3Jvc29mdCBpbXBsZW1lbnRhdGlvbiBvZiBTcWxDbGllbnQ6XG4gICAgLy8gIC0gaHR0cHM6Ly9naXRodWIuY29tL2RvdG5ldC9jb3JlZngvYmxvYi9tYXN0ZXIvc3JjL1N5c3RlbS5EYXRhLlNxbENsaWVudC9zcmMvU3lzdGVtL0RhdGEvU3FsQ2xpZW50L1NxbEludGVybmFsQ29ubmVjdGlvblRkcy5jcyNMMTE1XG4gICAgY29uc3QgdHJhbnNpZW50RXJyb3JzID0gWzQwNjAsIDEwOTI4LCAxMDkyOSwgNDAxOTcsIDQwNTAxLCA0MDYxM107XG4gICAgcmV0dXJuIHRyYW5zaWVudEVycm9ycy5pbmRleE9mKGVycm9yKSAhPT0gLTE7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ08sTUFBTUEsb0JBQW9CLENBQUM7RUFDaENDLGdCQUFnQkEsQ0FBQ0MsS0FBYSxFQUFFO0lBQzlCO0lBQ0E7SUFDQSxNQUFNQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNqRSxPQUFPQSxlQUFlLENBQUNDLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzlDO0FBQ0Y7QUFBQ0csT0FBQSxDQUFBTCxvQkFBQSxHQUFBQSxvQkFBQSJ9
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUcmFuc2llbnRFcnJvckxvb2t1cCIsImlzVHJhbnNpZW50RXJyb3IiLCJlcnJvciIsInRyYW5zaWVudEVycm9ycyIsImluZGV4T2YiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zaWVudC1lcnJvci1sb29rdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBzaW1wbGUgcGllY2Ugb2YgY29kZSBpcyBmYWN0b3JlZCBvdXQgaW50byBhIHNlcGFyYXRlIGNsYXNzIHRvIG1ha2UgaXRcbi8vIGVhc3kgdG8gc3R1YiBpdCBvdXQgaW4gdGVzdHMuIEl0J3MgaGFyZCwgaWYgbm90IGltcG9zc2libGUsIHRvIGNhdXNlIGFcbi8vIHRyYW5zaWVudCBlcnJvciBvbiBkZW1hbmQgaW4gdGVzdHMuXG5leHBvcnQgY2xhc3MgVHJhbnNpZW50RXJyb3JMb29rdXAge1xuICBpc1RyYW5zaWVudEVycm9yKGVycm9yOiBudW1iZXIpIHtcbiAgICAvLyBUaGlzIGxpc3Qgb2YgdHJhbnNpZW50IGVycm9ycyBjb21lcyBmcm9tIE1pY3Jvc29mdCBpbXBsZW1lbnRhdGlvbiBvZiBTcWxDbGllbnQ6XG4gICAgLy8gIC0gaHR0cHM6Ly9naXRodWIuY29tL2RvdG5ldC9jb3JlZngvYmxvYi9tYXN0ZXIvc3JjL1N5c3RlbS5EYXRhLlNxbENsaWVudC9zcmMvU3lzdGVtL0RhdGEvU3FsQ2xpZW50L1NxbEludGVybmFsQ29ubmVjdGlvblRkcy5jcyNMMTE1XG4gICAgY29uc3QgdHJhbnNpZW50RXJyb3JzID0gWzQwNjAsIDEwOTI4LCAxMDkyOSwgNDAxOTcsIDQwNTAxLCA0MDYxM107XG4gICAgcmV0dXJuIHRyYW5zaWVudEVycm9ycy5pbmRleE9mKGVycm9yKSAhPT0gLTE7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ08sTUFBTUEsb0JBQW9CLENBQUM7RUFDaENDLGdCQUFnQkEsQ0FBQ0MsS0FBYSxFQUFFO0lBQzlCO0lBQ0E7SUFDQSxNQUFNQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNqRSxPQUFPQSxlQUFlLENBQUNDLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzlDO0FBQ0Y7QUFBQ0csT0FBQSxDQUFBTCxvQkFBQSxHQUFBQSxvQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"transient-error-lookup.js","names":["TransientErrorLookup","isTransientError","error","transientErrors","indexOf","exports"],"sources":["../src/transient-error-lookup.ts"],"sourcesContent":["// This simple piece of code is factored out into a separate class to make it\n// easy to stub it out in tests. It's hard, if not impossible, to cause a\n// transient error on demand in tests.\nexport class TransientErrorLookup {\n isTransientError(error: number) {\n // This list of transient errors comes from Microsoft implementation of SqlClient:\n // - https://github.com/dotnet/corefx/blob/master/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlInternalConnectionTds.cs#L115\n const transientErrors = [4060, 10928, 10929, 40197, 40501, 40613];\n return transientErrors.indexOf(error) !== -1;\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,oBAAoB,CAAC;EAChCC,gBAAgBA,CAACC,KAAa,EAAE;IAC9B;IACA;IACA,MAAMC,eAAe,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACjE,OAAOA,eAAe,CAACC,OAAO,CAACF,KAAK,CAAC,KAAK,CAAC,CAAC;EAC9C;AACF;AAACG,OAAA,CAAAL,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"file":"transient-error-lookup.js","names":["TransientErrorLookup","isTransientError","error","transientErrors","indexOf","exports"],"sources":["../src/transient-error-lookup.ts"],"sourcesContent":["// This simple piece of code is factored out into a separate class to make it\n// easy to stub it out in tests. It's hard, if not impossible, to cause a\n// transient error on demand in tests.\nexport class TransientErrorLookup {\n isTransientError(error: number) {\n // This list of transient errors comes from Microsoft implementation of SqlClient:\n // - https://github.com/dotnet/corefx/blob/master/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlInternalConnectionTds.cs#L115\n const transientErrors = [4060, 10928, 10929, 40197, 40501, 40613];\n return transientErrors.indexOf(error) !== -1;\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,oBAAoB,CAAC;EAChCC,gBAAgBA,CAACC,KAAa,EAAE;IAC9B;IACA;IACA,MAAMC,eAAe,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACjE,OAAOA,eAAe,CAACC,OAAO,CAACF,KAAK,CAAC,KAAK,CAAC,CAAC;EAC9C;AACF;AAACG,OAAA,CAAAL,oBAAA,GAAAA,oBAAA","ignoreList":[]}