tedious 16.2.0 → 16.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/lib/all-headers.js +1 -2
  2. package/lib/all-headers.js.map +1 -0
  3. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +9 -31
  4. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -0
  5. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +9 -24
  6. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -0
  7. package/lib/always-encrypted/cek-entry.js +8 -12
  8. package/lib/always-encrypted/cek-entry.js.map +1 -0
  9. package/lib/always-encrypted/get-parameter-encryption-metadata.js +2 -24
  10. package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -0
  11. package/lib/always-encrypted/key-crypto.js +5 -30
  12. package/lib/always-encrypted/key-crypto.js.map +1 -0
  13. package/lib/always-encrypted/keystore-provider-azure-key-vault.js +11 -72
  14. package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -0
  15. package/lib/always-encrypted/symmetric-key-cache.js +2 -13
  16. package/lib/always-encrypted/symmetric-key-cache.js.map +1 -0
  17. package/lib/always-encrypted/symmetric-key.js +3 -8
  18. package/lib/always-encrypted/symmetric-key.js.map +1 -0
  19. package/lib/always-encrypted/types.js +19 -27
  20. package/lib/always-encrypted/types.js.map +1 -0
  21. package/lib/always-encrypted/utils.js +2 -6
  22. package/lib/always-encrypted/utils.js.map +1 -0
  23. package/lib/bulk-load-payload.js +7 -15
  24. package/lib/bulk-load-payload.js.map +1 -0
  25. package/lib/bulk-load.js +58 -131
  26. package/lib/bulk-load.js.map +1 -0
  27. package/lib/collation.js +7 -15
  28. package/lib/collation.js.map +1 -0
  29. package/lib/connection.js +290 -531
  30. package/lib/connection.js.map +1 -0
  31. package/lib/connector.js +6 -37
  32. package/lib/connector.js.map +1 -0
  33. package/lib/data-type.js +2 -43
  34. package/lib/data-type.js.map +1 -0
  35. package/lib/data-types/bigint.js +1 -15
  36. package/lib/data-types/bigint.js.map +1 -0
  37. package/lib/data-types/binary.js +1 -12
  38. package/lib/data-types/binary.js.map +1 -0
  39. package/lib/data-types/bit.js +1 -11
  40. package/lib/data-types/bit.js.map +1 -0
  41. package/lib/data-types/bitn.js +1 -7
  42. package/lib/data-types/bitn.js.map +1 -0
  43. package/lib/data-types/char.js +1 -20
  44. package/lib/data-types/char.js.map +1 -0
  45. package/lib/data-types/date.js +1 -15
  46. package/lib/data-types/date.js.map +1 -0
  47. package/lib/data-types/datetime.js +3 -20
  48. package/lib/data-types/datetime.js.map +1 -0
  49. package/lib/data-types/datetime2.js +1 -26
  50. package/lib/data-types/datetime2.js.map +1 -0
  51. package/lib/data-types/datetimen.js +1 -7
  52. package/lib/data-types/datetimen.js.map +1 -0
  53. package/lib/data-types/datetimeoffset.js +1 -23
  54. package/lib/data-types/datetimeoffset.js.map +1 -0
  55. package/lib/data-types/decimal.js +1 -18
  56. package/lib/data-types/decimal.js.map +1 -0
  57. package/lib/data-types/decimaln.js +1 -7
  58. package/lib/data-types/decimaln.js.map +1 -0
  59. package/lib/data-types/float.js +1 -13
  60. package/lib/data-types/float.js.map +1 -0
  61. package/lib/data-types/floatn.js +1 -7
  62. package/lib/data-types/floatn.js.map +1 -0
  63. package/lib/data-types/image.js +1 -10
  64. package/lib/data-types/image.js.map +1 -0
  65. package/lib/data-types/int.js +1 -14
  66. package/lib/data-types/int.js.map +1 -0
  67. package/lib/data-types/intn.js +1 -7
  68. package/lib/data-types/intn.js.map +1 -0
  69. package/lib/data-types/money.js +1 -12
  70. package/lib/data-types/money.js.map +1 -0
  71. package/lib/data-types/moneyn.js +1 -7
  72. package/lib/data-types/moneyn.js.map +1 -0
  73. package/lib/data-types/nchar.js +1 -14
  74. package/lib/data-types/nchar.js.map +1 -0
  75. package/lib/data-types/ntext.js +1 -10
  76. package/lib/data-types/ntext.js.map +1 -0
  77. package/lib/data-types/null.js +1 -7
  78. package/lib/data-types/null.js.map +1 -0
  79. package/lib/data-types/numeric.js +1 -18
  80. package/lib/data-types/numeric.js.map +1 -0
  81. package/lib/data-types/numericn.js +1 -7
  82. package/lib/data-types/numericn.js.map +1 -0
  83. package/lib/data-types/nvarchar.js +1 -22
  84. package/lib/data-types/nvarchar.js.map +1 -0
  85. package/lib/data-types/real.js +1 -13
  86. package/lib/data-types/real.js.map +1 -0
  87. package/lib/data-types/smalldatetime.js +1 -14
  88. package/lib/data-types/smalldatetime.js.map +1 -0
  89. package/lib/data-types/smallint.js +1 -14
  90. package/lib/data-types/smallint.js.map +1 -0
  91. package/lib/data-types/smallmoney.js +1 -13
  92. package/lib/data-types/smallmoney.js.map +1 -0
  93. package/lib/data-types/sql-variant.js +1 -6
  94. package/lib/data-types/sql-variant.js.map +1 -0
  95. package/lib/data-types/text.js +1 -18
  96. package/lib/data-types/text.js.map +1 -0
  97. package/lib/data-types/time.js +1 -22
  98. package/lib/data-types/time.js.map +1 -0
  99. package/lib/data-types/tinyint.js +1 -14
  100. package/lib/data-types/tinyint.js.map +1 -0
  101. package/lib/data-types/tvp.js +11 -27
  102. package/lib/data-types/tvp.js.map +1 -0
  103. package/lib/data-types/udt.js +1 -7
  104. package/lib/data-types/udt.js.map +1 -0
  105. package/lib/data-types/uniqueidentifier.js +1 -11
  106. package/lib/data-types/uniqueidentifier.js.map +1 -0
  107. package/lib/data-types/varbinary.js +1 -22
  108. package/lib/data-types/varbinary.js.map +1 -0
  109. package/lib/data-types/varchar.js +1 -23
  110. package/lib/data-types/varchar.js.map +1 -0
  111. package/lib/data-types/xml.js +1 -7
  112. package/lib/data-types/xml.js.map +1 -0
  113. package/lib/debug.js +4 -16
  114. package/lib/debug.js.map +1 -0
  115. package/lib/errors/abort-error.js +2 -5
  116. package/lib/errors/abort-error.js.map +1 -0
  117. package/lib/errors/timeout-error.js +2 -5
  118. package/lib/errors/timeout-error.js.map +1 -0
  119. package/lib/errors.js +10 -16
  120. package/lib/errors.js.map +1 -0
  121. package/lib/guid-parser.js +1 -7
  122. package/lib/guid-parser.js.map +1 -0
  123. package/lib/incoming-message-stream.js +9 -29
  124. package/lib/incoming-message-stream.js.map +1 -0
  125. package/lib/instance-lookup.js +3 -34
  126. package/lib/instance-lookup.js.map +1 -0
  127. package/lib/library.js +1 -1
  128. package/lib/library.js.map +1 -0
  129. package/lib/login7-payload.js +99 -100
  130. package/lib/login7-payload.js.map +1 -0
  131. package/lib/message-io.js +17 -45
  132. package/lib/message-io.js.map +1 -0
  133. package/lib/message.js +4 -8
  134. package/lib/message.js.map +1 -0
  135. package/lib/metadata-parser.js +1 -22
  136. package/lib/metadata-parser.js.map +1 -0
  137. package/lib/ntlm-payload.js +2 -22
  138. package/lib/ntlm-payload.js.map +1 -0
  139. package/lib/ntlm.js +1 -4
  140. package/lib/ntlm.js.map +1 -0
  141. package/lib/outgoing-message-stream.js +12 -21
  142. package/lib/outgoing-message-stream.js.map +1 -0
  143. package/lib/packet.js +2 -47
  144. package/lib/packet.js.map +1 -0
  145. package/lib/prelogin-payload.js +11 -54
  146. package/lib/prelogin-payload.js.map +1 -0
  147. package/lib/request.js +88 -66
  148. package/lib/request.js.map +1 -0
  149. package/lib/rpcrequest-payload.js +8 -35
  150. package/lib/rpcrequest-payload.js.map +1 -0
  151. package/lib/sender.js +1 -24
  152. package/lib/sender.js.map +1 -0
  153. package/lib/special-stored-procedure.js +1 -1
  154. package/lib/special-stored-procedure.js.map +1 -0
  155. package/lib/sqlbatch-payload.js +5 -18
  156. package/lib/sqlbatch-payload.js.map +1 -0
  157. package/lib/tds-versions.js +3 -3
  158. package/lib/tds-versions.js.map +1 -0
  159. package/lib/tedious.js +1 -12
  160. package/lib/tedious.js.map +1 -0
  161. package/lib/token/colmetadata-token-parser.js +1 -17
  162. package/lib/token/colmetadata-token-parser.js.map +1 -0
  163. package/lib/token/done-token-parser.js +2 -8
  164. package/lib/token/done-token-parser.js.map +1 -0
  165. package/lib/token/env-change-token-parser.js +7 -28
  166. package/lib/token/env-change-token-parser.js.map +1 -0
  167. package/lib/token/feature-ext-ack-parser.js +1 -10
  168. package/lib/token/feature-ext-ack-parser.js.map +1 -0
  169. package/lib/token/fedauth-info-parser.js +2 -10
  170. package/lib/token/fedauth-info-parser.js.map +1 -0
  171. package/lib/token/handler.js +39 -149
  172. package/lib/token/handler.js.map +1 -0
  173. package/lib/token/infoerror-token-parser.js +1 -5
  174. package/lib/token/infoerror-token-parser.js.map +1 -0
  175. package/lib/token/loginack-token-parser.js +1 -6
  176. package/lib/token/loginack-token-parser.js.map +1 -0
  177. package/lib/token/nbcrow-token-parser.js +2 -15
  178. package/lib/token/nbcrow-token-parser.js.map +1 -0
  179. package/lib/token/order-token-parser.js +2 -7
  180. package/lib/token/order-token-parser.js.map +1 -0
  181. package/lib/token/returnstatus-token-parser.js +2 -4
  182. package/lib/token/returnstatus-token-parser.js.map +1 -0
  183. package/lib/token/returnvalue-token-parser.js +4 -9
  184. package/lib/token/returnvalue-token-parser.js.map +1 -0
  185. package/lib/token/row-token-parser.js +2 -11
  186. package/lib/token/row-token-parser.js.map +1 -0
  187. package/lib/token/sspi-token-parser.js +1 -5
  188. package/lib/token/sspi-token-parser.js.map +1 -0
  189. package/lib/token/stream-parser.js +24 -86
  190. package/lib/token/stream-parser.js.map +1 -0
  191. package/lib/token/token-stream-parser.js +4 -13
  192. package/lib/token/token-stream-parser.js.map +1 -0
  193. package/lib/token/token.js +88 -168
  194. package/lib/token/token.js.map +1 -0
  195. package/lib/tracking-buffer/writable-tracking-buffer.js +20 -60
  196. package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -0
  197. package/lib/transaction.js +9 -33
  198. package/lib/transaction.js.map +1 -0
  199. package/lib/transient-error-lookup.js +1 -4
  200. package/lib/transient-error-lookup.js.map +1 -0
  201. package/lib/utils/with-timeout.js +1 -9
  202. package/lib/utils/with-timeout.js.map +1 -0
  203. package/lib/value-parser.js +1 -143
  204. package/lib/value-parser.js.map +1 -0
  205. package/package.json +27 -71
