tedious 20.2.3 → 20.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 (109) hide show
  1. package/lib/always-encrypted/get-parameter-encryption-metadata.js +5 -2
  2. package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -1
  3. package/lib/bulk-load-payload.js +9 -5
  4. package/lib/bulk-load-payload.js.map +1 -1
  5. package/lib/bulk-load.js +17 -6
  6. package/lib/bulk-load.js.map +1 -1
  7. package/lib/connection.d.ts +5 -0
  8. package/lib/connection.js +33 -26
  9. package/lib/connection.js.map +1 -1
  10. package/lib/data-type.d.ts +47 -3
  11. package/lib/data-type.js +113 -2
  12. package/lib/data-type.js.map +1 -1
  13. package/lib/data-types/bigint.js +10 -17
  14. package/lib/data-types/bigint.js.map +1 -1
  15. package/lib/data-types/binary.js +10 -17
  16. package/lib/data-types/binary.js.map +1 -1
  17. package/lib/data-types/bit.js +10 -14
  18. package/lib/data-types/bit.js.map +1 -1
  19. package/lib/data-types/bitn.js +3 -6
  20. package/lib/data-types/bitn.js.map +1 -1
  21. package/lib/data-types/char.js +12 -17
  22. package/lib/data-types/char.js.map +1 -1
  23. package/lib/data-types/date.js +11 -27
  24. package/lib/data-types/date.js.map +1 -1
  25. package/lib/data-types/datetime.js +17 -37
  26. package/lib/data-types/datetime.js.map +1 -1
  27. package/lib/data-types/datetime2.js +12 -67
  28. package/lib/data-types/datetime2.js.map +1 -1
  29. package/lib/data-types/datetimen.js +3 -6
  30. package/lib/data-types/datetimen.js.map +1 -1
  31. package/lib/data-types/datetimeoffset.js +13 -60
  32. package/lib/data-types/datetimeoffset.js.map +1 -1
  33. package/lib/data-types/decimal-common.d.ts +18 -0
  34. package/lib/data-types/decimal-common.js +79 -0
  35. package/lib/data-types/decimal-common.js.map +1 -0
  36. package/lib/data-types/decimal.js +6 -67
  37. package/lib/data-types/decimal.js.map +1 -1
  38. package/lib/data-types/decimaln.js +3 -6
  39. package/lib/data-types/decimaln.js.map +1 -1
  40. package/lib/data-types/float.js +10 -15
  41. package/lib/data-types/float.js.map +1 -1
  42. package/lib/data-types/floatn.js +3 -6
  43. package/lib/data-types/floatn.js.map +1 -1
  44. package/lib/data-types/image.js +10 -17
  45. package/lib/data-types/image.js.map +1 -1
  46. package/lib/data-types/int.js +8 -15
  47. package/lib/data-types/int.js.map +1 -1
  48. package/lib/data-types/intn.js +3 -6
  49. package/lib/data-types/intn.js.map +1 -1
  50. package/lib/data-types/money.js +14 -18
  51. package/lib/data-types/money.js.map +1 -1
  52. package/lib/data-types/moneyn.js +3 -6
  53. package/lib/data-types/moneyn.js.map +1 -1
  54. package/lib/data-types/nchar.js +17 -31
  55. package/lib/data-types/nchar.js.map +1 -1
  56. package/lib/data-types/ntext.js +13 -17
  57. package/lib/data-types/ntext.js.map +1 -1
  58. package/lib/data-types/null.js +3 -6
  59. package/lib/data-types/null.js.map +1 -1
  60. package/lib/data-types/numeric.js +6 -67
  61. package/lib/data-types/numeric.js.map +1 -1
  62. package/lib/data-types/numericn.js +3 -6
  63. package/lib/data-types/numericn.js.map +1 -1
  64. package/lib/data-types/nvarchar.js +68 -57
  65. package/lib/data-types/nvarchar.js.map +1 -1
  66. package/lib/data-types/plp-stream.d.ts +19 -0
  67. package/lib/data-types/plp-stream.js +59 -0
  68. package/lib/data-types/plp-stream.js.map +1 -0
  69. package/lib/data-types/real.js +10 -16
  70. package/lib/data-types/real.js.map +1 -1
  71. package/lib/data-types/smalldatetime.js +17 -23
  72. package/lib/data-types/smalldatetime.js.map +1 -1
  73. package/lib/data-types/smallint.js +10 -16
  74. package/lib/data-types/smallint.js.map +1 -1
  75. package/lib/data-types/smallmoney.js +10 -16
  76. package/lib/data-types/smallmoney.js.map +1 -1
  77. package/lib/data-types/sql-variant.js +3 -6
  78. package/lib/data-types/sql-variant.js.map +1 -1
  79. package/lib/data-types/temporal.d.ts +22 -0
  80. package/lib/data-types/temporal.js +72 -0
  81. package/lib/data-types/temporal.js.map +1 -0
  82. package/lib/data-types/text.js +12 -18
  83. package/lib/data-types/text.js.map +1 -1
  84. package/lib/data-types/time.js +11 -55
  85. package/lib/data-types/time.js.map +1 -1
  86. package/lib/data-types/tinyint.js +10 -16
  87. package/lib/data-types/tinyint.js.map +1 -1
  88. package/lib/data-types/tvp.js +145 -87
  89. package/lib/data-types/tvp.js.map +1 -1
  90. package/lib/data-types/udt.js +3 -6
  91. package/lib/data-types/udt.js.map +1 -1
  92. package/lib/data-types/uniqueidentifier.js +12 -14
  93. package/lib/data-types/uniqueidentifier.js.map +1 -1
  94. package/lib/data-types/varbinary.js +58 -48
  95. package/lib/data-types/varbinary.js.map +1 -1
  96. package/lib/data-types/varchar.js +84 -50
  97. package/lib/data-types/varchar.js.map +1 -1
  98. package/lib/data-types/xml.js +3 -6
  99. package/lib/data-types/xml.js.map +1 -1
  100. package/lib/request.d.ts +23 -3
  101. package/lib/request.js +29 -3
  102. package/lib/request.js.map +1 -1
  103. package/lib/rpcrequest-payload.d.ts +21 -9
  104. package/lib/rpcrequest-payload.js +62 -51
  105. package/lib/rpcrequest-payload.js.map +1 -1
  106. package/lib/tedious.d.ts +2 -2
  107. package/lib/tedious.js +7 -1
  108. package/lib/tedious.js.map +1 -1
  109. package/package.json +1 -1
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _intn = _interopRequireDefault(require("./intn"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const DATA_LENGTH = Buffer.from([0x02]);
10
- const NULL_LENGTH = Buffer.from([0x00]);
9
+ const TYPE_INFO = Buffer.from([_intn.default.id, 0x02]);
11
10
  const SmallInt = {
12
11
  id: 0x34,
13
12
  type: 'INT2',
@@ -15,22 +14,17 @@ const SmallInt = {
15
14
  declaration: function () {
16
15
  return 'smallint';
17
16
  },
18
- generateTypeInfo() {
19
- return Buffer.from([_intn.default.id, 0x02]);
17
+ writeTypeInfo(buffer) {
18
+ buffer.writeBuffer(TYPE_INFO);
20
19
  },
21
- generateParameterLength(parameter, options) {
22
- if (parameter.value == null) {
23
- return NULL_LENGTH;
24
- }
25
- return DATA_LENGTH;
26
- },
27
- *generateParameterData(parameter, options) {
28
- if (parameter.value == null) {
20
+ writeValue(buffer, parameter) {
21
+ const value = parameter.value;
22
+ if (value == null) {
23
+ buffer.writeUInt8(0x00);
29
24
  return;
30
25
  }
31
- const buffer = Buffer.alloc(2);
32
- buffer.writeInt16LE(Number(parameter.value), 0);
33
- yield buffer;
26
+ buffer.writeUInt8(0x02);
27
+ buffer.writeInt16LE(value);
34
28
  },
35
29
  validate: function (value) {
36
30
  if (value == null) {
@@ -50,4 +44,4 @@ const SmallInt = {
50
44
  };
51
45
  var _default = exports.default = SmallInt;
52
46
  module.exports = SmallInt;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW50biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiREFUQV9MRU5HVEgiLCJCdWZmZXIiLCJmcm9tIiwiTlVMTF9MRU5HVEgiLCJTbWFsbEludCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsImdlbmVyYXRlVHlwZUluZm8iLCJJbnROIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJwYXJhbWV0ZXIiLCJvcHRpb25zIiwidmFsdWUiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJidWZmZXIiLCJhbGxvYyIsIndyaXRlSW50MTZMRSIsIk51bWJlciIsInZhbGlkYXRlIiwiaXNOYU4iLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9zbWFsbGludC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBJbnROIGZyb20gJy4vaW50bic7XG5cbmNvbnN0IERBVEFfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDJdKTtcbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcblxuY29uc3QgU21hbGxJbnQ6IERhdGFUeXBlID0ge1xuICBpZDogMHgzNCxcbiAgdHlwZTogJ0lOVDInLFxuICBuYW1lOiAnU21hbGxJbnQnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ3NtYWxsaW50JztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShbSW50Ti5pZCwgMHgwMl0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIHJldHVybiBEQVRBX0xFTkdUSDtcbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoMik7XG4gICAgYnVmZmVyLndyaXRlSW50MTZMRShOdW1iZXIocGFyYW1ldGVyLnZhbHVlKSwgMCk7XG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbnVtYmVyLicpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IC0zMjc2OCB8fCB2YWx1ZSA+IDMyNzY3KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdWYWx1ZSBtdXN0IGJlIGJldHdlZW4gLTMyNzY4IGFuZCAzMjc2NywgaW5jbHVzaXZlLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZSB8IDA7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNtYWxsSW50O1xubW9kdWxlLmV4cG9ydHMgPSBTbWFsbEludDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTBCLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTFCLE1BQU1HLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QyxNQUFNQyxXQUFXLEdBQUdGLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkMsTUFBTUUsUUFBa0IsR0FBRztFQUN6QkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsSUFBSSxFQUFFLFVBQVU7RUFFaEJDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxVQUFVO0VBQ25CLENBQUM7RUFFREMsZ0JBQWdCQSxDQUFBLEVBQUc7SUFDakIsT0FBT1IsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ1EsYUFBSSxDQUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7RUFDckMsQ0FBQztFQUVETSx1QkFBdUJBLENBQUNDLFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixPQUFPWCxXQUFXO0lBQ3BCO0lBRUEsT0FBT0gsV0FBVztFQUNwQixDQUFDO0VBRUQsQ0FBRWUscUJBQXFCQSxDQUFDSCxTQUFTLEVBQUVDLE9BQU8sRUFBRTtJQUMxQyxJQUFJRCxTQUFTLENBQUNFLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0I7SUFDRjtJQUVBLE1BQU1FLE1BQU0sR0FBR2YsTUFBTSxDQUFDZ0IsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRSxZQUFZLENBQUNDLE1BQU0sQ0FBQ1AsU0FBUyxDQUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsTUFBTUUsTUFBTTtFQUNkLENBQUM7RUFFREksUUFBUSxFQUFFLFNBQUFBLENBQVNOLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUM3QkEsS0FBSyxHQUFHSyxNQUFNLENBQUNMLEtBQUssQ0FBQztJQUN2QjtJQUVBLElBQUlPLEtBQUssQ0FBQ1AsS0FBSyxDQUFDLEVBQUU7TUFDaEIsTUFBTSxJQUFJUSxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDeEM7SUFFQSxJQUFJUixLQUFLLEdBQUcsQ0FBQyxLQUFLLElBQUlBLEtBQUssR0FBRyxLQUFLLEVBQUU7TUFDbkMsTUFBTSxJQUFJUSxTQUFTLENBQUMsb0RBQW9ELENBQUM7SUFDM0U7SUFFQSxPQUFPUixLQUFLLEdBQUcsQ0FBQztFQUNsQjtBQUNGLENBQUM7QUFBQyxJQUFBUyxRQUFBLEdBQUFDLE9BQUEsQ0FBQXpCLE9BQUEsR0FFYUssUUFBUTtBQUN2QnFCLE1BQU0sQ0FBQ0QsT0FBTyxHQUFHcEIsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW50biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiVFlQRV9JTkZPIiwiQnVmZmVyIiwiZnJvbSIsIkludE4iLCJpZCIsIlNtYWxsSW50IiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIndyaXRlVHlwZUluZm8iLCJidWZmZXIiLCJ3cml0ZUJ1ZmZlciIsIndyaXRlVmFsdWUiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsIndyaXRlVUludDgiLCJ3cml0ZUludDE2TEUiLCJ2YWxpZGF0ZSIsIk51bWJlciIsImlzTmFOIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvc21hbGxpbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgSW50TiBmcm9tICcuL2ludG4nO1xuXG5jb25zdCBUWVBFX0lORk8gPSBCdWZmZXIuZnJvbShbSW50Ti5pZCwgMHgwMl0pO1xuXG5jb25zdCBTbWFsbEludDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDM0LFxuICB0eXBlOiAnSU5UMicsXG4gIG5hbWU6ICdTbWFsbEludCcsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc21hbGxpbnQnO1xuICB9LFxuXG4gIHdyaXRlVHlwZUluZm8oYnVmZmVyKSB7XG4gICAgYnVmZmVyLndyaXRlQnVmZmVyKFRZUEVfSU5GTyk7XG4gIH0sXG5cbiAgd3JpdGVWYWx1ZShidWZmZXIsIHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIG51bWJlciB8IG51bGw7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDB4MDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDB4MDIpO1xuICAgIGJ1ZmZlci53cml0ZUludDE2TEUodmFsdWUpO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbnVtYmVyLicpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IC0zMjc2OCB8fCB2YWx1ZSA+IDMyNzY3KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdWYWx1ZSBtdXN0IGJlIGJldHdlZW4gLTMyNzY4IGFuZCAzMjc2NywgaW5jbHVzaXZlLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZSB8IDA7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNtYWxsSW50O1xubW9kdWxlLmV4cG9ydHMgPSBTbWFsbEludDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTBCLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTFCLE1BQU1HLFNBQVMsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsYUFBSSxDQUFDQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFOUMsTUFBTUMsUUFBa0IsR0FBRztFQUN6QkQsRUFBRSxFQUFFLElBQUk7RUFDUkUsSUFBSSxFQUFFLE1BQU07RUFDWkMsSUFBSSxFQUFFLFVBQVU7RUFFaEJDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxVQUFVO0VBQ25CLENBQUM7RUFFREMsYUFBYUEsQ0FBQ0MsTUFBTSxFQUFFO0lBQ3BCQSxNQUFNLENBQUNDLFdBQVcsQ0FBQ1gsU0FBUyxDQUFDO0VBQy9CLENBQUM7RUFFRFksVUFBVUEsQ0FBQ0YsTUFBTSxFQUFFRyxTQUFTLEVBQUU7SUFDNUIsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQXNCO0lBQzlDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakJKLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDLElBQUksQ0FBQztNQUN2QjtJQUNGO0lBRUFMLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDLElBQUksQ0FBQztJQUN2QkwsTUFBTSxDQUFDTSxZQUFZLENBQUNGLEtBQUssQ0FBQztFQUM1QixDQUFDO0VBRURHLFFBQVEsRUFBRSxTQUFBQSxDQUFTSCxLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDN0JBLEtBQUssR0FBR0ksTUFBTSxDQUFDSixLQUFLLENBQUM7SUFDdkI7SUFFQSxJQUFJSyxLQUFLLENBQUNMLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSU0sU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsSUFBSU4sS0FBSyxHQUFHLENBQUMsS0FBSyxJQUFJQSxLQUFLLEdBQUcsS0FBSyxFQUFFO01BQ25DLE1BQU0sSUFBSU0sU0FBUyxDQUFDLG9EQUFvRCxDQUFDO0lBQzNFO0lBRUEsT0FBT04sS0FBSyxHQUFHLENBQUM7RUFDbEI7QUFDRixDQUFDO0FBQUMsSUFBQU8sUUFBQSxHQUFBQyxPQUFBLENBQUF2QixPQUFBLEdBRWFNLFFBQVE7QUFDdkJrQixNQUFNLENBQUNELE9BQU8sR0FBR2pCLFFBQVEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"smallint.js","names":["_intn","_interopRequireDefault","require","e","__esModule","default","DATA_LENGTH","Buffer","from","NULL_LENGTH","SmallInt","id","type","name","declaration","generateTypeInfo","IntN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","writeInt16LE","Number","validate","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/smallint.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport IntN from './intn';\n\nconst DATA_LENGTH = Buffer.from([0x02]);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst SmallInt: DataType = {\n id: 0x34,\n type: 'INT2',\n name: 'SmallInt',\n\n declaration: function() {\n return 'smallint';\n },\n\n generateTypeInfo() {\n return Buffer.from([IntN.id, 0x02]);\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(2);\n buffer.writeInt16LE(Number(parameter.value), 0);\n yield buffer;\n },\n\n validate: function(value): null | number {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'number') {\n value = Number(value);\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n\n if (value < -32768 || value > 32767) {\n throw new TypeError('Value must be between -32768 and 32767, inclusive.');\n }\n\n return value | 0;\n }\n};\n\nexport default SmallInt;\nmodule.exports = SmallInt;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,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,QAAkB,GAAG;EACzBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,UAAU;EAEhBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,UAAU;EACnB,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,OAAOR,MAAM,CAACC,IAAI,CAAC,CAACQ,aAAI,CAACL,EAAE,EAAE,IAAI,CAAC,CAAC;EACrC,CAAC;EAEDM,uBAAuBA,CAACC,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOX,WAAW;IACpB;IAEA,OAAOH,WAAW;EACpB,CAAC;EAED,CAAEe,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,MAAM,CAACP,SAAS,CAACE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAME,MAAM;EACd,CAAC;EAEDI,QAAQ,EAAE,SAAAA,CAASN,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGK,MAAM,CAACL,KAAK,CAAC;IACvB;IAEA,IAAIO,KAAK,CAACP,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIQ,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,IAAIR,KAAK,GAAG,CAAC,KAAK,IAAIA,KAAK,GAAG,KAAK,EAAE;MACnC,MAAM,IAAIQ,SAAS,CAAC,oDAAoD,CAAC;IAC3E;IAEA,OAAOR,KAAK,GAAG,CAAC;EAClB;AACF,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAEaK,QAAQ;AACvBqB,MAAM,CAACD,OAAO,GAAGpB,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"smallint.js","names":["_intn","_interopRequireDefault","require","e","__esModule","default","TYPE_INFO","Buffer","from","IntN","id","SmallInt","type","name","declaration","writeTypeInfo","buffer","writeBuffer","writeValue","parameter","value","writeUInt8","writeInt16LE","validate","Number","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/smallint.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport IntN from './intn';\n\nconst TYPE_INFO = Buffer.from([IntN.id, 0x02]);\n\nconst SmallInt: DataType = {\n id: 0x34,\n type: 'INT2',\n name: 'SmallInt',\n\n declaration: function() {\n return 'smallint';\n },\n\n writeTypeInfo(buffer) {\n buffer.writeBuffer(TYPE_INFO);\n },\n\n writeValue(buffer, parameter) {\n const value = parameter.value as number | null;\n if (value == null) {\n buffer.writeUInt8(0x00);\n return;\n }\n\n buffer.writeUInt8(0x02);\n buffer.writeInt16LE(value);\n },\n\n validate: function(value): null | number {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'number') {\n value = Number(value);\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n\n if (value < -32768 || value > 32767) {\n throw new TypeError('Value must be between -32768 and 32767, inclusive.');\n }\n\n return value | 0;\n }\n};\n\nexport default SmallInt;\nmodule.exports = SmallInt;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,SAAS,GAAGC,MAAM,CAACC,IAAI,CAAC,CAACC,aAAI,CAACC,EAAE,EAAE,IAAI,CAAC,CAAC;AAE9C,MAAMC,QAAkB,GAAG;EACzBD,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,UAAU;EAEhBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,UAAU;EACnB,CAAC;EAEDC,aAAaA,CAACC,MAAM,EAAE;IACpBA,MAAM,CAACC,WAAW,CAACX,SAAS,CAAC;EAC/B,CAAC;EAEDY,UAAUA,CAACF,MAAM,EAAEG,SAAS,EAAE;IAC5B,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAC9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjBJ,MAAM,CAACK,UAAU,CAAC,IAAI,CAAC;MACvB;IACF;IAEAL,MAAM,CAACK,UAAU,CAAC,IAAI,CAAC;IACvBL,MAAM,CAACM,YAAY,CAACF,KAAK,CAAC;EAC5B,CAAC;EAEDG,QAAQ,EAAE,SAAAA,CAASH,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGI,MAAM,CAACJ,KAAK,CAAC;IACvB;IAEA,IAAIK,KAAK,CAACL,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIM,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,IAAIN,KAAK,GAAG,CAAC,KAAK,IAAIA,KAAK,GAAG,KAAK,EAAE;MACnC,MAAM,IAAIM,SAAS,CAAC,oDAAoD,CAAC;IAC3E;IAEA,OAAON,KAAK,GAAG,CAAC;EAClB;AACF,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAvB,OAAA,GAEaM,QAAQ;AACvBkB,MAAM,CAACD,OAAO,GAAGjB,QAAQ","ignoreList":[]}
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _moneyn = _interopRequireDefault(require("./moneyn"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const DATA_LENGTH = Buffer.from([0x04]);
10
- const NULL_LENGTH = Buffer.from([0x00]);
9
+ const TYPE_INFO = Buffer.from([_moneyn.default.id, 0x04]);
11
10
  const SmallMoney = {
12
11
  id: 0x7A,
13
12
  type: 'MONEY4',
@@ -15,22 +14,17 @@ const SmallMoney = {
15
14
  declaration: function () {
16
15
  return 'smallmoney';
17
16
  },
18
- generateTypeInfo: function () {
19
- return Buffer.from([_moneyn.default.id, 0x04]);
17
+ writeTypeInfo(buffer) {
18
+ buffer.writeBuffer(TYPE_INFO);
20
19
  },
21
- generateParameterLength(parameter, options) {
22
- if (parameter.value == null) {
23
- return NULL_LENGTH;
24
- }
25
- return DATA_LENGTH;
26
- },
27
- *generateParameterData(parameter, options) {
28
- if (parameter.value == null) {
20
+ writeValue(buffer, parameter) {
21
+ const value = parameter.value;
22
+ if (value == null) {
23
+ buffer.writeUInt8(0x00);
29
24
  return;
30
25
  }
31
- const buffer = Buffer.alloc(4);
32
- buffer.writeInt32LE(parameter.value * 10000, 0);
33
- yield buffer;
26
+ buffer.writeUInt8(0x04);
27
+ buffer.writeInt32LE(value * 10000);
34
28
  },
35
29
  validate: function (value) {
36
30
  if (value == null) {
@@ -48,4 +42,4 @@ const SmallMoney = {
48
42
  };
49
43
  var _default = exports.default = SmallMoney;
50
44
  module.exports = SmallMoney;
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9uZXluIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJEQVRBX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVUxMX0xFTkdUSCIsIlNtYWxsTW9uZXkiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJnZW5lcmF0ZVR5cGVJbmZvIiwiTW9uZXlOIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJwYXJhbWV0ZXIiLCJvcHRpb25zIiwidmFsdWUiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJidWZmZXIiLCJhbGxvYyIsIndyaXRlSW50MzJMRSIsInZhbGlkYXRlIiwicGFyc2VGbG9hdCIsImlzTmFOIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvc21hbGxtb25leS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBNb25leU4gZnJvbSAnLi9tb25leW4nO1xuXG5jb25zdCBEQVRBX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDA0XSk7XG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IFNtYWxsTW9uZXk6IERhdGFUeXBlID0ge1xuICBpZDogMHg3QSxcbiAgdHlwZTogJ01PTkVZNCcsXG4gIG5hbWU6ICdTbWFsbE1vbmV5JyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdzbWFsbG1vbmV5JztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW01vbmV5Ti5pZCwgMHgwNF0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIHJldHVybiBEQVRBX0xFTkdUSDtcbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIudmFsdWUgKiAxMDAwMCwgMCk7XG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG51bWJlci4nKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlIDwgLTIxNDc0OC4zNjQ4IHx8IHZhbHVlID4gMjE0NzQ4LjM2NDcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1ZhbHVlIG11c3QgYmUgYmV0d2VlbiAtMjE0NzQ4LjM2NDggYW5kIDIxNDc0OC4zNjQ3LicpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNtYWxsTW9uZXk7XG5tb2R1bGUuZXhwb3J0cyA9IFNtYWxsTW9uZXk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUE4QixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUU5QixNQUFNRyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkMsTUFBTUMsV0FBVyxHQUFHRixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZDLE1BQU1FLFVBQW9CLEdBQUc7RUFDM0JDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxRQUFRO0VBQ2RDLElBQUksRUFBRSxZQUFZO0VBRWxCQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sWUFBWTtFQUNyQixDQUFDO0VBRURDLGdCQUFnQixFQUFFLFNBQUFBLENBQUEsRUFBVztJQUMzQixPQUFPUixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDUSxlQUFNLENBQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztFQUN2QyxDQUFDO0VBRURNLHVCQUF1QkEsQ0FBQ0MsU0FBUyxFQUFFQyxPQUFPLEVBQUU7SUFDMUMsSUFBSUQsU0FBUyxDQUFDRSxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCLE9BQU9YLFdBQVc7SUFDcEI7SUFFQSxPQUFPSCxXQUFXO0VBQ3BCLENBQUM7RUFFRCxDQUFFZSxxQkFBcUJBLENBQUNILFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQjtJQUNGO0lBRUEsTUFBTUUsTUFBTSxHQUFHZixNQUFNLENBQUNnQixLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlCRCxNQUFNLENBQUNFLFlBQVksQ0FBQ04sU0FBUyxDQUFDRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvQyxNQUFNRSxNQUFNO0VBQ2QsQ0FBQztFQUVERyxRQUFRLEVBQUUsU0FBQUEsQ0FBU0wsS0FBSyxFQUFpQjtJQUN2QyxJQUFJQSxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2pCLE9BQU8sSUFBSTtJQUNiO0lBQ0FBLEtBQUssR0FBR00sVUFBVSxDQUFDTixLQUFLLENBQUM7SUFDekIsSUFBSU8sS0FBSyxDQUFDUCxLQUFLLENBQUMsRUFBRTtNQUNoQixNQUFNLElBQUlRLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QztJQUNBLElBQUlSLEtBQUssR0FBRyxDQUFDLFdBQVcsSUFBSUEsS0FBSyxHQUFHLFdBQVcsRUFBRTtNQUMvQyxNQUFNLElBQUlRLFNBQVMsQ0FBQyxxREFBcUQsQ0FBQztJQUM1RTtJQUNBLE9BQU9SLEtBQUs7RUFDZDtBQUNGLENBQUM7QUFBQyxJQUFBUyxRQUFBLEdBQUFDLE9BQUEsQ0FBQXpCLE9BQUEsR0FFYUssVUFBVTtBQUN6QnFCLE1BQU0sQ0FBQ0QsT0FBTyxHQUFHcEIsVUFBVSIsImlnbm9yZUxpc3QiOltdfQ==
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9uZXluIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJUWVBFX0lORk8iLCJCdWZmZXIiLCJmcm9tIiwiTW9uZXlOIiwiaWQiLCJTbWFsbE1vbmV5IiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIndyaXRlVHlwZUluZm8iLCJidWZmZXIiLCJ3cml0ZUJ1ZmZlciIsIndyaXRlVmFsdWUiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsIndyaXRlVUludDgiLCJ3cml0ZUludDMyTEUiLCJ2YWxpZGF0ZSIsInBhcnNlRmxvYXQiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3NtYWxsbW9uZXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgTW9uZXlOIGZyb20gJy4vbW9uZXluJztcblxuY29uc3QgVFlQRV9JTkZPID0gQnVmZmVyLmZyb20oW01vbmV5Ti5pZCwgMHgwNF0pO1xuXG5jb25zdCBTbWFsbE1vbmV5OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4N0EsXG4gIHR5cGU6ICdNT05FWTQnLFxuICBuYW1lOiAnU21hbGxNb25leScsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc21hbGxtb25leSc7XG4gIH0sXG5cbiAgd3JpdGVUeXBlSW5mbyhidWZmZXIpIHtcbiAgICBidWZmZXIud3JpdGVCdWZmZXIoVFlQRV9JTkZPKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgbnVtYmVyIHwgbnVsbDtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgYnVmZmVyLndyaXRlVUludDgoMHgwMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYnVmZmVyLndyaXRlVUludDgoMHgwNCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRSh2YWx1ZSAqIDEwMDAwKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBudW1iZXIuJyk7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA8IC0yMTQ3NDguMzY0OCB8fCB2YWx1ZSA+IDIxNDc0OC4zNjQ3KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdWYWx1ZSBtdXN0IGJlIGJldHdlZW4gLTIxNDc0OC4zNjQ4IGFuZCAyMTQ3NDguMzY0Ny4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTbWFsbE1vbmV5O1xubW9kdWxlLmV4cG9ydHMgPSBTbWFsbE1vbmV5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOEIsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFOUIsTUFBTUcsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQyxlQUFNLENBQUNDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVoRCxNQUFNQyxVQUFvQixHQUFHO0VBQzNCRCxFQUFFLEVBQUUsSUFBSTtFQUNSRSxJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUUsWUFBWTtFQUVsQkMsV0FBVyxFQUFFLFNBQUFBLENBQUEsRUFBVztJQUN0QixPQUFPLFlBQVk7RUFDckIsQ0FBQztFQUVEQyxhQUFhQSxDQUFDQyxNQUFNLEVBQUU7SUFDcEJBLE1BQU0sQ0FBQ0MsV0FBVyxDQUFDWCxTQUFTLENBQUM7RUFDL0IsQ0FBQztFQUVEWSxVQUFVQSxDQUFDRixNQUFNLEVBQUVHLFNBQVMsRUFBRTtJQUM1QixNQUFNQyxLQUFLLEdBQUdELFNBQVMsQ0FBQ0MsS0FBc0I7SUFDOUMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQkosTUFBTSxDQUFDSyxVQUFVLENBQUMsSUFBSSxDQUFDO01BQ3ZCO0lBQ0Y7SUFFQUwsTUFBTSxDQUFDSyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ3ZCTCxNQUFNLENBQUNNLFlBQVksQ0FBQ0YsS0FBSyxHQUFHLEtBQUssQ0FBQztFQUNwQyxDQUFDO0VBRURHLFFBQVEsRUFBRSxTQUFBQSxDQUFTSCxLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFDQUEsS0FBSyxHQUFHSSxVQUFVLENBQUNKLEtBQUssQ0FBQztJQUN6QixJQUFJSyxLQUFLLENBQUNMLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSU0sU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBQ0EsSUFBSU4sS0FBSyxHQUFHLENBQUMsV0FBVyxJQUFJQSxLQUFLLEdBQUcsV0FBVyxFQUFFO01BQy9DLE1BQU0sSUFBSU0sU0FBUyxDQUFDLHFEQUFxRCxDQUFDO0lBQzVFO0lBQ0EsT0FBT04sS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUFDLElBQUFPLFFBQUEsR0FBQUMsT0FBQSxDQUFBdkIsT0FBQSxHQUVhTSxVQUFVO0FBQ3pCa0IsTUFBTSxDQUFDRCxPQUFPLEdBQUdqQixVQUFVIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"smallmoney.js","names":["_moneyn","_interopRequireDefault","require","e","__esModule","default","DATA_LENGTH","Buffer","from","NULL_LENGTH","SmallMoney","id","type","name","declaration","generateTypeInfo","MoneyN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","writeInt32LE","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/smallmoney.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport MoneyN from './moneyn';\n\nconst DATA_LENGTH = Buffer.from([0x04]);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst SmallMoney: DataType = {\n id: 0x7A,\n type: 'MONEY4',\n name: 'SmallMoney',\n\n declaration: function() {\n return 'smallmoney';\n },\n\n generateTypeInfo: function() {\n return Buffer.from([MoneyN.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.writeInt32LE(parameter.value * 10000, 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 if (value < -214748.3648 || value > 214748.3647) {\n throw new TypeError('Value must be between -214748.3648 and 214748.3647.');\n }\n return value;\n }\n};\n\nexport default SmallMoney;\nmodule.exports = SmallMoney;\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;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,UAAoB,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE,YAAY;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,YAAY;EACrB,CAAC;EAEDC,gBAAgB,EAAE,SAAAA,CAAA,EAAW;IAC3B,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,OAAOX,WAAW;IACpB;IAEA,OAAOH,WAAW;EACpB,CAAC;EAED,CAAEe,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,CAACN,SAAS,CAACE,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;IAC/C,MAAME,MAAM;EACd,CAAC;EAEDG,QAAQ,EAAE,SAAAA,CAASL,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGM,UAAU,CAACN,KAAK,CAAC;IACzB,IAAIO,KAAK,CAACP,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIQ,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA,IAAIR,KAAK,GAAG,CAAC,WAAW,IAAIA,KAAK,GAAG,WAAW,EAAE;MAC/C,MAAM,IAAIQ,SAAS,CAAC,qDAAqD,CAAC;IAC5E;IACA,OAAOR,KAAK;EACd;AACF,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAEaK,UAAU;AACzBqB,MAAM,CAACD,OAAO,GAAGpB,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"smallmoney.js","names":["_moneyn","_interopRequireDefault","require","e","__esModule","default","TYPE_INFO","Buffer","from","MoneyN","id","SmallMoney","type","name","declaration","writeTypeInfo","buffer","writeBuffer","writeValue","parameter","value","writeUInt8","writeInt32LE","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/smallmoney.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport MoneyN from './moneyn';\n\nconst TYPE_INFO = Buffer.from([MoneyN.id, 0x04]);\n\nconst SmallMoney: DataType = {\n id: 0x7A,\n type: 'MONEY4',\n name: 'SmallMoney',\n\n declaration: function() {\n return 'smallmoney';\n },\n\n writeTypeInfo(buffer) {\n buffer.writeBuffer(TYPE_INFO);\n },\n\n writeValue(buffer, parameter) {\n const value = parameter.value as number | null;\n if (value == null) {\n buffer.writeUInt8(0x00);\n return;\n }\n\n buffer.writeUInt8(0x04);\n buffer.writeInt32LE(value * 10000);\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 if (value < -214748.3648 || value > 214748.3647) {\n throw new TypeError('Value must be between -214748.3648 and 214748.3647.');\n }\n return value;\n }\n};\n\nexport default SmallMoney;\nmodule.exports = SmallMoney;\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,MAAMG,SAAS,GAAGC,MAAM,CAACC,IAAI,CAAC,CAACC,eAAM,CAACC,EAAE,EAAE,IAAI,CAAC,CAAC;AAEhD,MAAMC,UAAoB,GAAG;EAC3BD,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE,YAAY;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,YAAY;EACrB,CAAC;EAEDC,aAAaA,CAACC,MAAM,EAAE;IACpBA,MAAM,CAACC,WAAW,CAACX,SAAS,CAAC;EAC/B,CAAC;EAEDY,UAAUA,CAACF,MAAM,EAAEG,SAAS,EAAE;IAC5B,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAC9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjBJ,MAAM,CAACK,UAAU,CAAC,IAAI,CAAC;MACvB;IACF;IAEAL,MAAM,CAACK,UAAU,CAAC,IAAI,CAAC;IACvBL,MAAM,CAACM,YAAY,CAACF,KAAK,GAAG,KAAK,CAAC;EACpC,CAAC;EAEDG,QAAQ,EAAE,SAAAA,CAASH,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGI,UAAU,CAACJ,KAAK,CAAC;IACzB,IAAIK,KAAK,CAACL,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIM,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA,IAAIN,KAAK,GAAG,CAAC,WAAW,IAAIA,KAAK,GAAG,WAAW,EAAE;MAC/C,MAAM,IAAIM,SAAS,CAAC,qDAAqD,CAAC;IAC5E;IACA,OAAON,KAAK;EACd;AACF,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAvB,OAAA,GAEaM,UAAU;AACzBkB,MAAM,CAACD,OAAO,GAAGjB,UAAU","ignoreList":[]}
@@ -11,13 +11,10 @@ const Variant = {
11
11
  declaration: function () {
12
12
  return 'sql_variant';
13
13
  },
14
- generateTypeInfo() {
14
+ writeTypeInfo() {
15
15
  throw new Error('not implemented');
16
16
  },
17
- generateParameterLength() {
18
- throw new Error('not implemented');
19
- },
20
- generateParameterData() {
17
+ writeValue() {
21
18
  throw new Error('not implemented');
22
19
  },
23
20
  validate() {
@@ -26,4 +23,4 @@ const Variant = {
26
23
  };
27
24
  var _default = exports.default = Variant;
28
25
  module.exports = Variant;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYXJpYW50IiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiZ2VuZXJhdGVUeXBlSW5mbyIsIkVycm9yIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ2YWxpZGF0ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9zcWwtdmFyaWFudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgVmFyaWFudDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDYyLFxuICB0eXBlOiAnU1NWQVJJQU5UVFlQRScsXG4gIG5hbWU6ICdWYXJpYW50JyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdzcWxfdmFyaWFudCc7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVmFyaWFudDtcbm1vZHVsZS5leHBvcnRzID0gVmFyaWFudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsT0FBaUIsR0FBRztFQUN4QkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLGVBQWU7RUFDckJDLElBQUksRUFBRSxTQUFTO0VBRWZDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxhQUFhO0VBQ3RCLENBQUM7RUFFREMsZ0JBQWdCQSxDQUFBLEVBQUc7SUFDakIsTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyx1QkFBdUJBLENBQUEsRUFBRztJQUN4QixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHFCQUFxQkEsQ0FBQSxFQUFHO0lBQ3RCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcsUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEM7QUFDRixDQUFDO0FBQUMsSUFBQUksUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYVosT0FBTztBQUN0QmEsTUFBTSxDQUFDRixPQUFPLEdBQUdYLE9BQU8iLCJpZ25vcmVMaXN0IjpbXX0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYXJpYW50IiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwid3JpdGVUeXBlSW5mbyIsIkVycm9yIiwid3JpdGVWYWx1ZSIsInZhbGlkYXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3NxbC12YXJpYW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBWYXJpYW50OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NjIsXG4gIHR5cGU6ICdTU1ZBUklBTlRUWVBFJyxcbiAgbmFtZTogJ1ZhcmlhbnQnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ3NxbF92YXJpYW50JztcbiAgfSxcblxuICB3cml0ZVR5cGVJbmZvKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgd3JpdGVWYWx1ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFZhcmlhbnQ7XG5tb2R1bGUuZXhwb3J0cyA9IFZhcmlhbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLE9BQWlCLEdBQUc7RUFDeEJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxlQUFlO0VBQ3JCQyxJQUFJLEVBQUUsU0FBUztFQUVmQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sYUFBYTtFQUN0QixDQUFDO0VBRURDLGFBQWFBLENBQUEsRUFBRztJQUNkLE1BQU0sSUFBSUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREMsVUFBVUEsQ0FBQSxFQUFHO0lBQ1gsTUFBTSxJQUFJRCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBRyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhWCxPQUFPO0FBQ3RCWSxNQUFNLENBQUNGLE9BQU8sR0FBR1YsT0FBTyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"sql-variant.js","names":["Variant","id","type","name","declaration","generateTypeInfo","Error","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/sql-variant.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst Variant: DataType = {\n id: 0x62,\n type: 'SSVARIANTTYPE',\n name: 'Variant',\n\n declaration: function() {\n return 'sql_variant';\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 Variant;\nmodule.exports = Variant;\n"],"mappings":";;;;;;AAEA,MAAMA,OAAiB,GAAG;EACxBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,SAAS;EAEfC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,aAAa;EACtB,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,OAAO;AACtBa,MAAM,CAACF,OAAO,GAAGX,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"sql-variant.js","names":["Variant","id","type","name","declaration","writeTypeInfo","Error","writeValue","validate","_default","exports","default","module"],"sources":["../../src/data-types/sql-variant.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst Variant: DataType = {\n id: 0x62,\n type: 'SSVARIANTTYPE',\n name: 'Variant',\n\n declaration: function() {\n return 'sql_variant';\n },\n\n writeTypeInfo() {\n throw new Error('not implemented');\n },\n\n writeValue() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default Variant;\nmodule.exports = Variant;\n"],"mappings":";;;;;;AAEA,MAAMA,OAAiB,GAAG;EACxBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,SAAS;EAEfC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,aAAa;EACtB,CAAC;EAEDC,aAAaA,CAAA,EAAG;IACd,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,UAAUA,CAAA,EAAG;IACX,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaX,OAAO;AACtBY,MAAM,CAACF,OAAO,GAAGV,OAAO","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import type WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';
2
+ /**
3
+ * A `Date` that may carry the sub-millisecond part of a `time`, `datetime2`
4
+ * or `datetimeoffset` value, as the value parser produces it.
5
+ */
6
+ export interface TemporalValue extends Date {
7
+ nanosecondDelta?: number;
8
+ }
9
+ /**
10
+ * The number of days from 0001-01-01 to the calendar date of `value`.
11
+ */
12
+ export declare function daysSinceYearOne(value: Date, useUTC: boolean): number;
13
+ /**
14
+ * The length in bytes of a `time` value at `scale`, as it prefixes the
15
+ * value and pads out the lengths of `datetime2` and `datetimeoffset`.
16
+ */
17
+ export declare function timeLength(scale: number | undefined): number;
18
+ /**
19
+ * Writes the time of day of `value` as the number of 10^-scale second
20
+ * intervals since midnight, in `timeLength(scale)` bytes.
21
+ */
22
+ export declare function writeTimeOfDay(buffer: WritableTrackingBuffer, value: TemporalValue, scale: number, useUTC: boolean): void;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.daysSinceYearOne = daysSinceYearOne;
7
+ exports.timeLength = timeLength;
8
+ exports.writeTimeOfDay = writeTimeOfDay;
9
+ var _core = require("@js-joda/core");
10
+ const YEAR_ONE = _core.LocalDate.ofYearDay(1, 1);
11
+
12
+ /**
13
+ * A `Date` that may carry the sub-millisecond part of a `time`, `datetime2`
14
+ * or `datetimeoffset` value, as the value parser produces it.
15
+ */
16
+
17
+ /**
18
+ * The number of days from 0001-01-01 to the calendar date of `value`.
19
+ */
20
+ function daysSinceYearOne(value, useUTC) {
21
+ const date = useUTC ? _core.LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate()) : _core.LocalDate.of(value.getFullYear(), value.getMonth() + 1, value.getDate());
22
+ return YEAR_ONE.until(date, _core.ChronoUnit.DAYS);
23
+ }
24
+
25
+ /**
26
+ * The length in bytes of a `time` value at `scale`, as it prefixes the
27
+ * value and pads out the lengths of `datetime2` and `datetimeoffset`.
28
+ */
29
+ function timeLength(scale) {
30
+ switch (scale) {
31
+ case 0:
32
+ case 1:
33
+ case 2:
34
+ return 3;
35
+ case 3:
36
+ case 4:
37
+ return 4;
38
+ case 5:
39
+ case 6:
40
+ case 7:
41
+ return 5;
42
+ default:
43
+ throw new Error('invalid scale');
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Writes the time of day of `value` as the number of 10^-scale second
49
+ * intervals since midnight, in `timeLength(scale)` bytes.
50
+ */
51
+ function writeTimeOfDay(buffer, value, scale, useUTC) {
52
+ let timestamp = useUTC ? ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getUTCMilliseconds() : ((value.getHours() * 60 + value.getMinutes()) * 60 + value.getSeconds()) * 1000 + value.getMilliseconds();
53
+ timestamp = timestamp * Math.pow(10, scale - 3);
54
+ timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);
55
+ timestamp = Math.round(timestamp);
56
+ switch (scale) {
57
+ case 0:
58
+ case 1:
59
+ case 2:
60
+ buffer.writeUInt24LE(timestamp);
61
+ break;
62
+ case 3:
63
+ case 4:
64
+ buffer.writeUInt32LE(timestamp);
65
+ break;
66
+ case 5:
67
+ case 6:
68
+ case 7:
69
+ buffer.writeUInt40LE(timestamp);
70
+ }
71
+ }
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJZRUFSX09ORSIsIkxvY2FsRGF0ZSIsIm9mWWVhckRheSIsImRheXNTaW5jZVllYXJPbmUiLCJ2YWx1ZSIsInVzZVVUQyIsImRhdGUiLCJvZiIsImdldFVUQ0Z1bGxZZWFyIiwiZ2V0VVRDTW9udGgiLCJnZXRVVENEYXRlIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJ1bnRpbCIsIkNocm9ub1VuaXQiLCJEQVlTIiwidGltZUxlbmd0aCIsInNjYWxlIiwiRXJyb3IiLCJ3cml0ZVRpbWVPZkRheSIsImJ1ZmZlciIsInRpbWVzdGFtcCIsImdldFVUQ0hvdXJzIiwiZ2V0VVRDTWludXRlcyIsImdldFVUQ1NlY29uZHMiLCJnZXRVVENNaWxsaXNlY29uZHMiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwiTWF0aCIsInBvdyIsIm5hbm9zZWNvbmREZWx0YSIsInJvdW5kIiwid3JpdGVVSW50MjRMRSIsIndyaXRlVUludDMyTEUiLCJ3cml0ZVVJbnQ0MExFIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvdGVtcG9yYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hyb25vVW5pdCwgTG9jYWxEYXRlIH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQgdHlwZSBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4uL3RyYWNraW5nLWJ1ZmZlci93cml0YWJsZS10cmFja2luZy1idWZmZXInO1xuXG5jb25zdCBZRUFSX09ORSA9IExvY2FsRGF0ZS5vZlllYXJEYXkoMSwgMSk7XG5cbi8qKlxuICogQSBgRGF0ZWAgdGhhdCBtYXkgY2FycnkgdGhlIHN1Yi1taWxsaXNlY29uZCBwYXJ0IG9mIGEgYHRpbWVgLCBgZGF0ZXRpbWUyYFxuICogb3IgYGRhdGV0aW1lb2Zmc2V0YCB2YWx1ZSwgYXMgdGhlIHZhbHVlIHBhcnNlciBwcm9kdWNlcyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wb3JhbFZhbHVlIGV4dGVuZHMgRGF0ZSB7XG4gIG5hbm9zZWNvbmREZWx0YT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUaGUgbnVtYmVyIG9mIGRheXMgZnJvbSAwMDAxLTAxLTAxIHRvIHRoZSBjYWxlbmRhciBkYXRlIG9mIGB2YWx1ZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXlzU2luY2VZZWFyT25lKHZhbHVlOiBEYXRlLCB1c2VVVEM6IGJvb2xlYW4pOiBudW1iZXIge1xuICBjb25zdCBkYXRlID0gdXNlVVRDID9cbiAgICBMb2NhbERhdGUub2YodmFsdWUuZ2V0VVRDRnVsbFllYXIoKSwgdmFsdWUuZ2V0VVRDTW9udGgoKSArIDEsIHZhbHVlLmdldFVUQ0RhdGUoKSkgOlxuICAgIExvY2FsRGF0ZS5vZih2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpICsgMSwgdmFsdWUuZ2V0RGF0ZSgpKTtcblxuICByZXR1cm4gWUVBUl9PTkUudW50aWwoZGF0ZSwgQ2hyb25vVW5pdC5EQVlTKTtcbn1cblxuLyoqXG4gKiBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIGEgYHRpbWVgIHZhbHVlIGF0IGBzY2FsZWAsIGFzIGl0IHByZWZpeGVzIHRoZVxuICogdmFsdWUgYW5kIHBhZHMgb3V0IHRoZSBsZW5ndGhzIG9mIGBkYXRldGltZTJgIGFuZCBgZGF0ZXRpbWVvZmZzZXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZUxlbmd0aChzY2FsZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcbiAgc3dpdGNoIChzY2FsZSkge1xuICAgIGNhc2UgMDpcbiAgICBjYXNlIDE6XG4gICAgY2FzZSAyOlxuICAgICAgcmV0dXJuIDM7XG4gICAgY2FzZSAzOlxuICAgIGNhc2UgNDpcbiAgICAgIHJldHVybiA0O1xuICAgIGNhc2UgNTpcbiAgICBjYXNlIDY6XG4gICAgY2FzZSA3OlxuICAgICAgcmV0dXJuIDU7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzY2FsZScpO1xuICB9XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSB0aW1lIG9mIGRheSBvZiBgdmFsdWVgIGFzIHRoZSBudW1iZXIgb2YgMTBeLXNjYWxlIHNlY29uZFxuICogaW50ZXJ2YWxzIHNpbmNlIG1pZG5pZ2h0LCBpbiBgdGltZUxlbmd0aChzY2FsZSlgIGJ5dGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVUaW1lT2ZEYXkoYnVmZmVyOiBXcml0YWJsZVRyYWNraW5nQnVmZmVyLCB2YWx1ZTogVGVtcG9yYWxWYWx1ZSwgc2NhbGU6IG51bWJlciwgdXNlVVRDOiBib29sZWFuKTogdm9pZCB7XG4gIGxldCB0aW1lc3RhbXAgPSB1c2VVVEMgP1xuICAgICgodmFsdWUuZ2V0VVRDSG91cnMoKSAqIDYwICsgdmFsdWUuZ2V0VVRDTWludXRlcygpKSAqIDYwICsgdmFsdWUuZ2V0VVRDU2Vjb25kcygpKSAqIDEwMDAgKyB2YWx1ZS5nZXRVVENNaWxsaXNlY29uZHMoKSA6XG4gICAgKCh2YWx1ZS5nZXRIb3VycygpICogNjAgKyB2YWx1ZS5nZXRNaW51dGVzKCkpICogNjAgKyB2YWx1ZS5nZXRTZWNvbmRzKCkpICogMTAwMCArIHZhbHVlLmdldE1pbGxpc2Vjb25kcygpO1xuXG4gIHRpbWVzdGFtcCA9IHRpbWVzdGFtcCAqIE1hdGgucG93KDEwLCBzY2FsZSAtIDMpO1xuICB0aW1lc3RhbXAgKz0gKHZhbHVlLm5hbm9zZWNvbmREZWx0YSAhPSBudWxsID8gdmFsdWUubmFub3NlY29uZERlbHRhIDogMCkgKiBNYXRoLnBvdygxMCwgc2NhbGUpO1xuICB0aW1lc3RhbXAgPSBNYXRoLnJvdW5kKHRpbWVzdGFtcCk7XG5cbiAgc3dpdGNoIChzY2FsZSkge1xuICAgIGNhc2UgMDpcbiAgICBjYXNlIDE6XG4gICAgY2FzZSAyOlxuICAgICAgYnVmZmVyLndyaXRlVUludDI0TEUodGltZXN0YW1wKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMzpcbiAgICBjYXNlIDQ6XG4gICAgICBidWZmZXIud3JpdGVVSW50MzJMRSh0aW1lc3RhbXApO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA1OlxuICAgIGNhc2UgNjpcbiAgICBjYXNlIDc6XG4gICAgICBidWZmZXIud3JpdGVVSW50NDBMRSh0aW1lc3RhbXApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBR0EsTUFBTUMsUUFBUSxHQUFHQyxlQUFTLENBQUNDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxnQkFBZ0JBLENBQUNDLEtBQVcsRUFBRUMsTUFBZSxFQUFVO0VBQ3JFLE1BQU1DLElBQUksR0FBR0QsTUFBTSxHQUNqQkosZUFBUyxDQUFDTSxFQUFFLENBQUNILEtBQUssQ0FBQ0ksY0FBYyxDQUFDLENBQUMsRUFBRUosS0FBSyxDQUFDSyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRUwsS0FBSyxDQUFDTSxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQ2pGVCxlQUFTLENBQUNNLEVBQUUsQ0FBQ0gsS0FBSyxDQUFDTyxXQUFXLENBQUMsQ0FBQyxFQUFFUCxLQUFLLENBQUNRLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUixLQUFLLENBQUNTLE9BQU8sQ0FBQyxDQUFDLENBQUM7RUFFMUUsT0FBT2IsUUFBUSxDQUFDYyxLQUFLLENBQUNSLElBQUksRUFBRVMsZ0JBQVUsQ0FBQ0MsSUFBSSxDQUFDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0MsVUFBVUEsQ0FBQ0MsS0FBeUIsRUFBVTtFQUM1RCxRQUFRQSxLQUFLO0lBQ1gsS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO01BQ0osT0FBTyxDQUFDO0lBQ1YsS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO01BQ0osT0FBTyxDQUFDO0lBQ1YsS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO01BQ0osT0FBTyxDQUFDO0lBQ1Y7TUFDRSxNQUFNLElBQUlDLEtBQUssQ0FBQyxlQUFlLENBQUM7RUFDcEM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLGNBQWNBLENBQUNDLE1BQThCLEVBQUVqQixLQUFvQixFQUFFYyxLQUFhLEVBQUViLE1BQWUsRUFBUTtFQUN6SCxJQUFJaUIsU0FBUyxHQUFHakIsTUFBTSxHQUNwQixDQUFDLENBQUNELEtBQUssQ0FBQ21CLFdBQVcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHbkIsS0FBSyxDQUFDb0IsYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdwQixLQUFLLENBQUNxQixhQUFhLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBR3JCLEtBQUssQ0FBQ3NCLGtCQUFrQixDQUFDLENBQUMsR0FDckgsQ0FBQyxDQUFDdEIsS0FBSyxDQUFDdUIsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUd2QixLQUFLLENBQUN3QixVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR3hCLEtBQUssQ0FBQ3lCLFVBQVUsQ0FBQyxDQUFDLElBQUksSUFBSSxHQUFHekIsS0FBSyxDQUFDMEIsZUFBZSxDQUFDLENBQUM7RUFFM0dSLFNBQVMsR0FBR0EsU0FBUyxHQUFHUyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxFQUFFLEVBQUVkLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDL0NJLFNBQVMsSUFBSSxDQUFDbEIsS0FBSyxDQUFDNkIsZUFBZSxJQUFJLElBQUksR0FBRzdCLEtBQUssQ0FBQzZCLGVBQWUsR0FBRyxDQUFDLElBQUlGLElBQUksQ0FBQ0MsR0FBRyxDQUFDLEVBQUUsRUFBRWQsS0FBSyxDQUFDO0VBQzlGSSxTQUFTLEdBQUdTLElBQUksQ0FBQ0csS0FBSyxDQUFDWixTQUFTLENBQUM7RUFFakMsUUFBUUosS0FBSztJQUNYLEtBQUssQ0FBQztJQUNOLEtBQUssQ0FBQztJQUNOLEtBQUssQ0FBQztNQUNKRyxNQUFNLENBQUNjLGFBQWEsQ0FBQ2IsU0FBUyxDQUFDO01BQy9CO0lBQ0YsS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO01BQ0pELE1BQU0sQ0FBQ2UsYUFBYSxDQUFDZCxTQUFTLENBQUM7TUFDL0I7SUFDRixLQUFLLENBQUM7SUFDTixLQUFLLENBQUM7SUFDTixLQUFLLENBQUM7TUFDSkQsTUFBTSxDQUFDZ0IsYUFBYSxDQUFDZixTQUFTLENBQUM7RUFDbkM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal.js","names":["_core","require","YEAR_ONE","LocalDate","ofYearDay","daysSinceYearOne","value","useUTC","date","of","getUTCFullYear","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","until","ChronoUnit","DAYS","timeLength","scale","Error","writeTimeOfDay","buffer","timestamp","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getHours","getMinutes","getSeconds","getMilliseconds","Math","pow","nanosecondDelta","round","writeUInt24LE","writeUInt32LE","writeUInt40LE"],"sources":["../../src/data-types/temporal.ts"],"sourcesContent":["import { ChronoUnit, LocalDate } from '@js-joda/core';\nimport type WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst YEAR_ONE = LocalDate.ofYearDay(1, 1);\n\n/**\n * A `Date` that may carry the sub-millisecond part of a `time`, `datetime2`\n * or `datetimeoffset` value, as the value parser produces it.\n */\nexport interface TemporalValue extends Date {\n nanosecondDelta?: number;\n}\n\n/**\n * The number of days from 0001-01-01 to the calendar date of `value`.\n */\nexport function daysSinceYearOne(value: Date, useUTC: boolean): number {\n const date = useUTC ?\n LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate()) :\n LocalDate.of(value.getFullYear(), value.getMonth() + 1, value.getDate());\n\n return YEAR_ONE.until(date, ChronoUnit.DAYS);\n}\n\n/**\n * The length in bytes of a `time` value at `scale`, as it prefixes the\n * value and pads out the lengths of `datetime2` and `datetimeoffset`.\n */\nexport function timeLength(scale: number | undefined): number {\n switch (scale) {\n case 0:\n case 1:\n case 2:\n return 3;\n case 3:\n case 4:\n return 4;\n case 5:\n case 6:\n case 7:\n return 5;\n default:\n throw new Error('invalid scale');\n }\n}\n\n/**\n * Writes the time of day of `value` as the number of 10^-scale second\n * intervals since midnight, in `timeLength(scale)` bytes.\n */\nexport function writeTimeOfDay(buffer: WritableTrackingBuffer, value: TemporalValue, scale: number, useUTC: boolean): void {\n let timestamp = useUTC ?\n ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getUTCMilliseconds() :\n ((value.getHours() * 60 + value.getMinutes()) * 60 + value.getSeconds()) * 1000 + value.getMilliseconds();\n\n timestamp = timestamp * Math.pow(10, scale - 3);\n timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);\n timestamp = Math.round(timestamp);\n\n switch (scale) {\n case 0:\n case 1:\n case 2:\n buffer.writeUInt24LE(timestamp);\n break;\n case 3:\n case 4:\n buffer.writeUInt32LE(timestamp);\n break;\n case 5:\n case 6:\n case 7:\n buffer.writeUInt40LE(timestamp);\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,MAAMC,QAAQ,GAAGC,eAAS,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;;AAKA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,KAAW,EAAEC,MAAe,EAAU;EACrE,MAAMC,IAAI,GAAGD,MAAM,GACjBJ,eAAS,CAACM,EAAE,CAACH,KAAK,CAACI,cAAc,CAAC,CAAC,EAAEJ,KAAK,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC,EAAEL,KAAK,CAACM,UAAU,CAAC,CAAC,CAAC,GACjFT,eAAS,CAACM,EAAE,CAACH,KAAK,CAACO,WAAW,CAAC,CAAC,EAAEP,KAAK,CAACQ,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAER,KAAK,CAACS,OAAO,CAAC,CAAC,CAAC;EAE1E,OAAOb,QAAQ,CAACc,KAAK,CAACR,IAAI,EAAES,gBAAU,CAACC,IAAI,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAACC,KAAyB,EAAU;EAC5D,QAAQA,KAAK;IACX,KAAK,CAAC;IACN,KAAK,CAAC;IACN,KAAK,CAAC;MACJ,OAAO,CAAC;IACV,KAAK,CAAC;IACN,KAAK,CAAC;MACJ,OAAO,CAAC;IACV,KAAK,CAAC;IACN,KAAK,CAAC;IACN,KAAK,CAAC;MACJ,OAAO,CAAC;IACV;MACE,MAAM,IAAIC,KAAK,CAAC,eAAe,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAACC,MAA8B,EAAEjB,KAAoB,EAAEc,KAAa,EAAEb,MAAe,EAAQ;EACzH,IAAIiB,SAAS,GAAGjB,MAAM,GACpB,CAAC,CAACD,KAAK,CAACmB,WAAW,CAAC,CAAC,GAAG,EAAE,GAAGnB,KAAK,CAACoB,aAAa,CAAC,CAAC,IAAI,EAAE,GAAGpB,KAAK,CAACqB,aAAa,CAAC,CAAC,IAAI,IAAI,GAAGrB,KAAK,CAACsB,kBAAkB,CAAC,CAAC,GACrH,CAAC,CAACtB,KAAK,CAACuB,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAGvB,KAAK,CAACwB,UAAU,CAAC,CAAC,IAAI,EAAE,GAAGxB,KAAK,CAACyB,UAAU,CAAC,CAAC,IAAI,IAAI,GAAGzB,KAAK,CAAC0B,eAAe,CAAC,CAAC;EAE3GR,SAAS,GAAGA,SAAS,GAAGS,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEd,KAAK,GAAG,CAAC,CAAC;EAC/CI,SAAS,IAAI,CAAClB,KAAK,CAAC6B,eAAe,IAAI,IAAI,GAAG7B,KAAK,CAAC6B,eAAe,GAAG,CAAC,IAAIF,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEd,KAAK,CAAC;EAC9FI,SAAS,GAAGS,IAAI,CAACG,KAAK,CAACZ,SAAS,CAAC;EAEjC,QAAQJ,KAAK;IACX,KAAK,CAAC;IACN,KAAK,CAAC;IACN,KAAK,CAAC;MACJG,MAAM,CAACc,aAAa,CAACb,SAAS,CAAC;MAC/B;IACF,KAAK,CAAC;IACN,KAAK,CAAC;MACJD,MAAM,CAACe,aAAa,CAACd,SAAS,CAAC;MAC/B;IACF,KAAK,CAAC;IACN,KAAK,CAAC;IACN,KAAK,CAAC;MACJD,MAAM,CAACgB,aAAa,CAACf,SAAS,CAAC;EACnC;AACF","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var _iconvLite = _interopRequireDefault(require("iconv-lite"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  const NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);
10
+ const NO_COLLATION = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00]);
10
11
  const Text = {
11
12
  id: 0x23,
12
13
  type: 'TEXT',
@@ -23,30 +24,23 @@ const Text = {
23
24
  return -1;
24
25
  }
25
26
  },
26
- generateTypeInfo(parameter, _options) {
27
- const buffer = Buffer.alloc(10);
28
- buffer.writeUInt8(this.id, 0);
29
- buffer.writeInt32LE(parameter.length, 1);
27
+ writeTypeInfo(buffer, parameter) {
28
+ buffer.writeUInt8(this.id);
29
+ buffer.writeInt32LE(parameter.length);
30
30
  if (parameter.collation) {
31
- parameter.collation.toBuffer().copy(buffer, 5, 0, 5);
32
- }
33
- return buffer;
34
- },
35
- generateParameterLength(parameter, options) {
36
- const value = parameter.value;
37
- if (value == null) {
38
- return NULL_LENGTH;
31
+ buffer.writeBuffer(parameter.collation.toBuffer().subarray(0, 5));
32
+ } else {
33
+ buffer.writeBuffer(NO_COLLATION);
39
34
  }
40
- const buffer = Buffer.alloc(4);
41
- buffer.writeInt32LE(value.length, 0);
42
- return buffer;
43
35
  },
44
- generateParameterData: function* (parameter, options) {
36
+ writeValue(buffer, parameter) {
45
37
  const value = parameter.value;
46
38
  if (value == null) {
39
+ buffer.writeBuffer(NULL_LENGTH);
47
40
  return;
48
41
  }
49
- yield value;
42
+ buffer.writeInt32LE(value.length);
43
+ buffer.writeBuffer(value);
50
44
  },
51
45
  validate: function (value, collation) {
52
46
  if (value == null) {
@@ -66,4 +60,4 @@ const Text = {
66
60
  };
67
61
  var _default = exports.default = Text;
68
62
  module.exports = Text;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaWNvbnZMaXRlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJUZXh0IiwiaWQiLCJ0eXBlIiwibmFtZSIsImhhc1RhYmxlTmFtZSIsImRlY2xhcmF0aW9uIiwicmVzb2x2ZUxlbmd0aCIsInBhcmFtZXRlciIsInZhbHVlIiwibGVuZ3RoIiwiZ2VuZXJhdGVUeXBlSW5mbyIsIl9vcHRpb25zIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVJbnQzMkxFIiwiY29sbGF0aW9uIiwidG9CdWZmZXIiLCJjb3B5IiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJvcHRpb25zIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJFcnJvciIsImNvZGVwYWdlIiwiaWNvbnYiLCJlbmNvZGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy90ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpY29udiBmcm9tICdpY29udi1saXRlJztcblxuaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkYsIDB4RkYsIDB4RkZdKTtcblxuY29uc3QgVGV4dDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDIzLFxuICB0eXBlOiAnVEVYVCcsXG4gIG5hbWU6ICdUZXh0JyxcblxuICBoYXNUYWJsZU5hbWU6IHRydWUsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAndGV4dCc7XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgQnVmZmVyIHwgbnVsbDtcblxuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyLCBfb3B0aW9ucykge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxMCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCwgMCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIubGVuZ3RoISwgMSk7XG5cbiAgICBpZiAocGFyYW1ldGVyLmNvbGxhdGlvbikge1xuICAgICAgcGFyYW1ldGVyLmNvbGxhdGlvbi50b0J1ZmZlcigpLmNvcHkoYnVmZmVyLCA1LCAwLCA1KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIEJ1ZmZlciB8IG51bGw7XG5cbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKHZhbHVlLmxlbmd0aCwgMCk7XG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGE6IGZ1bmN0aW9uKihwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBCdWZmZXIgfCBudWxsO1xuXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB5aWVsZCB2YWx1ZTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUsIGNvbGxhdGlvbik6IEJ1ZmZlciB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBzdHJpbmcuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFjb2xsYXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gY29sbGF0aW9uIHdhcyBzZXQgYnkgdGhlIHNlcnZlciBmb3IgdGhlIGN1cnJlbnQgY29ubmVjdGlvbi4nKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbGxhdGlvbi5jb2RlcGFnZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgY29sbGF0aW9uIHNldCBieSB0aGUgc2VydmVyIGhhcyBubyBhc3NvY2lhdGVkIGVuY29kaW5nLicpO1xuICAgIH1cblxuICAgIHJldHVybiBpY29udi5lbmNvZGUodmFsdWUsIGNvbGxhdGlvbi5jb2RlcGFnZSk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRleHQ7XG5tb2R1bGUuZXhwb3J0cyA9IFRleHQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUErQixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUkvQixNQUFNRyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFekQsTUFBTUMsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsTUFBTTtF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
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaWNvbnZMaXRlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOT19DT0xMQVRJT04iLCJUZXh0IiwiaWQiLCJ0eXBlIiwibmFtZSIsImhhc1RhYmxlTmFtZSIsImRlY2xhcmF0aW9uIiwicmVzb2x2ZUxlbmd0aCIsInBhcmFtZXRlciIsInZhbHVlIiwibGVuZ3RoIiwid3JpdGVUeXBlSW5mbyIsImJ1ZmZlciIsIndyaXRlVUludDgiLCJ3cml0ZUludDMyTEUiLCJjb2xsYXRpb24iLCJ3cml0ZUJ1ZmZlciIsInRvQnVmZmVyIiwic3ViYXJyYXkiLCJ3cml0ZVZhbHVlIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJFcnJvciIsImNvZGVwYWdlIiwiaWNvbnYiLCJlbmNvZGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy90ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpY29udiBmcm9tICdpY29udi1saXRlJztcblxuaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkYsIDB4RkYsIDB4RkZdKTtcbmNvbnN0IE5PX0NPTExBVElPTiA9IEJ1ZmZlci5mcm9tKFsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwXSk7XG5cbmNvbnN0IFRleHQ6IERhdGFUeXBlID0ge1xuICBpZDogMHgyMyxcbiAgdHlwZTogJ1RFWFQnLFxuICBuYW1lOiAnVGV4dCcsXG5cbiAgaGFzVGFibGVOYW1lOiB0cnVlLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ3RleHQnO1xuICB9LFxuXG4gIHJlc29sdmVMZW5ndGg6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIEJ1ZmZlciB8IG51bGw7XG5cbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgfSxcblxuICB3cml0ZVR5cGVJbmZvKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIubGVuZ3RoISk7XG4gICAgaWYgKHBhcmFtZXRlci5jb2xsYXRpb24pIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJ1ZmZlcihwYXJhbWV0ZXIuY29sbGF0aW9uLnRvQnVmZmVyKCkuc3ViYXJyYXkoMCwgNSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWZmZXIud3JpdGVCdWZmZXIoTk9fQ09MTEFUSU9OKTtcbiAgICB9XG4gIH0sXG5cbiAgd3JpdGVWYWx1ZShidWZmZXIsIHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIEJ1ZmZlciB8IG51bGw7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJ1ZmZlcihOVUxMX0xFTkdUSCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYnVmZmVyLndyaXRlSW50MzJMRSh2YWx1ZS5sZW5ndGgpO1xuICAgIGJ1ZmZlci53cml0ZUJ1ZmZlcih2YWx1ZSk7XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlLCBjb2xsYXRpb24pOiBCdWZmZXIgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc3RyaW5nLicpO1xuICAgIH1cblxuICAgIGlmICghY29sbGF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGNvbGxhdGlvbiB3YXMgc2V0IGJ5IHRoZSBzZXJ2ZXIgZm9yIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24uJyk7XG4gICAgfVxuXG4gICAgaWYgKCFjb2xsYXRpb24uY29kZXBhZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGNvbGxhdGlvbiBzZXQgYnkgdGhlIHNlcnZlciBoYXMgbm8gYXNzb2NpYXRlZCBlbmNvZGluZy4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbnYuZW5jb2RlKHZhbHVlLCBjb2xsYXRpb24uY29kZXBhZ2UpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUZXh0O1xubW9kdWxlLmV4cG9ydHMgPSBUZXh0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBK0IsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFJL0IsTUFBTUcsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pELE1BQU1DLFlBQVksR0FBR0YsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFaEUsTUFBTUUsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsTUFBTTtFQUVaQyxZQUFZLEVBQUUsSUFBSTtFQUVsQkMsV0FBVyxFQUFFLFNBQUFBLENBQUEsRUFBVztJQUN0QixPQUFPLE1BQU07RUFDZixDQUFDO0VBRURDLGFBQWEsRUFBRSxTQUFBQSxDQUFTQyxTQUFTLEVBQUU7SUFDakMsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQXNCO0lBRTlDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBT0EsS0FBSyxDQUFDQyxNQUFNO0lBQ3JCLENBQUMsTUFBTTtNQUNMLE9BQU8sQ0FBQyxDQUFDO0lBQ1g7RUFDRixDQUFDO0VBRURDLGFBQWFBLENBQUNDLE1BQU0sRUFBRUosU0FBUyxFQUFFO0lBQy9CSSxNQUFNLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNYLEVBQUUsQ0FBQztJQUMxQlUsTUFBTSxDQUFDRSxZQUFZLENBQUNOLFNBQVMsQ0FBQ0UsTUFBTyxDQUFDO0lBQ3RDLElBQUlGLFNBQVMsQ0FBQ08sU0FBUyxFQUFFO01BQ3ZCSCxNQUFNLENBQUNJLFdBQVcsQ0FBQ1IsU0FBUyxDQUFDTyxTQUFTLENBQUNFLFFBQVEsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxNQUFNO01BQ0xOLE1BQU0sQ0FBQ0ksV0FBVyxDQUFDaEIsWUFBWSxDQUFDO0lBQ2xDO0VBQ0YsQ0FBQztFQUVEbUIsVUFBVUEsQ0FBQ1AsTUFBTSxFQUFFSixTQUFTLEVBQUU7SUFDNUIsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQXNCO0lBQzlDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakJHLE1BQU0sQ0FBQ0ksV0FBVyxDQUFDbkIsV0FBVyxDQUFDO01BQy9CO0lBQ0Y7SUFFQWUsTUFBTSxDQUFDRSxZQUFZLENBQUNMLEtBQUssQ0FBQ0MsTUFBTSxDQUFDO0lBQ2pDRSxNQUFNLENBQUNJLFdBQVcsQ0FBQ1AsS0FBSyxDQUFDO0VBQzNCLENBQUM7RUFFRFcsUUFBUSxFQUFFLFNBQUFBLENBQVNYLEtBQUssRUFBRU0sU0FBUyxFQUFpQjtJQUNsRCxJQUFJTixLQUFLLElBQUksSUFBSSxFQUFFO01BQ2pCLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxFQUFFO01BQzdCLE1BQU0sSUFBSVksU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsSUFBSSxDQUFDTixTQUFTLEVBQUU7TUFDZCxNQUFNLElBQUlPLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQztJQUNuRjtJQUVBLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxRQUFRLEVBQUU7TUFDdkIsTUFBTSxJQUFJRCxLQUFLLENBQUMsNkRBQTZELENBQUM7SUFDaEY7SUFFQSxPQUFPRSxrQkFBSyxDQUFDQyxNQUFNLENBQUNoQixLQUFLLEVBQUVNLFNBQVMsQ0FBQ1EsUUFBUSxDQUFDO0VBQ2hEO0FBQ0YsQ0FBQztBQUFDLElBQUFHLFFBQUEsR0FBQUMsT0FBQSxDQUFBL0IsT0FBQSxHQUVhSyxJQUFJO0FBQ25CMkIsTUFBTSxDQUFDRCxPQUFPLEdBQUcxQixJQUFJIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","names":["_iconvLite","_interopRequireDefault","require","e","__esModule","default","NULL_LENGTH","Buffer","from","Text","id","type","name","hasTableName","declaration","resolveLength","parameter","value","length","generateTypeInfo","_options","buffer","alloc","writeUInt8","writeInt32LE","collation","toBuffer","copy","generateParameterLength","options","generateParameterData","validate","TypeError","Error","codepage","iconv","encode","_default","exports","module"],"sources":["../../src/data-types/text.ts"],"sourcesContent":["import iconv from 'iconv-lite';\n\nimport { type DataType } from '../data-type';\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);\n\nconst Text: DataType = {\n id: 0x23,\n type: 'TEXT',\n name: 'Text',\n\n hasTableName: true,\n\n declaration: function() {\n return 'text';\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as Buffer | null;\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 const value = parameter.value as Buffer | null;\n\n if (value == null) {\n return NULL_LENGTH;\n }\n\n const buffer = Buffer.alloc(4);\n buffer.writeInt32LE(value.length, 0);\n return buffer;\n },\n\n generateParameterData: function*(parameter, options) {\n const value = parameter.value as Buffer | null;\n\n if (value == null) {\n return;\n }\n\n yield value;\n },\n\n validate: function(value, collation): Buffer | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n if (!collation) {\n throw new Error('No collation was set by the server for the current connection.');\n }\n\n if (!collation.codepage) {\n throw new Error('The collation set by the server has no associated encoding.');\n }\n\n return iconv.encode(value, collation.codepage);\n }\n};\n\nexport default Text;\nmodule.exports = Text;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA+B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI/B,MAAMG,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzD,MAAMC,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EAEZC,YAAY,EAAE,IAAI;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,MAAM;EACf,CAAC;EAEDC,aAAa,EAAE,SAAAA,CAASC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAE9C,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,MAAMZ,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAE9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOX,WAAW;IACpB;IAEA,MAAMe,MAAM,GAAGd,MAAM,CAACe,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACG,YAAY,CAACP,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC;IACpC,OAAOG,MAAM;EACf,CAAC;EAEDS,qBAAqB,EAAE,UAAAA,CAAUd,SAAS,EAAEa,OAAO,EAAE;IACnD,MAAMZ,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAE9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMA,KAAK;EACb,CAAC;EAEDc,QAAQ,EAAE,SAAAA,CAASd,KAAK,EAAEQ,SAAS,EAAiB;IAClD,IAAIR,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIe,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,IAAI,CAACP,SAAS,EAAE;MACd,MAAM,IAAIQ,KAAK,CAAC,gEAAgE,CAAC;IACnF;IAEA,IAAI,CAACR,SAAS,CAACS,QAAQ,EAAE;MACvB,MAAM,IAAID,KAAK,CAAC,6DAA6D,CAAC;IAChF;IAEA,OAAOE,kBAAK,CAACC,MAAM,CAACnB,KAAK,EAAEQ,SAAS,CAACS,QAAQ,CAAC;EAChD;AACF,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEaI,IAAI;AACnB8B,MAAM,CAACD,OAAO,GAAG7B,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"text.js","names":["_iconvLite","_interopRequireDefault","require","e","__esModule","default","NULL_LENGTH","Buffer","from","NO_COLLATION","Text","id","type","name","hasTableName","declaration","resolveLength","parameter","value","length","writeTypeInfo","buffer","writeUInt8","writeInt32LE","collation","writeBuffer","toBuffer","subarray","writeValue","validate","TypeError","Error","codepage","iconv","encode","_default","exports","module"],"sources":["../../src/data-types/text.ts"],"sourcesContent":["import iconv from 'iconv-lite';\n\nimport { type DataType } from '../data-type';\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);\nconst NO_COLLATION = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00]);\n\nconst Text: DataType = {\n id: 0x23,\n type: 'TEXT',\n name: 'Text',\n\n hasTableName: true,\n\n declaration: function() {\n return 'text';\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as Buffer | null;\n\n if (value != null) {\n return value.length;\n } else {\n return -1;\n }\n },\n\n writeTypeInfo(buffer, parameter) {\n buffer.writeUInt8(this.id);\n buffer.writeInt32LE(parameter.length!);\n if (parameter.collation) {\n buffer.writeBuffer(parameter.collation.toBuffer().subarray(0, 5));\n } else {\n buffer.writeBuffer(NO_COLLATION);\n }\n },\n\n writeValue(buffer, parameter) {\n const value = parameter.value as Buffer | null;\n if (value == null) {\n buffer.writeBuffer(NULL_LENGTH);\n return;\n }\n\n buffer.writeInt32LE(value.length);\n buffer.writeBuffer(value);\n },\n\n validate: function(value, collation): Buffer | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n if (!collation) {\n throw new Error('No collation was set by the server for the current connection.');\n }\n\n if (!collation.codepage) {\n throw new Error('The collation set by the server has no associated encoding.');\n }\n\n return iconv.encode(value, collation.codepage);\n }\n};\n\nexport default Text;\nmodule.exports = Text;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA+B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI/B,MAAMG,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,MAAMC,YAAY,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEhE,MAAME,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EAEZC,YAAY,EAAE,IAAI;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,MAAM;EACf,CAAC;EAEDC,aAAa,EAAE,SAAAA,CAASC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAE9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOA,KAAK,CAACC,MAAM;IACrB,CAAC,MAAM;MACL,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EAEDC,aAAaA,CAACC,MAAM,EAAEJ,SAAS,EAAE;IAC/BI,MAAM,CAACC,UAAU,CAAC,IAAI,CAACX,EAAE,CAAC;IAC1BU,MAAM,CAACE,YAAY,CAACN,SAAS,CAACE,MAAO,CAAC;IACtC,IAAIF,SAAS,CAACO,SAAS,EAAE;MACvBH,MAAM,CAACI,WAAW,CAACR,SAAS,CAACO,SAAS,CAACE,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC,MAAM;MACLN,MAAM,CAACI,WAAW,CAAChB,YAAY,CAAC;IAClC;EACF,CAAC;EAEDmB,UAAUA,CAACP,MAAM,EAAEJ,SAAS,EAAE;IAC5B,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAsB;IAC9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjBG,MAAM,CAACI,WAAW,CAACnB,WAAW,CAAC;MAC/B;IACF;IAEAe,MAAM,CAACE,YAAY,CAACL,KAAK,CAACC,MAAM,CAAC;IACjCE,MAAM,CAACI,WAAW,CAACP,KAAK,CAAC;EAC3B,CAAC;EAEDW,QAAQ,EAAE,SAAAA,CAASX,KAAK,EAAEM,SAAS,EAAiB;IAClD,IAAIN,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIY,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,IAAI,CAACN,SAAS,EAAE;MACd,MAAM,IAAIO,KAAK,CAAC,gEAAgE,CAAC;IACnF;IAEA,IAAI,CAACP,SAAS,CAACQ,QAAQ,EAAE;MACvB,MAAM,IAAID,KAAK,CAAC,6DAA6D,CAAC;IAChF;IAEA,OAAOE,kBAAK,CAACC,MAAM,CAAChB,KAAK,EAAEM,SAAS,CAACQ,QAAQ,CAAC;EAChD;AACF,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAA/B,OAAA,GAEaK,IAAI;AACnB2B,MAAM,CAACD,OAAO,GAAG1B,IAAI","ignoreList":[]}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const NULL_LENGTH = Buffer.from([0x00]);
7
+ var _temporal = require("./temporal");
10
8
  const Time = {
11
9
  id: 0x29,
12
10
  type: 'TIMEN',
@@ -23,60 +21,18 @@ const Time = {
23
21
  return 7;
24
22
  }
25
23
  },
26
- generateTypeInfo(parameter) {
27
- return Buffer.from([this.id, parameter.scale]);
24
+ writeTypeInfo(buffer, parameter) {
25
+ buffer.writeUInt8(this.id);
26
+ buffer.writeUInt8(parameter.scale);
28
27
  },
29
- generateParameterLength(parameter, options) {
30
- if (parameter.value == null) {
31
- return NULL_LENGTH;
32
- }
33
- switch (parameter.scale) {
34
- case 0:
35
- case 1:
36
- case 2:
37
- return Buffer.from([0x03]);
38
- case 3:
39
- case 4:
40
- return Buffer.from([0x04]);
41
- case 5:
42
- case 6:
43
- case 7:
44
- return Buffer.from([0x05]);
45
- default:
46
- throw new Error('invalid scale');
47
- }
48
- },
49
- *generateParameterData(parameter, options) {
50
- if (parameter.value == null) {
28
+ writeValue(buffer, parameter, options) {
29
+ const value = parameter.value;
30
+ if (value == null) {
31
+ buffer.writeUInt8(0x00);
51
32
  return;
52
33
  }
53
- const buffer = new _writableTrackingBuffer.default();
54
- const time = parameter.value;
55
- let timestamp;
56
- if (options.useUTC) {
57
- timestamp = ((time.getUTCHours() * 60 + time.getUTCMinutes()) * 60 + time.getUTCSeconds()) * 1000 + time.getUTCMilliseconds();
58
- } else {
59
- timestamp = ((time.getHours() * 60 + time.getMinutes()) * 60 + time.getSeconds()) * 1000 + time.getMilliseconds();
60
- }
61
- timestamp = timestamp * Math.pow(10, parameter.scale - 3);
62
- timestamp += (parameter.value.nanosecondDelta != null ? parameter.value.nanosecondDelta : 0) * Math.pow(10, parameter.scale);
63
- timestamp = Math.round(timestamp);
64
- switch (parameter.scale) {
65
- case 0:
66
- case 1:
67
- case 2:
68
- buffer.writeUInt24LE(timestamp);
69
- break;
70
- case 3:
71
- case 4:
72
- buffer.writeUInt32LE(timestamp);
73
- break;
74
- case 5:
75
- case 6:
76
- case 7:
77
- buffer.writeUInt40LE(timestamp);
78
- }
79
- yield buffer.data;
34
+ buffer.writeUInt8((0, _temporal.timeLength)(parameter.scale));
35
+ (0, _temporal.writeTimeOfDay)(buffer, value, parameter.scale, options.useUTC);
80
36
  },
81
37
  validate: function (value) {
82
38
  if (value == null) {
@@ -93,4 +49,4 @@ const Time = {
93
49
  };
94
50
  var _default = exports.default = Time;
95
51
  module.exports = Time;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiTlVMTF9MRU5HVEgiLCJCdWZmZXIiLCJmcm9tIiwiVGltZSIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInJlc29sdmVTY2FsZSIsInNjYWxlIiwidmFsdWUiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJvcHRpb25zIiwiRXJyb3IiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJidWZmZXIiLCJXcml0YWJsZVRyYWNraW5nQnVmZmVyIiwidGltZSIsInRpbWVzdGFtcCIsInVzZVVUQyIsImdldFVUQ0hvdXJzIiwiZ2V0VVRDTWludXRlcyIsImdldFVUQ1NlY29uZHMiLCJnZXRVVENNaWxsaXNlY29uZHMiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwiTWF0aCIsInBvdyIsIm5hbm9zZWNvbmREZWx0YSIsInJvdW5kIiwid3JpdGVVSW50MjRMRSIsIndyaXRlVUludDMyTEUiLCJ3cml0ZVVJbnQ0MExFIiwiZGF0YSIsInZhbGlkYXRlIiwiRGF0ZSIsInBhcnNlIiwiaXNOYU4iLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy90aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIgZnJvbSAnLi4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcblxuY29uc3QgVGltZTogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDI5LFxuICB0eXBlOiAnVElNRU4nLFxuICBuYW1lOiAnVGltZScsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIHJldHVybiAndGltZSgnICsgKHRoaXMucmVzb2x2ZVNjYWxlIShwYXJhbWV0ZXIpKSArICcpJztcbiAgfSxcblxuICByZXNvbHZlU2NhbGU6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIuc2NhbGUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlci5zY2FsZTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiA3O1xuICAgIH1cbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlcikge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShbdGhpcy5pZCwgcGFyYW1ldGVyLnNjYWxlIV0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIHN3aXRjaCAocGFyYW1ldGVyLnNjYWxlKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlIDE6XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgwM10pO1xuICAgICAgY2FzZSAzOlxuICAgICAgY2FzZSA0OlxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDRdKTtcbiAgICAgIGNhc2UgNTpcbiAgICAgIGNhc2UgNjpcbiAgICAgIGNhc2UgNzpcbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA1XSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2NhbGUnKTtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoKTtcbiAgICBjb25zdCB0aW1lID0gcGFyYW1ldGVyLnZhbHVlO1xuXG4gICAgbGV0IHRpbWVzdGFtcDtcbiAgICBpZiAob3B0aW9ucy51c2VVVEMpIHtcbiAgICAgIHRpbWVzdGFtcCA9ICgodGltZS5nZXRVVENIb3VycygpICogNjAgKyB0aW1lLmdldFVUQ01pbnV0ZXMoKSkgKiA2MCArIHRpbWUuZ2V0VVRDU2Vjb25kcygpKSAqIDEwMDAgKyB0aW1lLmdldFVUQ01pbGxpc2Vjb25kcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aW1lc3RhbXAgPSAoKHRpbWUuZ2V0SG91cnMoKSAqIDYwICsgdGltZS5nZXRNaW51dGVzKCkpICogNjAgKyB0aW1lLmdldFNlY29uZHMoKSkgKiAxMDAwICsgdGltZS5nZXRNaWxsaXNlY29uZHMoKTtcbiAgICB9XG5cbiAgICB0aW1lc3RhbXAgPSB0aW1lc3RhbXAgKiBNYXRoLnBvdygxMCwgcGFyYW1ldGVyLnNjYWxlISAtIDMpO1xuICAgIHRpbWVzdGFtcCArPSAocGFyYW1ldGVyLnZhbHVlLm5hbm9zZWNvbmREZWx0YSAhPSBudWxsID8gcGFyYW1ldGVyLnZhbHVlLm5hbm9zZWNvbmREZWx0YSA6IDApICogTWF0aC5wb3coMTAsIHBhcmFtZXRlci5zY2FsZSEpO1xuICAgIHRpbWVzdGFtcCA9IE1hdGgucm91bmQodGltZXN0YW1wKTtcblxuICAgIHN3aXRjaCAocGFyYW1ldGVyLnNjYWxlKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlIDE6XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGJ1ZmZlci53cml0ZVVJbnQyNExFKHRpbWVzdGFtcCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAzOlxuICAgICAgY2FzZSA0OlxuICAgICAgICBidWZmZXIud3JpdGVVSW50MzJMRSh0aW1lc3RhbXApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNTpcbiAgICAgIGNhc2UgNjpcbiAgICAgIGNhc2UgNzpcbiAgICAgICAgYnVmZmVyLndyaXRlVUludDQwTEUodGltZXN0YW1wKTtcbiAgICB9XG5cbiAgICB5aWVsZCBidWZmZXIuZGF0YTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgbnVtYmVyIHwgRGF0ZSB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUoRGF0ZS5wYXJzZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGltZS4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cblxuZXhwb3J0IGRlZmF1bHQgVGltZTtcbm1vZHVsZS5leHBvcnRzID0gVGltZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUFpRixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVqRixNQUFNRyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkMsTUFBTUMsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztF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
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVtcG9yYWwiLCJyZXF1aXJlIiwiVGltZSIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInJlc29sdmVTY2FsZSIsInNjYWxlIiwidmFsdWUiLCJ3cml0ZVR5cGVJbmZvIiwiYnVmZmVyIiwid3JpdGVVSW50OCIsIndyaXRlVmFsdWUiLCJvcHRpb25zIiwidGltZUxlbmd0aCIsIndyaXRlVGltZU9mRGF5IiwidXNlVVRDIiwidmFsaWRhdGUiLCJEYXRlIiwicGFyc2UiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy90aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgdGltZUxlbmd0aCwgd3JpdGVUaW1lT2ZEYXksIHR5cGUgVGVtcG9yYWxWYWx1ZSB9IGZyb20gJy4vdGVtcG9yYWwnO1xuXG5jb25zdCBUaW1lOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MjksXG4gIHR5cGU6ICdUSU1FTicsXG4gIG5hbWU6ICdUaW1lJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgcmV0dXJuICd0aW1lKCcgKyAodGhpcy5yZXNvbHZlU2NhbGUhKHBhcmFtZXRlcikpICsgJyknO1xuICB9LFxuXG4gIHJlc29sdmVTY2FsZTogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci5zY2FsZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLnNjYWxlO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDc7XG4gICAgfVxuICB9LFxuXG4gIHdyaXRlVHlwZUluZm8oYnVmZmVyLCBwYXJhbWV0ZXIpIHtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkKTtcbiAgICBidWZmZXIud3JpdGVVSW50OChwYXJhbWV0ZXIuc2NhbGUhKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgVGVtcG9yYWxWYWx1ZSB8IG51bGw7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDB4MDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRpbWVMZW5ndGgocGFyYW1ldGVyLnNjYWxlKSk7XG4gICAgd3JpdGVUaW1lT2ZEYXkoYnVmZmVyLCB2YWx1ZSwgcGFyYW1ldGVyLnNjYWxlISwgb3B0aW9ucy51c2VVVEMpO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIgfCBEYXRlIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgdmFsdWUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCB0aW1lLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGltZTtcbm1vZHVsZS5leHBvcnRzID0gVGltZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBRUEsTUFBTUMsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsTUFBTTtFQUVaQyxXQUFXLEVBQUUsU0FBQUEsQ0FBU0MsU0FBUyxFQUFFO0lBQy9CLE9BQU8sT0FBTyxHQUFJLElBQUksQ0FBQ0MsWUFBWSxDQUFFRCxTQUFTLENBQUUsR0FBRyxHQUFHO0VBQ3hELENBQUM7RUFFREMsWUFBWSxFQUFFLFNBQUFBLENBQVNELFNBQVMsRUFBRTtJQUNoQyxJQUFJQSxTQUFTLENBQUNFLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0IsT0FBT0YsU0FBUyxDQUFDRSxLQUFLO0lBQ3hCLENBQUMsTUFBTSxJQUFJRixTQUFTLENBQUNHLEtBQUssS0FBSyxJQUFJLEVBQUU7TUFDbkMsT0FBTyxDQUFDO0lBQ1YsQ0FBQyxNQUFNO01BQ0wsT0FBTyxDQUFDO0lBQ1Y7RUFDRixDQUFDO0VBRURDLGFBQWFBLENBQUNDLE1BQU0sRUFBRUwsU0FBUyxFQUFFO0lBQy9CSyxNQUFNLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNWLEVBQUUsQ0FBQztJQUMxQlMsTUFBTSxDQUFDQyxVQUFVLENBQUNOLFNBQVMsQ0FBQ0UsS0FBTSxDQUFDO0VBQ3JDLENBQUM7RUFFREssVUFBVUEsQ0FBQ0YsTUFBTSxFQUFFTCxTQUFTLEVBQUVRLE9BQU8sRUFBRTtJQUNyQyxNQUFNTCxLQUFLLEdBQUdILFNBQVMsQ0FBQ0csS0FBNkI7SUFDckQsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQkUsTUFBTSxDQUFDQyxVQUFVLENBQUMsSUFBSSxDQUFDO01BQ3ZCO0lBQ0Y7SUFFQUQsTUFBTSxDQUFDQyxVQUFVLENBQUMsSUFBQUcsb0JBQVUsRUFBQ1QsU0FBUyxDQUFDRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFBUSx3QkFBYyxFQUFDTCxNQUFNLEVBQUVGLEtBQUssRUFBRUgsU0FBUyxDQUFDRSxLQUFLLEVBQUdNLE9BQU8sQ0FBQ0csTUFBTSxDQUFDO0VBQ2pFLENBQUM7RUFFREMsUUFBUSxFQUFFLFNBQUFBLENBQVNULEtBQUssRUFBd0I7SUFDOUMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksRUFBRUEsS0FBSyxZQUFZVSxJQUFJLENBQUMsRUFBRTtNQUM1QlYsS0FBSyxHQUFHLElBQUlVLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxLQUFLLENBQUNYLEtBQUssQ0FBQyxDQUFDO0lBQ3JDO0lBRUEsSUFBSVksS0FBSyxDQUFDWixLQUFLLENBQUMsRUFBRTtNQUNoQixNQUFNLElBQUlhLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDdEM7SUFFQSxPQUFPYixLQUFLO0VBQ2Q7QUFDRixDQUFDO0FBQUMsSUFBQWMsUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYXhCLElBQUk7QUFDbkJ5QixNQUFNLENBQUNGLE9BQU8sR0FBR3ZCLElBQUkiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","e","__esModule","default","NULL_LENGTH","Buffer","from","Time","id","type","name","declaration","parameter","resolveScale","scale","value","generateTypeInfo","generateParameterLength","options","Error","generateParameterData","buffer","WritableTrackingBuffer","time","timestamp","useUTC","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getHours","getMinutes","getSeconds","getMilliseconds","Math","pow","nanosecondDelta","round","writeUInt24LE","writeUInt32LE","writeUInt40LE","data","validate","Date","parse","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/time.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst Time: DataType = {\n id: 0x29,\n type: 'TIMEN',\n name: 'Time',\n\n declaration: function(parameter) {\n return 'time(' + (this.resolveScale!(parameter)) + ')';\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else if (parameter.value === null) {\n return 0;\n } else {\n return 7;\n }\n },\n\n generateTypeInfo(parameter) {\n return Buffer.from([this.id, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n switch (parameter.scale) {\n case 0:\n case 1:\n case 2:\n return Buffer.from([0x03]);\n case 3:\n case 4:\n return Buffer.from([0x04]);\n case 5:\n case 6:\n case 7:\n return Buffer.from([0x05]);\n default:\n throw new Error('invalid scale');\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const buffer = new WritableTrackingBuffer();\n const time = parameter.value;\n\n let timestamp;\n if (options.useUTC) {\n timestamp = ((time.getUTCHours() * 60 + time.getUTCMinutes()) * 60 + time.getUTCSeconds()) * 1000 + time.getUTCMilliseconds();\n } else {\n timestamp = ((time.getHours() * 60 + time.getMinutes()) * 60 + time.getSeconds()) * 1000 + time.getMilliseconds();\n }\n\n timestamp = timestamp * Math.pow(10, parameter.scale! - 3);\n timestamp += (parameter.value.nanosecondDelta != null ? parameter.value.nanosecondDelta : 0) * Math.pow(10, parameter.scale!);\n timestamp = Math.round(timestamp);\n\n switch (parameter.scale) {\n case 0:\n case 1:\n case 2:\n buffer.writeUInt24LE(timestamp);\n break;\n case 3:\n case 4:\n buffer.writeUInt32LE(timestamp);\n break;\n case 5:\n case 6:\n case 7:\n buffer.writeUInt40LE(timestamp);\n }\n\n yield buffer.data;\n },\n\n validate: function(value): null | number | Date {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid time.');\n }\n\n return value;\n }\n};\n\n\nexport default Time;\nmodule.exports = Time;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"time.js","names":["_temporal","require","Time","id","type","name","declaration","parameter","resolveScale","scale","value","writeTypeInfo","buffer","writeUInt8","writeValue","options","timeLength","writeTimeOfDay","useUTC","validate","Date","parse","isNaN","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/time.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport { timeLength, writeTimeOfDay, type TemporalValue } from './temporal';\n\nconst Time: DataType = {\n id: 0x29,\n type: 'TIMEN',\n name: 'Time',\n\n declaration: function(parameter) {\n return 'time(' + (this.resolveScale!(parameter)) + ')';\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else if (parameter.value === null) {\n return 0;\n } else {\n return 7;\n }\n },\n\n writeTypeInfo(buffer, parameter) {\n buffer.writeUInt8(this.id);\n buffer.writeUInt8(parameter.scale!);\n },\n\n writeValue(buffer, parameter, options) {\n const value = parameter.value as TemporalValue | null;\n if (value == null) {\n buffer.writeUInt8(0x00);\n return;\n }\n\n buffer.writeUInt8(timeLength(parameter.scale));\n writeTimeOfDay(buffer, value, parameter.scale!, options.useUTC);\n },\n\n validate: function(value): null | number | Date {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid time.');\n }\n\n return value;\n }\n};\n\nexport default Time;\nmodule.exports = Time;\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA,MAAMC,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,MAAM;EAEZC,WAAW,EAAE,SAAAA,CAASC,SAAS,EAAE;IAC/B,OAAO,OAAO,GAAI,IAAI,CAACC,YAAY,CAAED,SAAS,CAAE,GAAG,GAAG;EACxD,CAAC;EAEDC,YAAY,EAAE,SAAAA,CAASD,SAAS,EAAE;IAChC,IAAIA,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOF,SAAS,CAACE,KAAK;IACxB,CAAC,MAAM,IAAIF,SAAS,CAACG,KAAK,KAAK,IAAI,EAAE;MACnC,OAAO,CAAC;IACV,CAAC,MAAM;MACL,OAAO,CAAC;IACV;EACF,CAAC;EAEDC,aAAaA,CAACC,MAAM,EAAEL,SAAS,EAAE;IAC/BK,MAAM,CAACC,UAAU,CAAC,IAAI,CAACV,EAAE,CAAC;IAC1BS,MAAM,CAACC,UAAU,CAACN,SAAS,CAACE,KAAM,CAAC;EACrC,CAAC;EAEDK,UAAUA,CAACF,MAAM,EAAEL,SAAS,EAAEQ,OAAO,EAAE;IACrC,MAAML,KAAK,GAAGH,SAAS,CAACG,KAA6B;IACrD,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjBE,MAAM,CAACC,UAAU,CAAC,IAAI,CAAC;MACvB;IACF;IAEAD,MAAM,CAACC,UAAU,CAAC,IAAAG,oBAAU,EAACT,SAAS,CAACE,KAAK,CAAC,CAAC;IAC9C,IAAAQ,wBAAc,EAACL,MAAM,EAAEF,KAAK,EAAEH,SAAS,CAACE,KAAK,EAAGM,OAAO,CAACG,MAAM,CAAC;EACjE,CAAC;EAEDC,QAAQ,EAAE,SAAAA,CAAST,KAAK,EAAwB;IAC9C,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,EAAEA,KAAK,YAAYU,IAAI,CAAC,EAAE;MAC5BV,KAAK,GAAG,IAAIU,IAAI,CAACA,IAAI,CAACC,KAAK,CAACX,KAAK,CAAC,CAAC;IACrC;IAEA,IAAIY,KAAK,CAACZ,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIa,SAAS,CAAC,eAAe,CAAC;IACtC;IAEA,OAAOb,KAAK;EACd;AACF,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaxB,IAAI;AACnByB,MAAM,CAACF,OAAO,GAAGvB,IAAI","ignoreList":[]}