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
@@ -1 +1 @@
1
- {"version":3,"file":"money.js","names":["_moneyn","_interopRequireDefault","require","e","__esModule","default","SHIFT_LEFT_32","SHIFT_RIGHT_32","NULL_LENGTH","Buffer","from","DATA_LENGTH","Money","id","type","name","declaration","generateTypeInfo","MoneyN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","writeInt32LE","Math","floor","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/money.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport MoneyN from './moneyn';\n\nconst SHIFT_LEFT_32 = (1 << 16) * (1 << 16);\nconst SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;\n\nconst NULL_LENGTH = Buffer.from([0x00]);\nconst DATA_LENGTH = Buffer.from([0x08]);\n\nconst Money: DataType = {\n id: 0x3C,\n type: 'MONEY',\n name: 'Money',\n\n declaration: function() {\n return 'money';\n },\n\n generateTypeInfo: function() {\n return Buffer.from([MoneyN.id, 0x08]);\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 value = parameter.value * 10000;\n\n const buffer = Buffer.alloc(8);\n buffer.writeInt32LE(Math.floor(value * SHIFT_RIGHT_32), 0);\n buffer.writeInt32LE(value & -1, 4);\n yield buffer;\n },\n\n validate: function(value): number | null {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n // money: -922337203685477.5808 to 922337203685477.5807\n // in javascript -922337203685477.5808 === -922337203685477.6\n // 922337203685477.5807 === 922337203685477.6\n // javascript number doesn't have enough precision.\n if (value < -922337203685477.6 || value > 922337203685477.6) {\n throw new TypeError('Value must be between -922337203685477.5808 and 922337203685477.5807, inclusive.');\n }\n\n return value;\n }\n};\n\nexport default Money;\nmodule.exports = Money;\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,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AAC3C,MAAMC,cAAc,GAAG,CAAC,GAAGD,aAAa;AAExC,MAAME,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,MAAMC,WAAW,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAME,KAAe,GAAG;EACtBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,OAAO;EAEbC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,OAAO;EAChB,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,OAAOd,WAAW;IACpB;IAEA,OAAOG,WAAW;EACpB,CAAC;EAED,CAAEY,qBAAqBA,CAACH,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAMA,KAAK,GAAGF,SAAS,CAACE,KAAK,GAAG,KAAK;IAErC,MAAME,MAAM,GAAGf,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACE,YAAY,CAACC,IAAI,CAACC,KAAK,CAACN,KAAK,GAAGf,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1DiB,MAAM,CAACE,YAAY,CAACJ,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,MAAME,MAAM;EACd,CAAC;EAEDK,QAAQ,EAAE,SAAAA,CAASP,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGQ,UAAU,CAACR,KAAK,CAAC;IACzB,IAAIS,KAAK,CAACT,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIU,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA;IACA;IACA;IACA;IACA,IAAIV,KAAK,GAAG,CAAC,iBAAiB,IAAIA,KAAK,GAAG,iBAAiB,EAAE;MAC3D,MAAM,IAAIU,SAAS,CAAC,kFAAkF,CAAC;IACzG;IAEA,OAAOV,KAAK;EACd;AACF,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEaO,KAAK;AACpBuB,MAAM,CAACD,OAAO,GAAGtB,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"money.js","names":["_moneyn","_interopRequireDefault","require","e","__esModule","default","SHIFT_LEFT_32","SHIFT_RIGHT_32","TYPE_INFO","Buffer","from","MoneyN","id","Money","type","name","declaration","writeTypeInfo","buffer","writeBuffer","writeValue","parameter","value","writeUInt8","scaled","writeInt32LE","Math","floor","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/money.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport MoneyN from './moneyn';\n\nconst SHIFT_LEFT_32 = (1 << 16) * (1 << 16);\nconst SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;\n\nconst TYPE_INFO = Buffer.from([MoneyN.id, 0x08]);\n\nconst Money: DataType = {\n id: 0x3C,\n type: 'MONEY',\n name: 'Money',\n\n declaration: function() {\n return 'money';\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 // The value in ten-thousandths, as a high and a low 32-bit half.\n const scaled = value * 10000;\n buffer.writeUInt8(0x08);\n buffer.writeInt32LE(Math.floor(scaled * SHIFT_RIGHT_32));\n buffer.writeInt32LE(scaled & -1);\n },\n\n validate: function(value): number | null {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n // money: -922337203685477.5808 to 922337203685477.5807\n // in javascript -922337203685477.5808 === -922337203685477.6\n // 922337203685477.5807 === 922337203685477.6\n // javascript number doesn't have enough precision.\n if (value < -922337203685477.6 || value > 922337203685477.6) {\n throw new TypeError('Value must be between -922337203685477.5808 and 922337203685477.5807, inclusive.');\n }\n\n return value;\n }\n};\n\nexport default Money;\nmodule.exports = Money;\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,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AAC3C,MAAMC,cAAc,GAAG,CAAC,GAAGD,aAAa;AAExC,MAAME,SAAS,GAAGC,MAAM,CAACC,IAAI,CAAC,CAACC,eAAM,CAACC,EAAE,EAAE,IAAI,CAAC,CAAC;AAEhD,MAAMC,KAAe,GAAG;EACtBD,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,OAAO;EAEbC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,OAAO;EAChB,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;;IAEA;IACA,MAAMC,MAAM,GAAGF,KAAK,GAAG,KAAK;IAC5BJ,MAAM,CAACK,UAAU,CAAC,IAAI,CAAC;IACvBL,MAAM,CAACO,YAAY,CAACC,IAAI,CAACC,KAAK,CAACH,MAAM,GAAGjB,cAAc,CAAC,CAAC;IACxDW,MAAM,CAACO,YAAY,CAACD,MAAM,GAAG,CAAC,CAAC,CAAC;EAClC,CAAC;EAEDI,QAAQ,EAAE,SAAAA,CAASN,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGO,UAAU,CAACP,KAAK,CAAC;IACzB,IAAIQ,KAAK,CAACR,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIS,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA;IACA;IACA;IACA;IACA,IAAIT,KAAK,GAAG,CAAC,iBAAiB,IAAIA,KAAK,GAAG,iBAAiB,EAAE;MAC3D,MAAM,IAAIS,SAAS,CAAC,kFAAkF,CAAC;IACzG;IAEA,OAAOT,KAAK;EACd;AACF,CAAC;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAA5B,OAAA,GAEaQ,KAAK;AACpBqB,MAAM,CAACD,OAAO,GAAGpB,KAAK","ignoreList":[]}
@@ -11,13 +11,10 @@ const MoneyN = {
11
11
  declaration() {
12
12
  throw new Error('not implemented');
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 MoneyN = {
26
23
  };
27
24
  var _default = exports.default = MoneyN;
28
25
  module.exports = MoneyN;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb25leU4iLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJFcnJvciIsImdlbmVyYXRlVHlwZUluZm8iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInZhbGlkYXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL21vbmV5bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTW9uZXlOOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NkUsXG4gIHR5cGU6ICdNT05FWU4nLFxuICBuYW1lOiAnTW9uZXlOJyxcblxuICBkZWNsYXJhdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vbmV5Tjtcbm1vZHVsZS5leHBvcnRzID0gTW9uZXlOO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxNQUFnQixHQUFHO0VBQ3ZCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUUsUUFBUTtFQUVkQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURDLGdCQUFnQkEsQ0FBQSxFQUFHO0lBQ2pCLE1BQU0sSUFBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREUsdUJBQXVCQSxDQUFBLEVBQUc7SUFDeEIsTUFBTSxJQUFJRixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERyxxQkFBcUJBLENBQUEsRUFBRztJQUN0QixNQUFNLElBQUlILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURJLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU0sSUFBSUosS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDO0FBQ0YsQ0FBQztBQUFDLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWFaLE1BQU07QUFDckJhLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHWCxNQUFNIiwiaWdub3JlTGlzdCI6W119
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb25leU4iLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJFcnJvciIsIndyaXRlVHlwZUluZm8iLCJ3cml0ZVZhbHVlIiwidmFsaWRhdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbW9uZXluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBNb25leU46IERhdGFUeXBlID0ge1xuICBpZDogMHg2RSxcbiAgdHlwZTogJ01PTkVZTicsXG4gIG5hbWU6ICdNb25leU4nLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgd3JpdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHdyaXRlVmFsdWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICB2YWxpZGF0ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNb25leU47XG5tb2R1bGUuZXhwb3J0cyA9IE1vbmV5TjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsTUFBZ0IsR0FBRztFQUN2QkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLFFBQVE7RUFDZEMsSUFBSSxFQUFFLFFBQVE7RUFFZEMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxhQUFhQSxDQUFBLEVBQUc7SUFDZCxNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLFVBQVVBLENBQUEsRUFBRztJQUNYLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcsUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEM7QUFDRixDQUFDO0FBQUMsSUFBQUksUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYVgsTUFBTTtBQUNyQlksTUFBTSxDQUFDRixPQUFPLEdBQUdWLE1BQU0iLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"moneyn.js","names":["MoneyN","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/moneyn.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst MoneyN: DataType = {\n id: 0x6E,\n type: 'MONEYN',\n name: 'MoneyN',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n generateTypeInfo() {\n throw new Error('not implemented');\n },\n\n generateParameterLength() {\n throw new Error('not implemented');\n },\n\n generateParameterData() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default MoneyN;\nmodule.exports = MoneyN;\n"],"mappings":";;;;;;AAEA,MAAMA,MAAgB,GAAG;EACvBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE,QAAQ;EAEdC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDI,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIJ,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,MAAM;AACrBa,MAAM,CAACF,OAAO,GAAGX,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"moneyn.js","names":["MoneyN","id","type","name","declaration","Error","writeTypeInfo","writeValue","validate","_default","exports","default","module"],"sources":["../../src/data-types/moneyn.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst MoneyN: DataType = {\n id: 0x6E,\n type: 'MONEYN',\n name: 'MoneyN',\n\n declaration() {\n throw new Error('not implemented');\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 MoneyN;\nmodule.exports = MoneyN;\n"],"mappings":";;;;;;AAEA,MAAMA,MAAgB,GAAG;EACvBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE,QAAQ;EAEdC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,aAAaA,CAAA,EAAG;IACd,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,UAAUA,CAAA,EAAG;IACX,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,GAEaX,MAAM;AACrBY,MAAM,CAACF,OAAO,GAAGV,MAAM","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  const NULL_LENGTH = Buffer.from([0xFF, 0xFF]);
8
+ const NO_COLLATION = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00]);
8
9
  const NChar = {
9
10
  id: 0xEF,
10
11
  type: 'NCHAR',
@@ -46,43 +47,28 @@ const NChar = {
46
47
  return this.maximumLength;
47
48
  }
48
49
  },
49
- generateTypeInfo: function (parameter) {
50
- const buffer = Buffer.alloc(8);
51
- buffer.writeUInt8(this.id, 0);
52
- buffer.writeUInt16LE(parameter.length * 2, 1);
50
+ writeTypeInfo(buffer, parameter) {
51
+ buffer.writeUInt8(this.id);
52
+ buffer.writeUInt16LE(parameter.length * 2);
53
53
  if (parameter.collation) {
54
- parameter.collation.toBuffer().copy(buffer, 3, 0, 5);
55
- }
56
- return buffer;
57
- },
58
- generateParameterLength(parameter, options) {
59
- if (parameter.value == null) {
60
- return NULL_LENGTH;
61
- }
62
- const {
63
- value
64
- } = parameter;
65
- if (value instanceof Buffer) {
66
- const length = value.length;
67
- const buffer = Buffer.alloc(2);
68
- buffer.writeUInt16LE(length, 0);
69
- return buffer;
54
+ buffer.writeBuffer(parameter.collation.toBuffer().subarray(0, 5));
70
55
  } else {
71
- const length = Buffer.byteLength(value.toString(), 'ucs2');
72
- const buffer = Buffer.alloc(2);
73
- buffer.writeUInt16LE(length, 0);
74
- return buffer;
56
+ buffer.writeBuffer(NO_COLLATION);
75
57
  }
76
58
  },
77
- *generateParameterData(parameter, options) {
78
- if (parameter.value == null) {
59
+ writeValue(buffer, parameter) {
60
+ const value = parameter.value;
61
+ if (value == null) {
62
+ buffer.writeBuffer(NULL_LENGTH);
79
63
  return;
80
64
  }
81
- const value = parameter.value;
82
- if (value instanceof Buffer) {
83
- yield value;
65
+ if (Buffer.isBuffer(value)) {
66
+ buffer.writeUInt16LE(value.length);
67
+ buffer.writeBuffer(value);
84
68
  } else {
85
- yield Buffer.from(value, 'ucs2');
69
+ const string = String(value);
70
+ buffer.writeUInt16LE(string.length * 2);
71
+ buffer.writeString(string, 'ucs2');
86
72
  }
87
73
  },
88
74
  validate: function (value) {
@@ -97,4 +83,4 @@ const NChar = {
97
83
  };
98
84
  var _default = exports.default = NChar;
99
85
  module.exports = NChar;
100
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOQ2hhciIsImlkIiwidHlwZSIsIm5hbWUiLCJtYXhpbXVtTGVuZ3RoIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsInRvU3RyaW5nIiwib3V0cHV0IiwicmVzb2x2ZUxlbmd0aCIsImlzQnVmZmVyIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsIndyaXRlVUludDE2TEUiLCJjb2xsYXRpb24iLCJ0b0J1ZmZlciIsImNvcHkiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJieXRlTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbmNoYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkZdKTtcblxuY29uc3QgTkNoYXI6IERhdGFUeXBlICYgeyBtYXhpbXVtTGVuZ3RoOiBudW1iZXIgfSA9IHtcbiAgaWQ6IDB4RUYsXG4gIHR5cGU6ICdOQ0hBUicsXG4gIG5hbWU6ICdOQ2hhcicsXG4gIG1heGltdW1MZW5ndGg6IDQwMDAsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIC8vIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIG51bGwgfCBzdHJpbmcgfCB7IHRvU3RyaW5nKCk6IHN0cmluZyB9O1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICBsZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlICE9IG51bGwpIHtcbiAgICAgIGxlbmd0aCA9IHZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIHx8IDE7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIudmFsdWUgPT09IG51bGwgJiYgIXBhcmFtZXRlci5vdXRwdXQpIHtcbiAgICAgIGxlbmd0aCA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxlbmd0aCA9IHRoaXMubWF4aW11bUxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAobGVuZ3RoIDwgdGhpcy5tYXhpbXVtTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ25jaGFyKCcgKyBsZW5ndGggKyAnKSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnbmNoYXIoJyArIHRoaXMubWF4aW11bUxlbmd0aCArICcpJztcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgLy8gY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgbnVsbCB8IHN0cmluZyB8IHsgdG9TdHJpbmcoKTogc3RyaW5nIH07XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlICE9IG51bGwpIHtcbiAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIocGFyYW1ldGVyLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKHBhcmFtZXRlci52YWx1ZS5sZW5ndGggLyAyKSB8fCAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIHx8IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm86IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg4KTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcbiAgICBidWZmZXIud3JpdGVVSW50MTZMRShwYXJhbWV0ZXIubGVuZ3RoISAqIDIsIDEpO1xuXG4gICAgaWYgKHBhcmFtZXRlci5jb2xsYXRpb24pIHtcbiAgICAgIHBhcmFtZXRlci5jb2xsYXRpb24udG9CdWZmZXIoKS5jb3B5KGJ1ZmZlciwgMywgMCwgNSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBjb25zdCB7IHZhbHVlIH0gPSBwYXJhbWV0ZXI7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICBjb25zdCBsZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoMik7XG5cbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG5cbiAgICAgIHJldHVybiBidWZmZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlLnRvU3RyaW5nKCksICd1Y3MyJyk7XG5cbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH1cbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZTtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgIHlpZWxkIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3VjczInKTtcbiAgICB9XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5DaGFyO1xubW9kdWxlLmV4cG9ydHMgPSBOQ2hhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUU3QyxNQUFNQyxLQUEyQyxHQUFHO0VBQ2xEQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxhQUFhLEVBQUUsSUFBSTtFQUVuQkMsV0FBVyxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUMvQjtJQUNBLE1BQU1DLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUFZLENBQUMsQ0FBQzs7SUFFdEMsSUFBSUMsTUFBTTtJQUNWLElBQUlGLFNBQVMsQ0FBQ0UsTUFBTSxFQUFFO01BQ3BCQSxNQUFNLEdBQUdGLFNBQVMsQ0FBQ0UsTUFBTTtJQUMzQixDQUFDLE1BQU0sSUFBSUYsU0FBUyxDQUFDQyxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2xDQyxNQUFNLEdBQUdELEtBQUssQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQ0QsTUFBTSxJQUFJLENBQUM7SUFDdkMsQ0FBQyxNQUFNLElBQUlGLFNBQVMsQ0FBQ0MsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDRCxTQUFTLENBQUNJLE1BQU0sRUFBRTtNQUN4REYsTUFBTSxHQUFHLENBQUM7SUFDWixDQUFDLE1BQU07TUFDTEEsTUFBTSxHQUFHLElBQUksQ0FBQ0osYUFBYTtJQUM3QjtJQUVBLElBQUlJLE1BQU0sR0FBRyxJQUFJLENBQUNKLGFBQWEsRUFBRTtNQUMvQixPQUFPLFFBQVEsR0FBR0ksTUFBTSxHQUFHLEdBQUc7SUFDaEMsQ0FBQyxNQUFNO01BQ0wsT0FBTyxRQUFRLEdBQUcsSUFBSSxDQUFDSixhQUFhLEdBQUcsR0FBRztJQUM1QztFQUNGLENBQUM7RUFFRE8sYUFBYSxFQUFFLFNBQUFBLENBQVNMLFNBQVMsRUFBRTtJQUNqQztJQUNBLE1BQU1DLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUFZLENBQUMsQ0FBQzs7SUFFdEMsSUFBSUQsU0FBUyxDQUFDRSxNQUFNLElBQUksSUFBSSxFQUFFO01BQzVCLE9BQU9GLFNBQVMsQ0FBQ0UsTUFBTTtJQUN6QixDQUFDLE1BQU0sSUFBSUYsU0FBUyxDQUFDQyxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2xDLElBQUlULE1BQU0sQ0FBQ2MsUUFBUSxDQUFDTixTQUFTLENBQUNDLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLE9BQVFELFNBQVMsQ0FBQ0MsS0FBSyxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxJQUFLLENBQUM7TUFDMUMsQ0FBQyxNQUFNO1FBQ0wsT0FBT0QsS0FBSyxDQUFDRSxRQUFRLENBQUMsQ0FBQyxDQUFDRCxNQUFNLElBQUksQ0FBQztNQUNyQztJQUNGLENBQUMsTUFBTTtNQUNMLE9BQU8sSUFBSSxDQUFDSixhQUFhO0lBQzNCO0VBQ0YsQ0FBQztFQUVEUyxnQkFBZ0IsRUFBRSxTQUFBQSxDQUFTUCxTQUFTLEVBQUU7SUFDcEMsTUFBTVEsTUFBTSxHQUFHaEIsTUFBTSxDQUFDaUIsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRSxVQUFVLENBQUMsSUFBSSxDQUFDZixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdCYSxNQUFNLENBQUNHLGFBQWEsQ0FBQ1gsU0FBUyxDQUFDRSxNQUFNLEdBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5QyxJQUFJRixTQUFTLENBQUNZLFNBQVMsRUFBRTtNQUN2QlosU0FBUyxDQUFDWSxTQUFTLENBQUNDLFFBQVEsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQ04sTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3REO0lBRUEsT0FBT0EsTUFBTTtFQUNmLENBQUM7RUFFRE8sdUJBQXVCQSxDQUFDZixTQUFTLEVBQUVnQixPQUFPLEVBQUU7SUFDMUMsSUFBSWhCLFNBQVMsQ0FBQ0MsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixPQUFPVixXQUFXO0lBQ3BCO0lBRUEsTUFBTTtNQUFFVTtJQUFNLENBQUMsR0FBR0QsU0FBUztJQUMzQixJQUFJQyxLQUFLLFlBQVlULE1BQU0sRUFBRTtNQUMzQixNQUFNVSxNQUFNLEdBQUdELEtBQUssQ0FBQ0MsTUFBTTtNQUMzQixNQUFNTSxNQUFNLEdBQUdoQixNQUFNLENBQUNpQixLQUFLLENBQUMsQ0FBQyxDQUFDO01BRTlCRCxNQUFNLENBQUNHLGFBQWEsQ0FBQ1QsTUFBTSxFQUFFLENBQUMsQ0FBQztNQUUvQixPQUFPTSxNQUFNO0lBQ2YsQ0FBQyxNQUFNO01BQ0wsTUFBTU4sTUFBTSxHQUFHVixNQUFNLENBQUN5QixVQUFVLENBQUNoQixLQUFLLENBQUNFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO01BRTFELE1BQU1LLE1BQU0sR0FBR2hCLE1BQU0sQ0FBQ2lCLEtBQUssQ0FBQyxDQUFDLENBQUM7TUFDOUJELE1BQU0sQ0FBQ0csYUFBYSxDQUFDVCxNQUFNLEVBQUUsQ0FBQyxDQUFDO01BQy9CLE9BQU9NLE1BQU07SUFDZjtFQUNGLENBQUM7RUFFRCxDQUFFVSxxQkFBcUJBLENBQUNsQixTQUFTLEVBQUVnQixPQUFPLEVBQUU7SUFDMUMsSUFBSWhCLFNBQVMsQ0FBQ0MsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQjtJQUNGO0lBRUEsTUFBTUEsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQUs7SUFDN0IsSUFBSUEsS0FBSyxZQUFZVCxNQUFNLEVBQUU7TUFDM0IsTUFBTVMsS0FBSztJQUNiLENBQUMsTUFBTTtNQUNMLE1BQU1ULE1BQU0sQ0FBQ0MsSUFBSSxDQUFDUSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2xDO0VBQ0YsQ0FBQztFQUVEa0IsUUFBUSxFQUFFLFNBQUFBLENBQVNsQixLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDN0IsTUFBTSxJQUFJbUIsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsT0FBT25CLEtBQUs7RUFDZDtBQUNGLENBQUM7QUFBQyxJQUFBb0IsUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYTdCLEtBQUs7QUFDcEI4QixNQUFNLENBQUNGLE9BQU8sR0FBRzVCLEtBQUsiLCJpZ25vcmVMaXN0IjpbXX0=
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOT19DT0xMQVRJT04iLCJOQ2hhciIsImlkIiwidHlwZSIsIm5hbWUiLCJtYXhpbXVtTGVuZ3RoIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsInRvU3RyaW5nIiwib3V0cHV0IiwicmVzb2x2ZUxlbmd0aCIsImlzQnVmZmVyIiwid3JpdGVUeXBlSW5mbyIsImJ1ZmZlciIsIndyaXRlVUludDgiLCJ3cml0ZVVJbnQxNkxFIiwiY29sbGF0aW9uIiwid3JpdGVCdWZmZXIiLCJ0b0J1ZmZlciIsInN1YmFycmF5Iiwid3JpdGVWYWx1ZSIsInN0cmluZyIsIlN0cmluZyIsIndyaXRlU3RyaW5nIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbmNoYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkZdKTtcbmNvbnN0IE5PX0NPTExBVElPTiA9IEJ1ZmZlci5mcm9tKFsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwXSk7XG5cbmNvbnN0IE5DaGFyOiBEYXRhVHlwZSAmIHsgbWF4aW11bUxlbmd0aDogbnVtYmVyIH0gPSB7XG4gIGlkOiAweEVGLFxuICB0eXBlOiAnTkNIQVInLFxuICBuYW1lOiAnTkNoYXInLFxuICBtYXhpbXVtTGVuZ3RoOiA0MDAwLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICAvLyBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBudWxsIHwgc3RyaW5nIHwgeyB0b1N0cmluZygpOiBzdHJpbmcgfTtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVtb3ZlICdhbnknIGxhdGVyLlxuXG4gICAgbGV0IGxlbmd0aDtcbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCkge1xuICAgICAgbGVuZ3RoID0gcGFyYW1ldGVyLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci52YWx1ZSAhPSBudWxsKSB7XG4gICAgICBsZW5ndGggPSB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB8fCAxO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlID09PSBudWxsICYmICFwYXJhbWV0ZXIub3V0cHV0KSB7XG4gICAgICBsZW5ndGggPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZW5ndGggPSB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKGxlbmd0aCA8IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgcmV0dXJuICduY2hhcignICsgbGVuZ3RoICsgJyknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ25jaGFyKCcgKyB0aGlzLm1heGltdW1MZW5ndGggKyAnKSc7XG4gICAgfVxuICB9LFxuXG4gIHJlc29sdmVMZW5ndGg6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIC8vIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIG51bGwgfCBzdHJpbmcgfCB7IHRvU3RyaW5nKCk6IHN0cmluZyB9O1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG5cbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci52YWx1ZSAhPSBudWxsKSB7XG4gICAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHBhcmFtZXRlci52YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChwYXJhbWV0ZXIudmFsdWUubGVuZ3RoIC8gMikgfHwgMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB8fCAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhpbXVtTGVuZ3RoO1xuICAgIH1cbiAgfSxcblxuICB3cml0ZVR5cGVJbmZvKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCk7XG4gICAgYnVmZmVyLndyaXRlVUludDE2TEUocGFyYW1ldGVyLmxlbmd0aCEgKiAyKTtcbiAgICBpZiAocGFyYW1ldGVyLmNvbGxhdGlvbikge1xuICAgICAgYnVmZmVyLndyaXRlQnVmZmVyKHBhcmFtZXRlci5jb2xsYXRpb24udG9CdWZmZXIoKS5zdWJhcnJheSgwLCA1KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJ1ZmZlcihOT19DT0xMQVRJT04pO1xuICAgIH1cbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWU7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJ1ZmZlcihOVUxMX0xFTkdUSCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKHZhbHVlLmxlbmd0aCk7XG4gICAgICBidWZmZXIud3JpdGVCdWZmZXIodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdHJpbmcgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDE2TEUoc3RyaW5nLmxlbmd0aCAqIDIpO1xuICAgICAgYnVmZmVyLndyaXRlU3RyaW5nKHN0cmluZywgJ3VjczInKTtcbiAgICB9XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5DaGFyO1xubW9kdWxlLmV4cG9ydHMgPSBOQ2hhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QyxNQUFNQyxZQUFZLEdBQUdGLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRWhFLE1BQU1FLEtBQTJDLEdBQUc7RUFDbERDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRSxPQUFPO0VBQ2JDLGFBQWEsRUFBRSxJQUFJO0VBRW5CQyxXQUFXLEVBQUUsU0FBQUEsQ0FBU0MsU0FBUyxFQUFFO0lBQy9CO0lBQ0EsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQVksQ0FBQyxDQUFDOztJQUV0QyxJQUFJQyxNQUFNO0lBQ1YsSUFBSUYsU0FBUyxDQUFDRSxNQUFNLEVBQUU7TUFDcEJBLE1BQU0sR0FBR0YsU0FBUyxDQUFDRSxNQUFNO0lBQzNCLENBQUMsTUFBTSxJQUFJRixTQUFTLENBQUNDLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDbENDLE1BQU0sR0FBR0QsS0FBSyxDQUFDRSxRQUFRLENBQUMsQ0FBQyxDQUFDRCxNQUFNLElBQUksQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"nchar.js","names":["NULL_LENGTH","Buffer","from","NChar","id","type","name","maximumLength","declaration","parameter","value","length","toString","output","resolveLength","isBuffer","generateTypeInfo","buffer","alloc","writeUInt8","writeUInt16LE","collation","toBuffer","copy","generateParameterLength","options","byteLength","generateParameterData","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/nchar.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\n\nconst NChar: DataType & { maximumLength: number } = {\n id: 0xEF,\n type: 'NCHAR',\n name: 'NChar',\n maximumLength: 4000,\n\n declaration: function(parameter) {\n // const value = parameter.value as null | string | { toString(): string };\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n let length;\n if (parameter.length) {\n length = parameter.length;\n } else if (parameter.value != null) {\n length = value.toString().length || 1;\n } else if (parameter.value === null && !parameter.output) {\n length = 1;\n } else {\n length = this.maximumLength;\n }\n\n if (length < this.maximumLength) {\n return 'nchar(' + length + ')';\n } else {\n return 'nchar(' + this.maximumLength + ')';\n }\n },\n\n resolveLength: function(parameter) {\n // const value = parameter.value as null | string | { toString(): string };\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n if (parameter.length != null) {\n return parameter.length;\n } else if (parameter.value != null) {\n if (Buffer.isBuffer(parameter.value)) {\n return (parameter.value.length / 2) || 1;\n } else {\n return value.toString().length || 1;\n }\n } else {\n return this.maximumLength;\n }\n },\n\n generateTypeInfo: function(parameter) {\n const buffer = Buffer.alloc(8);\n buffer.writeUInt8(this.id, 0);\n buffer.writeUInt16LE(parameter.length! * 2, 1);\n\n if (parameter.collation) {\n parameter.collation.toBuffer().copy(buffer, 3, 0, 5);\n }\n\n return buffer;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const { value } = parameter;\n if (value instanceof Buffer) {\n const length = value.length;\n const buffer = Buffer.alloc(2);\n\n buffer.writeUInt16LE(length, 0);\n\n return buffer;\n } else {\n const length = Buffer.byteLength(value.toString(), 'ucs2');\n\n const buffer = Buffer.alloc(2);\n buffer.writeUInt16LE(length, 0);\n return buffer;\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const value = parameter.value;\n if (value instanceof Buffer) {\n yield value;\n } else {\n yield Buffer.from(value, 'ucs2');\n }\n },\n\n validate: function(value): string | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n return value;\n }\n};\n\nexport default NChar;\nmodule.exports = NChar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"nchar.js","names":["NULL_LENGTH","Buffer","from","NO_COLLATION","NChar","id","type","name","maximumLength","declaration","parameter","value","length","toString","output","resolveLength","isBuffer","writeTypeInfo","buffer","writeUInt8","writeUInt16LE","collation","writeBuffer","toBuffer","subarray","writeValue","string","String","writeString","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/nchar.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\nconst NO_COLLATION = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00]);\n\nconst NChar: DataType & { maximumLength: number } = {\n id: 0xEF,\n type: 'NCHAR',\n name: 'NChar',\n maximumLength: 4000,\n\n declaration: function(parameter) {\n // const value = parameter.value as null | string | { toString(): string };\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n let length;\n if (parameter.length) {\n length = parameter.length;\n } else if (parameter.value != null) {\n length = value.toString().length || 1;\n } else if (parameter.value === null && !parameter.output) {\n length = 1;\n } else {\n length = this.maximumLength;\n }\n\n if (length < this.maximumLength) {\n return 'nchar(' + length + ')';\n } else {\n return 'nchar(' + this.maximumLength + ')';\n }\n },\n\n resolveLength: function(parameter) {\n // const value = parameter.value as null | string | { toString(): string };\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n if (parameter.length != null) {\n return parameter.length;\n } else if (parameter.value != null) {\n if (Buffer.isBuffer(parameter.value)) {\n return (parameter.value.length / 2) || 1;\n } else {\n return value.toString().length || 1;\n }\n } else {\n return this.maximumLength;\n }\n },\n\n writeTypeInfo(buffer, parameter) {\n buffer.writeUInt8(this.id);\n buffer.writeUInt16LE(parameter.length! * 2);\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;\n if (value == null) {\n buffer.writeBuffer(NULL_LENGTH);\n return;\n }\n\n if (Buffer.isBuffer(value)) {\n buffer.writeUInt16LE(value.length);\n buffer.writeBuffer(value);\n } else {\n const string = String(value);\n buffer.writeUInt16LE(string.length * 2);\n buffer.writeString(string, 'ucs2');\n }\n },\n\n validate: function(value): string | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n return value;\n }\n};\n\nexport default NChar;\nmodule.exports = NChar;\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  const NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);
8
+ const NO_COLLATION = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00]);
8
9
  const NText = {
9
10
  id: 0x63,
10
11
  type: 'NTEXT',
@@ -22,28 +23,23 @@ const NText = {
22
23
  return -1;
23
24
  }
24
25
  },
25
- generateTypeInfo(parameter, _options) {
26
- const buffer = Buffer.alloc(10);
27
- buffer.writeUInt8(this.id, 0);
28
- buffer.writeInt32LE(parameter.length, 1);
26
+ writeTypeInfo(buffer, parameter) {
27
+ buffer.writeUInt8(this.id);
28
+ buffer.writeInt32LE(parameter.length);
29
29
  if (parameter.collation) {
30
- parameter.collation.toBuffer().copy(buffer, 5, 0, 5);
31
- }
32
- return buffer;
33
- },
34
- generateParameterLength(parameter, options) {
35
- if (parameter.value == null) {
36
- return NULL_LENGTH;
30
+ buffer.writeBuffer(parameter.collation.toBuffer().subarray(0, 5));
31
+ } else {
32
+ buffer.writeBuffer(NO_COLLATION);
37
33
  }
38
- const buffer = Buffer.alloc(4);
39
- buffer.writeInt32LE(Buffer.byteLength(parameter.value, 'ucs2'), 0);
40
- return buffer;
41
34
  },
42
- generateParameterData: function* (parameter, options) {
35
+ writeValue(buffer, parameter) {
43
36
  if (parameter.value == null) {
37
+ buffer.writeBuffer(NULL_LENGTH);
44
38
  return;
45
39
  }
46
- yield Buffer.from(parameter.value.toString(), 'ucs2');
40
+ const value = String(parameter.value);
41
+ buffer.writeInt32LE(value.length * 2);
42
+ buffer.writeString(value, 'ucs2');
47
43
  },
48
44
  validate: function (value) {
49
45
  if (value == null) {
@@ -57,4 +53,4 @@ const NText = {
57
53
  };
58
54
  var _default = exports.default = NText;
59
55
  module.exports = NText;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVGV4dCIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsImdlbmVyYXRlVHlwZUluZm8iLCJfb3B0aW9ucyIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsIndyaXRlSW50MzJMRSIsImNvbGxhdGlvbiIsInRvQnVmZmVyIiwiY29weSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImJ5dGVMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ0b1N0cmluZyIsInZhbGlkYXRlIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGLCAweEZGLCAweEZGXSk7XG5cbmNvbnN0IE5UZXh0OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NjMsXG4gIHR5cGU6ICdOVEVYVCcsXG4gIG5hbWU6ICdOVGV4dCcsXG5cbiAgaGFzVGFibGVOYW1lOiB0cnVlLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ250ZXh0JztcbiAgfSxcblxuICByZXNvbHZlTGVuZ3RoOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVtb3ZlICdhbnknIGxhdGVyLlxuXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbWV0ZXIsIF9vcHRpb25zKSB7XG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDEwKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKHBhcmFtZXRlci5sZW5ndGghLCAxKTtcblxuICAgIGlmIChwYXJhbWV0ZXIuY29sbGF0aW9uKSB7XG4gICAgICBwYXJhbWV0ZXIuY29sbGF0aW9uLnRvQnVmZmVyKCkuY29weShidWZmZXIsIDUsIDAsIDUpO1xuICAgIH1cblxuICAgIHJldHVybiBidWZmZXI7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDQpO1xuICAgIGJ1ZmZlci53cml0ZUludDMyTEUoQnVmZmVyLmJ5dGVMZW5ndGgocGFyYW1ldGVyLnZhbHVlLCAndWNzMicpLCAwKTtcbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YTogZnVuY3Rpb24qKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHlpZWxkIEJ1ZmZlci5mcm9tKHBhcmFtZXRlci52YWx1ZS50b1N0cmluZygpLCAndWNzMicpO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBzdHJpbmcuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOVGV4dDtcbm1vZHVsZS5leHBvcnRzID0gTlRleHQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUV6RCxNQUFNQyxLQUFlLEdBQUc7RUFDdEJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRSxPQUFPO0VBRWJDLFlBQVksRUFBRSxJQUFJO0VBRWxCQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sT0FBTztFQUNoQixDQUFDO0VBRURDLGFBQWEsRUFBRSxTQUFBQSxDQUFTQyxTQUFTLEVBQUU7SUFDakMsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQVksQ0FBQyxDQUFDOztJQUV0QyxJQUFJQSxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2pCLE9BQU9BLEtBQUssQ0FBQ0MsTUFBTTtJQUNyQixDQUFDLE1BQU07TUFDTCxPQUFPLENBQUMsQ0FBQztJQUNYO0VBQ0YsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUNILFNBQVMsRUFBRUksUUFBUSxFQUFFO0lBQ3BDLE1BQU1DLE1BQU0sR0FBR2QsTUFBTSxDQUFDZSxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQy9CRCxNQUFNLENBQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUNiLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0JXLE1BQU0sQ0FBQ0csWUFBWSxDQUFDUixTQUFTLENBQUNFLE1BQU0sRUFBRyxDQUFDLENBQUM7SUFFekMsSUFBSUYsU0FBUyxDQUFDUyxTQUFTLEVBQUU7TUFDdkJULFNBQVMsQ0FBQ1MsU0FBUyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUNOLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RDtJQUVBLE9BQU9BLE1BQU07RUFDZixDQUFDO0VBRURPLHVCQUF1QkEsQ0FBQ1osU0FBUyxFQUFFYSxPQUFPLEVBQUU7SUFDMUMsSUFBSWIsU0FBUyxDQUFDQyxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCLE9BQU9YLFdBQVc7SUFDcEI7SUFFQSxNQUFNZSxNQUFNLEdBQUdkLE1BQU0sQ0FBQ2UsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRyxZQUFZLENBQUNqQixNQUFNLENBQUN1QixVQUFVLENBQUNkLFNBQVMsQ0FBQ0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxPQUFPSSxNQUFNO0VBQ2YsQ0FBQztFQUVEVSxxQkFBcUIsRUFBRSxVQUFBQSxDQUFVZixTQUFTLEVBQUVhLE9BQU8sRUFBRTtJQUNuRCxJQUFJYixTQUFTLENBQUNDLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0I7SUFDRjtJQUVBLE1BQU1WLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDUSxTQUFTLENBQUNDLEtBQUssQ0FBQ2UsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7RUFDdkQsQ0FBQztFQUVEQyxRQUFRLEVBQUUsU0FBQUEsQ0FBU2hCLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUM3QixNQUFNLElBQUlpQixTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDeEM7SUFFQSxPQUFPakIsS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUFDLElBQUFrQixRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhNUIsS0FBSztBQUNwQjZCLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHM0IsS0FBSyIsImlnbm9yZUxpc3QiOltdfQ==
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOT19DT0xMQVRJT04iLCJOVGV4dCIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsIndyaXRlVHlwZUluZm8iLCJidWZmZXIiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVJbnQzMkxFIiwiY29sbGF0aW9uIiwid3JpdGVCdWZmZXIiLCJ0b0J1ZmZlciIsInN1YmFycmF5Iiwid3JpdGVWYWx1ZSIsIlN0cmluZyIsIndyaXRlU3RyaW5nIiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkYsIDB4RkYsIDB4RkZdKTtcbmNvbnN0IE5PX0NPTExBVElPTiA9IEJ1ZmZlci5mcm9tKFsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwXSk7XG5cbmNvbnN0IE5UZXh0OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NjMsXG4gIHR5cGU6ICdOVEVYVCcsXG4gIG5hbWU6ICdOVGV4dCcsXG5cbiAgaGFzVGFibGVOYW1lOiB0cnVlLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ250ZXh0JztcbiAgfSxcblxuICByZXNvbHZlTGVuZ3RoOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVtb3ZlICdhbnknIGxhdGVyLlxuXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH0sXG5cbiAgd3JpdGVUeXBlSW5mbyhidWZmZXIsIHBhcmFtZXRlcikge1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMuaWQpO1xuICAgIGJ1ZmZlci53cml0ZUludDMyTEUocGFyYW1ldGVyLmxlbmd0aCEpO1xuICAgIGlmIChwYXJhbWV0ZXIuY29sbGF0aW9uKSB7XG4gICAgICBidWZmZXIud3JpdGVCdWZmZXIocGFyYW1ldGVyLmNvbGxhdGlvbi50b0J1ZmZlcigpLnN1YmFycmF5KDAsIDUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLndyaXRlQnVmZmVyKE5PX0NPTExBVElPTik7XG4gICAgfVxuICB9LFxuXG4gIHdyaXRlVmFsdWUoYnVmZmVyLCBwYXJhbWV0ZXIpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJ1ZmZlcihOVUxMX0xFTkdUSCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBTdHJpbmcocGFyYW1ldGVyLnZhbHVlKTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKHZhbHVlLmxlbmd0aCAqIDIpO1xuICAgIGJ1ZmZlci53cml0ZVN0cmluZyh2YWx1ZSwgJ3VjczInKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc3RyaW5nLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1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
@@ -1 +1 @@
1
- {"version":3,"file":"ntext.js","names":["NULL_LENGTH","Buffer","from","NText","id","type","name","hasTableName","declaration","resolveLength","parameter","value","length","generateTypeInfo","_options","buffer","alloc","writeUInt8","writeInt32LE","collation","toBuffer","copy","generateParameterLength","options","byteLength","generateParameterData","toString","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/ntext.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);\n\nconst NText: DataType = {\n id: 0x63,\n type: 'NTEXT',\n name: 'NText',\n\n hasTableName: true,\n\n declaration: function() {\n return 'ntext';\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n if (value != null) {\n return value.length;\n } else {\n return -1;\n }\n },\n\n generateTypeInfo(parameter, _options) {\n const buffer = Buffer.alloc(10);\n buffer.writeUInt8(this.id, 0);\n buffer.writeInt32LE(parameter.length!, 1);\n\n if (parameter.collation) {\n parameter.collation.toBuffer().copy(buffer, 5, 0, 5);\n }\n\n return buffer;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const buffer = Buffer.alloc(4);\n buffer.writeInt32LE(Buffer.byteLength(parameter.value, 'ucs2'), 0);\n return buffer;\n },\n\n generateParameterData: function*(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n yield Buffer.from(parameter.value.toString(), 'ucs2');\n },\n\n validate: function(value): string | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n return value;\n }\n};\n\nexport default NText;\nmodule.exports = NText;\n"],"mappings":";;;;;;AAEA,MAAMA,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzD,MAAMC,KAAe,GAAG;EACtBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,OAAO;EAEbC,YAAY,EAAE,IAAI;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,OAAO;EAChB,CAAC;EAEDC,aAAa,EAAE,SAAAA,CAASC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAY,CAAC,CAAC;;IAEtC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOA,KAAK,CAACC,MAAM;IACrB,CAAC,MAAM;MACL,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EAEDC,gBAAgBA,CAACH,SAAS,EAAEI,QAAQ,EAAE;IACpC,MAAMC,MAAM,GAAGd,MAAM,CAACe,KAAK,CAAC,EAAE,CAAC;IAC/BD,MAAM,CAACE,UAAU,CAAC,IAAI,CAACb,EAAE,EAAE,CAAC,CAAC;IAC7BW,MAAM,CAACG,YAAY,CAACR,SAAS,CAACE,MAAM,EAAG,CAAC,CAAC;IAEzC,IAAIF,SAAS,CAACS,SAAS,EAAE;MACvBT,SAAS,CAACS,SAAS,CAACC,QAAQ,CAAC,CAAC,CAACC,IAAI,CAACN,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD;IAEA,OAAOA,MAAM;EACf,CAAC;EAEDO,uBAAuBA,CAACZ,SAAS,EAAEa,OAAO,EAAE;IAC1C,IAAIb,SAAS,CAACC,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOX,WAAW;IACpB;IAEA,MAAMe,MAAM,GAAGd,MAAM,CAACe,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACG,YAAY,CAACjB,MAAM,CAACuB,UAAU,CAACd,SAAS,CAACC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClE,OAAOI,MAAM;EACf,CAAC;EAEDU,qBAAqB,EAAE,UAAAA,CAAUf,SAAS,EAAEa,OAAO,EAAE;IACnD,IAAIb,SAAS,CAACC,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAMV,MAAM,CAACC,IAAI,CAACQ,SAAS,CAACC,KAAK,CAACe,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;EACvD,CAAC;EAEDC,QAAQ,EAAE,SAAAA,CAAShB,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIiB,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,OAAOjB,KAAK;EACd;AACF,CAAC;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5B,KAAK;AACpB6B,MAAM,CAACF,OAAO,GAAG3B,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"ntext.js","names":["NULL_LENGTH","Buffer","from","NO_COLLATION","NText","id","type","name","hasTableName","declaration","resolveLength","parameter","value","length","writeTypeInfo","buffer","writeUInt8","writeInt32LE","collation","writeBuffer","toBuffer","subarray","writeValue","String","writeString","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/ntext.ts"],"sourcesContent":["import { 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 NText: DataType = {\n id: 0x63,\n type: 'NTEXT',\n name: 'NText',\n\n hasTableName: true,\n\n declaration: function() {\n return 'ntext';\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n\n if (value != null) {\n return value.length;\n } else {\n return -1;\n }\n },\n\n 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 if (parameter.value == null) {\n buffer.writeBuffer(NULL_LENGTH);\n return;\n }\n\n const value = String(parameter.value);\n buffer.writeInt32LE(value.length * 2);\n buffer.writeString(value, 'ucs2');\n },\n\n validate: function(value): string | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n return value;\n }\n};\n\nexport default NText;\nmodule.exports = NText;\n"],"mappings":";;;;;;AAEA,MAAMA,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,MAAMC,YAAY,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEhE,MAAME,KAAe,GAAG;EACtBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,OAAO;EAEbC,YAAY,EAAE,IAAI;EAElBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,OAAO;EAChB,CAAC;EAEDC,aAAa,EAAE,SAAAA,CAASC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGD,SAAS,CAACC,KAAY,CAAC,CAAC;;IAEtC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOA,KAAK,CAACC,MAAM;IACrB,CAAC,MAAM;MACL,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EAEDC,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,IAAIA,SAAS,CAACC,KAAK,IAAI,IAAI,EAAE;MAC3BG,MAAM,CAACI,WAAW,CAACnB,WAAW,CAAC;MAC/B;IACF;IAEA,MAAMY,KAAK,GAAGW,MAAM,CAACZ,SAAS,CAACC,KAAK,CAAC;IACrCG,MAAM,CAACE,YAAY,CAACL,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC;IACrCE,MAAM,CAACS,WAAW,CAACZ,KAAK,EAAE,MAAM,CAAC;EACnC,CAAC;EAEDa,QAAQ,EAAE,SAAAA,CAASb,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIc,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,OAAOd,KAAK;EACd;AACF,CAAC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEazB,KAAK;AACpB0B,MAAM,CAACF,OAAO,GAAGxB,KAAK","ignoreList":[]}
@@ -11,13 +11,10 @@ const Null = {
11
11
  declaration() {
12
12
  throw new Error('not implemented');
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 Null = {
26
23
  };
27
24
  var _default = exports.default = Null;
28
25
  module.exports = Null;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiRXJyb3IiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ2YWxpZGF0ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9udWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOdWxsOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MUYsXG4gIHR5cGU6ICdOVUxMJyxcbiAgbmFtZTogJ051bGwnLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTnVsbDtcbm1vZHVsZS5leHBvcnRzID0gTnVsbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsTUFBTTtFQUVaQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURDLGdCQUFnQkEsQ0FBQSxFQUFHO0lBQ2pCLE1BQU0sSUFBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREUsdUJBQXVCQSxDQUFBLEVBQUc7SUFDeEIsTUFBTSxJQUFJRixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERyxxQkFBcUJBLENBQUEsRUFBRztJQUN0QixNQUFNLElBQUlILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURJLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU0sSUFBSUosS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDO0FBQ0YsQ0FBQztBQUFDLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWFaLElBQUk7QUFDbkJhLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHWCxJQUFJIiwiaWdub3JlTGlzdCI6W119
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiRXJyb3IiLCJ3cml0ZVR5cGVJbmZvIiwid3JpdGVWYWx1ZSIsInZhbGlkYXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL251bGwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE51bGw6IERhdGFUeXBlID0ge1xuICBpZDogMHgxRixcbiAgdHlwZTogJ05VTEwnLFxuICBuYW1lOiAnTnVsbCcsXG5cbiAgZGVjbGFyYXRpb24oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICB3cml0ZVR5cGVJbmZvKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgd3JpdGVWYWx1ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE51bGw7XG5tb2R1bGUuZXhwb3J0cyA9IE51bGw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLElBQWMsR0FBRztFQUNyQkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsSUFBSSxFQUFFLE1BQU07RUFFWkMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxhQUFhQSxDQUFBLEVBQUc7SUFDZCxNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLFVBQVVBLENBQUEsRUFBRztJQUNYLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcsUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEM7QUFDRixDQUFDO0FBQUMsSUFBQUksUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYVgsSUFBSTtBQUNuQlksTUFBTSxDQUFDRixPQUFPLEdBQUdWLElBQUkiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"null.js","names":["Null","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/null.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst Null: DataType = {\n id: 0x1F,\n type: 'NULL',\n name: 'Null',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n generateTypeInfo() {\n throw new Error('not implemented');\n },\n\n generateParameterLength() {\n throw new Error('not implemented');\n },\n\n generateParameterData() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default Null;\nmodule.exports = Null;\n"],"mappings":";;;;;;AAEA,MAAMA,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EAEZC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDI,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIJ,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,IAAI;AACnBa,MAAM,CAACF,OAAO,GAAGX,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"null.js","names":["Null","id","type","name","declaration","Error","writeTypeInfo","writeValue","validate","_default","exports","default","module"],"sources":["../../src/data-types/null.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst Null: DataType = {\n id: 0x1F,\n type: 'NULL',\n name: 'Null',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n 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 Null;\nmodule.exports = Null;\n"],"mappings":";;;;;;AAEA,MAAMA,IAAc,GAAG;EACrBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EAEZC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,aAAaA,CAAA,EAAG;IACd,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,UAAUA,CAAA,EAAG;IACX,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,GAEaX,IAAI;AACnBY,MAAM,CAACF,OAAO,GAAGV,IAAI","ignoreList":[]}
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _decimalCommon = require("./decimal-common");
7
8
  var _numericn = _interopRequireDefault(require("./numericn"));
8
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const NULL_LENGTH = Buffer.from([0x00]);
10
10
  const Numeric = {
11
11
  id: 0x3F,
12
12
  type: 'NUMERIC',
@@ -30,72 +30,11 @@ const Numeric = {
30
30
  return 0;
31
31
  }
32
32
  },
33
- generateTypeInfo(parameter) {
34
- let precision;
35
- if (parameter.precision <= 9) {
36
- precision = 0x05;
37
- } else if (parameter.precision <= 19) {
38
- precision = 0x09;
39
- } else if (parameter.precision <= 28) {
40
- precision = 0x0D;
41
- } else {
42
- precision = 0x11;
43
- }
44
- return Buffer.from([_numericn.default.id, precision, parameter.precision, parameter.scale]);
33
+ writeTypeInfo(buffer, parameter) {
34
+ (0, _decimalCommon.writeDecimalTypeInfo)(buffer, _numericn.default.id, parameter.precision, parameter.scale);
45
35
  },
46
- generateParameterLength(parameter, options) {
47
- if (parameter.value == null) {
48
- return NULL_LENGTH;
49
- }
50
- const precision = parameter.precision;
51
- if (precision <= 9) {
52
- return Buffer.from([0x05]);
53
- } else if (precision <= 19) {
54
- return Buffer.from([0x09]);
55
- } else if (precision <= 28) {
56
- return Buffer.from([0x0D]);
57
- } else {
58
- return Buffer.from([0x11]);
59
- }
60
- },
61
- *generateParameterData(parameter, options) {
62
- if (parameter.value == null) {
63
- return;
64
- }
65
- const sign = parameter.value < 0 ? 0 : 1;
66
- const precision = parameter.precision;
67
-
68
- // Number of bytes used to encode the unsigned magnitude for the resolved precision.
69
- let dataLength;
70
- if (precision <= 9) {
71
- dataLength = 4;
72
- } else if (precision <= 19) {
73
- dataLength = 8;
74
- } else if (precision <= 28) {
75
- dataLength = 12;
76
- } else {
77
- dataLength = 16;
78
- }
79
-
80
- // Encode the scaled magnitude as a little-endian unsigned integer spanning the
81
- // full width. Using a BigInt avoids the `RangeError` that was thrown when the
82
- // scaled value exceeded 2^64 for high-precision columns, and correctly fills the
83
- // high-order words instead of hardcoding them to zero.
84
- // See https://github.com/tediousjs/tedious/issues/1733
85
- let magnitude = BigInt(Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale))));
86
-
87
- // Guard against values that overflow the field: throwing here surfaces a
88
- // catchable error to the caller instead of silently truncating the magnitude.
89
- if (magnitude >= 1n << BigInt(8 * dataLength)) {
90
- throw new RangeError(`Value ${parameter.value} is out of range for NUMERIC(${precision}, ${parameter.scale}).`);
91
- }
92
- const buffer = Buffer.alloc(1 + dataLength);
93
- buffer.writeUInt8(sign, 0);
94
- for (let i = 1; i <= dataLength; i++) {
95
- buffer[i] = Number(magnitude & 0xffn);
96
- magnitude >>= 8n;
97
- }
98
- yield buffer;
36
+ writeValue(buffer, parameter) {
37
+ (0, _decimalCommon.writeDecimal)(buffer, parameter.value, parameter.precision, parameter.scale, 'NUMERIC');
99
38
  },
100
39
  validate: function (value) {
101
40
  if (value == null) {
@@ -110,4 +49,4 @@ const Numeric = {
110
49
  };
111
50
  var _default = exports.default = Numeric;
112
51
  module.exports = Numeric;
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbnVtZXJpY24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIk5VTExfTEVOR1RIIiwiQnVmZmVyIiwiZnJvbSIsIk51bWVyaWMiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJyZXNvbHZlUHJlY2lzaW9uIiwicmVzb2x2ZVNjYWxlIiwicHJlY2lzaW9uIiwidmFsdWUiLCJzY2FsZSIsImdlbmVyYXRlVHlwZUluZm8iLCJOdW1lcmljTiIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInNpZ24iLCJkYXRhTGVuZ3RoIiwibWFnbml0dWRlIiwiQmlnSW50IiwiTWF0aCIsInJvdW5kIiwiYWJzIiwicG93IiwiUmFuZ2VFcnJvciIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVVSW50OCIsImkiLCJOdW1iZXIiLCJ2YWxpZGF0ZSIsInBhcnNlRmxvYXQiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL251bWVyaWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgTnVtZXJpY04gZnJvbSAnLi9udW1lcmljbic7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcblxuY29uc3QgTnVtZXJpYzogRGF0YVR5cGUgJiB7IHJlc29sdmVTY2FsZTogTm9uTnVsbGFibGU8RGF0YVR5cGVbJ3Jlc29sdmVTY2FsZSddPiwgcmVzb2x2ZVByZWNpc2lvbjogTm9uTnVsbGFibGU8RGF0YVR5cGVbJ3Jlc29sdmVQcmVjaXNpb24nXT4gfSA9IHtcbiAgaWQ6IDB4M0YsXG4gIHR5cGU6ICdOVU1FUklDJyxcbiAgbmFtZTogJ051bWVyaWMnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICByZXR1cm4gJ251bWVyaWMoJyArICh0aGlzLnJlc29sdmVQcmVjaXNpb24ocGFyYW1ldGVyKSkgKyAnLCAnICsgKHRoaXMucmVzb2x2ZVNjYWxlKHBhcmFtZXRlcikpICsgJyknO1xuICB9LFxuXG4gIHJlc29sdmVQcmVjaXNpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIucHJlY2lzaW9uO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDE4O1xuICAgIH1cbiAgfSxcblxuICByZXNvbHZlU2NhbGU6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIuc2NhbGUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlci5zY2FsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyKSB7XG4gICAgbGV0IHByZWNpc2lvbjtcbiAgICBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gOSkge1xuICAgICAgcHJlY2lzaW9uID0gMHgwNTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24hIDw9IDE5KSB7XG4gICAgICBwcmVjaXNpb24gPSAweDA5O1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gMjgpIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MEQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFtOdW1lcmljTi5pZCwgcHJlY2lzaW9uLCBwYXJhbWV0ZXIucHJlY2lzaW9uISwgcGFyYW1ldGVyLnNjYWxlIV0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWNpc2lvbiA9IHBhcmFtZXRlci5wcmVjaXNpb24hO1xuICAgIGlmIChwcmVjaXNpb24gPD0gOSkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA1XSk7XG4gICAgfSBlbHNlIGlmIChwcmVjaXNpb24gPD0gMTkpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgwOV0pO1xuICAgIH0gZWxzZSBpZiAocHJlY2lzaW9uIDw9IDI4KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MERdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDExXSk7XG4gICAgfVxuICB9LFxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ24gPSBwYXJhbWV0ZXIudmFsdWUgPCAwID8gMCA6IDE7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gcGFyYW1ldGVyLnByZWNpc2lvbiE7XG5cbiAgICAvLyBOdW1iZXIgb2YgYnl0ZXMgdXNlZCB0byBlbmNvZGUgdGhlIHVuc2lnbmVkIG1hZ25pdHVkZSBmb3IgdGhlIHJlc29sdmVkIHByZWNpc2lvbi5cbiAgICBsZXQgZGF0YUxlbmd0aDtcbiAgICBpZiAocHJlY2lzaW9uIDw9IDkpIHtcbiAgICAgIGRhdGFMZW5ndGggPSA0O1xuICAgIH0gZWxzZSBpZiAocHJlY2lzaW9uIDw9IDE5KSB7XG4gICAgICBkYXRhTGVuZ3RoID0gODtcbiAgICB9IGVsc2UgaWYgKHByZWNpc2lvbiA8PSAyOCkge1xuICAgICAgZGF0YUxlbmd0aCA9IDEyO1xuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhTGVuZ3RoID0gMTY7XG4gICAgfVxuXG4gICAgLy8gRW5jb2RlIHRoZSBzY2FsZWQgbWFnbml0dWRlIGFzIGEgbGl0dGxlLWVuZGlhbiB1bnNpZ25lZCBpbnRlZ2VyIHNwYW5uaW5nIHRoZVxuICAgIC8vIGZ1bGwgd2lkdGguIFVzaW5nIGEgQmlnSW50IGF2b2lkcyB0aGUgYFJhbmdlRXJyb3JgIHRoYXQgd2FzIHRocm93biB3aGVuIHRoZVxuICAgIC8vIHNjYWxlZCB2YWx1ZSBleGNlZWRlZCAyXjY0IGZvciBoaWdoLXByZWNpc2lvbiBjb2x1bW5zLCBhbmQgY29ycmVjdGx5IGZpbGxzIHRoZVxuICAgIC8vIGhpZ2gtb3JkZXIgd29yZHMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZW0gdG8gemVyby5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3RlZGlvdXNqcy90ZWRpb3VzL2lzc3Vlcy8xNzMzXG4gICAgbGV0IG1hZ25pdHVkZSA9IEJpZ0ludChNYXRoLnJvdW5kKE1hdGguYWJzKHBhcmFtZXRlci52YWx1ZSAqIE1hdGgucG93KDEwLCBwYXJhbWV0ZXIuc2NhbGUhKSkpKTtcblxuICAgIC8vIEd1YXJkIGFnYWluc3QgdmFsdWVzIHRoYXQgb3ZlcmZsb3cgdGhlIGZpZWxkOiB0aHJvd2luZyBoZXJlIHN1cmZhY2VzIGFcbiAgICAvLyBjYXRjaGFibGUgZXJyb3IgdG8gdGhlIGNhbGxlciBpbnN0ZWFkIG9mIHNpbGVudGx5IHRydW5jYXRpbmcgdGhlIG1hZ25pdHVkZS5cbiAgICBpZiAobWFnbml0dWRlID49ICgxbiA8PCBCaWdJbnQoOCAqIGRhdGFMZW5ndGgpKSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFZhbHVlICR7cGFyYW1ldGVyLnZhbHVlfSBpcyBvdXQgb2YgcmFuZ2UgZm9yIE5VTUVSSUMoJHtwcmVjaXNpb259LCAke3BhcmFtZXRlci5zY2FsZX0pLmApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxICsgZGF0YUxlbmd0aCk7XG4gICAgYnVmZmVyLndyaXRlVUludDgoc2lnbiwgMCk7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gZGF0YUxlbmd0aDsgaSsrKSB7XG4gICAgICBidWZmZXJbaV0gPSBOdW1iZXIobWFnbml0dWRlICYgMHhmZm4pO1xuICAgICAgbWFnbml0dWRlID4+PSA4bjtcbiAgICB9XG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG51bWJlci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOdW1lcmljO1xubW9kdWxlLmV4cG9ydHMgPSBOdW1lcmljO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBa0MsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFbEMsTUFBTUcsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZDLE1BQU1DLE9BQXdJLEdBQUc7RUFDL0lDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLElBQUksRUFBRSxTQUFTO0VBRWZDLFdBQVcsRUFBRSxTQUFB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QUcsQ0FBQztJQUNoQixDQUFDLE1BQU0sSUFBSVQsU0FBUyxJQUFJLEVBQUUsRUFBRTtNQUMxQlMsVUFBVSxHQUFHLEVBQUU7SUFDakIsQ0FBQyxNQUFNO01BQ0xBLFVBQVUsR0FBRyxFQUFFO0lBQ2pCOztJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJQyxTQUFTLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNELElBQUksQ0FBQ0UsR0FBRyxDQUFDakIsU0FBUyxDQUFDSSxLQUFLLEdBQUdXLElBQUksQ0FBQ0csR0FBRyxDQUFDLEVBQUUsRUFBRWxCLFNBQVMsQ0FBQ0ssS0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDOztJQUU5RjtJQUNBO0lBQ0EsSUFBSVEsU0FBUyxJQUFLLEVBQUUsSUFBSUMsTUFBTSxDQUFDLENBQUMsR0FBR0YsVUFBVSxDQUFFLEVBQUU7TUFDL0MsTUFBTSxJQUFJTyxVQUFVLENBQUMsU0FBU25CLFNBQVMsQ0FBQ0ksS0FBSyxnQ0FBZ0NELFNBQVMsS0FBS0gsU0FBUyxDQUFDSyxLQUFLLElBQUksQ0FBQztJQUNqSDtJQUVBLE1BQU1lLE1BQU0sR0FBRzNCLE1BQU0sQ0FBQzRCLEtBQUssQ0FBQyxDQUFDLEdBQUdULFVBQVUsQ0FBQztJQUMzQ1EsTUFBTSxDQUFDRSxVQUFVLENBQUNYLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUIsS0FBSyxJQUFJWSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLElBQUlYLFVBQVUsRUFBRVcsQ0FBQyxFQUFFLEVBQUU7TUFDcENILE1BQU0sQ0FBQ0csQ0FBQyxDQUFDLEdBQUdDLE1BQU0sQ0FBQ1gsU0FBUyxHQUFHLEtBQUssQ0FBQztNQUNyQ0EsU0FBUyxLQUFLLEVBQUU7SUFDbEI7SUFDQSxNQUFNTyxNQUFNO0VBQ2QsQ0FBQztFQUVESyxRQUFRLEVBQUUsU0FBQUEsQ0FBU3JCLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUNBQSxLQUFLLEdBQUdzQixVQUFVLENBQUN0QixLQUFLLENBQUM7SUFDekIsSUFBSXVCLEtBQUssQ0FBQ3ZCLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSXdCLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QztJQUNBLE9BQU94QixLQUFLO0VBQ2Q7QUFDRixDQUFDO0FBQUMsSUFBQXlCLFFBQUEsR0FBQUMsT0FBQSxDQUFBdkMsT0FBQSxHQUVhSSxPQUFPO0FBQ3RCb0MsTUFBTSxDQUFDRCxPQUFPLEdBQUduQyxPQUFPIiwiaWdub3JlTGlzdCI6W119
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVjaW1hbENvbW1vbiIsInJlcXVpcmUiLCJfbnVtZXJpY24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiTnVtZXJpYyIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInJlc29sdmVQcmVjaXNpb24iLCJyZXNvbHZlU2NhbGUiLCJwcmVjaXNpb24iLCJ2YWx1ZSIsInNjYWxlIiwid3JpdGVUeXBlSW5mbyIsImJ1ZmZlciIsIndyaXRlRGVjaW1hbFR5cGVJbmZvIiwiTnVtZXJpY04iLCJ3cml0ZVZhbHVlIiwid3JpdGVEZWNpbWFsIiwidmFsaWRhdGUiLCJwYXJzZUZsb2F0IiwiaXNOYU4iLCJUeXBlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9udW1lcmljLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgd3JpdGVEZWNpbWFsLCB3cml0ZURlY2ltYWxUeXBlSW5mbyB9IGZyb20gJy4vZGVjaW1hbC1jb21tb24nO1xuaW1wb3J0IE51bWVyaWNOIGZyb20gJy4vbnVtZXJpY24nO1xuXG5jb25zdCBOdW1lcmljOiBEYXRhVHlwZSAmIHsgcmVzb2x2ZVNjYWxlOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVNjYWxlJ10+LCByZXNvbHZlUHJlY2lzaW9uOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVByZWNpc2lvbiddPiB9ID0ge1xuICBpZDogMHgzRixcbiAgdHlwZTogJ05VTUVSSUMnLFxuICBuYW1lOiAnTnVtZXJpYycsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIHJldHVybiAnbnVtZXJpYygnICsgKHRoaXMucmVzb2x2ZVByZWNpc2lvbihwYXJhbWV0ZXIpKSArICcsICcgKyAodGhpcy5yZXNvbHZlU2NhbGUocGFyYW1ldGVyKSkgKyAnKSc7XG4gIH0sXG5cbiAgcmVzb2x2ZVByZWNpc2lvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24gIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlci5wcmVjaXNpb247XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMTg7XG4gICAgfVxuICB9LFxuXG4gIHJlc29sdmVTY2FsZTogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci5zY2FsZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLnNjYWxlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH0sXG5cbiAgd3JpdGVUeXBlSW5mbyhidWZmZXIsIHBhcmFtZXRlcikge1xuICAgIHdyaXRlRGVjaW1hbFR5cGVJbmZvKGJ1ZmZlciwgTnVtZXJpY04uaWQsIHBhcmFtZXRlci5wcmVjaXNpb24sIHBhcmFtZXRlci5zY2FsZSk7XG4gIH0sXG5cbiAgd3JpdGVWYWx1ZShidWZmZXIsIHBhcmFtZXRlcikge1xuICAgIHdyaXRlRGVjaW1hbChidWZmZXIsIHBhcmFtZXRlci52YWx1ZSBhcyBudW1iZXIgfCBudWxsLCBwYXJhbWV0ZXIucHJlY2lzaW9uLCBwYXJhbWV0ZXIuc2NhbGUsICdOVU1FUklDJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogbnVsbCB8IG51bWJlciB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbnVtYmVyLicpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE51bWVyaWM7XG5tb2R1bGUuZXhwb3J0cyA9IE51bWVyaWM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLGNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFrQyxTQUFBRSx1QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVsQyxNQUFNRyxPQUF3SSxHQUFHO0VBQy9JQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxJQUFJLEVBQUUsU0FBUztFQUVmQyxXQUFXLEVBQUUsU0FBQUEsQ0FBU0MsU0FBUyxFQUFFO0lBQy9CLE9BQU8sVUFBVSxHQUFJLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUNELFNBQVMsQ0FBRSxHQUFHLElBQUksR0FBSSxJQUFJLENBQUNFLFlBQVksQ0FBQ0YsU0FBUyxDQUFFLEdBQUcsR0FBRztFQUN0RyxDQUFDO0VBRURDLGdCQUFnQixFQUFFLFNBQUFBLENBQVNELFNBQVMsRUFBRTtJQUNwQyxJQUFJQSxTQUFTLENBQUNHLFNBQVMsSUFBSSxJQUFJLEVBQUU7TUFDL0IsT0FBT0gsU0FBUyxDQUFDRyxTQUFTO0lBQzVCLENBQUMsTUFBTSxJQUFJSCxTQUFTLENBQUNJLEtBQUssS0FBSyxJQUFJLEVBQUU7TUFDbkMsT0FBTyxDQUFDO0lBQ1YsQ0FBQyxNQUFNO01BQ0wsT0FBTyxFQUFFO0lBQ1g7RUFDRixDQUFDO0VBRURGLFlBQVksRUFBRSxTQUFBQSxDQUFTRixTQUFTLEVBQUU7SUFDaEMsSUFBSUEsU0FBUyxDQUFDSyxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCLE9BQU9MLFNBQVMsQ0FBQ0ssS0FBSztJQUN4QixDQUFDLE1BQU07TUFDTCxPQUFPLENBQUM7SUFDVjtFQUNGLENBQUM7RUFFREMsYUFBYUEsQ0FBQ0MsTUFBTSxFQUFFUCxTQUFTLEVBQUU7SUFDL0IsSUFBQVEsbUNBQW9CLEVBQUNELE1BQU0sRUFBRUUsaUJBQVEsQ0FBQ2IsRUFBRSxFQUFFSSxTQUFTLENBQUNHLFNBQVMsRUFBRUgsU0FBUyxDQUFDSyxLQUFLLENBQUM7RUFDakYsQ0FBQztFQUVESyxVQUFVQSxDQUFDSCxNQUFNLEVBQUVQLFNBQVMsRUFBRTtJQUM1QixJQUFBVywyQkFBWSxFQUFDSixNQUFNLEVBQUVQLFNBQVMsQ0FBQ0ksS0FBSyxFQUFtQkosU0FBUyxDQUFDRyxTQUFTLEVBQUVILFNBQVMsQ0FBQ0ssS0FBSyxFQUFFLFNBQVMsQ0FBQztFQUN6RyxDQUFDO0VBRURPLFFBQVEsRUFBRSxTQUFBQSxDQUFTUixLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFDQUEsS0FBSyxHQUFHUyxVQUFVLENBQUNULEtBQUssQ0FBQztJQUN6QixJQUFJVSxLQUFLLENBQUNWLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSVcsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBQ0EsT0FBT1gsS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUFDLElBQUFZLFFBQUEsR0FBQUMsT0FBQSxDQUFBdkIsT0FBQSxHQUVhQyxPQUFPO0FBQ3RCdUIsTUFBTSxDQUFDRCxPQUFPLEdBQUd0QixPQUFPIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"numeric.js","names":["_numericn","_interopRequireDefault","require","e","__esModule","default","NULL_LENGTH","Buffer","from","Numeric","id","type","name","declaration","parameter","resolvePrecision","resolveScale","precision","value","scale","generateTypeInfo","NumericN","generateParameterLength","options","generateParameterData","sign","dataLength","magnitude","BigInt","Math","round","abs","pow","RangeError","buffer","alloc","writeUInt8","i","Number","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/numeric.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport NumericN from './numericn';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst Numeric: DataType & { resolveScale: NonNullable<DataType['resolveScale']>, resolvePrecision: NonNullable<DataType['resolvePrecision']> } = {\n id: 0x3F,\n type: 'NUMERIC',\n name: 'Numeric',\n\n declaration: function(parameter) {\n return 'numeric(' + (this.resolvePrecision(parameter)) + ', ' + (this.resolveScale(parameter)) + ')';\n },\n\n resolvePrecision: function(parameter) {\n if (parameter.precision != null) {\n return parameter.precision;\n } else if (parameter.value === null) {\n return 1;\n } else {\n return 18;\n }\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else {\n return 0;\n }\n },\n\n generateTypeInfo(parameter) {\n let precision;\n if (parameter.precision! <= 9) {\n precision = 0x05;\n } else if (parameter.precision! <= 19) {\n precision = 0x09;\n } else if (parameter.precision! <= 28) {\n precision = 0x0D;\n } else {\n precision = 0x11;\n }\n\n return Buffer.from([NumericN.id, precision, parameter.precision!, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const precision = parameter.precision!;\n if (precision <= 9) {\n return Buffer.from([0x05]);\n } else if (precision <= 19) {\n return Buffer.from([0x09]);\n } else if (precision <= 28) {\n return Buffer.from([0x0D]);\n } else {\n return Buffer.from([0x11]);\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const sign = parameter.value < 0 ? 0 : 1;\n const precision = parameter.precision!;\n\n // Number of bytes used to encode the unsigned magnitude for the resolved precision.\n let dataLength;\n if (precision <= 9) {\n dataLength = 4;\n } else if (precision <= 19) {\n dataLength = 8;\n } else if (precision <= 28) {\n dataLength = 12;\n } else {\n dataLength = 16;\n }\n\n // Encode the scaled magnitude as a little-endian unsigned integer spanning the\n // full width. Using a BigInt avoids the `RangeError` that was thrown when the\n // scaled value exceeded 2^64 for high-precision columns, and correctly fills the\n // high-order words instead of hardcoding them to zero.\n // See https://github.com/tediousjs/tedious/issues/1733\n let magnitude = BigInt(Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale!))));\n\n // Guard against values that overflow the field: throwing here surfaces a\n // catchable error to the caller instead of silently truncating the magnitude.\n if (magnitude >= (1n << BigInt(8 * dataLength))) {\n throw new RangeError(`Value ${parameter.value} is out of range for NUMERIC(${precision}, ${parameter.scale}).`);\n }\n\n const buffer = Buffer.alloc(1 + dataLength);\n buffer.writeUInt8(sign, 0);\n for (let i = 1; i <= dataLength; i++) {\n buffer[i] = Number(magnitude & 0xffn);\n magnitude >>= 8n;\n }\n yield buffer;\n },\n\n validate: function(value): null | number {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n return value;\n }\n};\n\nexport default Numeric;\nmodule.exports = Numeric;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"numeric.js","names":["_decimalCommon","require","_numericn","_interopRequireDefault","e","__esModule","default","Numeric","id","type","name","declaration","parameter","resolvePrecision","resolveScale","precision","value","scale","writeTypeInfo","buffer","writeDecimalTypeInfo","NumericN","writeValue","writeDecimal","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/numeric.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport { writeDecimal, writeDecimalTypeInfo } from './decimal-common';\nimport NumericN from './numericn';\n\nconst Numeric: DataType & { resolveScale: NonNullable<DataType['resolveScale']>, resolvePrecision: NonNullable<DataType['resolvePrecision']> } = {\n id: 0x3F,\n type: 'NUMERIC',\n name: 'Numeric',\n\n declaration: function(parameter) {\n return 'numeric(' + (this.resolvePrecision(parameter)) + ', ' + (this.resolveScale(parameter)) + ')';\n },\n\n resolvePrecision: function(parameter) {\n if (parameter.precision != null) {\n return parameter.precision;\n } else if (parameter.value === null) {\n return 1;\n } else {\n return 18;\n }\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else {\n return 0;\n }\n },\n\n writeTypeInfo(buffer, parameter) {\n writeDecimalTypeInfo(buffer, NumericN.id, parameter.precision, parameter.scale);\n },\n\n writeValue(buffer, parameter) {\n writeDecimal(buffer, parameter.value as number | null, parameter.precision, parameter.scale, 'NUMERIC');\n },\n\n validate: function(value): null | number {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n return value;\n }\n};\n\nexport default Numeric;\nmodule.exports = Numeric;\n"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAkC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,OAAwI,GAAG;EAC/IC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EAEfC,WAAW,EAAE,SAAAA,CAASC,SAAS,EAAE;IAC/B,OAAO,UAAU,GAAI,IAAI,CAACC,gBAAgB,CAACD,SAAS,CAAE,GAAG,IAAI,GAAI,IAAI,CAACE,YAAY,CAACF,SAAS,CAAE,GAAG,GAAG;EACtG,CAAC;EAEDC,gBAAgB,EAAE,SAAAA,CAASD,SAAS,EAAE;IACpC,IAAIA,SAAS,CAACG,SAAS,IAAI,IAAI,EAAE;MAC/B,OAAOH,SAAS,CAACG,SAAS;IAC5B,CAAC,MAAM,IAAIH,SAAS,CAACI,KAAK,KAAK,IAAI,EAAE;MACnC,OAAO,CAAC;IACV,CAAC,MAAM;MACL,OAAO,EAAE;IACX;EACF,CAAC;EAEDF,YAAY,EAAE,SAAAA,CAASF,SAAS,EAAE;IAChC,IAAIA,SAAS,CAACK,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOL,SAAS,CAACK,KAAK;IACxB,CAAC,MAAM;MACL,OAAO,CAAC;IACV;EACF,CAAC;EAEDC,aAAaA,CAACC,MAAM,EAAEP,SAAS,EAAE;IAC/B,IAAAQ,mCAAoB,EAACD,MAAM,EAAEE,iBAAQ,CAACb,EAAE,EAAEI,SAAS,CAACG,SAAS,EAAEH,SAAS,CAACK,KAAK,CAAC;EACjF,CAAC;EAEDK,UAAUA,CAACH,MAAM,EAAEP,SAAS,EAAE;IAC5B,IAAAW,2BAAY,EAACJ,MAAM,EAAEP,SAAS,CAACI,KAAK,EAAmBJ,SAAS,CAACG,SAAS,EAAEH,SAAS,CAACK,KAAK,EAAE,SAAS,CAAC;EACzG,CAAC;EAEDO,QAAQ,EAAE,SAAAA,CAASR,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGS,UAAU,CAACT,KAAK,CAAC;IACzB,IAAIU,KAAK,CAACV,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIW,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA,OAAOX,KAAK;EACd;AACF,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,CAAAvB,OAAA,GAEaC,OAAO;AACtBuB,MAAM,CAACD,OAAO,GAAGtB,OAAO","ignoreList":[]}
@@ -11,13 +11,10 @@ const NumericN = {
11
11
  declaration() {
12
12
  throw new Error('not implemented');
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 NumericN = {
26
23
  };
27
24
  var _default = exports.default = NumericN;
28
25
  module.exports = NumericN;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1lcmljTiIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIkVycm9yIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvbnVtZXJpY24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE51bWVyaWNOOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NkMsXG4gIHR5cGU6ICdOVU1FUklDTicsXG4gIG5hbWU6ICdOdW1lcmljTicsXG5cbiAgZGVjbGFyYXRpb24oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGEoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICB2YWxpZGF0ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOdW1lcmljTjtcbm1vZHVsZS5leHBvcnRzID0gTnVtZXJpY047XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLFFBQWtCLEdBQUc7RUFDekJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxVQUFVO0VBQ2hCQyxJQUFJLEVBQUUsVUFBVTtFQUVoQkMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHVCQUF1QkEsQ0FBQSxFQUFHO0lBQ3hCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcscUJBQXFCQSxDQUFBLEVBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVESSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhWixRQUFRO0FBQ3ZCYSxNQUFNLENBQUNGLE9BQU8sR0FBR1gsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1lcmljTiIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIkVycm9yIiwid3JpdGVUeXBlSW5mbyIsIndyaXRlVmFsdWUiLCJ2YWxpZGF0ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9udW1lcmljbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTnVtZXJpY046IERhdGFUeXBlID0ge1xuICBpZDogMHg2QyxcbiAgdHlwZTogJ05VTUVSSUNOJyxcbiAgbmFtZTogJ051bWVyaWNOJyxcblxuICBkZWNsYXJhdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIHdyaXRlVHlwZUluZm8oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTnVtZXJpY047XG5tb2R1bGUuZXhwb3J0cyA9IE51bWVyaWNOO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxRQUFrQixHQUFHO0VBQ3pCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsVUFBVTtFQUNoQkMsSUFBSSxFQUFFLFVBQVU7RUFFaEJDLFdBQVdBLENBQUEsRUFBRztJQUNaLE1BQU0sSUFBSUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREMsYUFBYUEsQ0FBQSxFQUFHO0lBQ2QsTUFBTSxJQUFJRCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVERSxVQUFVQSxDQUFBLEVBQUc7SUFDWCxNQUFNLElBQUlGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURHLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU0sSUFBSUgsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDO0FBQ0YsQ0FBQztBQUFDLElBQUFJLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWFYLFFBQVE7QUFDdkJZLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHVixRQUFRIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"numericn.js","names":["NumericN","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/numericn.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst NumericN: DataType = {\n id: 0x6C,\n type: 'NUMERICN',\n name: 'NumericN',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n generateTypeInfo() {\n throw new Error('not implemented');\n },\n\n generateParameterLength() {\n throw new Error('not implemented');\n },\n\n generateParameterData() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default NumericN;\nmodule.exports = NumericN;\n"],"mappings":";;;;;;AAEA,MAAMA,QAAkB,GAAG;EACzBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,UAAU;EAEhBC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDI,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIJ,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,QAAQ;AACvBa,MAAM,CAACF,OAAO,GAAGX,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"numericn.js","names":["NumericN","id","type","name","declaration","Error","writeTypeInfo","writeValue","validate","_default","exports","default","module"],"sources":["../../src/data-types/numericn.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst NumericN: DataType = {\n id: 0x6C,\n type: 'NUMERICN',\n name: 'NumericN',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n 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 NumericN;\nmodule.exports = NumericN;\n"],"mappings":";;;;;;AAEA,MAAMA,QAAkB,GAAG;EACzBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,UAAU;EAEhBC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,aAAaA,CAAA,EAAG;IACd,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,UAAUA,CAAA,EAAG;IACX,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,GAEaX,QAAQ;AACvBY,MAAM,CAACF,OAAO,GAAGV,QAAQ","ignoreList":[]}