@@ -22,49 +22,40 @@ const NText = {
22
22
  return -1;
23
23
  }
24
24
  },
25
-
26
25
  generateTypeInfo(parameter, _options) {
27
26
  const buffer = Buffer.alloc(10);
28
27
  buffer.writeUInt8(this.id, 0);
29
28
  buffer.writeInt32LE(parameter.length, 1);
30
-
31
29
  if (parameter.collation) {
32
30
  parameter.collation.toBuffer().copy(buffer, 5, 0, 5);
33
31
  }
34
-
35
32
  return buffer;
36
33
  },
37
-
38
34
  generateParameterLength(parameter, options) {
39
35
  if (parameter.value == null) {
40
36
  return NULL_LENGTH;
41
37
  }
42
-
43
38
  const buffer = Buffer.alloc(4);
44
39
  buffer.writeInt32LE(Buffer.byteLength(parameter.value, 'ucs2'), 0);
45
40
  return buffer;
46
41
  },
47
-
48
42
  generateParameterData: function* (parameter, options) {
49
43
  if (parameter.value == null) {
50
44
  return;
51
45
  }
52
-
53
46
  yield Buffer.from(parameter.value.toString(), 'ucs2');
54
47
  },
55
48
  validate: function (value) {
56
49
  if (value == null) {
57
50
  return null;
58
51
  }
59
-
60
52
  if (typeof value !== 'string') {
61
53
  throw new TypeError('Invalid string.');
62
54
  }
63
-
64
55
  return value;
65
56
  }
66
57
  };
67
58
  var _default = NText;
68
59
  exports.default = _default;
69
60
  module.exports = NText;
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVGV4dCIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsImdlbmVyYXRlVHlwZUluZm8iLCJfb3B0aW9ucyIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsIndyaXRlSW50MzJMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ0b1N0cmluZyIsInZhbGlkYXRlIiwiVHlwZUVycm9yIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRiwgMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBOVGV4dDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDYzLFxuICB0eXBlOiAnTlRFWFQnLFxuICBuYW1lOiAnTlRleHQnLFxuXG4gIGhhc1RhYmxlTmFtZTogdHJ1ZSxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdudGV4dCc7XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cblxuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyLCBfb3B0aW9ucykge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxMCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCwgMCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIubGVuZ3RoISwgMSk7XG5cbiAgICBpZiAocGFyYW1ldGVyLmNvbGxhdGlvbikge1xuICAgICAgcGFyYW1ldGVyLmNvbGxhdGlvbi50b0J1ZmZlcigpLmNvcHkoYnVmZmVyLCA1LCAwLCA1KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKEJ1ZmZlci5ieXRlTGVuZ3RoKHBhcmFtZXRlci52YWx1ZSwgJ3VjczInKSwgMCk7XG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGE6IGZ1bmN0aW9uKihwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB5aWVsZCBCdWZmZXIuZnJvbShwYXJhbWV0ZXIudmFsdWUudG9TdHJpbmcoKSwgJ3VjczInKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc3RyaW5nLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTlRleHQ7XG5tb2R1bGUuZXhwb3J0cyA9IE5UZXh0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxFQUFPLElBQVAsRUFBYSxJQUFiLEVBQW1CLElBQW5CLENBQVosQ0FBcEI7QUFFQSxNQUFNQyxLQUFlLEdBQUc7RUFDdEJDLEVBQUUsRUFBRSxJQURrQjtFQUV0QkMsSUFBSSxFQUFFLE9BRmdCO0VBR3RCQyxJQUFJLEVBQUUsT0FIZ0I7RUFLdEJDLFlBQVksRUFBRSxJQUxRO0VBT3RCQyxXQUFXLEVBQUUsWUFBVztJQUN0QixPQUFPLE9BQVA7RUFDRCxDQVRxQjtFQVd0QkMsYUFBYSxFQUFFLFVBQVNDLFNBQVQsRUFBb0I7SUFDakMsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQXhCLENBRGlDLENBQ0s7O0lBRXRDLElBQUlBLEtBQUssSUFBSSxJQUFiLEVBQW1CO01BQ2pCLE9BQU9BLEtBQUssQ0FBQ0MsTUFBYjtJQUNELENBRkQsTUFFTztNQUNMLE9BQU8sQ0FBQyxDQUFSO0lBQ0Q7RUFDRixDQW5CcUI7O0VBcUJ0QkMsZ0JBQWdCLENBQUNILFNBQUQsRUFBWUksUUFBWixFQUFzQjtJQUNwQyxNQUFNQyxNQUFNLEdBQUdkLE1BQU0sQ0FBQ2UsS0FBUCxDQUFhLEVBQWIsQ0FBZjtJQUNBRCxNQUFNLENBQUNFLFVBQVAsQ0FBa0IsS0FBS2IsRUFBdkIsRUFBMkIsQ0FBM0I7SUFDQVcsTUFBTSxDQUFDRyxZQUFQLENBQW9CUixTQUFTLENBQUNFLE1BQTlCLEVBQXVDLENBQXZDOztJQUVBLElBQUlGLFNBQVMsQ0FBQ1MsU0FBZCxFQUF5QjtNQUN2QlQsU0FBUyxDQUFDUyxTQUFWLENBQW9CQyxRQUFwQixHQUErQkMsSUFBL0IsQ0FBb0NOLE1BQXBDLEVBQTRDLENBQTVDLEVBQStDLENBQS9DLEVBQWtELENBQWxEO0lBQ0Q7O0lBRUQsT0FBT0EsTUFBUDtFQUNELENBL0JxQjs7RUFpQ3RCTyx1QkFBdUIsQ0FBQ1osU0FBRCxFQUFZYSxPQUFaLEVBQXFCO0lBQzFDLElBQUliLFNBQVMsQ0FBQ0MsS0FBVixJQUFtQixJQUF2QixFQUE2QjtNQUMzQixPQUFPWCxXQUFQO0lBQ0Q7O0lBRUQsTUFBTWUsTUFBTSxHQUFHZCxNQUFNLENBQUNlLEtBQVAsQ0FBYSxDQUFiLENBQWY7SUFDQUQsTUFBTSxDQUFDRyxZQUFQLENBQW9CakIsTUFBTSxDQUFDdUIsVUFBUCxDQUFrQmQsU0FBUyxDQUFDQyxLQUE1QixFQUFtQyxNQUFuQyxDQUFwQixFQUFnRSxDQUFoRTtJQUNBLE9BQU9JLE1BQVA7RUFDRCxDQXpDcUI7O0VBMkN0QlUscUJBQXFCLEVBQUUsV0FBVWYsU0FBVixFQUFxQmEsT0FBckIsRUFBOEI7SUFDbkQsSUFBSWIsU0FBUyxDQUFDQyxLQUFWLElBQW1CLElBQXZCLEVBQTZCO01BQzNCO0lBQ0Q7O0lBRUQsTUFBTVYsTUFBTSxDQUFDQyxJQUFQLENBQVlRLFNBQVMsQ0FBQ0MsS0FBVixDQUFnQmUsUUFBaEIsRUFBWixFQUF3QyxNQUF4QyxDQUFOO0VBQ0QsQ0FqRHFCO0VBbUR0QkMsUUFBUSxFQUFFLFVBQVNoQixLQUFULEVBQStCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFiLEVBQW1CO01BQ2pCLE9BQU8sSUFBUDtJQUNEOztJQUVELElBQUksT0FBT0EsS0FBUCxLQUFpQixRQUFyQixFQUErQjtNQUM3QixNQUFNLElBQUlpQixTQUFKLENBQWMsaUJBQWQsQ0FBTjtJQUNEOztJQUVELE9BQU9qQixLQUFQO0VBQ0Q7QUE3RHFCLENBQXhCO2VBZ0VlUixLOztBQUNmMEIsTUFBTSxDQUFDQyxPQUFQLEdBQWlCM0IsS0FBakIifQ==
61
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVGV4dCIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsImdlbmVyYXRlVHlwZUluZm8iLCJfb3B0aW9ucyIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsIndyaXRlSW50MzJMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ0b1N0cmluZyIsInZhbGlkYXRlIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRiwgMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBOVGV4dDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDYzLFxuICB0eXBlOiAnTlRFWFQnLFxuICBuYW1lOiAnTlRleHQnLFxuXG4gIGhhc1RhYmxlTmFtZTogdHJ1ZSxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdudGV4dCc7XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cblxuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyLCBfb3B0aW9ucykge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxMCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCwgMCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIubGVuZ3RoISwgMSk7XG5cbiAgICBpZiAocGFyYW1ldGVyLmNvbGxhdGlvbikge1xuICAgICAgcGFyYW1ldGVyLmNvbGxhdGlvbi50b0J1ZmZlcigpLmNvcHkoYnVmZmVyLCA1LCAwLCA1KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKEJ1ZmZlci5ieXRlTGVuZ3RoKHBhcmFtZXRlci52YWx1ZSwgJ3VjczInKSwgMCk7XG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGE6IGZ1bmN0aW9uKihwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB5aWVsZCBCdWZmZXIuZnJvbShwYXJhbWV0ZXIudmFsdWUudG9TdHJpbmcoKSwgJ3VjczInKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc3RyaW5nLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTlRleHQ7XG5tb2R1bGUuZXhwb3J0cyA9IE5UZXh0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFekQsTUFBTUMsS0FBZSxHQUFHO0VBQ3RCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsT0FBTztFQUViQyxZQUFZLEVBQUUsSUFBSTtFQUVsQkMsV0FBVyxFQUFFLFNBQUFBLENBQUEsRUFBVztJQUN0QixPQUFPLE9BQU87RUFDaEIsQ0FBQztFQUVEQyxhQUFhLEVBQUUsU0FBQUEsQ0FBU0MsU0FBUyxFQUFFO0lBQ2pDLE1BQU1DLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUFZLENBQUMsQ0FBQzs7SUFFdEMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPQSxLQUFLLENBQUNDLE1BQU07SUFDckIsQ0FBQyxNQUFNO01BQ0wsT0FBTyxDQUFDLENBQUM7SUFDWDtFQUNGLENBQUM7RUFFREMsZ0JBQWdCQSxDQUFDSCxTQUFTLEVBQUVJLFFBQVEsRUFBRTtJQUNwQyxNQUFNQyxNQUFNLEdBQUdkLE1BQU0sQ0FBQ2UsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUMvQkQsTUFBTSxDQUFDRSxVQUFVLENBQUMsSUFBSSxDQUFDYixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdCVyxNQUFNLENBQUNHLFlBQVksQ0FBQ1IsU0FBUyxDQUFDRSxNQUFNLEVBQUcsQ0FBQyxDQUFDO0lBRXpDLElBQUlGLFNBQVMsQ0FBQ1MsU0FBUyxFQUFFO01BQ3ZCVCxTQUFTLENBQUNTLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDTixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEQ7SUFFQSxPQUFPQSxNQUFNO0VBQ2YsQ0FBQztFQUVETyx1QkFBdUJBLENBQUNaLFNBQVMsRUFBRWEsT0FBTyxFQUFFO0lBQzFDLElBQUliLFNBQVMsQ0FBQ0MsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixPQUFPWCxXQUFXO0lBQ3BCO0lBRUEsTUFBTWUsTUFBTSxHQUFHZCxNQUFNLENBQUNlLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUJELE1BQU0sQ0FBQ0csWUFBWSxDQUFDakIsTUFBTSxDQUFDdUIsVUFBVSxDQUFDZCxTQUFTLENBQUNDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsT0FBT0ksTUFBTTtFQUNmLENBQUM7RUFFRFUscUJBQXFCLEVBQUUsVUFBQUEsQ0FBVWYsU0FBUyxFQUFFYSxPQUFPLEVBQUU7SUFDbkQsSUFBSWIsU0FBUyxDQUFDQyxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCO0lBQ0Y7SUFFQSxNQUFNVixNQUFNLENBQUNDLElBQUksQ0FBQ1EsU0FBUyxDQUFDQyxLQUFLLENBQUNlLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO0VBQ3ZELENBQUM7RUFFREMsUUFBUSxFQUFFLFNBQUFBLENBQVNoQixLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDN0IsTUFBTSxJQUFJaUIsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsT0FBT2pCLEtBQUs7RUFDZDtBQUNGLENBQUM7QUFBQyxJQUFBa0IsUUFBQSxHQUVhMUIsS0FBSztBQUFBMkIsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDcEJHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHM0IsS0FBSyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ntext.js","names":["NULL_LENGTH","Buffer","from","NText","id","type","name","hasTableName","declaration","resolveLength","parameter","value","length","generateTypeInfo","_options","buffer","alloc","writeUInt8","writeInt32LE","collation","toBuffer","copy","generateParameterLength","options","byteLength","generateParameterData","toString","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/ntext.ts"],"sourcesContent":["import { DataType } from '../data-type';\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);\n\nconst NText: DataType = {\n id: 0x63,\n type: 'NTEXT',\n name: 'NText',\n\n hasTableName: true,\n\n declaration: function() {\n return 'ntext';\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n if (value != null) {\n return value.length;\n } else {\n return -1;\n }\n },\n\n generateTypeInfo(parameter, _options) {\n const buffer = Buffer.alloc(10);\n buffer.writeUInt8(this.id, 0);\n buffer.writeInt32LE(parameter.length!, 1);\n\n if (parameter.collation) {\n parameter.collation.toBuffer().copy(buffer, 5, 0, 5);\n }\n\n return buffer;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const buffer = Buffer.alloc(4);\n buffer.writeInt32LE(Buffer.byteLength(parameter.value, 'ucs2'), 0);\n return buffer;\n },\n\n generateParameterData: function*(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n yield Buffer.from(parameter.value.toString(), 'ucs2');\n },\n\n validate: function(value): string | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n return value;\n }\n};\n\nexport default NText;\nmodule.exports = NText;\n"],"mappings":";;;;;;AAEA,MAAMA,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzD,MAAMC,KAAe,GAAG;EACtBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,OAAO;EAEbC,YAAY,EAAE,IAAI;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,OAAO;EAChB,CAAC;EAEDC,aAAa,EAAE,SAAAA,CAASC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAY,CAAC,CAAC;;IAEtC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOA,KAAK,CAACC,MAAM;IACrB,CAAC,MAAM;MACL,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EAEDC,gBAAgBA,CAACH,SAAS,EAAEI,QAAQ,EAAE;IACpC,MAAMC,MAAM,GAAGd,MAAM,CAACe,KAAK,CAAC,EAAE,CAAC;IAC/BD,MAAM,CAACE,UAAU,CAAC,IAAI,CAACb,EAAE,EAAE,CAAC,CAAC;IAC7BW,MAAM,CAACG,YAAY,CAACR,SAAS,CAACE,MAAM,EAAG,CAAC,CAAC;IAEzC,IAAIF,SAAS,CAACS,SAAS,EAAE;MACvBT,SAAS,CAACS,SAAS,CAACC,QAAQ,CAAC,CAAC,CAACC,IAAI,CAACN,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD;IAEA,OAAOA,MAAM;EACf,CAAC;EAEDO,uBAAuBA,CAACZ,SAAS,EAAEa,OAAO,EAAE;IAC1C,IAAIb,SAAS,CAACC,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOX,WAAW;IACpB;IAEA,MAAMe,MAAM,GAAGd,MAAM,CAACe,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACG,YAAY,CAACjB,MAAM,CAACuB,UAAU,CAACd,SAAS,CAACC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClE,OAAOI,MAAM;EACf,CAAC;EAEDU,qBAAqB,EAAE,UAAAA,CAAUf,SAAS,EAAEa,OAAO,EAAE;IACnD,IAAIb,SAAS,CAACC,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAMV,MAAM,CAACC,IAAI,CAACQ,SAAS,CAACC,KAAK,CAACe,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;EACvD,CAAC;EAEDC,QAAQ,EAAE,SAAAA,CAAShB,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIiB,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,OAAOjB,KAAK;EACd;AACF,CAAC;AAAC,IAAAkB,QAAA,GAEa1B,KAAK;AAAA2B,OAAA,CAAAC,OAAA,GAAAF,QAAA;AACpBG,MAAM,CAACF,OAAO,GAAG3B,KAAK"}
@@ -8,29 +8,23 @@ const Null = {
8
8
  id: 0x1F,
9
9
  type: 'NULL',
10
10
  name: 'Null',
11
-
12
11
  declaration() {
13
12
  throw new Error('not implemented');
14
13
  },
15
-
16
14
  generateTypeInfo() {
17
15
  throw new Error('not implemented');
18
16
  },
19
-
20
17
  generateParameterLength() {
21
18
  throw new Error('not implemented');
22
19
  },
23
-
24
20
  generateParameterData() {
25
21
  throw new Error('not implemented');
26
22
  },
27
-
28
23
  validate() {
29
24
  throw new Error('not implemented');
30
25
  }
31
-
32
26
  };
33
27
  var _default = Null;
34
28
  exports.default = _default;
35
29
  module.exports = Null;
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiRXJyb3IiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ2YWxpZGF0ZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9udWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTnVsbDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDFGLFxuICB0eXBlOiAnTlVMTCcsXG4gIG5hbWU6ICdOdWxsJyxcblxuICBkZWNsYXJhdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE51bGw7XG5tb2R1bGUuZXhwb3J0cyA9IE51bGw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLElBQWMsR0FBRztFQUNyQkMsRUFBRSxFQUFFLElBRGlCO0VBRXJCQyxJQUFJLEVBQUUsTUFGZTtFQUdyQkMsSUFBSSxFQUFFLE1BSGU7O0VBS3JCQyxXQUFXLEdBQUc7SUFDWixNQUFNLElBQUlDLEtBQUosQ0FBVSxpQkFBVixDQUFOO0VBQ0QsQ0FQb0I7O0VBU3JCQyxnQkFBZ0IsR0FBRztJQUNqQixNQUFNLElBQUlELEtBQUosQ0FBVSxpQkFBVixDQUFOO0VBQ0QsQ0FYb0I7O0VBYXJCRSx1QkFBdUIsR0FBRztJQUN4QixNQUFNLElBQUlGLEtBQUosQ0FBVSxpQkFBVixDQUFOO0VBQ0QsQ0Fmb0I7O0VBaUJyQkcscUJBQXFCLEdBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFKLENBQVUsaUJBQVYsQ0FBTjtFQUNELENBbkJvQjs7RUFxQnJCSSxRQUFRLEdBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUosQ0FBVSxpQkFBVixDQUFOO0VBQ0Q7O0FBdkJvQixDQUF2QjtlQTBCZUwsSTs7QUFDZlUsTUFBTSxDQUFDQyxPQUFQLEdBQWlCWCxJQUFqQiJ9
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiRXJyb3IiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ2YWxpZGF0ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9udWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTnVsbDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDFGLFxuICB0eXBlOiAnTlVMTCcsXG4gIG5hbWU6ICdOdWxsJyxcblxuICBkZWNsYXJhdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE51bGw7XG5tb2R1bGUuZXhwb3J0cyA9IE51bGw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLElBQWMsR0FBRztFQUNyQkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsSUFBSSxFQUFFLE1BQU07RUFFWkMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHVCQUF1QkEsQ0FBQSxFQUFHO0lBQ3hCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcscUJBQXFCQSxDQUFBLEVBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVESSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBRWFWLElBQUk7QUFBQVcsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDbkJHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHWCxJQUFJIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null.js","names":["Null","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/null.ts"],"sourcesContent":["import { DataType } from '../data-type';\n\nconst Null: DataType = {\n id: 0x1F,\n type: 'NULL',\n name: 'Null',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n generateTypeInfo() {\n throw new Error('not implemented');\n },\n\n generateParameterLength() {\n throw new Error('not implemented');\n },\n\n generateParameterData() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default Null;\nmodule.exports = Null;\n"],"mappings":";;;;;;AAEA,MAAMA,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EAEZC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDI,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIJ,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAK,QAAA,GAEaV,IAAI;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA;AACnBG,MAAM,CAACF,OAAO,GAAGX,IAAI"}
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _numericn = _interopRequireDefault(require("./numericn"));
9
-
10
8
  var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  const NULL_LENGTH = Buffer.from([0x00]);
15
11
  const Numeric = {
16
12
  id: 0x3F,
@@ -35,10 +31,8 @@ const Numeric = {
35
31
  return 0;
36
32
  }
37
33
  },
38
-
39
34
  generateTypeInfo(parameter) {
40
35
  let precision;
41
-
42
36
  if (parameter.precision <= 9) {
43
37
  precision = 0x05;
44
38
  } else if (parameter.precision <= 19) {
@@ -48,17 +42,13 @@ const Numeric = {
48
42
  } else {
49
43
  precision = 0x11;
50
44
  }
51
-
52
45
  return Buffer.from([_numericn.default.id, precision, parameter.precision, parameter.scale]);
53
46
  },
54
-
55
47
  generateParameterLength(parameter, options) {
56
48
  if (parameter.value == null) {
57
49
  return NULL_LENGTH;
58
50
  }
59
-
60
51
  const precision = parameter.precision;
61
-
62
52
  if (precision <= 9) {
63
53
  return Buffer.from([0x05]);
64
54
  } else if (precision <= 19) {
@@ -69,15 +59,12 @@ const Numeric = {
69
59
  return Buffer.from([0x11]);
70
60
  }
71
61
  },
72
-
73
62
  *generateParameterData(parameter, options) {
74
63
  if (parameter.value == null) {
75
64
  return;
76
65
  }
77
-
78
66
  const sign = parameter.value < 0 ? 0 : 1;
79
67
  const value = Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale)));
80
-
81
68
  if (parameter.precision <= 9) {
82
69
  const buffer = Buffer.alloc(5);
83
70
  buffer.writeUInt8(sign, 0);
@@ -103,22 +90,18 @@ const Numeric = {
103
90
  yield buffer.data;
104
91
  }
105
92
  },
106
-
107
93
  validate: function (value) {
108
94
  if (value == null) {
109
95
  return null;
110
96
  }
111
-
112
97
  value = parseFloat(value);
113
-
114
98
  if (isNaN(value)) {
115
99
  throw new TypeError('Invalid number.');
116
100
  }
117
-
118
101
  return value;
119
102
  }
120
103
  };
121
104
  var _default = Numeric;
122
105
  exports.default = _default;
123
106
  module.exports = Numeric;
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOdW1lcmljIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwicGFyYW1ldGVyIiwicmVzb2x2ZVByZWNpc2lvbiIsInJlc29sdmVTY2FsZSIsInByZWNpc2lvbiIsInZhbHVlIiwic2NhbGUiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiTnVtZXJpY04iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJzaWduIiwiTWF0aCIsInJvdW5kIiwiYWJzIiwicG93IiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MzJMRSIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ2NExFIiwiZGF0YSIsInZhbGlkYXRlIiwicGFyc2VGbG9hdCIsImlzTmFOIiwiVHlwZUVycm9yIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL251bWVyaWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IE51bWVyaWNOIGZyb20gJy4vbnVtZXJpY24nO1xuaW1wb3J0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIgZnJvbSAnLi4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcblxuY29uc3QgTnVtZXJpYzogRGF0YVR5cGUgJiB7IHJlc29sdmVTY2FsZTogTm9uTnVsbGFibGU8RGF0YVR5cGVbJ3Jlc29sdmVTY2FsZSddPiwgcmVzb2x2ZVByZWNpc2lvbjogTm9uTnVsbGFibGU8RGF0YVR5cGVbJ3Jlc29sdmVQcmVjaXNpb24nXT4gfSA9IHtcbiAgaWQ6IDB4M0YsXG4gIHR5cGU6ICdOVU1FUklDJyxcbiAgbmFtZTogJ051bWVyaWMnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICByZXR1cm4gJ251bWVyaWMoJyArICh0aGlzLnJlc29sdmVQcmVjaXNpb24ocGFyYW1ldGVyKSkgKyAnLCAnICsgKHRoaXMucmVzb2x2ZVNjYWxlKHBhcmFtZXRlcikpICsgJyknO1xuICB9LFxuXG4gIHJlc29sdmVQcmVjaXNpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIucHJlY2lzaW9uO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDE4O1xuICAgIH1cbiAgfSxcblxuICByZXNvbHZlU2NhbGU6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIuc2NhbGUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlci5zY2FsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyKSB7XG4gICAgbGV0IHByZWNpc2lvbjtcbiAgICBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gOSkge1xuICAgICAgcHJlY2lzaW9uID0gMHgwNTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDE5KSB7XG4gICAgICBwcmVjaXNpb24gPSAweDA5O1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gMjgpIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MEQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFtOdW1lcmljTi5pZCwgcHJlY2lzaW9uLCBwYXJhbWV0ZXIucHJlY2lzaW9uISwgcGFyYW1ldGVyLnNjYWxlIV0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWNpc2lvbiA9IHBhcmFtZXRlci5wcmVjaXNpb24hO1xuICAgIGlmIChwcmVjaXNpb24gPD0gOSkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA1XSk7XG4gICAgfSBlbHNlIGlmIChwcmVjaXNpb24gPD0gMTkpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgwOV0pO1xuICAgIH0gZWxzZSBpZiAocHJlY2lzaW9uIDw9IDI4KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MERdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDExXSk7XG4gICAgfVxuICB9LFxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ24gPSBwYXJhbWV0ZXIudmFsdWUgPCAwID8gMCA6IDE7XG4gICAgY29uc3QgdmFsdWUgPSBNYXRoLnJvdW5kKE1hdGguYWJzKHBhcmFtZXRlci52YWx1ZSAqIE1hdGgucG93KDEwLCBwYXJhbWV0ZXIuc2NhbGUhKSkpO1xuICAgIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSA5KSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNSk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduLCAwKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKHZhbHVlLCAxKTtcbiAgICAgIHlpZWxkIGJ1ZmZlcjtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDE5KSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxMCk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ2NExFKHZhbHVlKTtcbiAgICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gMjgpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDE0KTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHNpZ24pO1xuICAgICAgYnVmZmVyLndyaXRlVUludDY0TEUodmFsdWUpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUoMHgwMDAwMDAwMCk7XG4gICAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoMTgpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDgoc2lnbik7XG4gICAgICBidWZmZXIud3JpdGVVSW50NjRMRSh2YWx1ZSk7XG4gICAgICBidWZmZXIud3JpdGVVSW50MzJMRSgweDAwMDAwMDAwKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKDB4MDAwMDAwMDApO1xuICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgfVxuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG51bWJlci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOdW1lcmljO1xubW9kdWxlLmV4cG9ydHMgPSBOdW1lcmljO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxDQUFaLENBQXBCO0FBRUEsTUFBTUMsT0FBd0ksR0FBRztFQUMvSUMsRUFBRSxFQUFFLElBRDJJO0VBRS9JQyxJQUFJLEVBQUUsU0FGeUk7RUFHL0lDLElBQUksRUFBRSxTQUh5STtFQUsvSUMsV0FBVyxFQUFFLFVBQVNDLFNBQVQsRUFBb0I7SUFDL0IsT0FBTyxhQUFjLEtBQUtDLGdCQUFMLENBQXNCRCxTQUF0QixDQUFkLEdBQWtELElBQWxELEdBQTBELEtBQUtFLFlBQUwsQ0FBa0JGLFNBQWxCLENBQTFELEdBQTBGLEdBQWpHO0VBQ0QsQ0FQOEk7RUFTL0lDLGdCQUFnQixFQUFFLFVBQVNELFNBQVQsRUFBb0I7SUFDcEMsSUFBSUEsU0FBUyxDQUFDRyxTQUFWLElBQXVCLElBQTNCLEVBQWlDO01BQy9CLE9BQU9ILFNBQVMsQ0FBQ0csU0FBakI7SUFDRCxDQUZELE1BRU8sSUFBSUgsU0FBUyxDQUFDSSxLQUFWLEtBQW9CLElBQXhCLEVBQThCO01BQ25DLE9BQU8sQ0FBUDtJQUNELENBRk0sTUFFQTtNQUNMLE9BQU8sRUFBUDtJQUNEO0VBQ0YsQ0FqQjhJO0VBbUIvSUYsWUFBWSxFQUFFLFVBQVNGLFNBQVQsRUFBb0I7SUFDaEMsSUFBSUEsU0FBUyxDQUFDSyxLQUFWLElBQW1CLElBQXZCLEVBQTZCO01BQzNCLE9BQU9MLFNBQVMsQ0FBQ0ssS0FBakI7SUFDRCxDQUZELE1BRU87TUFDTCxPQUFPLENBQVA7SUFDRDtFQUNGLENBekI4STs7RUEyQi9JQyxnQkFBZ0IsQ0FBQ04sU0FBRCxFQUFZO0lBQzFCLElBQUlHLFNBQUo7O0lBQ0EsSUFBSUgsU0FBUyxDQUFDRyxTQUFWLElB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
107
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbnVtZXJpY24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl93cml0YWJsZVRyYWNraW5nQnVmZmVyIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOdW1lcmljIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwicGFyYW1ldGVyIiwicmVzb2x2ZVByZWNpc2lvbiIsInJlc29sdmVTY2FsZSIsInByZWNpc2lvbiIsInZhbHVlIiwic2NhbGUiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiTnVtZXJpY04iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJzaWduIiwiTWF0aCIsInJvdW5kIiwiYWJzIiwicG93IiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MzJMRSIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ2NExFIiwiZGF0YSIsInZhbGlkYXRlIiwicGFyc2VGbG9hdCIsImlzTmFOIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnVtZXJpYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgTnVtZXJpY04gZnJvbSAnLi9udW1lcmljbic7XG5pbXBvcnQgV3JpdGFibGVUcmFja2luZ0J1ZmZlciBmcm9tICcuLi90cmFja2luZy1idWZmZXIvd3JpdGFibGUtdHJhY2tpbmctYnVmZmVyJztcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwMF0pO1xuXG5jb25zdCBOdW1lcmljOiBEYXRhVHlwZSAmIHsgcmVzb2x2ZVNjYWxlOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVNjYWxlJ10+LCByZXNvbHZlUHJlY2lzaW9uOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVByZWNpc2lvbiddPiB9ID0ge1xuICBpZDogMHgzRixcbiAgdHlwZTogJ05VTUVSSUMnLFxuICBuYW1lOiAnTnVtZXJpYycsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIHJldHVybiAnbnVtZXJpYygnICsgKHRoaXMucmVzb2x2ZVByZWNpc2lvbihwYXJhbWV0ZXIpKSArICcsICcgKyAodGhpcy5yZXNvbHZlU2NhbGUocGFyYW1ldGVyKSkgKyAnKSc7XG4gIH0sXG5cbiAgcmVzb2x2ZVByZWNpc2lvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24gIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlci5wcmVjaXNpb247XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMTg7XG4gICAgfVxuICB9LFxuXG4gIHJlc29sdmVTY2FsZTogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci5zY2FsZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLnNjYWxlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbWV0ZXIpIHtcbiAgICBsZXQgcHJlY2lzaW9uO1xuICAgIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSA5KSB7XG4gICAgICBwcmVjaXNpb24gPSAweDA1O1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gMTkpIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MDk7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSAyOCkge1xuICAgICAgcHJlY2lzaW9uID0gMHgwRDtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlY2lzaW9uID0gMHgxMTtcbiAgICB9XG5cbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW051bWVyaWNOLmlkLCBwcmVjaXNpb24sIHBhcmFtZXRlci5wcmVjaXNpb24hLCBwYXJhbWV0ZXIuc2NhbGUhXSk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgY29uc3QgcHJlY2lzaW9uID0gcGFyYW1ldGVyLnByZWNpc2lvbiE7XG4gICAgaWYgKHByZWNpc2lvbiA8PSA5KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDVdKTtcbiAgICB9IGVsc2UgaWYgKHByZWNpc2lvbiA8PSAxOSkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA5XSk7XG4gICAgfSBlbHNlIGlmIChwcmVjaXNpb24gPD0gMjgpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgwRF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MTFdKTtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2lnbiA9IHBhcmFtZXRlci52YWx1ZSA8IDAgPyAwIDogMTtcbiAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQoTWF0aC5hYnMocGFyYW1ldGVyLnZhbHVlICogTWF0aC5wb3coMTAsIHBhcmFtZXRlci5zY2FsZSEpKSk7XG4gICAgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDkpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg1KTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHNpZ24sIDApO1xuICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUodmFsdWUsIDEpO1xuICAgICAgeWllbGQgYnVmZmVyO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gMTkpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEwKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHNpZ24pO1xuICAgICAgYnVmZmVyLndyaXRlVUludDY0TEUodmFsdWUpO1xuICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSAyOCkge1xuICAgICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoMTQpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDgoc2lnbik7XG4gICAgICBidWZmZXIud3JpdGVVSW50NjRMRSh2YWx1ZSk7XG4gICAgICBidWZmZXIud3JpdGVVSW50MzJMRSgweDAwMDAwMDAwKTtcbiAgICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxOCk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ2NExFKHZhbHVlKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKDB4MDAwMDAwMDApO1xuICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUoMHgwMDAwMDAwMCk7XG4gICAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgICB9XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogbnVsbCB8IG51bWJlciB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbnVtYmVyLicpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE51bWVyaWM7XG5tb2R1bGUuZXhwb3J0cyA9IE51bWVyaWM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLHVCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBaUYsU0FBQUQsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFakYsTUFBTUcsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZDLE1BQU1DLE9BQXdJLEdBQUc7RUFDL0lDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLElBQUksRUFBRSxTQUFTO0VBRWZDLFdBQVcsRUFBRSxTQUFBQSxDQUFTQyxTQUFTLEVBQUU7SUFDL0IsT0FBTyxVQUFVLEdBQUksSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0QsU0FBUyxDQUFFLEdBQUcsSUFBSSxHQUFJLElBQUksQ0FBQ0UsWUFBWSxDQUFDRixTQUFTLENBQUUsR0FBRyxHQUFHO0VBQ3RHLENBQUM7RUFFREMsZ0JBQWdCLEVBQUUsU0FBQUEsQ0FBU0QsU0FBUyxFQUFFO0lBQ3BDLElBQUlBLFNBQVMsQ0FBQ0csU0FBUyxJQUFJLElBQUksRUFBRTtNQUMvQixPQUFPSCxTQUFTLENBQUNHLFNBQVM7SUFDNUIsQ0FBQyxNQUFNLElBQUlILFNBQVMsQ0FBQ0ksS0FBSyxLQUFLLElBQUksRUFBRTtNQUNuQyxPQUFPLENBQUM7SUFDVixDQUFDLE1B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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numeric.js","names":["_numericn","_interopRequireDefault","require","_writableTrackingBuffer","obj","__esModule","default","NULL_LENGTH","Buffer","from","Numeric","id","type","name","declaration","parameter","resolvePrecision","resolveScale","precision","value","scale","generateTypeInfo","NumericN","generateParameterLength","options","generateParameterData","sign","Math","round","abs","pow","buffer","alloc","writeUInt8","writeUInt32LE","WritableTrackingBuffer","writeUInt64LE","data","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/numeric.ts"],"sourcesContent":["import { DataType } from '../data-type';\nimport NumericN from './numericn';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst Numeric: DataType & { resolveScale: NonNullable<DataType['resolveScale']>, resolvePrecision: NonNullable<DataType['resolvePrecision']> } = {\n id: 0x3F,\n type: 'NUMERIC',\n name: 'Numeric',\n\n declaration: function(parameter) {\n return 'numeric(' + (this.resolvePrecision(parameter)) + ', ' + (this.resolveScale(parameter)) + ')';\n },\n\n resolvePrecision: function(parameter) {\n if (parameter.precision != null) {\n return parameter.precision;\n } else if (parameter.value === null) {\n return 1;\n } else {\n return 18;\n }\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else {\n return 0;\n }\n },\n\n generateTypeInfo(parameter) {\n let precision;\n if (parameter.precision! <= 9) {\n precision = 0x05;\n } else if (parameter.precision! <= 19) {\n precision = 0x09;\n } else if (parameter.precision! <= 28) {\n precision = 0x0D;\n } else {\n precision = 0x11;\n }\n\n return Buffer.from([NumericN.id, precision, parameter.precision!, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const precision = parameter.precision!;\n if (precision <= 9) {\n return Buffer.from([0x05]);\n } else if (precision <= 19) {\n return Buffer.from([0x09]);\n } else if (precision <= 28) {\n return Buffer.from([0x0D]);\n } else {\n return Buffer.from([0x11]);\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const sign = parameter.value < 0 ? 0 : 1;\n const value = Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale!)));\n if (parameter.precision! <= 9) {\n const buffer = Buffer.alloc(5);\n buffer.writeUInt8(sign, 0);\n buffer.writeUInt32LE(value, 1);\n yield buffer;\n } else if (parameter.precision! <= 19) {\n const buffer = new WritableTrackingBuffer(10);\n buffer.writeUInt8(sign);\n buffer.writeUInt64LE(value);\n yield buffer.data;\n } else if (parameter.precision! <= 28) {\n const buffer = new WritableTrackingBuffer(14);\n buffer.writeUInt8(sign);\n buffer.writeUInt64LE(value);\n buffer.writeUInt32LE(0x00000000);\n yield buffer.data;\n } else {\n const buffer = new WritableTrackingBuffer(18);\n buffer.writeUInt8(sign);\n buffer.writeUInt64LE(value);\n buffer.writeUInt32LE(0x00000000);\n buffer.writeUInt32LE(0x00000000);\n yield buffer.data;\n }\n },\n\n validate: function(value): null | number {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n return value;\n }\n};\n\nexport default Numeric;\nmodule.exports = Numeric;\n"],"mappings":"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"}
@@ -8,29 +8,23 @@ const NumericN = {
8
8
  id: 0x6C,
9
9
  type: 'NUMERICN',
10
10
  name: 'NumericN',
11
-
12
11
  declaration() {
13
12
  throw new Error('not implemented');
14
13
  },
15
-
16
14
  generateTypeInfo() {
17
15
  throw new Error('not implemented');
18
16
  },
19
-
20
17
  generateParameterLength() {
21
18
  throw new Error('not implemented');
22
19
  },
23
-
24
20
  generateParameterData() {
25
21
  throw new Error('not implemented');
26
22
  },
27
-
28
23
  validate() {
29
24
  throw new Error('not implemented');
30
25
  }
31
-
32
26
  };
33
27
  var _default = NumericN;
34
28
  exports.default = _default;
35
29
  module.exports = NumericN;
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1lcmljTiIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIkVycm9yIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnVtZXJpY24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOdW1lcmljTjogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDZDLFxuICB0eXBlOiAnTlVNRVJJQ04nLFxuICBuYW1lOiAnTnVtZXJpY04nLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTnVtZXJpY047XG5tb2R1bGUuZXhwb3J0cyA9IE51bWVyaWNOO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxRQUFrQixHQUFHO0VBQ3pCQyxFQUFFLEVBQUUsSUFEcUI7RUFFekJDLElBQUksRUFBRSxVQUZtQjtFQUd6QkMsSUFBSSxFQUFFLFVBSG1COztFQUt6QkMsV0FBVyxHQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFKLENBQVUsaUJBQVYsQ0FBTjtFQUNELENBUHdCOztFQVN6QkMsZ0JBQWdCLEdBQUc7SUFDakIsTUFBTSxJQUFJRCxLQUFKLENBQVUsaUJBQVYsQ0FBTjtFQUNELENBWHdCOztFQWF6QkUsdUJBQXVCLEdBQUc7SUFDeEIsTUFBTSxJQUFJRixLQUFKLENBQVUsaUJBQVYsQ0FBTjtFQUNELENBZndCOztFQWlCekJHLHFCQUFxQixHQUFHO0lBQ3RCLE1BQU0sSUFBSUgsS0FBSixDQUFVLGlCQUFWLENBQU47RUFDRCxDQW5Cd0I7O0VBcUJ6QkksUUFBUSxHQUFHO0lBQ1QsTUFBTSxJQUFJSixLQUFKLENBQVUsaUJBQVYsQ0FBTjtFQUNEOztBQXZCd0IsQ0FBM0I7ZUEwQmVMLFE7O0FBQ2ZVLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQlgsUUFBakIifQ==
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1lcmljTiIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIkVycm9yIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnVtZXJpY24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOdW1lcmljTjogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDZDLFxuICB0eXBlOiAnTlVNRVJJQ04nLFxuICBuYW1lOiAnTnVtZXJpY04nLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTnVtZXJpY047XG5tb2R1bGUuZXhwb3J0cyA9IE51bWVyaWNOO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxRQUFrQixHQUFHO0VBQ3pCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsVUFBVTtFQUNoQkMsSUFBSSxFQUFFLFVBQVU7RUFFaEJDLFdBQVdBLENBQUEsRUFBRztJQUNaLE1BQU0sSUFBSUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREMsZ0JBQWdCQSxDQUFBLEVBQUc7SUFDakIsTUFBTSxJQUFJRCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERSx1QkFBdUJBLENBQUEsRUFBRztJQUN4QixNQUFNLElBQUlGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURHLHFCQUFxQkEsQ0FBQSxFQUFHO0lBQ3RCLE1BQU0sSUFBSUgsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREksUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsTUFBTSxJQUFJSixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEM7QUFDRixDQUFDO0FBQUMsSUFBQUssUUFBQSxHQUVhVixRQUFRO0FBQUFXLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBO0FBQ3ZCRyxNQUFNLENBQUNGLE9BQU8sR0FBR1gsUUFBUSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numericn.js","names":["NumericN","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/numericn.ts"],"sourcesContent":["import { DataType } from '../data-type';\n\nconst NumericN: DataType = {\n id: 0x6C,\n type: 'NUMERICN',\n name: 'NumericN',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n generateTypeInfo() {\n throw new Error('not implemented');\n },\n\n generateParameterLength() {\n throw new Error('not implemented');\n },\n\n generateParameterData() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default NumericN;\nmodule.exports = NumericN;\n"],"mappings":";;;;;;AAEA,MAAMA,QAAkB,GAAG;EACzBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,UAAU;EAEhBC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDI,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIJ,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAK,QAAA,GAEaV,QAAQ;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA;AACvBG,MAAM,CAACF,OAAO,GAAGX,QAAQ"}
@@ -18,7 +18,6 @@ const NVarChar = {
18
18
  const value = parameter.value; // Temporary solution. Remove 'any' later.
19
19
 
20
20
  let length;
21
-
22
21
  if (parameter.length) {
23
22
  length = parameter.length;
24
23
  } else if (value != null) {
@@ -28,7 +27,6 @@ const NVarChar = {
28
27
  } else {
29
28
  length = this.maximumLength;
30
29
  }
31
-
32
30
  if (length <= this.maximumLength) {
33
31
  return 'nvarchar(' + length + ')';
34
32
  } else {
@@ -37,7 +35,6 @@ const NVarChar = {
37
35
  },
38
36
  resolveLength: function (parameter) {
39
37
  const value = parameter.value; // Temporary solution. Remove 'any' later.
40
-
41
38
  if (parameter.length != null) {
42
39
  return parameter.length;
43
40
  } else if (value != null) {
@@ -50,24 +47,19 @@ const NVarChar = {
50
47
  return this.maximumLength;
51
48
  }
52
49
  },
53
-
54
50
  generateTypeInfo(parameter) {
55
51
  const buffer = Buffer.alloc(8);
56
52
  buffer.writeUInt8(this.id, 0);
57
-
58
53
  if (parameter.length <= this.maximumLength) {
59
54
  buffer.writeUInt16LE(parameter.length * 2, 1);
60
55
  } else {
61
56
  buffer.writeUInt16LE(MAX, 1);
62
57
  }
63
-
64
58
  if (parameter.collation) {
65
59
  parameter.collation.toBuffer().copy(buffer, 3, 0, 5);
66
60
  }
67
-
68
61
  return buffer;
69
62
  },
70
-
71
63
  generateParameterLength(parameter, options) {
72
64
  if (parameter.value == null) {
73
65
  if (parameter.length <= this.maximumLength) {
@@ -76,19 +68,15 @@ const NVarChar = {
76
68
  return MAX_NULL_LENGTH;
77
69
  }
78
70
  }
79
-
80
71
  let value = parameter.value;
81
-
82
72
  if (parameter.length <= this.maximumLength) {
83
73
  let length;
84
-
85
74
  if (value instanceof Buffer) {
86
75
  length = value.length;
87
76
  } else {
88
77
  value = value.toString();
89
78
  length = Buffer.byteLength(value, 'ucs2');
90
79
  }
91
-
92
80
  const buffer = Buffer.alloc(2);
93
81
  buffer.writeUInt16LE(length, 0);
94
82
  return buffer;
@@ -96,14 +84,11 @@ const NVarChar = {
96
84
  return UNKNOWN_PLP_LEN;
97
85
  }
98
86
  },
99
-
100
87
  *generateParameterData(parameter, options) {
101
88
  if (parameter.value == null) {
102
89
  return;
103
90
  }
104
-
105
91
  let value = parameter.value;
106
-
107
92
  if (parameter.length <= this.maximumLength) {
108
93
  if (value instanceof Buffer) {
109
94
  yield value;
@@ -114,7 +99,6 @@ const NVarChar = {
114
99
  } else {
115
100
  if (value instanceof Buffer) {
116
101
  const length = value.length;
117
-
118
102
  if (length > 0) {
119
103
  const buffer = Buffer.alloc(4);
120
104
  buffer.writeUInt32LE(length, 0);
@@ -124,7 +108,6 @@ const NVarChar = {
124
108
  } else {
125
109
  value = value.toString();
126
110
  const length = Buffer.byteLength(value, 'ucs2');
127
-
128
111
  if (length > 0) {
129
112
  const buffer = Buffer.alloc(4);
130
113
  buffer.writeUInt32LE(length, 0);
@@ -132,24 +115,20 @@ const NVarChar = {
132
115
  yield Buffer.from(value, 'ucs2');
133
116
  }
134
117
  }
135
-
136
118
  yield PLP_TERMINATOR;
137
119
  }
138
120
  },
139
-
140
121
  validate: function (value) {
141
122
  if (value == null) {
142
123
  return null;
143
124
  }
144
-
145
125
  if (typeof value !== 'string') {
146
126
  throw new TypeError('Invalid string.');
147
127
  }
148
-
149
128
  return value;
150
129
  }
151
130
  };
152
131
  var _default = NVarChar;
153
132
  exports.default = _default;
154
133
  module.exports = NVarChar;
155
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQVgiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiUExQX1RFUk1JTkFUT1IiLCJOVUxMX0xFTkdUSCIsIk1BWF9OVUxMX0xFTkdUSCIsIk5WYXJDaGFyIiwiaWQiLCJ0eXBlIiwibmFtZSIsIm1heGltdW1MZW5ndGgiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwibGVuZ3RoIiwidG9TdHJpbmciLCJvdXRwdXQiLCJyZXNvbHZlTGVuZ3RoIiwiaXNCdWZmZXIiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ3cml0ZVVJbnQzMkxFIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnZhcmNoYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBNQVggPSAoMSA8PCAxNikgLSAxO1xuY29uc3QgVU5LTk9XTl9QTFBfTEVOID0gQnVmZmVyLmZyb20oWzB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmZdKTtcbmNvbnN0IFBMUF9URVJNSU5BVE9SID0gQnVmZmVyLmZyb20oWzB4MDAsIDB4MDAsIDB4MDAsIDB4MDBdKTtcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRl0pO1xuY29uc3QgTUFYX05VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkZdKTtcblxuY29uc3QgTlZhckNoYXI6IHsgbWF4aW11bUxlbmd0aDogbnVtYmVyIH0gJiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4RTcsXG4gIHR5cGU6ICdOVkFSQ0hBUicsXG4gIG5hbWU6ICdOVmFyQ2hhcicsXG4gIG1heGltdW1MZW5ndGg6IDQwMDAsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICBsZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgbGVuZ3RoID0gdmFsdWUudG9TdHJpbmcoKS5sZW5ndGggfHwgMTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBudWxsICYmICFwYXJhbWV0ZXIub3V0cHV0KSB7XG4gICAgICBsZW5ndGggPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZW5ndGggPSB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKGxlbmd0aCA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIHJldHVybiAnbnZhcmNoYXIoJyArIGxlbmd0aCArICcpJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdudmFyY2hhcihtYXgpJztcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAodmFsdWUubGVuZ3RoIC8gMikgfHwgMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB8fCAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhpbXVtTGVuZ3RoO1xuICAgIH1cbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg4KTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKHBhcmFtZXRlci5sZW5ndGghICogMiwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKE1BWCwgMSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtZXRlci5jb2xsYXRpb24pIHtcbiAgICAgIHBhcmFtZXRlci5jb2xsYXRpb24udG9CdWZmZXIoKS5jb3B5KGJ1ZmZlciwgMywgMCwgNSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIE1BWF9OVUxMX0xFTkdUSDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWU7XG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgbGV0IGxlbmd0aDtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICBsZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlLCAndWNzMicpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoMik7XG4gICAgICBidWZmZXIud3JpdGVVSW50MTZMRShsZW5ndGgsIDApO1xuICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFVOS05PV05fUExQX0xFTjtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuXG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgIHlpZWxkIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3VjczInKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcblxuICAgICAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICAgICAgICBidWZmZXIud3JpdGVVSW50MzJMRShsZW5ndGgsIDApO1xuICAgICAgICAgIHlpZWxkIGJ1ZmZlcjtcbiAgICAgICAgICB5aWVsZCB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgJ3VjczInKTtcblxuICAgICAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICAgICAgICBidWZmZXIud3JpdGVVSW50MzJMRShsZW5ndGgsIDApO1xuICAgICAgICAgIHlpZWxkIGJ1ZmZlcjtcbiAgICAgICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3VjczInKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB5aWVsZCBQTFBfVEVSTUlOQVRPUjtcbiAgICB9XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogbnVsbCB8IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5WYXJDaGFyO1xubW9kdWxlLmV4cG9ydHMgPSBOVmFyQ2hhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFOLElBQVksQ0FBeEI7QUFDQSxNQUFNQyxlQUFlLEdBQUdDLE1BQU0sQ0FBQ0Ms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
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQVgiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiUExQX1RFUk1JTkFUT1IiLCJOVUxMX0xFTkdUSCIsIk1BWF9OVUxMX0xFTkdUSCIsIk5WYXJDaGFyIiwiaWQiLCJ0eXBlIiwibmFtZSIsIm1heGltdW1MZW5ndGgiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwibGVuZ3RoIiwidG9TdHJpbmciLCJvdXRwdXQiLCJyZXNvbHZlTGVuZ3RoIiwiaXNCdWZmZXIiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ3cml0ZVVJbnQzMkxFIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnZhcmNoYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBNQVggPSAoMSA8PCAxNikgLSAxO1xuY29uc3QgVU5LTk9XTl9QTFBfTEVOID0gQnVmZmVyLmZyb20oWzB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmZdKTtcbmNvbnN0IFBMUF9URVJNSU5BVE9SID0gQnVmZmVyLmZyb20oWzB4MDAsIDB4MDAsIDB4MDAsIDB4MDBdKTtcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRl0pO1xuY29uc3QgTUFYX05VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkZdKTtcblxuY29uc3QgTlZhckNoYXI6IHsgbWF4aW11bUxlbmd0aDogbnVtYmVyIH0gJiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4RTcsXG4gIHR5cGU6ICdOVkFSQ0hBUicsXG4gIG5hbWU6ICdOVmFyQ2hhcicsXG4gIG1heGltdW1MZW5ndGg6IDQwMDAsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICBsZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgbGVuZ3RoID0gdmFsdWUudG9TdHJpbmcoKS5sZW5ndGggfHwgMTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBudWxsICYmICFwYXJhbWV0ZXIub3V0cHV0KSB7XG4gICAgICBsZW5ndGggPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZW5ndGggPSB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKGxlbmd0aCA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIHJldHVybiAnbnZhcmNoYXIoJyArIGxlbmd0aCArICcpJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdudmFyY2hhcihtYXgpJztcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAodmFsdWUubGVuZ3RoIC8gMikgfHwgMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB8fCAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhpbXVtTGVuZ3RoO1xuICAgIH1cbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg4KTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKHBhcmFtZXRlci5sZW5ndGghICogMiwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKE1BWCwgMSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtZXRlci5jb2xsYXRpb24pIHtcbiAgICAgIHBhcmFtZXRlci5jb2xsYXRpb24udG9CdWZmZXIoKS5jb3B5KGJ1ZmZlciwgMywgMCwgNSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIE1BWF9OVUxMX0xFTkdUSDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWU7XG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgbGV0IGxlbmd0aDtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICBsZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlLCAndWNzMicpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoMik7XG4gICAgICBidWZmZXIud3JpdGVVSW50MTZMRShsZW5ndGgsIDApO1xuICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFVOS05PV05fUExQX0xFTjtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuXG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgIHlpZWxkIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3VjczInKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcblxuICAgICAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICAgICAgICBidWZmZXIud3JpdGVVSW50MzJMRShsZW5ndGgsIDApO1xuICAgICAgICAgIHlpZWxkIGJ1ZmZlcjtcbiAgICAgICAgICB5aWVsZCB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgJ3VjczInKTtcblxuICAgICAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICAgICAgICBidWZmZXIud3JpdGVVSW50MzJMRShsZW5ndGgsIDApO1xuICAgICAgICAgIHlpZWxkIGJ1ZmZlcjtcbiAgICAgICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3VjczInKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB5aWVsZCBQTFBfVEVSTUlOQVRPUjtcbiAgICB9XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogbnVsbCB8IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5WYXJDaGFyO1xubW9kdWxlLmV4cG9ydHMgPSBOVmFyQ2hhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0FBQ3pCLE1B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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nvarchar.js","names":["MAX","UNKNOWN_PLP_LEN","Buffer","from","PLP_TERMINATOR","NULL_LENGTH","MAX_NULL_LENGTH","NVarChar","id","type","name","maximumLength","declaration","parameter","value","length","toString","output","resolveLength","isBuffer","generateTypeInfo","buffer","alloc","writeUInt8","writeUInt16LE","collation","toBuffer","copy","generateParameterLength","options","byteLength","generateParameterData","writeUInt32LE","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/nvarchar.ts"],"sourcesContent":["import { DataType } from '../data-type';\n\nconst MAX = (1 << 16) - 1;\nconst UNKNOWN_PLP_LEN = Buffer.from([0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]);\nconst PLP_TERMINATOR = Buffer.from([0x00, 0x00, 0x00, 0x00]);\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\nconst MAX_NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]);\n\nconst NVarChar: { maximumLength: number } & DataType = {\n id: 0xE7,\n type: 'NVARCHAR',\n name: 'NVarChar',\n maximumLength: 4000,\n\n declaration: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n let length;\n if (parameter.length) {\n length = parameter.length;\n } else if (value != null) {\n length = value.toString().length || 1;\n } else if (value === null && !parameter.output) {\n length = 1;\n } else {\n length = this.maximumLength;\n }\n\n if (length <= this.maximumLength) {\n return 'nvarchar(' + length + ')';\n } else {\n return 'nvarchar(max)';\n }\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n if (parameter.length != null) {\n return parameter.length;\n } else if (value != null) {\n if (Buffer.isBuffer(value)) {\n return (value.length / 2) || 1;\n } else {\n return value.toString().length || 1;\n }\n } else {\n return this.maximumLength;\n }\n },\n\n generateTypeInfo(parameter) {\n const buffer = Buffer.alloc(8);\n buffer.writeUInt8(this.id, 0);\n\n if (parameter.length! <= this.maximumLength) {\n buffer.writeUInt16LE(parameter.length! * 2, 1);\n } else {\n buffer.writeUInt16LE(MAX, 1);\n }\n\n if (parameter.collation) {\n parameter.collation.toBuffer().copy(buffer, 3, 0, 5);\n }\n\n return buffer;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n if (parameter.length! <= this.maximumLength) {\n return NULL_LENGTH;\n } else {\n return MAX_NULL_LENGTH;\n }\n }\n\n let value = parameter.value;\n if (parameter.length! <= this.maximumLength) {\n let length;\n if (value instanceof Buffer) {\n length = value.length;\n } else {\n value = value.toString();\n length = Buffer.byteLength(value, 'ucs2');\n }\n\n const buffer = Buffer.alloc(2);\n buffer.writeUInt16LE(length, 0);\n return buffer;\n } else {\n return UNKNOWN_PLP_LEN;\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n let value = parameter.value;\n\n if (parameter.length! <= this.maximumLength) {\n if (value instanceof Buffer) {\n yield value;\n } else {\n value = value.toString();\n yield Buffer.from(value, 'ucs2');\n }\n } else {\n if (value instanceof Buffer) {\n const length = value.length;\n\n if (length > 0) {\n const buffer = Buffer.alloc(4);\n buffer.writeUInt32LE(length, 0);\n yield buffer;\n yield value;\n }\n } else {\n value = value.toString();\n const length = Buffer.byteLength(value, 'ucs2');\n\n if (length > 0) {\n const buffer = Buffer.alloc(4);\n buffer.writeUInt32LE(length, 0);\n yield buffer;\n yield Buffer.from(value, 'ucs2');\n }\n }\n\n yield PLP_TERMINATOR;\n }\n },\n\n validate: function(value): null | string {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n return value;\n }\n};\n\nexport default NVarChar;\nmodule.exports = NVarChar;\n"],"mappings":"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"}
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _floatn = _interopRequireDefault(require("./floatn"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  const NULL_LENGTH = Buffer.from([0x00]);
13
10
  const DATA_LENGTH = Buffer.from([0x04]);
14
11
  const Real = {
@@ -18,44 +15,35 @@ const Real = {
18
15
  declaration: function () {
19
16
  return 'real';
20
17
  },
21
-
22
18
  generateTypeInfo() {
23
19
  return Buffer.from([_floatn.default.id, 0x04]);
24
20
  },
25
-
26
21
  generateParameterLength(parameter, options) {
27
22
  if (parameter.value == null) {
28
23
  return NULL_LENGTH;
29
24
  }
30
-
31
25
  return DATA_LENGTH;
32
26
  },
33
-
34
27
  *generateParameterData(parameter, options) {
35
28
  if (parameter.value == null) {
36
29
  return;
37
30
  }
38
-
39
31
  const buffer = Buffer.alloc(4);
40
32
  buffer.writeFloatLE(parseFloat(parameter.value), 0);
41
33
  yield buffer;
42
34
  },
43
-
44
35
  validate: function (value) {
45
36
  if (value == null) {
46
37
  return null;
47
38
  }
48
-
49
39
  value = parseFloat(value);
50
-
51
40
  if (isNaN(value)) {
52
41
  throw new TypeError('Invalid number.');
53
42
  }
54
-
55
43
  return value;
56
44
  }
57
45
  };
58
46
  var _default = Real;
59
47
  exports.default = _default;
60
48
  module.exports = Real;
61
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJEQVRBX0xFTkdUSCIsIlJlYWwiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJnZW5lcmF0ZVR5cGVJbmZvIiwiRmxvYXROIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJwYXJhbWV0ZXIiLCJvcHRpb25zIiwidmFsdWUiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJidWZmZXIiLCJhbGxvYyIsIndyaXRlRmxvYXRMRSIsInBhcnNlRmxvYXQiLCJ2YWxpZGF0ZSIsImlzTmFOIiwiVHlwZUVycm9yIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3JlYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IEZsb2F0TiBmcm9tICcuL2Zsb2F0bic7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcbmNvbnN0IERBVEFfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDRdKTtcblxuY29uc3QgUmVhbDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDNCLFxuICB0eXBlOiAnRkxUNCcsXG4gIG5hbWU6ICdSZWFsJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdyZWFsJztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShbRmxvYXROLmlkLCAweDA0XSk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgcmV0dXJuIERBVEFfTEVOR1RIO1xuICB9LFxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBidWZmZXIud3JpdGVGbG9hdExFKHBhcnNlRmxvYXQocGFyYW1ldGVyLnZhbHVlKSwgMCk7XG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG51bWJlci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWFsO1xubW9kdWxlLmV4cG9ydHMgPSBSZWFsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxDQUFaLENBQXBCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHRixNQUFNLENBQUNDLElBQVAsQ0FBWSxDQUFDLElBQUQsQ0FBWixDQUFwQjtBQUVBLE1BQU1FLElBQWMsR0FBRztFQUNyQkMsRUFBRSxFQUFFLElBRGlCO0VBRXJCQyxJQUFJLEVBQUUsTUFGZTtFQUdyQkMsSUFBSSxFQUFFLE1BSGU7RUFLckJDLFdBQVcsRUFBRSxZQUFXO0lBQ3RCLE9BQU8sTUFBUDtFQUNELENBUG9COztFQVNyQkMsZ0JBQWdCLEdBQUc7SUFDakIsT0FBT1IsTUFBTSxDQUFDQyxJQUFQLENBQVksQ0FBQ1EsZ0JBQU9MLEVBQVIsRUFBWSxJQUFaLENBQVosQ0FBUDtFQUNELENBWG9COztFQWFyQk0sdUJBQXVCLENBQUNDLFNBQUQsRUFBWUMsT0FBWixFQUFxQjtJQUMxQyxJQUFJRCxTQUFTLENBQUNFLEtBQVYsSUFBbUIsSUFBdkIsRUFBNkI7TUFDM0IsT0FBT2QsV0FBUDtJQUNEOztJQUVELE9BQU9HLFdBQVA7RUFDRCxDQW5Cb0I7O0VBcUJyQixDQUFFWSxxQkFBRixDQUF3QkgsU0FBeEIsRUFBbUNDLE9BQW5DLEVBQTRDO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBVixJQUFtQixJQUF2QixFQUE2QjtNQUMzQjtJQUNEOztJQUVELE1BQU1FLE1BQU0sR0FBR2YsTUFBTSxDQUFDZ0IsS0FBUCxDQUFhLENBQWIsQ0FBZjtJQUNBRCxNQUFNLENBQUNFLFlBQVAsQ0FBb0JDLFVBQVUsQ0FBQ1AsU0FBUyxDQUFDRSxLQUFYLENBQTlCLEVBQWlELENBQWpEO0lBQ0EsTUFBTUUsTUFBTjtFQUNELENBN0JvQjs7RUErQnJCSSxRQUFRLEVBQUUsVUFBU04sS0FBVCxFQUErQjtJQUN2QyxJQUFJQSxLQUFLLElBQUksSUFBYixFQUFtQjtNQUNqQixPQUFPLElBQVA7SUFDRDs7SUFDREEsS0FBSyxHQUFHSyxVQUFVLENBQUNMLEtBQUQsQ0FBbEI7O0lBQ0EsSUFBSU8sS0FBSyxDQUFDUCxLQUFELENBQVQsRUFBa0I7TUFDaEIsTUFBTSxJQUFJUSxTQUFKLENBQWMsaUJBQWQsQ0FBTjtJQUNEOztJQUNELE9BQU9SLEtBQVA7RUFDRDtBQXhDb0IsQ0FBdkI7ZUEyQ2VWLEk7O0FBQ2ZtQixNQUFNLENBQUNDLE9BQVAsR0FBaUJwQixJQUFqQiJ9
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZmxvYXRuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIk5VTExfTEVOR1RIIiwiQnVmZmVyIiwiZnJvbSIsIkRBVEFfTEVOR1RIIiwiUmVhbCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsImdlbmVyYXRlVHlwZUluZm8iLCJGbG9hdE4iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsInBhcmFtZXRlciIsIm9wdGlvbnMiLCJ2YWx1ZSIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVGbG9hdExFIiwicGFyc2VGbG9hdCIsInZhbGlkYXRlIiwiaXNOYU4iLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9yZWFsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBGbG9hdE4gZnJvbSAnLi9mbG9hdG4nO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5jb25zdCBEQVRBX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDA0XSk7XG5cbmNvbnN0IFJlYWw6IERhdGFUeXBlID0ge1xuICBpZDogMHgzQixcbiAgdHlwZTogJ0ZMVDQnLFxuICBuYW1lOiAnUmVhbCcsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAncmVhbCc7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW0Zsb2F0Ti5pZCwgMHgwNF0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIHJldHVybiBEQVRBX0xFTkdUSDtcbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNCk7XG4gICAgYnVmZmVyLndyaXRlRmxvYXRMRShwYXJzZUZsb2F0KHBhcmFtZXRlci52YWx1ZSksIDApO1xuICAgIHlpZWxkIGJ1ZmZlcjtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBudW1iZXIuJyk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVhbDtcbm1vZHVsZS5leHBvcnRzID0gUmVhbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQThCLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRTlCLE1BQU1HLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QyxNQUFNQyxXQUFXLEdBQUdGLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkMsTUFBTUUsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsTUFBTTtFQUVaQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sTUFBTTtFQUNmLENBQUM7RUFFREMsZ0JBQWdCQSxDQUFBLEVBQUc7SUFDakIsT0FBT1IsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ1EsZUFBTSxDQUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7RUFDdkMsQ0FBQztFQUVETSx1QkFBdUJBLENBQUNDLFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixPQUFPZCxXQUFXO0lBQ3BCO0lBRUEsT0FBT0csV0FBVztFQUNwQixDQUFDO0VBRUQsQ0FBRVkscUJBQXFCQSxDQUFDSCxTQUFTLEVBQUVDLE9BQU8sRUFBRTtJQUMxQyxJQUFJRCxTQUFTLENBQUNFLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0I7SUFDRjtJQUVBLE1BQU1FLE1BQU0sR0FBR2YsTUFBTSxDQUFDZ0IsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRSxZQUFZLENBQUNDLFVBQVUsQ0FBQ1AsU0FBUyxDQUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkQsTUFBTUUsTUFBTTtFQUNkLENBQUM7RUFFREksUUFBUSxFQUFFLFNBQUFBLENBQVNOLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUNBQSxLQUFLLEdBQUdLLFVBQVUsQ0FBQ0wsS0FBSyxDQUFDO0lBQ3pCLElBQUlPLEtBQUssQ0FBQ1AsS0FBSyxDQUFDLEVBQUU7TUFDaEIsTUFBTSxJQUFJUSxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDeEM7SUFDQSxPQUFPUixLQUFLO0VBQ2Q7QUFDRixDQUFDO0FBQUMsSUFBQVMsUUFBQSxHQUVhbkIsSUFBSTtBQUFBb0IsT0FBQSxDQUFBekIsT0FBQSxHQUFBd0IsUUFBQTtBQUNuQkUsTUFBTSxDQUFDRCxPQUFPLEdBQUdwQixJQUFJIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real.js","names":["_floatn","_interopRequireDefault","require","obj","__esModule","default","NULL_LENGTH","Buffer","from","DATA_LENGTH","Real","id","type","name","declaration","generateTypeInfo","FloatN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","writeFloatLE","parseFloat","validate","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/real.ts"],"sourcesContent":["import { DataType } from '../data-type';\nimport FloatN from './floatn';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\nconst DATA_LENGTH = Buffer.from([0x04]);\n\nconst Real: DataType = {\n id: 0x3B,\n type: 'FLT4',\n name: 'Real',\n\n declaration: function() {\n return 'real';\n },\n\n generateTypeInfo() {\n return Buffer.from([FloatN.id, 0x04]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n return DATA_LENGTH;\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const buffer = Buffer.alloc(4);\n buffer.writeFloatLE(parseFloat(parameter.value), 0);\n yield buffer;\n },\n\n validate: function(value): null | number {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n return value;\n }\n};\n\nexport default Real;\nmodule.exports = Real;\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9B,MAAMG,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,MAAMC,WAAW,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAME,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EAEZC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,MAAM;EACf,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,OAAOR,MAAM,CAACC,IAAI,CAAC,CAACQ,eAAM,CAACL,EAAE,EAAE,IAAI,CAAC,CAAC;EACvC,CAAC;EAEDM,uBAAuBA,CAACC,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOd,WAAW;IACpB;IAEA,OAAOG,WAAW;EACpB,CAAC;EAED,CAAEY,qBAAqBA,CAACH,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAME,MAAM,GAAGf,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACE,YAAY,CAACC,UAAU,CAACP,SAAS,CAACE,KAAK,CAAC,EAAE,CAAC,CAAC;IACnD,MAAME,MAAM;EACd,CAAC;EAEDI,QAAQ,EAAE,SAAAA,CAASN,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGK,UAAU,CAACL,KAAK,CAAC;IACzB,IAAIO,KAAK,CAACP,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIQ,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA,OAAOR,KAAK;EACd;AACF,CAAC;AAAC,IAAAS,QAAA,GAEanB,IAAI;AAAAoB,OAAA,CAAAzB,OAAA,GAAAwB,QAAA;AACnBE,MAAM,CAACD,OAAO,GAAGpB,IAAI"}