tedious 16.7.0 → 17.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"datetimeoffset.js","names":["_core","require","_writableTrackingBuffer","_interopRequireDefault","obj","__esModule","default","EPOCH_DATE","LocalDate","ofYearDay","NULL_LENGTH","Buffer","from","MIN_DATE","Date","MAX_DATE","DateTimeOffset","id","type","name","declaration","parameter","resolveScale","scale","value","generateTypeInfo","generateParameterLength","options","Error","generateParameterData","buffer","WritableTrackingBuffer","timestamp","getUTCHours","getUTCMinutes","getUTCSeconds","getMilliseconds","Math","pow","nanosecondDelta","round","writeUInt24LE","writeUInt32LE","writeUInt40LE","date","of","getUTCFullYear","getUTCMonth","getUTCDate","days","until","ChronoUnit","DAYS","offset","getTimezoneOffset","writeInt16LE","data","validate","collation","parse","useUTC","toUTCString","TypeError","isNaN","_default","exports","module"],"sources":["../../src/data-types/datetimeoffset.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport { ChronoUnit, LocalDate } from '@js-joda/core';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst EPOCH_DATE = LocalDate.ofYearDay(1, 1);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst MIN_DATE = new Date('January 1, 0001');\nconst MAX_DATE = new Date('December 31, 9999');\n\nconst DateTimeOffset: DataType & { resolveScale: NonNullable<DataType['resolveScale']> } = {\n id: 0x2B,\n type: 'DATETIMEOFFSETN',\n name: 'DateTimeOffset',\n declaration: function(parameter) {\n return 'datetimeoffset(' + (this.resolveScale(parameter)) + ')';\n },\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else if (parameter.value === null) {\n return 0;\n } else {\n return 7;\n }\n },\n\n generateTypeInfo(parameter) {\n return Buffer.from([this.id, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n switch (parameter.scale) {\n case 0:\n case 1:\n case 2:\n return Buffer.from([0x08]);\n\n case 3:\n case 4:\n return Buffer.from([0x09]);\n\n case 5:\n case 6:\n case 7:\n return Buffer.from([0x0A]);\n\n default:\n throw new Error('invalid scale');\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const value = parameter.value;\n let scale = parameter.scale;\n\n const buffer = new WritableTrackingBuffer(16);\n scale = scale!;\n\n let timestamp: number;\n timestamp = ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getMilliseconds();\n timestamp = timestamp * Math.pow(10, scale - 3);\n timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);\n timestamp = Math.round(timestamp);\n\n switch (scale) {\n case 0:\n case 1:\n case 2:\n buffer.writeUInt24LE(timestamp);\n break;\n case 3:\n case 4:\n buffer.writeUInt32LE(timestamp);\n break;\n case 5:\n case 6:\n case 7:\n buffer.writeUInt40LE(timestamp);\n }\n\n const date = LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());\n const days = EPOCH_DATE.until(date, ChronoUnit.DAYS);\n buffer.writeUInt24LE(days);\n\n const offset = -value.getTimezoneOffset();\n buffer.writeInt16LE(offset);\n yield buffer.data;\n },\n validate: function(value: any, collation, options): null | number {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n value = value as Date;\n\n // TODO: check date range: January 1, 0001, through December 31, 9999\n // : time range: 00:00:00 through 23:59:59.997\n if (options && options.useUTC) {\n value = new Date(value.toUTCString());\n }\n\n if (value < MIN_DATE || value > MAX_DATE) {\n throw new TypeError('Out of range.');\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid date.');\n }\n\n return value;\n }\n};\n\nexport default DateTimeOffset;\nmodule.exports = DateTimeOffset;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAiF,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEjF,MAAMG,UAAU,GAAGC,eAAS,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5C,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAMC,QAAQ,GAAG,IAAIC,IAAI,CAAC,iBAAiB,CAAC;AAC5C,MAAMC,QAAQ,GAAG,IAAID,IAAI,CAAC,mBAAmB,CAAC;AAE9C,MAAME,cAAkF,GAAG;EACzFC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,iBAAiB;EACvBC,IAAI,EAAE,gBAAgB;EACtBC,WAAW,EAAE,SAAAA,CAASC,SAAS,EAAE;IAC/B,OAAO,iBAAiB,GAAI,IAAI,CAACC,YAAY,CAACD,SAAS,CAAE,GAAG,GAAG;EACjE,CAAC;EACDC,YAAY,EAAE,SAAAA,CAASD,SAAS,EAAE;IAChC,IAAIA,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOF,SAAS,CAACE,KAAK;IACxB,CAAC,MAAM,IAAIF,SAAS,CAACG,KAAK,KAAK,IAAI,EAAE;MACnC,OAAO,CAAC;IACV,CAAC,MAAM;MACL,OAAO,CAAC;IACV;EACF,CAAC;EAEDC,gBAAgBA,CAACJ,SAAS,EAAE;IAC1B,OAAOV,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAACK,EAAE,EAAEI,SAAS,CAACE,KAAK,CAAE,CAAC;EACjD,CAAC;EAEDG,uBAAuBA,CAACL,SAAS,EAAEM,OAAO,EAAE;IAC1C,IAAIN,SAAS,CAACG,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOd,WAAW;IACpB;IAEA,QAAQW,SAAS,CAACE,KAAK;MACrB,KAAK,CAAC;MACN,KAAK,CAAC;MACN,KAAK,CAAC;QACJ,OAAOZ,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;MAE5B,KAAK,CAAC;MACN,KAAK,CAAC;QACJ,OAAOD,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;MAE5B,KAAK,CAAC;MACN,KAAK,CAAC;MACN,KAAK,CAAC;QACJ,OAAOD,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;MAE5B;QACE,MAAM,IAAIgB,KAAK,CAAC,eAAe,CAAC;IACpC;EACF,CAAC;EAED,CAAEC,qBAAqBA,CAACR,SAAS,EAAEM,OAAO,EAAE;IAC1C,IAAIN,SAAS,CAACG,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAMA,KAAK,GAAGH,SAAS,CAACG,KAAK;IAC7B,IAAID,KAAK,GAAGF,SAAS,CAACE,KAAK;IAE3B,MAAMO,MAAM,GAAG,IAAIC,+BAAsB,CAAC,EAAE,CAAC;IAC7CR,KAAK,GAAGA,KAAM;IAEd,IAAIS,SAAiB;IACrBA,SAAS,GAAG,CAAC,CAACR,KAAK,CAACS,WAAW,CAAC,CAAC,GAAG,EAAE,GAAGT,KAAK,CAACU,aAAa,CAAC,CAAC,IAAI,EAAE,GAAGV,KAAK,CAACW,aAAa,CAAC,CAAC,IAAI,IAAI,GAAGX,KAAK,CAACY,eAAe,CAAC,CAAC;IAC9HJ,SAAS,GAAGA,SAAS,GAAGK,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEf,KAAK,GAAG,CAAC,CAAC;IAC/CS,SAAS,IAAI,CAACR,KAAK,CAACe,eAAe,IAAI,IAAI,GAAGf,KAAK,CAACe,eAAe,GAAG,CAAC,IAAIF,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEf,KAAK,CAAC;IAC9FS,SAAS,GAAGK,IAAI,CAACG,KAAK,CAACR,SAAS,CAAC;IAEjC,QAAQT,KAAK;MACX,KAAK,CAAC;MACN,KAAK,CAAC;MACN,KAAK,CAAC;QACJO,MAAM,CAACW,aAAa,CAACT,SAAS,CAAC;QAC/B;MACF,KAAK,CAAC;MACN,KAAK,CAAC;QACJF,MAAM,CAACY,aAAa,CAACV,SAAS,CAAC;QAC/B;MACF,KAAK,CAAC;MACN,KAAK,CAAC;MACN,KAAK,CAAC;QACJF,MAAM,CAACa,aAAa,CAACX,SAAS,CAAC;IACnC;IAEA,MAAMY,IAAI,GAAGpC,eAAS,CAACqC,EAAE,CAACrB,KAAK,CAACsB,cAAc,CAAC,CAAC,EAAEtB,KAAK,CAACuB,WAAW,CAAC,CAAC,GAAG,CAAC,EAAEvB,KAAK,CAACwB,UAAU,CAAC,CAAC,CAAC;IAC9F,MAAMC,IAAI,GAAG1C,UAAU,CAAC2C,KAAK,CAACN,IAAI,EAAEO,gBAAU,CAACC,IAAI,CAAC;IACpDtB,MAAM,CAACW,aAAa,CAACQ,IAAI,CAAC;IAE1B,MAAMI,MAAM,GAAG,CAAC7B,KAAK,CAAC8B,iBAAiB,CAAC,CAAC;IACzCxB,MAAM,CAACyB,YAAY,CAACF,MAAM,CAAC;IAC3B,MAAMvB,MAAM,CAAC0B,IAAI;EACnB,CAAC;EACDC,QAAQ,EAAE,SAAAA,CAASjC,KAAU,EAAEkC,SAAS,EAAE/B,OAAO,EAAiB;IAChE,IAAIH,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,EAAEA,KAAK,YAAYV,IAAI,CAAC,EAAE;MAC5BU,KAAK,GAAG,IAAIV,IAAI,CAACA,IAAI,CAAC6C,KAAK,CAACnC,KAAK,CAAC,CAAC;IACrC;IAEAA,KAAK,GAAGA,KAAa;;IAErB;IACA;IACA,IAAIG,OAAO,IAAIA,OAAO,CAACiC,MAAM,EAAE;MAC7BpC,KAAK,GAAG,IAAIV,IAAI,CAACU,KAAK,CAACqC,WAAW,CAAC,CAAC,CAAC;IACvC;IAEA,IAAIrC,KAAK,GAAGX,QAAQ,IAAIW,KAAK,GAAGT,QAAQ,EAAE;MACxC,MAAM,IAAI+C,SAAS,CAAC,eAAe,CAAC;IACtC;IAEA,IAAIC,KAAK,CAACvC,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIsC,SAAS,CAAC,eAAe,CAAC;IACtC;IAEA,OAAOtC,KAAK;EACd;AACF,CAAC;AAAC,IAAAwC,QAAA,GAEahD,cAAc;AAAAiD,OAAA,CAAA3D,OAAA,GAAA0D,QAAA;AAC7BE,MAAM,CAACD,OAAO,GAAGjD,cAAc"}
1
+ {"version":3,"file":"datetimeoffset.js","names":["_core","require","_writableTrackingBuffer","_interopRequireDefault","obj","__esModule","default","EPOCH_DATE","LocalDate","ofYearDay","NULL_LENGTH","Buffer","from","DateTimeOffset","id","type","name","declaration","parameter","resolveScale","scale","value","generateTypeInfo","generateParameterLength","options","Error","generateParameterData","buffer","WritableTrackingBuffer","timestamp","getUTCHours","getUTCMinutes","getUTCSeconds","getMilliseconds","Math","pow","nanosecondDelta","round","writeUInt24LE","writeUInt32LE","writeUInt40LE","date","of","getUTCFullYear","getUTCMonth","getUTCDate","days","until","ChronoUnit","DAYS","offset","getTimezoneOffset","writeInt16LE","data","validate","collation","Date","parse","year","useUTC","getFullYear","TypeError","isNaN","_default","exports","module"],"sources":["../../src/data-types/datetimeoffset.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport { ChronoUnit, LocalDate } from '@js-joda/core';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst EPOCH_DATE = LocalDate.ofYearDay(1, 1);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst DateTimeOffset: DataType & { resolveScale: NonNullable<DataType['resolveScale']> } = {\n id: 0x2B,\n type: 'DATETIMEOFFSETN',\n name: 'DateTimeOffset',\n declaration: function(parameter) {\n return 'datetimeoffset(' + (this.resolveScale(parameter)) + ')';\n },\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else if (parameter.value === null) {\n return 0;\n } else {\n return 7;\n }\n },\n\n generateTypeInfo(parameter) {\n return Buffer.from([this.id, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n switch (parameter.scale) {\n case 0:\n case 1:\n case 2:\n return Buffer.from([0x08]);\n\n case 3:\n case 4:\n return Buffer.from([0x09]);\n\n case 5:\n case 6:\n case 7:\n return Buffer.from([0x0A]);\n\n default:\n throw new Error('invalid scale');\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const value = parameter.value;\n let scale = parameter.scale;\n\n const buffer = new WritableTrackingBuffer(16);\n scale = scale!;\n\n let timestamp: number;\n timestamp = ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getMilliseconds();\n timestamp = timestamp * Math.pow(10, scale - 3);\n timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);\n timestamp = Math.round(timestamp);\n\n switch (scale) {\n case 0:\n case 1:\n case 2:\n buffer.writeUInt24LE(timestamp);\n break;\n case 3:\n case 4:\n buffer.writeUInt32LE(timestamp);\n break;\n case 5:\n case 6:\n case 7:\n buffer.writeUInt40LE(timestamp);\n }\n\n const date = LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());\n const days = EPOCH_DATE.until(date, ChronoUnit.DAYS);\n buffer.writeUInt24LE(days);\n\n const offset = -value.getTimezoneOffset();\n buffer.writeInt16LE(offset);\n yield buffer.data;\n },\n validate: function(value: any, collation, options): null | number {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n value = value as Date;\n\n let year;\n if (options && options.useUTC) {\n year = value.getUTCFullYear();\n } else {\n year = value.getFullYear();\n }\n\n if (year < 1 || year > 9999) {\n throw new TypeError('Out of range.');\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid date.');\n }\n\n return value;\n }\n};\n\nexport default DateTimeOffset;\nmodule.exports = DateTimeOffset;\n"],"mappings":"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"}
@@ -8,8 +8,6 @@ var _datetimen = _interopRequireDefault(require("./datetimen"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  const EPOCH_DATE = new Date(1900, 0, 1);
10
10
  const UTC_EPOCH_DATE = new Date(Date.UTC(1900, 0, 1));
11
- const MIN_DATE = new Date(1900, 1, 1);
12
- const MAX_DATE = new Date(2079, 5, 6, 23, 59, 59, 0);
13
11
  const DATA_LENGTH = Buffer.from([0x04]);
14
12
  const NULL_LENGTH = Buffer.from([0x00]);
15
13
  const SmallDateTime = {
@@ -54,12 +52,25 @@ const SmallDateTime = {
54
52
  value = new Date(Date.parse(value));
55
53
  }
56
54
  value = value;
55
+ let year, month, date;
57
56
  if (options && options.useUTC) {
58
- value = new Date(value.toUTCString());
57
+ year = value.getUTCFullYear();
58
+ month = value.getUTCMonth();
59
+ date = value.getUTCDate();
60
+ } else {
61
+ year = value.getFullYear();
62
+ month = value.getMonth();
63
+ date = value.getDate();
59
64
  }
60
- if (value < MIN_DATE || value > MAX_DATE) {
65
+ if (year < 1900 || year > 2079) {
61
66
  throw new TypeError('Out of range.');
62
67
  }
68
+ if (year === 2079) {
69
+ // Month is 0-indexed, i.e. Jan = 0, Dec = 11
70
+ if (month > 4 || month === 4 && date > 6) {
71
+ throw new TypeError('Out of range.');
72
+ }
73
+ }
63
74
  if (isNaN(value)) {
64
75
  throw new TypeError('Invalid date.');
65
76
  }
@@ -69,4 +80,4 @@ const SmallDateTime = {
69
80
  var _default = SmallDateTime;
70
81
  exports.default = _default;
71
82
  module.exports = SmallDateTime;
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGF0ZXRpbWVuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkVQT0NIX0RBVEUiLCJEYXRlIiwiVVRDX0VQT0NIX0RBVEUiLCJVVEMiLCJNSU5fREFURSIsIk1BWF9EQVRFIiwiREFUQV9MRU5HVEgiLCJCdWZmZXIiLCJmcm9tIiwiTlVMTF9MRU5HVEgiLCJTbWFsbERhdGVUaW1lIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwiZ2VuZXJhdGVUeXBlSW5mbyIsIkRhdGVUaW1lTiIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwicGFyYW1ldGVyIiwib3B0aW9ucyIsInZhbHVlIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwiYnVmZmVyIiwiYWxsb2MiLCJkYXlzIiwiZHN0RGlmZiIsIm1pbnV0ZXMiLCJ1c2VVVEMiLCJNYXRoIiwiZmxvb3IiLCJnZXRUaW1lIiwiZ2V0VVRDSG91cnMiLCJnZXRVVENNaW51dGVzIiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJ3cml0ZVVJbnQxNkxFIiwidmFsaWRhdGUiLCJjb2xsYXRpb24iLCJwYXJzZSIsInRvVVRDU3RyaW5nIiwiVHlwZUVycm9yIiwiaXNOYU4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9zbWFsbGRhdGV0aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IERhdGVUaW1lTiBmcm9tICcuL2RhdGV0aW1lbic7XG5cbmNvbnN0IEVQT0NIX0RBVEUgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTtcbmNvbnN0IFVUQ19FUE9DSF9EQVRFID0gbmV3IERhdGUoRGF0ZS5VVEMoMTkwMCwgMCwgMSkpO1xuXG5jb25zdCBNSU5fREFURSA9IG5ldyBEYXRlKDE5MDAsIDEsIDEpO1xuY29uc3QgTUFYX0RBVEUgPSBuZXcgRGF0ZSgyMDc5LCA1LCA2LCAyMywgNTksIDU5LCAwKTtcblxuY29uc3QgREFUQV9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwNF0pO1xuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwMF0pO1xuXG5jb25zdCBTbWFsbERhdGVUaW1lOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4M0EsXG4gIHR5cGU6ICdEQVRFVElNNCcsXG4gIG5hbWU6ICdTbWFsbERhdGVUaW1lJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdzbWFsbGRhdGV0aW1lJztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShbRGF0ZVRpbWVOLmlkLCAweDA0XSk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgcmV0dXJuIERBVEFfTEVOR1RIO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyRGF0YTogZnVuY3Rpb24qKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcblxuICAgIGxldCBkYXlzOiBudW1iZXIsIGRzdERpZmY6IG51bWJlciwgbWludXRlczogbnVtYmVyO1xuICAgIGlmIChvcHRpb25zLnVzZVVUQykge1xuICAgICAgZGF5cyA9IE1hdGguZmxvb3IoKHBhcmFtZXRlci52YWx1ZS5nZXRUaW1lKCkgLSBVVENfRVBPQ0hfREFURS5nZXRUaW1lKCkpIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcbiAgICAgIG1pbnV0ZXMgPSAocGFyYW1ldGVyLnZhbHVlLmdldFVUQ0hvdXJzKCkgKiA2MCkgKyBwYXJhbWV0ZXIudmFsdWUuZ2V0VVRDTWludXRlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkc3REaWZmID0gLShwYXJhbWV0ZXIudmFsdWUuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIEVQT0NIX0RBVEUuZ2V0VGltZXpvbmVPZmZzZXQoKSkgKiA2MCAqIDEwMDA7XG4gICAgICBkYXlzID0gTWF0aC5mbG9vcigocGFyYW1ldGVyLnZhbHVlLmdldFRpbWUoKSAtIEVQT0NIX0RBVEUuZ2V0VGltZSgpICsgZHN0RGlmZikgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkpO1xuICAgICAgbWludXRlcyA9IChwYXJhbWV0ZXIudmFsdWUuZ2V0SG91cnMoKSAqIDYwKSArIHBhcmFtZXRlci52YWx1ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgYnVmZmVyLndyaXRlVUludDE2TEUoZGF5cywgMCk7XG4gICAgYnVmZmVyLndyaXRlVUludDE2TEUobWludXRlcywgMik7XG5cbiAgICB5aWVsZCBidWZmZXI7XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlLCBjb2xsYXRpb24sIG9wdGlvbnMpOiBudWxsIHwgRGF0ZSB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUoRGF0ZS5wYXJzZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWUgYXMgRGF0ZTtcblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudXNlVVRDKSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlLnRvVVRDU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IE1JTl9EQVRFIHx8IHZhbHVlID4gTUFYX0RBVEUpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ091dCBvZiByYW5nZS4nKTtcbiAgICB9XG5cbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGRhdGUuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTbWFsbERhdGVUaW1lO1xubW9kdWxlLmV4cG9ydHMgPSBTbWFsbERhdGVUaW1lO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBb0MsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFcEMsTUFBTUcsVUFBVSxHQUFHLElBQUlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2QyxNQUFNQyxjQUFjLEdBQUcsSUFBSUQsSUFBSSxDQUFDQSxJQUFJLENBQUNFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRXJELE1BQU1DLFFBQVEsR0FBRyxJQUFJSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDckMsTUFBTUksUUFBUSxHQUFHLElBQUlKLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFcEQsTUFBTUssV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLE1BQU1DLFdBQVcsR0FBR0YsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QyxNQUFNRSxhQUF1QixHQUFHO0VBQzlCQyxFQUFFLEVBQUUsSUFBSTtF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
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGF0ZXRpbWVuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkVQT0NIX0RBVEUiLCJEYXRlIiwiVVRDX0VQT0NIX0RBVEUiLCJVVEMiLCJEQVRBX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVUxMX0xFTkdUSCIsIlNtYWxsRGF0ZVRpbWUiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJnZW5lcmF0ZVR5cGVJbmZvIiwiRGF0ZVRpbWVOIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJwYXJhbWV0ZXIiLCJvcHRpb25zIiwidmFsdWUiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJidWZmZXIiLCJhbGxvYyIsImRheXMiLCJkc3REaWZmIiwibWludXRlcyIsInVzZVVUQyIsIk1hdGgiLCJmbG9vciIsImdldFRpbWUiLCJnZXRVVENIb3VycyIsImdldFVUQ01pbnV0ZXMiLCJnZXRUaW1lem9uZU9mZnNldCIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsIndyaXRlVUludDE2TEUiLCJ2YWxpZGF0ZSIsImNvbGxhdGlvbiIsInBhcnNlIiwieWVhciIsIm1vbnRoIiwiZGF0ZSIsImdldFVUQ0Z1bGxZZWFyIiwiZ2V0VVRDTW9udGgiLCJnZXRVVENEYXRlIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJUeXBlRXJyb3IiLCJpc05hTiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3NtYWxsZGF0ZXRpbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgRGF0ZVRpbWVOIGZyb20gJy4vZGF0ZXRpbWVuJztcblxuY29uc3QgRVBPQ0hfREFURSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEpO1xuY29uc3QgVVRDX0VQT0NIX0RBVEUgPSBuZXcgRGF0ZShEYXRlLlVUQygxOTAwLCAwLCAxKSk7XG5cbmNvbnN0IERBVEFfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDRdKTtcbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcblxuY29uc3QgU21hbGxEYXRlVGltZTogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDNBLFxuICB0eXBlOiAnREFURVRJTTQnLFxuICBuYW1lOiAnU21hbGxEYXRlVGltZScsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc21hbGxkYXRldGltZSc7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW0RhdGVUaW1lTi5pZCwgMHgwNF0pO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIHJldHVybiBEQVRBX0xFTkdUSDtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGE6IGZ1bmN0aW9uKihwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNCk7XG5cbiAgICBsZXQgZGF5czogbnVtYmVyLCBkc3REaWZmOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcjtcbiAgICBpZiAob3B0aW9ucy51c2VVVEMpIHtcbiAgICAgIGRheXMgPSBNYXRoLmZsb29yKChwYXJhbWV0ZXIudmFsdWUuZ2V0VGltZSgpIC0gVVRDX0VQT0NIX0RBVEUuZ2V0VGltZSgpKSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG4gICAgICBtaW51dGVzID0gKHBhcmFtZXRlci52YWx1ZS5nZXRVVENIb3VycygpICogNjApICsgcGFyYW1ldGVyLnZhbHVlLmdldFVUQ01pbnV0ZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZHN0RGlmZiA9IC0ocGFyYW1ldGVyLnZhbHVlLmdldFRpbWV6b25lT2Zmc2V0KCkgLSBFUE9DSF9EQVRFLmdldFRpbWV6b25lT2Zmc2V0KCkpICogNjAgKiAxMDAwO1xuICAgICAgZGF5cyA9IE1hdGguZmxvb3IoKHBhcmFtZXRlci52YWx1ZS5nZXRUaW1lKCkgLSBFUE9DSF9EQVRFLmdldFRpbWUoKSArIGRzdERpZmYpIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcbiAgICAgIG1pbnV0ZXMgPSAocGFyYW1ldGVyLnZhbHVlLmdldEhvdXJzKCkgKiA2MCkgKyBwYXJhbWV0ZXIudmFsdWUuZ2V0TWludXRlcygpO1xuICAgIH1cblxuICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGRheXMsIDApO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKG1pbnV0ZXMsIDIpO1xuXG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSwgY29sbGF0aW9uLCBvcHRpb25zKTogbnVsbCB8IERhdGUge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKERhdGUucGFyc2UodmFsdWUpKTtcbiAgICB9XG5cbiAgICB2YWx1ZSA9IHZhbHVlIGFzIERhdGU7XG5cbiAgICBsZXQgeWVhciwgbW9udGgsIGRhdGU7XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy51c2VVVEMpIHtcbiAgICAgIHllYXIgPSB2YWx1ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgbW9udGggPSB2YWx1ZS5nZXRVVENNb250aCgpO1xuICAgICAgZGF0ZSA9IHZhbHVlLmdldFVUQ0RhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgeWVhciA9IHZhbHVlLmdldEZ1bGxZZWFyKCk7XG4gICAgICBtb250aCA9IHZhbHVlLmdldE1vbnRoKCk7XG4gICAgICBkYXRlID0gdmFsdWUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGlmICh5ZWFyIDwgMTkwMCB8fCB5ZWFyID4gMjA3OSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignT3V0IG9mIHJhbmdlLicpO1xuICAgIH1cblxuICAgIGlmICh5ZWFyID09PSAyMDc5KSB7XG4gICAgICAvLyBNb250aCBpcyAwLWluZGV4ZWQsIGkuZS4gSmFuID0gMCwgRGVjID0gMTFcbiAgICAgIGlmIChtb250aCA+IDQgfHwgKG1vbnRoID09PSA0ICYmIGRhdGUgPiA2KSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPdXQgb2YgcmFuZ2UuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBkYXRlLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgU21hbGxEYXRlVGltZTtcbm1vZHVsZS5leHBvcnRzID0gU21hbGxEYXRlVGltZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQW9DLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRXBDLE1BQU1HLFVBQVUsR0FBRyxJQUFJQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkMsTUFBTUMsY0FBYyxHQUFHLElBQUlELElBQUksQ0FBQ0EsSUFBSSxDQUFDRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"smalldatetime.js","names":["_datetimen","_interopRequireDefault","require","obj","__esModule","default","EPOCH_DATE","Date","UTC_EPOCH_DATE","UTC","MIN_DATE","MAX_DATE","DATA_LENGTH","Buffer","from","NULL_LENGTH","SmallDateTime","id","type","name","declaration","generateTypeInfo","DateTimeN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","days","dstDiff","minutes","useUTC","Math","floor","getTime","getUTCHours","getUTCMinutes","getTimezoneOffset","getHours","getMinutes","writeUInt16LE","validate","collation","parse","toUTCString","TypeError","isNaN","_default","exports","module"],"sources":["../../src/data-types/smalldatetime.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport DateTimeN from './datetimen';\n\nconst EPOCH_DATE = new Date(1900, 0, 1);\nconst UTC_EPOCH_DATE = new Date(Date.UTC(1900, 0, 1));\n\nconst MIN_DATE = new Date(1900, 1, 1);\nconst MAX_DATE = new Date(2079, 5, 6, 23, 59, 59, 0);\n\nconst DATA_LENGTH = Buffer.from([0x04]);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst SmallDateTime: DataType = {\n id: 0x3A,\n type: 'DATETIM4',\n name: 'SmallDateTime',\n\n declaration: function() {\n return 'smalldatetime';\n },\n\n generateTypeInfo() {\n return Buffer.from([DateTimeN.id, 0x04]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n return DATA_LENGTH;\n },\n\n generateParameterData: function*(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const buffer = Buffer.alloc(4);\n\n let days: number, dstDiff: number, minutes: number;\n if (options.useUTC) {\n days = Math.floor((parameter.value.getTime() - UTC_EPOCH_DATE.getTime()) / (1000 * 60 * 60 * 24));\n minutes = (parameter.value.getUTCHours() * 60) + parameter.value.getUTCMinutes();\n } else {\n dstDiff = -(parameter.value.getTimezoneOffset() - EPOCH_DATE.getTimezoneOffset()) * 60 * 1000;\n days = Math.floor((parameter.value.getTime() - EPOCH_DATE.getTime() + dstDiff) / (1000 * 60 * 60 * 24));\n minutes = (parameter.value.getHours() * 60) + parameter.value.getMinutes();\n }\n\n buffer.writeUInt16LE(days, 0);\n buffer.writeUInt16LE(minutes, 2);\n\n yield buffer;\n },\n\n validate: function(value, collation, options): null | Date {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n value = value as Date;\n\n if (options && options.useUTC) {\n value = new Date(value.toUTCString());\n }\n\n if (value < MIN_DATE || value > MAX_DATE) {\n throw new TypeError('Out of range.');\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid date.');\n }\n\n return value;\n }\n};\n\nexport default SmallDateTime;\nmodule.exports = SmallDateTime;\n"],"mappings":"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"}
1
+ {"version":3,"file":"smalldatetime.js","names":["_datetimen","_interopRequireDefault","require","obj","__esModule","default","EPOCH_DATE","Date","UTC_EPOCH_DATE","UTC","DATA_LENGTH","Buffer","from","NULL_LENGTH","SmallDateTime","id","type","name","declaration","generateTypeInfo","DateTimeN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","days","dstDiff","minutes","useUTC","Math","floor","getTime","getUTCHours","getUTCMinutes","getTimezoneOffset","getHours","getMinutes","writeUInt16LE","validate","collation","parse","year","month","date","getUTCFullYear","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","TypeError","isNaN","_default","exports","module"],"sources":["../../src/data-types/smalldatetime.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport DateTimeN from './datetimen';\n\nconst EPOCH_DATE = new Date(1900, 0, 1);\nconst UTC_EPOCH_DATE = new Date(Date.UTC(1900, 0, 1));\n\nconst DATA_LENGTH = Buffer.from([0x04]);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst SmallDateTime: DataType = {\n id: 0x3A,\n type: 'DATETIM4',\n name: 'SmallDateTime',\n\n declaration: function() {\n return 'smalldatetime';\n },\n\n generateTypeInfo() {\n return Buffer.from([DateTimeN.id, 0x04]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n return DATA_LENGTH;\n },\n\n generateParameterData: function*(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const buffer = Buffer.alloc(4);\n\n let days: number, dstDiff: number, minutes: number;\n if (options.useUTC) {\n days = Math.floor((parameter.value.getTime() - UTC_EPOCH_DATE.getTime()) / (1000 * 60 * 60 * 24));\n minutes = (parameter.value.getUTCHours() * 60) + parameter.value.getUTCMinutes();\n } else {\n dstDiff = -(parameter.value.getTimezoneOffset() - EPOCH_DATE.getTimezoneOffset()) * 60 * 1000;\n days = Math.floor((parameter.value.getTime() - EPOCH_DATE.getTime() + dstDiff) / (1000 * 60 * 60 * 24));\n minutes = (parameter.value.getHours() * 60) + parameter.value.getMinutes();\n }\n\n buffer.writeUInt16LE(days, 0);\n buffer.writeUInt16LE(minutes, 2);\n\n yield buffer;\n },\n\n validate: function(value, collation, options): null | Date {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n value = value as Date;\n\n let year, month, date;\n if (options && options.useUTC) {\n year = value.getUTCFullYear();\n month = value.getUTCMonth();\n date = value.getUTCDate();\n } else {\n year = value.getFullYear();\n month = value.getMonth();\n date = value.getDate();\n }\n\n if (year < 1900 || year > 2079) {\n throw new TypeError('Out of range.');\n }\n\n if (year === 2079) {\n // Month is 0-indexed, i.e. Jan = 0, Dec = 11\n if (month > 4 || (month === 4 && date > 6)) {\n throw new TypeError('Out of range.');\n }\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid date.');\n }\n\n return value;\n }\n};\n\nexport default SmallDateTime;\nmodule.exports = SmallDateTime;\n"],"mappings":"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"}
@@ -18,10 +18,9 @@ const TVP = {
18
18
  return value.name + ' readonly';
19
19
  },
20
20
  generateTypeInfo(parameter) {
21
- var _parameter$value, _parameter$value2;
22
21
  const databaseName = '';
23
- const schema = ((_parameter$value = parameter.value) === null || _parameter$value === void 0 ? void 0 : _parameter$value.schema) ?? '';
24
- const typeName = ((_parameter$value2 = parameter.value) === null || _parameter$value2 === void 0 ? void 0 : _parameter$value2.name) ?? '';
22
+ const schema = parameter.value?.schema ?? '';
23
+ const typeName = parameter.value?.name ?? '';
25
24
  const bufferLength = 1 + 1 + Buffer.byteLength(databaseName, 'ucs2') + 1 + Buffer.byteLength(schema, 'ucs2') + 1 + Buffer.byteLength(typeName, 'ucs2');
26
25
  const buffer = new _writableTrackingBuffer.default(bufferLength, 'ucs2');
27
26
  buffer.writeUInt8(this.id);
@@ -107,4 +106,4 @@ const TVP = {
107
106
  var _default = TVP;
108
107
  exports.default = _default;
109
108
  module.exports = TVP;
110
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJUVlBfUk9XX1RPS0VOIiwiQnVmZmVyIiwiZnJvbSIsIlRWUF9FTkRfVE9LRU4iLCJOVUxMX0xFTkdUSCIsIlRWUCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsIl9wYXJhbWV0ZXIkdmFsdWUiLCJfcGFyYW1ldGVyJHZhbHVlMiIsImRhdGFiYXNlTmFtZSIsInNjaGVtYSIsInR5cGVOYW1lIiwiYnVmZmVyTGVuZ3RoIiwiYnl0ZUxlbmd0aCIsImJ1ZmZlciIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVCVmFyY2hhciIsImRhdGEiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJjb2x1bW5zIiwiYWxsb2MiLCJ3cml0ZVVJbnQxNkxFIiwibGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwicm93cyIsImkiLCJsZW4iLCJjb2x1bW4iLCJidWZmIiwid3JpdGVVSW50MzJMRSIsInJvdyIsImsiLCJsZW4yIiwicGFyYW0iLCJ2YWxpZGF0ZSIsImNvbGxhdGlvbiIsInNjYWxlIiwicHJlY2lzaW9uIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvdHZwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIgZnJvbSAnLi4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5cbmNvbnN0IFRWUF9ST1dfVE9LRU4gPSBCdWZmZXIuZnJvbShbMHgwMV0pO1xuY29uc3QgVFZQX0VORF9UT0tFTiA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkZdKTtcblxuY29uc3QgVFZQOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4RjMsXG4gIHR5cGU6ICdUVlBUWVBFJyxcbiAgbmFtZTogJ1RWUCcsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG4gICAgcmV0dXJuIHZhbHVlLm5hbWUgKyAnIHJlYWRvbmx5JztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGRhdGFiYXNlTmFtZSA9ICcnO1xuICAgIGNvbnN0IHNjaGVtYSA9IHBhcmFtZXRlci52YWx1ZT8uc2NoZW1hID8/ICcnO1xuICAgIGNvbnN0IHR5cGVOYW1lID0gcGFyYW1ldGVyLnZhbHVlPy5uYW1lID8/ICcnO1xuXG4gICAgY29uc3QgYnVmZmVyTGVuZ3RoID0gMSArXG4gICAgICAxICsgQnVmZmVyLmJ5dGVMZW5ndGgoZGF0YWJhc2VOYW1lLCAndWNzMicpICtcbiAgICAgIDEgKyBCdWZmZXIuYnl0ZUxlbmd0aChzY2hlbWEsICd1Y3MyJykgK1xuICAgICAgMSArIEJ1ZmZlci5ieXRlTGVuZ3RoKHR5cGVOYW1lLCAndWNzMicpO1xuXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoYnVmZmVyTGVuZ3RoLCAndWNzMicpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMuaWQpO1xuICAgIGJ1ZmZlci53cml0ZUJWYXJjaGFyKGRhdGFiYXNlTmFtZSk7XG4gICAgYnVmZmVyLndyaXRlQlZhcmNoYXIoc2NoZW1hKTtcbiAgICBidWZmZXIud3JpdGVCVmFyY2hhcih0eXBlTmFtZSk7XG5cbiAgICByZXR1cm4gYnVmZmVyLmRhdGE7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2x1bW5zIH0gPSBwYXJhbWV0ZXIudmFsdWU7XG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDIpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGNvbHVtbnMubGVuZ3RoLCAwKTtcbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gICpnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICB5aWVsZCBUVlBfRU5EX1RPS0VOO1xuICAgICAgeWllbGQgVFZQX0VORF9UT0tFTjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNvbHVtbnMsIHJvd3MgfSA9IHBhcmFtZXRlci52YWx1ZTtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBjb2x1bW5zLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2ldO1xuXG4gICAgICBjb25zdCBidWZmID0gQnVmZmVyLmFsbG9jKDYpO1xuICAgICAgLy8gVXNlclR5cGVcbiAgICAgIGJ1ZmYud3JpdGVVSW50MzJMRSgweDAwMDAwMDAwLCAwKTtcblxuICAgICAgLy8gRmxhZ3NcbiAgICAgIGJ1ZmYud3JpdGVVSW50MTZMRSgweDAwMDAsIDQpO1xuICAgICAgeWllbGQgYnVmZjtcblxuICAgICAgLy8gVFlQRV9JTkZPXG4gICAgICB5aWVsZCBjb2x1bW4udHlwZS5nZW5lcmF0ZVR5cGVJbmZvKGNvbHVtbik7XG5cbiAgICAgIC8vIENvbE5hbWVcbiAgICAgIHlpZWxkIEJ1ZmZlci5mcm9tKFsweDAwXSk7XG4gICAgfVxuXG4gICAgeWllbGQgVFZQX0VORF9UT0tFTjtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSByb3dzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB5aWVsZCBUVlBfUk9XX1RPS0VOO1xuXG4gICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xuICAgICAgZm9yIChsZXQgayA9IDAsIGxlbjIgPSByb3cubGVuZ3RoOyBrIDwgbGVuMjsgaysrKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNba107XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcm93W2tdO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtID0ge1xuICAgICAgICAgIHZhbHVlOiBjb2x1bW4udHlwZS52YWxpZGF0ZSh2YWx1ZSwgcGFyYW1ldGVyLmNvbGxhdGlvbiksXG4gICAgICAgICAgbGVuZ3RoOiBjb2x1bW4ubGVuZ3RoLFxuICAgICAgICAgIHNjYWxlOiBjb2x1bW4uc2NhbGUsXG4gICAgICAgICAgcHJlY2lzaW9uOiBjb2x1bW4ucHJlY2lzaW9uXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gVHZwQ29sdW1uRGF0YVxuICAgICAgICB5aWVsZCBjb2x1bW4udHlwZS5nZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbSwgb3B0aW9ucyk7XG4gICAgICAgIHlpZWxkICogY29sdW1uLnR5cGUuZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB5aWVsZCBUVlBfRU5EX1RPS0VOO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCB0YWJsZS4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUuY29sdW1ucykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGFibGUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlLnJvd3MpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHRhYmxlLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVFZQO1xubW9kdWxlLmV4cG9ydHMgPSBUVlA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLHVCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBaUYsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFakYsTUFBTUcsYUFBYSxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLE1BQU1DLGFBQWEsR0FBR0YsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV6QyxNQUFNRSxXQUFXLEdBQUdILE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRTdDLE1BQU1HLEdBQWEsR0FBRztFQUNwQkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLFNBQVM7RUFDZkMsSUFBSSxFQUFFLEtBQUs7RUFFWEMsV0FBVyxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUMvQixNQUFNQyxLQUFLLEdBQUdELFNBQVMsQ0FBQ0MsS0FBWSxDQUFDLENBQUM7SUFDdEMsT0FBT0EsS0FBSyxDQUFDSCxJQUFJLEdBQUcsV0FBVztF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
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJUVlBfUk9XX1RPS0VOIiwiQnVmZmVyIiwiZnJvbSIsIlRWUF9FTkRfVE9LRU4iLCJOVUxMX0xFTkdUSCIsIlRWUCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImRhdGFiYXNlTmFtZSIsInNjaGVtYSIsInR5cGVOYW1lIiwiYnVmZmVyTGVuZ3RoIiwiYnl0ZUxlbmd0aCIsImJ1ZmZlciIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVCVmFyY2hhciIsImRhdGEiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJjb2x1bW5zIiwiYWxsb2MiLCJ3cml0ZVVJbnQxNkxFIiwibGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwicm93cyIsImkiLCJsZW4iLCJjb2x1bW4iLCJidWZmIiwid3JpdGVVSW50MzJMRSIsInJvdyIsImsiLCJsZW4yIiwicGFyYW0iLCJ2YWxpZGF0ZSIsImNvbGxhdGlvbiIsInNjYWxlIiwicHJlY2lzaW9uIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvdHZwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIgZnJvbSAnLi4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5cbmNvbnN0IFRWUF9ST1dfVE9LRU4gPSBCdWZmZXIuZnJvbShbMHgwMV0pO1xuY29uc3QgVFZQX0VORF9UT0tFTiA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IE5VTExfTEVOR1RIID0gQnVmZmVyLmZyb20oWzB4RkYsIDB4RkZdKTtcblxuY29uc3QgVFZQOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4RjMsXG4gIHR5cGU6ICdUVlBUWVBFJyxcbiAgbmFtZTogJ1RWUCcsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIGFueTsgLy8gVGVtcG9yYXJ5IHNvbHV0aW9uLiBSZW1vdmUgJ2FueScgbGF0ZXIuXG4gICAgcmV0dXJuIHZhbHVlLm5hbWUgKyAnIHJlYWRvbmx5JztcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGRhdGFiYXNlTmFtZSA9ICcnO1xuICAgIGNvbnN0IHNjaGVtYSA9IHBhcmFtZXRlci52YWx1ZT8uc2NoZW1hID8/ICcnO1xuICAgIGNvbnN0IHR5cGVOYW1lID0gcGFyYW1ldGVyLnZhbHVlPy5uYW1lID8/ICcnO1xuXG4gICAgY29uc3QgYnVmZmVyTGVuZ3RoID0gMSArXG4gICAgICAxICsgQnVmZmVyLmJ5dGVMZW5ndGgoZGF0YWJhc2VOYW1lLCAndWNzMicpICtcbiAgICAgIDEgKyBCdWZmZXIuYnl0ZUxlbmd0aChzY2hlbWEsICd1Y3MyJykgK1xuICAgICAgMSArIEJ1ZmZlci5ieXRlTGVuZ3RoKHR5cGVOYW1lLCAndWNzMicpO1xuXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoYnVmZmVyTGVuZ3RoLCAndWNzMicpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRoaXMuaWQpO1xuICAgIGJ1ZmZlci53cml0ZUJWYXJjaGFyKGRhdGFiYXNlTmFtZSk7XG4gICAgYnVmZmVyLndyaXRlQlZhcmNoYXIoc2NoZW1hKTtcbiAgICBidWZmZXIud3JpdGVCVmFyY2hhcih0eXBlTmFtZSk7XG5cbiAgICByZXR1cm4gYnVmZmVyLmRhdGE7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2x1bW5zIH0gPSBwYXJhbWV0ZXIudmFsdWU7XG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDIpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGNvbHVtbnMubGVuZ3RoLCAwKTtcbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gICpnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICB5aWVsZCBUVlBfRU5EX1RPS0VOO1xuICAgICAgeWllbGQgVFZQX0VORF9UT0tFTjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNvbHVtbnMsIHJvd3MgfSA9IHBhcmFtZXRlci52YWx1ZTtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBjb2x1bW5zLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2ldO1xuXG4gICAgICBjb25zdCBidWZmID0gQnVmZmVyLmFsbG9jKDYpO1xuICAgICAgLy8gVXNlclR5cGVcbiAgICAgIGJ1ZmYud3JpdGVVSW50MzJMRSgweDAwMDAwMDAwLCAwKTtcblxuICAgICAgLy8gRmxhZ3NcbiAgICAgIGJ1ZmYud3JpdGVVSW50MTZMRSgweDAwMDAsIDQpO1xuICAgICAgeWllbGQgYnVmZjtcblxuICAgICAgLy8gVFlQRV9JTkZPXG4gICAgICB5aWVsZCBjb2x1bW4udHlwZS5nZW5lcmF0ZVR5cGVJbmZvKGNvbHVtbik7XG5cbiAgICAgIC8vIENvbE5hbWVcbiAgICAgIHlpZWxkIEJ1ZmZlci5mcm9tKFsweDAwXSk7XG4gICAgfVxuXG4gICAgeWllbGQgVFZQX0VORF9UT0tFTjtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSByb3dzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB5aWVsZCBUVlBfUk9XX1RPS0VOO1xuXG4gICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xuICAgICAgZm9yIChsZXQgayA9IDAsIGxlbjIgPSByb3cubGVuZ3RoOyBrIDwgbGVuMjsgaysrKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNba107XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcm93W2tdO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtID0ge1xuICAgICAgICAgIHZhbHVlOiBjb2x1bW4udHlwZS52YWxpZGF0ZSh2YWx1ZSwgcGFyYW1ldGVyLmNvbGxhdGlvbiksXG4gICAgICAgICAgbGVuZ3RoOiBjb2x1bW4ubGVuZ3RoLFxuICAgICAgICAgIHNjYWxlOiBjb2x1bW4uc2NhbGUsXG4gICAgICAgICAgcHJlY2lzaW9uOiBjb2x1bW4ucHJlY2lzaW9uXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gVHZwQ29sdW1uRGF0YVxuICAgICAgICB5aWVsZCBjb2x1bW4udHlwZS5nZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbSwgb3B0aW9ucyk7XG4gICAgICAgIHlpZWxkICogY29sdW1uLnR5cGUuZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB5aWVsZCBUVlBfRU5EX1RPS0VOO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCB0YWJsZS4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUuY29sdW1ucykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGFibGUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlLnJvd3MpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHRhYmxlLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVFZQO1xubW9kdWxlLmV4cG9ydHMgPSBUVlA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLHVCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBaUYsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFakYsTUFBTUcsYUFBYSxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLE1BQU1DLGFBQWEsR0FBR0YsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV6QyxNQUFNRSxXQUFXLEdBQUdILE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRTdDLE1BQU1HLEdBQWEsR0FBRztFQUNwQkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLFNBQVM7RUFDZkMsSUFBSSxFQUFFLEtBQUs7RUFFWEMsV0FBVyxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUMvQixNQUFNQyxLQUFLLEdBQUdELFNBQVMsQ0FBQ0MsS0FBWSxDQUFDLENBQUM7SUFDdEMsT0FBT0EsS0FBSyxDQUFDSCxJQUFJLEdBQUcsV0FBVztFQUNqQyxDQUFDO0VBRURJLGdCQUFnQkEsQ0FBQ0YsU0FBUyxFQUFF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
@@ -1 +1 @@
1
- {"version":3,"file":"tvp.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","obj","__esModule","default","TVP_ROW_TOKEN","Buffer","from","TVP_END_TOKEN","NULL_LENGTH","TVP","id","type","name","declaration","parameter","value","generateTypeInfo","_parameter$value","_parameter$value2","databaseName","schema","typeName","bufferLength","byteLength","buffer","WritableTrackingBuffer","writeUInt8","writeBVarchar","data","generateParameterLength","options","columns","alloc","writeUInt16LE","length","generateParameterData","rows","i","len","column","buff","writeUInt32LE","row","k","len2","param","validate","collation","scale","precision","TypeError","Array","isArray","_default","exports","module"],"sources":["../../src/data-types/tvp.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst TVP_ROW_TOKEN = Buffer.from([0x01]);\nconst TVP_END_TOKEN = Buffer.from([0x00]);\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\n\nconst TVP: DataType = {\n id: 0xF3,\n type: 'TVPTYPE',\n name: 'TVP',\n\n declaration: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n return value.name + ' readonly';\n },\n\n generateTypeInfo(parameter) {\n const databaseName = '';\n const schema = parameter.value?.schema ?? '';\n const typeName = parameter.value?.name ?? '';\n\n const bufferLength = 1 +\n 1 + Buffer.byteLength(databaseName, 'ucs2') +\n 1 + Buffer.byteLength(schema, 'ucs2') +\n 1 + Buffer.byteLength(typeName, 'ucs2');\n\n const buffer = new WritableTrackingBuffer(bufferLength, 'ucs2');\n buffer.writeUInt8(this.id);\n buffer.writeBVarchar(databaseName);\n buffer.writeBVarchar(schema);\n buffer.writeBVarchar(typeName);\n\n return buffer.data;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const { columns } = parameter.value;\n const buffer = Buffer.alloc(2);\n buffer.writeUInt16LE(columns.length, 0);\n return buffer;\n },\n\n *generateParameterData(parameter, options) {\n if (parameter.value == null) {\n yield TVP_END_TOKEN;\n yield TVP_END_TOKEN;\n return;\n }\n\n const { columns, rows } = parameter.value;\n\n for (let i = 0, len = columns.length; i < len; i++) {\n const column = columns[i];\n\n const buff = Buffer.alloc(6);\n // UserType\n buff.writeUInt32LE(0x00000000, 0);\n\n // Flags\n buff.writeUInt16LE(0x0000, 4);\n yield buff;\n\n // TYPE_INFO\n yield column.type.generateTypeInfo(column);\n\n // ColName\n yield Buffer.from([0x00]);\n }\n\n yield TVP_END_TOKEN;\n\n for (let i = 0, length = rows.length; i < length; i++) {\n yield TVP_ROW_TOKEN;\n\n const row = rows[i];\n for (let k = 0, len2 = row.length; k < len2; k++) {\n const column = columns[k];\n const value = row[k];\n\n const param = {\n value: column.type.validate(value, parameter.collation),\n length: column.length,\n scale: column.scale,\n precision: column.precision\n };\n\n // TvpColumnData\n yield column.type.generateParameterLength(param, options);\n yield * column.type.generateParameterData(param, options);\n }\n }\n\n yield TVP_END_TOKEN;\n },\n\n validate: function(value): Buffer | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'object') {\n throw new TypeError('Invalid table.');\n }\n\n if (!Array.isArray(value.columns)) {\n throw new TypeError('Invalid table.');\n }\n\n if (!Array.isArray(value.rows)) {\n throw new TypeError('Invalid table.');\n }\n\n return value;\n }\n};\n\nexport default TVP;\nmodule.exports = TVP;\n"],"mappings":"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"}
1
+ {"version":3,"file":"tvp.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","obj","__esModule","default","TVP_ROW_TOKEN","Buffer","from","TVP_END_TOKEN","NULL_LENGTH","TVP","id","type","name","declaration","parameter","value","generateTypeInfo","databaseName","schema","typeName","bufferLength","byteLength","buffer","WritableTrackingBuffer","writeUInt8","writeBVarchar","data","generateParameterLength","options","columns","alloc","writeUInt16LE","length","generateParameterData","rows","i","len","column","buff","writeUInt32LE","row","k","len2","param","validate","collation","scale","precision","TypeError","Array","isArray","_default","exports","module"],"sources":["../../src/data-types/tvp.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst TVP_ROW_TOKEN = Buffer.from([0x01]);\nconst TVP_END_TOKEN = Buffer.from([0x00]);\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\n\nconst TVP: DataType = {\n id: 0xF3,\n type: 'TVPTYPE',\n name: 'TVP',\n\n declaration: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n return value.name + ' readonly';\n },\n\n generateTypeInfo(parameter) {\n const databaseName = '';\n const schema = parameter.value?.schema ?? '';\n const typeName = parameter.value?.name ?? '';\n\n const bufferLength = 1 +\n 1 + Buffer.byteLength(databaseName, 'ucs2') +\n 1 + Buffer.byteLength(schema, 'ucs2') +\n 1 + Buffer.byteLength(typeName, 'ucs2');\n\n const buffer = new WritableTrackingBuffer(bufferLength, 'ucs2');\n buffer.writeUInt8(this.id);\n buffer.writeBVarchar(databaseName);\n buffer.writeBVarchar(schema);\n buffer.writeBVarchar(typeName);\n\n return buffer.data;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const { columns } = parameter.value;\n const buffer = Buffer.alloc(2);\n buffer.writeUInt16LE(columns.length, 0);\n return buffer;\n },\n\n *generateParameterData(parameter, options) {\n if (parameter.value == null) {\n yield TVP_END_TOKEN;\n yield TVP_END_TOKEN;\n return;\n }\n\n const { columns, rows } = parameter.value;\n\n for (let i = 0, len = columns.length; i < len; i++) {\n const column = columns[i];\n\n const buff = Buffer.alloc(6);\n // UserType\n buff.writeUInt32LE(0x00000000, 0);\n\n // Flags\n buff.writeUInt16LE(0x0000, 4);\n yield buff;\n\n // TYPE_INFO\n yield column.type.generateTypeInfo(column);\n\n // ColName\n yield Buffer.from([0x00]);\n }\n\n yield TVP_END_TOKEN;\n\n for (let i = 0, length = rows.length; i < length; i++) {\n yield TVP_ROW_TOKEN;\n\n const row = rows[i];\n for (let k = 0, len2 = row.length; k < len2; k++) {\n const column = columns[k];\n const value = row[k];\n\n const param = {\n value: column.type.validate(value, parameter.collation),\n length: column.length,\n scale: column.scale,\n precision: column.precision\n };\n\n // TvpColumnData\n yield column.type.generateParameterLength(param, options);\n yield * column.type.generateParameterData(param, options);\n }\n }\n\n yield TVP_END_TOKEN;\n },\n\n validate: function(value): Buffer | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'object') {\n throw new TypeError('Invalid table.');\n }\n\n if (!Array.isArray(value.columns)) {\n throw new TypeError('Invalid table.');\n }\n\n if (!Array.isArray(value.rows)) {\n throw new TypeError('Invalid table.');\n }\n\n return value;\n }\n};\n\nexport default TVP;\nmodule.exports = TVP;\n"],"mappings":"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"}
package/lib/sender.js CHANGED
@@ -7,10 +7,8 @@ exports.sendInParallel = sendInParallel;
7
7
  exports.sendMessage = sendMessage;
8
8
  var _dgram = _interopRequireDefault(require("dgram"));
9
9
  var _net = _interopRequireDefault(require("net"));
10
- var punycode = _interopRequireWildcard(require("punycode/"));
10
+ var _nodeUrl = _interopRequireDefault(require("node:url"));
11
11
  var _abortError = _interopRequireDefault(require("./errors/abort-error"));
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
  async function sendInParallel(addresses, port, request, signal) {
16
14
  if (signal.aborted) {
@@ -72,7 +70,7 @@ async function sendMessage(host, port, lookup, signal, request) {
72
70
  reject(new _abortError.default());
73
71
  };
74
72
  signal.addEventListener('abort', onAbort);
75
- lookup(punycode.toASCII(host), {
73
+ lookup(_nodeUrl.default.domainToASCII(host), {
76
74
  all: true
77
75
  }, (err, addresses) => {
78
76
  signal.removeEventListener('abort', onAbort);
@@ -82,4 +80,4 @@ async function sendMessage(host, port, lookup, signal, request) {
82
80
  }
83
81
  return await sendInParallel(addresses, port, request, signal);
84
82
  }
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGdyYW0iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9uZXQiLCJwdW55Y29kZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2Fib3J0RXJyb3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0Iiwic2VuZEluUGFyYWxsZWwiLCJhZGRyZXNzZXMiLCJwb3J0IiwicmVxdWVzdCIsInNpZ25hbCIsImFib3J0ZWQiLCJBYm9ydEVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzb2NrZXRzIiwiZXJyb3JDb3VudCIsIm9uRXJyb3IiLCJlcnIiLCJsZW5ndGgiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25BYm9ydCIsImNsZWFyU29ja2V0cyIsIm9uTWVzc2FnZSIsIm1lc3NhZ2UiLCJzb2NrZXQiLCJyZW1vdmVMaXN0ZW5lciIsImNsb3NlIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9uY2UiLCJqIiwidWRwVHlwZSIsImZhbWlseSIsImRncmFtIiwiY3JlYXRlU29ja2V0IiwicHVzaCIsIm9uIiwic2VuZCIsImFkZHJlc3MiLCJzZW5kTWVzc2FnZSIsImhvc3QiLCJsb29rdXAiLCJuZXQiLCJpc0lQIiwiaXNJUHY2IiwidG9BU0NJSSIsImFsbCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9zZW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRncmFtIGZyb20gJ2RncmFtJztcbmltcG9ydCBkbnMgZnJvbSAnZG5zJztcbmltcG9ydCBuZXQgZnJvbSAnbmV0JztcbmltcG9ydCAqIGFzIHB1bnljb2RlIGZyb20gJ3B1bnljb2RlLyc7XG5pbXBvcnQgeyBBYm9ydFNpZ25hbCB9IGZyb20gJ25vZGUtYWJvcnQtY29udHJvbGxlcic7XG5cbmltcG9ydCBBYm9ydEVycm9yIGZyb20gJy4vZXJyb3JzL2Fib3J0LWVycm9yJztcblxudHlwZSBMb29rdXBGdW5jdGlvbiA9IChob3N0bmFtZTogc3RyaW5nLCBvcHRpb25zOiBkbnMuTG9va3VwQWxsT3B0aW9ucywgY2FsbGJhY2s6IChlcnI6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiB8IG51bGwsIGFkZHJlc3NlczogZG5zLkxvb2t1cEFkZHJlc3NbXSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRJblBhcmFsbGVsKGFkZHJlc3NlczogZG5zLkxvb2t1cEFkZHJlc3NbXSwgcG9ydDogbnVtYmVyLCByZXF1ZXN0OiBCdWZmZXIsIHNpZ25hbDogQWJvcnRTaWduYWwpIHtcbiAgaWYgKHNpZ25hbC5hYm9ydGVkKSB7XG4gICAgdGhyb3cgbmV3IEFib3J0RXJyb3IoKTtcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxCdWZmZXI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBzb2NrZXRzOiBkZ3JhbS5Tb2NrZXRbXSA9IFtdO1xuXG4gICAgbGV0IGVycm9yQ291bnQgPSAwO1xuXG4gICAgY29uc3Qgb25FcnJvciA9IChlcnI6IEVycm9yKSA9PiB7XG4gICAgICBlcnJvckNvdW50Kys7XG5cbiAgICAgIGlmIChlcnJvckNvdW50ID09PSBhZGRyZXNzZXMubGVuZ3RoKSB7XG4gICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuICAgICAgICBjbGVhclNvY2tldHMoKTtcblxuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgb25NZXNzYWdlID0gKG1lc3NhZ2U6IEJ1ZmZlcikgPT4ge1xuICAgICAgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCk7XG4gICAgICBjbGVhclNvY2tldHMoKTtcblxuICAgICAgcmVzb2x2ZShtZXNzYWdlKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25BYm9ydCA9ICgpID0+IHtcbiAgICAgIGNsZWFyU29ja2V0cygpO1xuXG4gICAgICByZWplY3QobmV3IEFib3J0RXJyb3IoKSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNsZWFyU29ja2V0cyA9ICgpID0+IHtcbiAgICAgIGZvciAoY29uc3Qgc29ja2V0IG9mIHNvY2tldHMpIHtcbiAgICAgICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgICAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpO1xuICAgICAgICBzb2NrZXQuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCwgeyBvbmNlOiB0cnVlIH0pO1xuXG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBhZGRyZXNzZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IHVkcFR5cGUgPSBhZGRyZXNzZXNbal0uZmFtaWx5ID09PSA2ID8gJ3VkcDYnIDogJ3VkcDQnO1xuXG4gICAgICBjb25zdCBzb2NrZXQgPSBkZ3JhbS5jcmVhdGVTb2NrZXQodWRwVHlwZSk7XG4gICAgICBzb2NrZXRzLnB1c2goc29ja2V0KTtcbiAgICAgIHNvY2tldC5vbignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgIHNvY2tldC5vbignbWVzc2FnZScsIG9uTWVzc2FnZSk7XG4gICAgICBzb2NrZXQuc2VuZChyZXF1ZXN0LCAwLCByZXF1ZXN0Lmxlbmd0aCwgcG9ydCwgYWRkcmVzc2VzW2pdLmFkZHJlc3MpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kTWVzc2FnZShob3N0OiBzdHJpbmcsIHBvcnQ6IG51bWJlciwgbG9va3VwOiBMb29rdXBGdW5jdGlvbiwgc2lnbmFsOiBBYm9ydFNpZ25hbCwgcmVxdWVzdDogQnVmZmVyKSB7XG4gIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgIHRocm93IG5ldyBBYm9ydEVycm9yKCk7XG4gIH1cblxuICBsZXQgYWRkcmVzc2VzOiBkbnMuTG9va3VwQWRkcmVzc1tdO1xuXG4gIGlmIChuZXQuaXNJUChob3N0KSkge1xuICAgIGFkZHJlc3NlcyA9IFtcbiAgICAgIHsgYWRkcmVzczogaG9zdCwgZmFtaWx5OiBuZXQuaXNJUHY2KGhvc3QpID8gNiA6IDQgfVxuICAgIF07XG4gIH0gZWxzZSB7XG4gICAgYWRkcmVzc2VzID0gYXdhaXQgbmV3IFByb21pc2U8ZG5zLkxvb2t1cEFkZHJlc3NbXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgb25BYm9ydCA9ICgpID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBBYm9ydEVycm9yKCkpO1xuICAgICAgfTtcblxuICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCk7XG5cbiAgICAgIGxvb2t1cChwdW55Y29kZS50b0FTQ0lJKGhvc3QpLCB7IGFsbDogdHJ1ZSB9LCAoZXJyLCBhZGRyZXNzZXMpID0+IHtcbiAgICAgICAgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCk7XG5cbiAgICAgICAgZXJyID8gcmVqZWN0KGVycikgOiByZXNvbHZlKGFkZHJlc3Nlcyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBzZW5kSW5QYXJhbGxlbChhZGRyZXNzZXMsIHBvcnQsIHJlcXVlc3QsIHNpZ25hbCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJ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
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGdyYW0iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9uZXQiLCJfbm9kZVVybCIsIl9hYm9ydEVycm9yIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJzZW5kSW5QYXJhbGxlbCIsImFkZHJlc3NlcyIsInBvcnQiLCJyZXF1ZXN0Iiwic2lnbmFsIiwiYWJvcnRlZCIsIkFib3J0RXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInNvY2tldHMiLCJlcnJvckNvdW50Iiwib25FcnJvciIsImVyciIsImxlbmd0aCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbkFib3J0IiwiY2xlYXJTb2NrZXRzIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInNvY2tldCIsInJlbW92ZUxpc3RlbmVyIiwiY2xvc2UiLCJhZGRFdmVudExpc3RlbmVyIiwib25jZSIsImoiLCJ1ZHBUeXBlIiwiZmFtaWx5IiwiZGdyYW0iLCJjcmVhdGVTb2NrZXQiLCJwdXNoIiwib24iLCJzZW5kIiwiYWRkcmVzcyIsInNlbmRNZXNzYWdlIiwiaG9zdCIsImxvb2t1cCIsIm5ldCIsImlzSVAiLCJpc0lQdjYiLCJ1cmwiLCJkb21haW5Ub0FTQ0lJIiwiYWxsIl0sInNvdXJjZXMiOlsiLi4vc3JjL3NlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGdyYW0gZnJvbSAnZGdyYW0nO1xuaW1wb3J0IGRucyBmcm9tICdkbnMnO1xuaW1wb3J0IG5ldCBmcm9tICduZXQnO1xuaW1wb3J0IHVybCBmcm9tICdub2RlOnVybCc7XG5cbmltcG9ydCB7IEFib3J0U2lnbmFsIH0gZnJvbSAnbm9kZS1hYm9ydC1jb250cm9sbGVyJztcblxuaW1wb3J0IEFib3J0RXJyb3IgZnJvbSAnLi9lcnJvcnMvYWJvcnQtZXJyb3InO1xuXG50eXBlIExvb2t1cEZ1bmN0aW9uID0gKGhvc3RuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IGRucy5Mb29rdXBBbGxPcHRpb25zLCBjYWxsYmFjazogKGVycjogTm9kZUpTLkVycm5vRXhjZXB0aW9uIHwgbnVsbCwgYWRkcmVzc2VzOiBkbnMuTG9va3VwQWRkcmVzc1tdKSA9PiB2b2lkKSA9PiB2b2lkO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZEluUGFyYWxsZWwoYWRkcmVzc2VzOiBkbnMuTG9va3VwQWRkcmVzc1tdLCBwb3J0OiBudW1iZXIsIHJlcXVlc3Q6IEJ1ZmZlciwgc2lnbmFsOiBBYm9ydFNpZ25hbCkge1xuICBpZiAoc2lnbmFsLmFib3J0ZWQpIHtcbiAgICB0aHJvdyBuZXcgQWJvcnRFcnJvcigpO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPEJ1ZmZlcj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHNvY2tldHM6IGRncmFtLlNvY2tldFtdID0gW107XG5cbiAgICBsZXQgZXJyb3JDb3VudCA9IDA7XG5cbiAgICBjb25zdCBvbkVycm9yID0gKGVycjogRXJyb3IpID0+IHtcbiAgICAgIGVycm9yQ291bnQrKztcblxuICAgICAgaWYgKGVycm9yQ291bnQgPT09IGFkZHJlc3Nlcy5sZW5ndGgpIHtcbiAgICAgICAgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCk7XG4gICAgICAgIGNsZWFyU29ja2V0cygpO1xuXG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBvbk1lc3NhZ2UgPSAobWVzc2FnZTogQnVmZmVyKSA9PiB7XG4gICAgICBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkFib3J0KTtcbiAgICAgIGNsZWFyU29ja2V0cygpO1xuXG4gICAgICByZXNvbHZlKG1lc3NhZ2UpO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkFib3J0ID0gKCkgPT4ge1xuICAgICAgY2xlYXJTb2NrZXRzKCk7XG5cbiAgICAgIHJlamVjdChuZXcgQWJvcnRFcnJvcigpKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xlYXJTb2NrZXRzID0gKCkgPT4ge1xuICAgICAgZm9yIChjb25zdCBzb2NrZXQgb2Ygc29ja2V0cykge1xuICAgICAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7XG4gICAgICAgIHNvY2tldC5jbG9zZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkFib3J0LCB7IG9uY2U6IHRydWUgfSk7XG5cbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGFkZHJlc3Nlcy5sZW5ndGg7IGorKykge1xuICAgICAgY29uc3QgdWRwVHlwZSA9IGFkZHJlc3Nlc1tqXS5mYW1pbHkgPT09IDYgPyAndWRwNicgOiAndWRwNCc7XG5cbiAgICAgIGNvbnN0IHNvY2tldCA9IGRncmFtLmNyZWF0ZVNvY2tldCh1ZHBUeXBlKTtcbiAgICAgIHNvY2tldHMucHVzaChzb2NrZXQpO1xuICAgICAgc29ja2V0Lm9uKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgICAgc29ja2V0Lm9uKCdtZXNzYWdlJywgb25NZXNzYWdlKTtcbiAgICAgIHNvY2tldC5zZW5kKHJlcXVlc3QsIDAsIHJlcXVlc3QubGVuZ3RoLCBwb3J0LCBhZGRyZXNzZXNbal0uYWRkcmVzcyk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRNZXNzYWdlKGhvc3Q6IHN0cmluZywgcG9ydDogbnVtYmVyLCBsb29rdXA6IExvb2t1cEZ1bmN0aW9uLCBzaWduYWw6IEFib3J0U2lnbmFsLCByZXF1ZXN0OiBCdWZmZXIpIHtcbiAgaWYgKHNpZ25hbC5hYm9ydGVkKSB7XG4gICAgdGhyb3cgbmV3IEFib3J0RXJyb3IoKTtcbiAgfVxuXG4gIGxldCBhZGRyZXNzZXM6IGRucy5Mb29rdXBBZGRyZXNzW107XG5cbiAgaWYgKG5ldC5pc0lQKGhvc3QpKSB7XG4gICAgYWRkcmVzc2VzID0gW1xuICAgICAgeyBhZGRyZXNzOiBob3N0LCBmYW1pbHk6IG5ldC5pc0lQdjYoaG9zdCkgPyA2IDogNCB9XG4gICAgXTtcbiAgfSBlbHNlIHtcbiAgICBhZGRyZXNzZXMgPSBhd2FpdCBuZXcgUHJvbWlzZTxkbnMuTG9va3VwQWRkcmVzc1tdPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBvbkFib3J0ID0gKCkgPT4ge1xuICAgICAgICByZWplY3QobmV3IEFib3J0RXJyb3IoKSk7XG4gICAgICB9O1xuXG4gICAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkFib3J0KTtcblxuICAgICAgbG9va3VwKHVybC5kb21haW5Ub0FTQ0lJKGhvc3QpLCB7IGFsbDogdHJ1ZSB9LCAoZXJyLCBhZGRyZXNzZXMpID0+IHtcbiAgICAgICAgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgb25BYm9ydCk7XG5cbiAgICAgICAgZXJyID8gcmVqZWN0KGVycikgOiByZXNvbHZlKGFkZHJlc3Nlcyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBzZW5kSW5QYXJhbGxlbChhZGRyZXNzZXMsIHBvcnQsIHJlcXVlc3QsIHNpZ25hbCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxJQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFJQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBOEMsU0FBQUQsdUJBQUFLLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFJdkMsZUFBZUcsY0FBY0EsQ0FBQ0MsU0FBOEIsRUFBRUMsSUFBWSxFQUFFQyxPQUFlLEVBQUVDLE1BQW1CLEVBQUU7RUFDdkgsSUFBSUEsTUFBTSxDQUFDQyxPQUFPLEVBQUU7SUFDbEIsTUFBTSxJQUFJQyxtQkFBVSxDQUFDLENBQUM7RUFDeEI7RUFFQSxPQUFPLE1BQU0sSUFBSUMsT0FBTyxDQUFTLENBQUNDLE9BQU8sRUFBRUMsTUFBTSxLQUFLO0lBQ3BELE1BQU1DLE9BQXVCLEdBQUcsRUFBRTtJQUVsQyxJQUFJQyxVQUFVLEdBQUcsQ0FBQztJQUVsQixNQUFNQyxPQUFPLEdBQUlDLEdBQVUsSUFBSztNQUM5QkYsVUFBVSxFQUFFO01BRVosSUFBSUEsVUFBVSxLQUFLVixTQUFTLENBQUNhLE1BQU0sRUFBRTtRQUNuQ1YsTUFBTSxDQUFDVyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUVDLE9BQU8sQ0FBQztRQUM1Q0MsWUFBWSxDQUFDLENBQUM7UUFFZFIsTUFBTSxDQUFDSSxHQUFHLENBQUM7TUFDYjtJQUNGLENBQUM7SUFFRCxNQUFNSyxTQUFTLEdBQUlDLE9BQWUsSUFBSztNQUNyQ2YsTUFBTSxDQUFDVyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUVDLE9BQU8sQ0FBQztNQUM1Q0MsWUFBWSxDQUFDLENBQUM7TUFFZFQsT0FBTyxDQUFDVyxPQUFPLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU1ILE9BQU8sR0FBR0EsQ0FBQSxLQUFNO01BQ3BCQyxZQUFZLENBQUMsQ0FBQztNQUVkUixNQUFNLENBQUMsSUFBSUgsbUJBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU1XLFlBQVksR0FBR0EsQ0FBQSxLQUFNO01BQ3pCLEtBQUssTUFBTUcsTUFBTSxJQUFJVixPQUFPLEVBQUU7UUFDNUJVLE1BQU0sQ0FBQ0MsY0FBYyxDQUFDLE9BQU8sRUFBRVQsT0FBTyxDQUFDO1FBQ3ZDUSxNQUFNLENBQUNDLGNBQWMsQ0FBQyxTQUFTLEVBQUVILFNBQVMsQ0FBQztRQUMzQ0UsTUFBTSxDQUFDRSxLQUFLLENBQUMsQ0FBQztNQUNoQjtJQUNGLENBQUM7SUFFRGxCLE1BQU0sQ0FBQ21CLGdCQUFnQixDQUFDLE9BQU8sRUFBRVAsT0FBTyxFQUFFO01BQUVRLElBQUksRUFBRTtJQUFLLENBQUMsQ0FBQztJQUV6RCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3hCLFNBQVMsQ0FBQ2EsTUFBTSxFQUFFVyxDQUFDLEVBQUUsRUFBRTtNQUN6QyxNQUFNQyxPQUFPLEdBQUd6QixTQUFTLENBQUN3QixDQUFDLENBQUMsQ0FBQ0UsTUFBTSxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsTUFBTTtNQUUzRCxNQUFNUCxNQUFNLEdBQUdRLGNBQUssQ0FBQ0MsWUFBWSxDQUFDSCxPQUFPLENBQUM7TUFDMUNoQixPQUFPLENBQUNvQixJQUFJLENBQUNWLE1BQU0sQ0FBQztNQUNwQkEsTUFBTSxDQUFDVyxFQUFFLENBQUMsT0FBTyxFQUFFbkIsT0FBTyxDQUFDO01BQzNCUSxNQUFNLENBQUNXLEVBQUUsQ0FBQyxTQUFTLEVBQUViLFNBQVMsQ0FBQztNQUMvQkUsTUFBTSxDQUFDWSxJQUFJLENBQUM3QixPQUFPLEVBQUUsQ0FBQyxFQUFFQSxPQUFPLENBQUNXLE1BQU0sRUFBRVosSUFBSSxFQUFFRCxTQUFTLENBQUN3QixDQUFDLENBQUMsQ0FBQ1EsT0FBTyxDQUFDO0lBQ3JFO0VBQ0YsQ0FBQyxDQUFDO0FBQ0o7QUFFTyxlQUFlQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVqQyxJQUFZLEVBQUVrQyxNQUFzQixFQUFFaEMsTUFBbUIsRUFBRUQsT0FBZSxFQUFFO0VBQzFILElBQUlDLE1BQU0sQ0FBQ0MsT0FBTyxFQUFFO0lBQ2xCLE1BQU0sSUFBSUMsbUJBQVUsQ0FBQyxDQUFDO0VBQ3hCO0VBRUEsSUFBSUwsU0FBOEI7RUFFbEMsSUFBSW9DLFlBQUcsQ0FBQ0MsSUFBSSxDQUFDSCxJQUFJLENBQUMsRUFBRTtJQUNsQmxDLFNBQVMsR0FBRyxDQUNWO01BQUVnQyxPQUFPLEVBQUVFLElBQUk7TUFBRVIsTUFBTSxFQUFFVSxZQUFHLENBQUNFLE1BQU0sQ0FBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO0lBQUUsQ0FBQyxDQUNwRDtFQUNILENBQUMsTUFBTTtJQUNMbEMsU0FBUyxHQUFHLE1BQU0sSUFBSU0sT0FBTyxDQUFzQixDQUFDQyxPQUFPLEVBQUVDLE1BQU0sS0FBSztNQUN0RSxNQUFNTyxPQUFPLEdBQUdBLENBQUEsS0FBTTtRQUNwQlAsTUFBTSxDQUFDLElBQUlILG1CQUFVLENBQUMsQ0FBQyxDQUFDO01BQzFCLENBQUM7TUFFREYsTUFBTSxDQUFDbUIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFUCxPQUFPLENBQUM7TUFFekNvQixNQUFNLENBQUNJLGdCQUFHLENBQUNDLGFBQWEsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7UUFBRU8sR0FBRyxFQUFFO01BQUssQ0FBQyxFQUFFLENBQUM3QixHQUFHLEVBQUVaLFNBQVMsS0FBSztRQUNqRUcsTUFBTSxDQUFDVyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUVDLE9BQU8sQ0FBQztRQUU1Q0gsR0FBRyxHQUFHSixNQUFNLENBQUNJLEdBQUcsQ0FBQyxHQUFHTCxPQUFPLENBQUNQLFNBQVMsQ0FBQztNQUN4QyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7RUFDSjtFQUVBLE9BQU8sTUFBTUQsY0FBYyxDQUFDQyxTQUFTLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLENBQUM7QUFDL0QifQ==
package/lib/sender.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","names":["_dgram","_interopRequireDefault","require","_net","punycode","_interopRequireWildcard","_abortError","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","sendInParallel","addresses","port","request","signal","aborted","AbortError","Promise","resolve","reject","sockets","errorCount","onError","err","length","removeEventListener","onAbort","clearSockets","onMessage","message","socket","removeListener","close","addEventListener","once","j","udpType","family","dgram","createSocket","push","on","send","address","sendMessage","host","lookup","net","isIP","isIPv6","toASCII","all"],"sources":["../src/sender.ts"],"sourcesContent":["import dgram from 'dgram';\nimport dns from 'dns';\nimport net from 'net';\nimport * as punycode from 'punycode/';\nimport { AbortSignal } from 'node-abort-controller';\n\nimport AbortError from './errors/abort-error';\n\ntype LookupFunction = (hostname: string, options: dns.LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: dns.LookupAddress[]) => void) => void;\n\nexport async function sendInParallel(addresses: dns.LookupAddress[], port: number, request: Buffer, signal: AbortSignal) {\n if (signal.aborted) {\n throw new AbortError();\n }\n\n return await new Promise<Buffer>((resolve, reject) => {\n const sockets: dgram.Socket[] = [];\n\n let errorCount = 0;\n\n const onError = (err: Error) => {\n errorCount++;\n\n if (errorCount === addresses.length) {\n signal.removeEventListener('abort', onAbort);\n clearSockets();\n\n reject(err);\n }\n };\n\n const onMessage = (message: Buffer) => {\n signal.removeEventListener('abort', onAbort);\n clearSockets();\n\n resolve(message);\n };\n\n const onAbort = () => {\n clearSockets();\n\n reject(new AbortError());\n };\n\n const clearSockets = () => {\n for (const socket of sockets) {\n socket.removeListener('error', onError);\n socket.removeListener('message', onMessage);\n socket.close();\n }\n };\n\n signal.addEventListener('abort', onAbort, { once: true });\n\n for (let j = 0; j < addresses.length; j++) {\n const udpType = addresses[j].family === 6 ? 'udp6' : 'udp4';\n\n const socket = dgram.createSocket(udpType);\n sockets.push(socket);\n socket.on('error', onError);\n socket.on('message', onMessage);\n socket.send(request, 0, request.length, port, addresses[j].address);\n }\n });\n}\n\nexport async function sendMessage(host: string, port: number, lookup: LookupFunction, signal: AbortSignal, request: Buffer) {\n if (signal.aborted) {\n throw new AbortError();\n }\n\n let addresses: dns.LookupAddress[];\n\n if (net.isIP(host)) {\n addresses = [\n { address: host, family: net.isIPv6(host) ? 6 : 4 }\n ];\n } else {\n addresses = await new Promise<dns.LookupAddress[]>((resolve, reject) => {\n const onAbort = () => {\n reject(new AbortError());\n };\n\n signal.addEventListener('abort', onAbort);\n\n lookup(punycode.toASCII(host), { all: true }, (err, addresses) => {\n signal.removeEventListener('abort', onAbort);\n\n err ? reject(err) : resolve(addresses);\n });\n });\n }\n\n return await sendInParallel(addresses, port, request, signal);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sender.js","names":["_dgram","_interopRequireDefault","require","_net","_nodeUrl","_abortError","obj","__esModule","default","sendInParallel","addresses","port","request","signal","aborted","AbortError","Promise","resolve","reject","sockets","errorCount","onError","err","length","removeEventListener","onAbort","clearSockets","onMessage","message","socket","removeListener","close","addEventListener","once","j","udpType","family","dgram","createSocket","push","on","send","address","sendMessage","host","lookup","net","isIP","isIPv6","url","domainToASCII","all"],"sources":["../src/sender.ts"],"sourcesContent":["import dgram from 'dgram';\nimport dns from 'dns';\nimport net from 'net';\nimport url from 'node:url';\n\nimport { AbortSignal } from 'node-abort-controller';\n\nimport AbortError from './errors/abort-error';\n\ntype LookupFunction = (hostname: string, options: dns.LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: dns.LookupAddress[]) => void) => void;\n\nexport async function sendInParallel(addresses: dns.LookupAddress[], port: number, request: Buffer, signal: AbortSignal) {\n if (signal.aborted) {\n throw new AbortError();\n }\n\n return await new Promise<Buffer>((resolve, reject) => {\n const sockets: dgram.Socket[] = [];\n\n let errorCount = 0;\n\n const onError = (err: Error) => {\n errorCount++;\n\n if (errorCount === addresses.length) {\n signal.removeEventListener('abort', onAbort);\n clearSockets();\n\n reject(err);\n }\n };\n\n const onMessage = (message: Buffer) => {\n signal.removeEventListener('abort', onAbort);\n clearSockets();\n\n resolve(message);\n };\n\n const onAbort = () => {\n clearSockets();\n\n reject(new AbortError());\n };\n\n const clearSockets = () => {\n for (const socket of sockets) {\n socket.removeListener('error', onError);\n socket.removeListener('message', onMessage);\n socket.close();\n }\n };\n\n signal.addEventListener('abort', onAbort, { once: true });\n\n for (let j = 0; j < addresses.length; j++) {\n const udpType = addresses[j].family === 6 ? 'udp6' : 'udp4';\n\n const socket = dgram.createSocket(udpType);\n sockets.push(socket);\n socket.on('error', onError);\n socket.on('message', onMessage);\n socket.send(request, 0, request.length, port, addresses[j].address);\n }\n });\n}\n\nexport async function sendMessage(host: string, port: number, lookup: LookupFunction, signal: AbortSignal, request: Buffer) {\n if (signal.aborted) {\n throw new AbortError();\n }\n\n let addresses: dns.LookupAddress[];\n\n if (net.isIP(host)) {\n addresses = [\n { address: host, family: net.isIPv6(host) ? 6 : 4 }\n ];\n } else {\n addresses = await new Promise<dns.LookupAddress[]>((resolve, reject) => {\n const onAbort = () => {\n reject(new AbortError());\n };\n\n signal.addEventListener('abort', onAbort);\n\n lookup(url.domainToASCII(host), { all: true }, (err, addresses) => {\n signal.removeEventListener('abort', onAbort);\n\n err ? reject(err) : resolve(addresses);\n });\n });\n }\n\n return await sendInParallel(addresses, port, request, signal);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAIA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIvC,eAAeG,cAAcA,CAACC,SAA8B,EAAEC,IAAY,EAAEC,OAAe,EAAEC,MAAmB,EAAE;EACvH,IAAIA,MAAM,CAACC,OAAO,EAAE;IAClB,MAAM,IAAIC,mBAAU,CAAC,CAAC;EACxB;EAEA,OAAO,MAAM,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IACpD,MAAMC,OAAuB,GAAG,EAAE;IAElC,IAAIC,UAAU,GAAG,CAAC;IAElB,MAAMC,OAAO,GAAIC,GAAU,IAAK;MAC9BF,UAAU,EAAE;MAEZ,IAAIA,UAAU,KAAKV,SAAS,CAACa,MAAM,EAAE;QACnCV,MAAM,CAACW,mBAAmB,CAAC,OAAO,EAAEC,OAAO,CAAC;QAC5CC,YAAY,CAAC,CAAC;QAEdR,MAAM,CAACI,GAAG,CAAC;MACb;IACF,CAAC;IAED,MAAMK,SAAS,GAAIC,OAAe,IAAK;MACrCf,MAAM,CAACW,mBAAmB,CAAC,OAAO,EAAEC,OAAO,CAAC;MAC5CC,YAAY,CAAC,CAAC;MAEdT,OAAO,CAACW,OAAO,CAAC;IAClB,CAAC;IAED,MAAMH,OAAO,GAAGA,CAAA,KAAM;MACpBC,YAAY,CAAC,CAAC;MAEdR,MAAM,CAAC,IAAIH,mBAAU,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,MAAMW,YAAY,GAAGA,CAAA,KAAM;MACzB,KAAK,MAAMG,MAAM,IAAIV,OAAO,EAAE;QAC5BU,MAAM,CAACC,cAAc,CAAC,OAAO,EAAET,OAAO,CAAC;QACvCQ,MAAM,CAACC,cAAc,CAAC,SAAS,EAAEH,SAAS,CAAC;QAC3CE,MAAM,CAACE,KAAK,CAAC,CAAC;MAChB;IACF,CAAC;IAEDlB,MAAM,CAACmB,gBAAgB,CAAC,OAAO,EAAEP,OAAO,EAAE;MAAEQ,IAAI,EAAE;IAAK,CAAC,CAAC;IAEzD,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxB,SAAS,CAACa,MAAM,EAAEW,CAAC,EAAE,EAAE;MACzC,MAAMC,OAAO,GAAGzB,SAAS,CAACwB,CAAC,CAAC,CAACE,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM;MAE3D,MAAMP,MAAM,GAAGQ,cAAK,CAACC,YAAY,CAACH,OAAO,CAAC;MAC1ChB,OAAO,CAACoB,IAAI,CAACV,MAAM,CAAC;MACpBA,MAAM,CAACW,EAAE,CAAC,OAAO,EAAEnB,OAAO,CAAC;MAC3BQ,MAAM,CAACW,EAAE,CAAC,SAAS,EAAEb,SAAS,CAAC;MAC/BE,MAAM,CAACY,IAAI,CAAC7B,OAAO,EAAE,CAAC,EAAEA,OAAO,CAACW,MAAM,EAAEZ,IAAI,EAAED,SAAS,CAACwB,CAAC,CAAC,CAACQ,OAAO,CAAC;IACrE;EACF,CAAC,CAAC;AACJ;AAEO,eAAeC,WAAWA,CAACC,IAAY,EAAEjC,IAAY,EAAEkC,MAAsB,EAAEhC,MAAmB,EAAED,OAAe,EAAE;EAC1H,IAAIC,MAAM,CAACC,OAAO,EAAE;IAClB,MAAM,IAAIC,mBAAU,CAAC,CAAC;EACxB;EAEA,IAAIL,SAA8B;EAElC,IAAIoC,YAAG,CAACC,IAAI,CAACH,IAAI,CAAC,EAAE;IAClBlC,SAAS,GAAG,CACV;MAAEgC,OAAO,EAAEE,IAAI;MAAER,MAAM,EAAEU,YAAG,CAACE,MAAM,CAACJ,IAAI,CAAC,GAAG,CAAC,GAAG;IAAE,CAAC,CACpD;EACH,CAAC,MAAM;IACLlC,SAAS,GAAG,MAAM,IAAIM,OAAO,CAAsB,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtE,MAAMO,OAAO,GAAGA,CAAA,KAAM;QACpBP,MAAM,CAAC,IAAIH,mBAAU,CAAC,CAAC,CAAC;MAC1B,CAAC;MAEDF,MAAM,CAACmB,gBAAgB,CAAC,OAAO,EAAEP,OAAO,CAAC;MAEzCoB,MAAM,CAACI,gBAAG,CAACC,aAAa,CAACN,IAAI,CAAC,EAAE;QAAEO,GAAG,EAAE;MAAK,CAAC,EAAE,CAAC7B,GAAG,EAAEZ,SAAS,KAAK;QACjEG,MAAM,CAACW,mBAAmB,CAAC,OAAO,EAAEC,OAAO,CAAC;QAE5CH,GAAG,GAAGJ,MAAM,CAACI,GAAG,CAAC,GAAGL,OAAO,CAACP,SAAS,CAAC;MACxC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,OAAO,MAAMD,cAAc,CAACC,SAAS,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,CAAC;AAC/D"}
@@ -56,9 +56,8 @@ async function nbcRowParser(parser) {
56
56
  metadata
57
57
  });
58
58
  } else if (metadata.type.name === 'VarChar') {
59
- var _metadata$collation;
60
59
  columns.push({
61
- value: iconv.decode(Buffer.concat(chunks), ((_metadata$collation = metadata.collation) === null || _metadata$collation === void 0 ? void 0 : _metadata$collation.codepage) ?? 'utf8'),
60
+ value: iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8'),
62
61
  metadata
63
62
  });
64
63
  } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {
@@ -103,4 +102,4 @@ async function nbcRowParser(parser) {
103
102
  var _default = nbcRowParser;
104
103
  exports.default = _default;
105
104
  module.exports = nbcRowParser;
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiaWNvbnYiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl92YWx1ZVBhcnNlciIsIl9oZWxwZXJzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm5iY1Jvd1BhcnNlciIsInBhcnNlciIsImNvbE1ldGFkYXRhIiwiY29sdW1ucyIsImJpdG1hcCIsImJpdG1hcEJ5dGVMZW5ndGgiLCJNYXRoIiwiY2VpbCIsImxlbmd0aCIsImJ1ZmZlciIsInBvc2l0aW9uIiwid2FpdEZvckNodW5rIiwiYnl0ZXMiLCJzbGljZSIsImkiLCJsZW4iLCJieXRlIiwicHVzaCIsIm1ldGFkYXRhIiwidmFsdWUiLCJpc1BMUFN0cmVhbSIsImNodW5rcyIsInJlYWRQTFBTdHJlYW0iLCJ0eXBlIiwibmFtZSIsIkJ1ZmZlciIsImNvbmNhdCIsInRvU3RyaW5nIiwiX21ldGFkYXRhJGNvbGxhdGlvbiIsImRlY29kZSIsImNvbGxhdGlvbiIsImNvZGVwYWdlIiwicmVzdWx0IiwicmVhZFZhbHVlIiwib3B0aW9ucyIsImVyciIsIk5vdEVub3VnaERhdGFFcnJvciIsIm9mZnNldCIsInVzZUNvbHVtbk5hbWVzIiwiY29sdW1uc01hcCIsImNyZWF0ZSIsImZvckVhY2giLCJjb2x1bW4iLCJjb2xOYW1lIiwiTkJDUm93VG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vbmJjcm93LXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzMi4yLjcuMTMgKGludHJvZHVjZWQgaW4gVERTIDcuMy5CKVxuXG5pbXBvcnQgUGFyc2VyIGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyB0eXBlIENvbHVtbk1ldGFkYXRhIH0gZnJvbSAnLi9jb2xtZXRhZGF0YS10b2tlbi1wYXJzZXInO1xuXG5pbXBvcnQgeyBOQkNSb3dUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuaW1wb3J0ICogYXMgaWNvbnYgZnJvbSAnaWNvbnYtbGl0ZSc7XG5cbmltcG9ydCB7IGlzUExQU3RyZWFtLCByZWFkUExQU3RyZWFtLCByZWFkVmFsdWUgfSBmcm9tICcuLi92YWx1ZS1wYXJzZXInO1xuaW1wb3J0IHsgTm90RW5vdWdoRGF0YUVycm9yIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuaW50ZXJmYWNlIENvbHVtbiB7XG4gIHZhbHVlOiB1bmtub3duO1xuICBtZXRhZGF0YTogQ29sdW1uTWV0YWRhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5iY1Jvd1BhcnNlcihwYXJzZXI6IFBhcnNlcik6IFByb21pc2U8TkJDUm93VG9rZW4+IHtcbiAgY29uc3QgY29sTWV0YWRhdGEgPSBwYXJzZXIuY29sTWV0YWRhdGE7XG4gIGNvbnN0IGNvbHVtbnM6IENvbHVtbltdID0gW107XG4gIGNvbnN0IGJpdG1hcDogYm9vbGVhbltdID0gW107XG4gIGNvbnN0IGJpdG1hcEJ5dGVMZW5ndGggPSBNYXRoLmNlaWwoY29sTWV0YWRhdGEubGVuZ3RoIC8gOCk7XG5cbiAgd2hpbGUgKHBhcnNlci5idWZmZXIubGVuZ3RoIC0gcGFyc2VyLnBvc2l0aW9uIDwgYml0bWFwQnl0ZUxlbmd0aCkge1xuICAgIGF3YWl0IHBhcnNlci53YWl0Rm9yQ2h1bmsoKTtcbiAgfVxuXG4gIGNvbnN0IGJ5dGVzID0gcGFyc2VyLmJ1ZmZlci5zbGljZShwYXJzZXIucG9zaXRpb24sIHBhcnNlci5wb3NpdGlvbiArIGJpdG1hcEJ5dGVMZW5ndGgpO1xuICBwYXJzZXIucG9zaXRpb24gKz0gYml0bWFwQnl0ZUxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYnl0ZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gYnl0ZXNbaV07XG5cbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbE1ldGFkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBjb2xNZXRhZGF0YVtpXTtcbiAgICBpZiAoYml0bWFwW2ldKSB7XG4gICAgICBjb2x1bW5zLnB1c2goeyB2YWx1ZTogbnVsbCwgbWV0YWRhdGEgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKGlzUExQU3RyZWFtKG1ldGFkYXRhKSkge1xuICAgICAgICBjb25zdCBjaHVua3MgPSBhd2FpdCByZWFkUExQU3RyZWFtKHBhcnNlcik7XG5cbiAgICAgICAgaWYgKGNodW5rcyA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBjaHVua3MsIG1ldGFkYXRhIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ05WYXJDaGFyJyB8fCBtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdYbWwnKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHsgdmFsdWU6IEJ1ZmZlci5jb25jYXQoY2h1bmtzKS50b1N0cmluZygndWNzMicpLCBtZXRhZGF0YSB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdWYXJDaGFyJykge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBpY29udi5kZWNvZGUoQnVmZmVyLmNvbmNhdChjaHVua3MpLCBtZXRhZGF0YS5jb2xsYXRpb24/LmNvZGVwYWdlID8/ICd1dGY4JyksIG1ldGFkYXRhIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ1ZhckJpbmFyeScgfHwgbWV0YWRhdGEudHlwZS5uYW1lID09PSAnVURUJykge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBCdWZmZXIuY29uY2F0KGNodW5rcyksIG1ldGFkYXRhIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlYWRWYWx1ZShwYXJzZXIuYnVmZmVyLCBwYXJzZXIucG9zaXRpb24sIG1ldGFkYXRhLCBwYXJzZXIub3B0aW9ucyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBOb3RFbm91Z2hEYXRhRXJyb3IpIHtcbiAgICAgICAgICAgIGF3YWl0IHBhcnNlci53YWl0Rm9yQ2h1bmsoKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcnNlci5wb3NpdGlvbiA9IHJlc3VsdC5vZmZzZXQ7XG4gICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiByZXN1bHQudmFsdWUsIG1ldGFkYXRhIH0pO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAocGFyc2VyLm9wdGlvbnMudXNlQ29sdW1uTmFtZXMpIHtcbiAgICBjb25zdCBjb2x1bW5zTWFwOiB7IFtrZXk6IHN0cmluZ106IENvbHVtbiB9ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICBjb25zdCBjb2xOYW1lID0gY29sdW1uLm1ldGFkYXRhLmNvbE5hbWU7XG4gICAgICBpZiAoY29sdW1uc01hcFtjb2xOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbHVtbnNNYXBbY29sTmFtZV0gPSBjb2x1bW47XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE5CQ1Jvd1Rva2VuKGNvbHVtbnNNYXApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgTkJDUm93VG9rZW4oY29sdW1ucyk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCBuYmNSb3dQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IG5iY1Jvd1BhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQStDLFNBQUFLLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFB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
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiaWNvbnYiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl92YWx1ZVBhcnNlciIsIl9oZWxwZXJzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm5iY1Jvd1BhcnNlciIsInBhcnNlciIsImNvbE1ldGFkYXRhIiwiY29sdW1ucyIsImJpdG1hcCIsImJpdG1hcEJ5dGVMZW5ndGgiLCJNYXRoIiwiY2VpbCIsImxlbmd0aCIsImJ1ZmZlciIsInBvc2l0aW9uIiwid2FpdEZvckNodW5rIiwiYnl0ZXMiLCJzbGljZSIsImkiLCJsZW4iLCJieXRlIiwicHVzaCIsIm1ldGFkYXRhIiwidmFsdWUiLCJpc1BMUFN0cmVhbSIsImNodW5rcyIsInJlYWRQTFBTdHJlYW0iLCJ0eXBlIiwibmFtZSIsIkJ1ZmZlciIsImNvbmNhdCIsInRvU3RyaW5nIiwiZGVjb2RlIiwiY29sbGF0aW9uIiwiY29kZXBhZ2UiLCJyZXN1bHQiLCJyZWFkVmFsdWUiLCJvcHRpb25zIiwiZXJyIiwiTm90RW5vdWdoRGF0YUVycm9yIiwib2Zmc2V0IiwidXNlQ29sdW1uTmFtZXMiLCJjb2x1bW5zTWFwIiwiY3JlYXRlIiwiZm9yRWFjaCIsImNvbHVtbiIsImNvbE5hbWUiLCJOQkNSb3dUb2tlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9uYmNyb3ctdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xMyAoaW50cm9kdWNlZCBpbiBURFMgNy4zLkIpXG5cbmltcG9ydCBQYXJzZXIgZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcbmltcG9ydCB7IHR5cGUgQ29sdW1uTWV0YWRhdGEgfSBmcm9tICcuL2NvbG1ldGFkYXRhLXRva2VuLXBhcnNlcic7XG5cbmltcG9ydCB7IE5CQ1Jvd1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5pbXBvcnQgKiBhcyBpY29udiBmcm9tICdpY29udi1saXRlJztcblxuaW1wb3J0IHsgaXNQTFBTdHJlYW0sIHJlYWRQTFBTdHJlYW0sIHJlYWRWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlLXBhcnNlcic7XG5pbXBvcnQgeyBOb3RFbm91Z2hEYXRhRXJyb3IgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5pbnRlcmZhY2UgQ29sdW1uIHtcbiAgdmFsdWU6IHVua25vd247XG4gIG1ldGFkYXRhOiBDb2x1bW5NZXRhZGF0YTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmJjUm93UGFyc2VyKHBhcnNlcjogUGFyc2VyKTogUHJvbWlzZTxOQkNSb3dUb2tlbj4ge1xuICBjb25zdCBjb2xNZXRhZGF0YSA9IHBhcnNlci5jb2xNZXRhZGF0YTtcbiAgY29uc3QgY29sdW1uczogQ29sdW1uW10gPSBbXTtcbiAgY29uc3QgYml0bWFwOiBib29sZWFuW10gPSBbXTtcbiAgY29uc3QgYml0bWFwQnl0ZUxlbmd0aCA9IE1hdGguY2VpbChjb2xNZXRhZGF0YS5sZW5ndGggLyA4KTtcblxuICB3aGlsZSAocGFyc2VyLmJ1ZmZlci5sZW5ndGggLSBwYXJzZXIucG9zaXRpb24gPCBiaXRtYXBCeXRlTGVuZ3RoKSB7XG4gICAgYXdhaXQgcGFyc2VyLndhaXRGb3JDaHVuaygpO1xuICB9XG5cbiAgY29uc3QgYnl0ZXMgPSBwYXJzZXIuYnVmZmVyLnNsaWNlKHBhcnNlci5wb3NpdGlvbiwgcGFyc2VyLnBvc2l0aW9uICsgYml0bWFwQnl0ZUxlbmd0aCk7XG4gIHBhcnNlci5wb3NpdGlvbiArPSBiaXRtYXBCeXRlTGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBieXRlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IGJ5dGUgPSBieXRlc1tpXTtcblxuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgfVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sTWV0YWRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IGNvbE1ldGFkYXRhW2ldO1xuICAgIGlmIChiaXRtYXBbaV0pIHtcbiAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBudWxsLCBtZXRhZGF0YSB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAoaXNQTFBTdHJlYW0obWV0YWRhdGEpKSB7XG4gICAgICAgIGNvbnN0IGNodW5rcyA9IGF3YWl0IHJlYWRQTFBTdHJlYW0ocGFyc2VyKTtcblxuICAgICAgICBpZiAoY2h1bmtzID09PSBudWxsKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHsgdmFsdWU6IGNodW5rcywgbWV0YWRhdGEgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudHlwZS5uYW1lID09PSAnTlZhckNoYXInIHx8IG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ1htbCcpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goeyB2YWx1ZTogQnVmZmVyLmNvbmNhdChjaHVua3MpLnRvU3RyaW5nKCd1Y3MyJyksIG1ldGFkYXRhIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ1ZhckNoYXInKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHsgdmFsdWU6IGljb252LmRlY29kZShCdWZmZXIuY29uY2F0KGNodW5rcyksIG1ldGFkYXRhLmNvbGxhdGlvbj8uY29kZXBhZ2UgPz8gJ3V0ZjgnKSwgbWV0YWRhdGEgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudHlwZS5uYW1lID09PSAnVmFyQmluYXJ5JyB8fCBtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdVRFQnKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHsgdmFsdWU6IEJ1ZmZlci5jb25jYXQoY2h1bmtzKSwgbWV0YWRhdGEgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVhZFZhbHVlKHBhcnNlci5idWZmZXIsIHBhcnNlci5wb3NpdGlvbiwgbWV0YWRhdGEsIHBhcnNlci5vcHRpb25zKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIE5vdEVub3VnaERhdGFFcnJvcikge1xuICAgICAgICAgICAgYXdhaXQgcGFyc2VyLndhaXRGb3JDaHVuaygpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyc2VyLnBvc2l0aW9uID0gcmVzdWx0Lm9mZnNldDtcbiAgICAgICAgY29sdW1ucy5wdXNoKHsgdmFsdWU6IHJlc3VsdC52YWx1ZSwgbWV0YWRhdGEgfSk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwYXJzZXIub3B0aW9ucy51c2VDb2x1bW5OYW1lcykge1xuICAgIGNvbnN0IGNvbHVtbnNNYXA6IHsgW2tleTogc3RyaW5nXTogQ29sdW1uIH0gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IGNvbE5hbWUgPSBjb2x1bW4ubWV0YWRhdGEuY29sTmFtZTtcbiAgICAgIGlmIChjb2x1bW5zTWFwW2NvbE5hbWVdID09IG51bGwpIHtcbiAgICAgICAgY29sdW1uc01hcFtjb2xOYW1lXSA9IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgTkJDUm93VG9rZW4oY29sdW1uc01hcCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBOQkNSb3dUb2tlbihjb2x1bW5zKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWZhdWx0IG5iY1Jvd1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gbmJjUm93UGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFLQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBK0MsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUosd0JBQUFRLEdBQUEsRUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"nbcrow-token-parser.js","names":["_token","require","iconv","_interopRequireWildcard","_valueParser","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","nbcRowParser","parser","colMetadata","columns","bitmap","bitmapByteLength","Math","ceil","length","buffer","position","waitForChunk","bytes","slice","i","len","byte","push","metadata","value","isPLPStream","chunks","readPLPStream","type","name","Buffer","concat","toString","_metadata$collation","decode","collation","codepage","result","readValue","options","err","NotEnoughDataError","offset","useColumnNames","columnsMap","create","forEach","column","colName","NBCRowToken","_default","exports","module"],"sources":["../../src/token/nbcrow-token-parser.ts"],"sourcesContent":["// s2.2.7.13 (introduced in TDS 7.3.B)\n\nimport Parser from './stream-parser';\nimport { type ColumnMetadata } from './colmetadata-token-parser';\n\nimport { NBCRowToken } from './token';\nimport * as iconv from 'iconv-lite';\n\nimport { isPLPStream, readPLPStream, readValue } from '../value-parser';\nimport { NotEnoughDataError } from './helpers';\n\ninterface Column {\n value: unknown;\n metadata: ColumnMetadata;\n}\n\nasync function nbcRowParser(parser: Parser): Promise<NBCRowToken> {\n const colMetadata = parser.colMetadata;\n const columns: Column[] = [];\n const bitmap: boolean[] = [];\n const bitmapByteLength = Math.ceil(colMetadata.length / 8);\n\n while (parser.buffer.length - parser.position < bitmapByteLength) {\n await parser.waitForChunk();\n }\n\n const bytes = parser.buffer.slice(parser.position, parser.position + bitmapByteLength);\n parser.position += bitmapByteLength;\n\n for (let i = 0, len = bytes.length; i < len; i++) {\n const byte = bytes[i];\n\n bitmap.push(byte & 0b1 ? true : false);\n bitmap.push(byte & 0b10 ? true : false);\n bitmap.push(byte & 0b100 ? true : false);\n bitmap.push(byte & 0b1000 ? true : false);\n bitmap.push(byte & 0b10000 ? true : false);\n bitmap.push(byte & 0b100000 ? true : false);\n bitmap.push(byte & 0b1000000 ? true : false);\n bitmap.push(byte & 0b10000000 ? true : false);\n }\n\n for (let i = 0; i < colMetadata.length; i++) {\n const metadata = colMetadata[i];\n if (bitmap[i]) {\n columns.push({ value: null, metadata });\n continue;\n }\n\n while (true) {\n if (isPLPStream(metadata)) {\n const chunks = await readPLPStream(parser);\n\n if (chunks === null) {\n columns.push({ value: chunks, metadata });\n } else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {\n columns.push({ value: Buffer.concat(chunks).toString('ucs2'), metadata });\n } else if (metadata.type.name === 'VarChar') {\n columns.push({ value: iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8'), metadata });\n } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {\n columns.push({ value: Buffer.concat(chunks), metadata });\n }\n } else {\n let result;\n try {\n result = readValue(parser.buffer, parser.position, metadata, parser.options);\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = result.offset;\n columns.push({ value: result.value, metadata });\n }\n\n break;\n }\n }\n\n if (parser.options.useColumnNames) {\n const columnsMap: { [key: string]: Column } = Object.create(null);\n\n columns.forEach((column) => {\n const colName = column.metadata.colName;\n if (columnsMap[colName] == null) {\n columnsMap[colName] = column;\n }\n });\n\n return new NBCRowToken(columnsMap);\n } else {\n return new NBCRowToken(columns);\n }\n}\n\n\nexport default nbcRowParser;\nmodule.exports = nbcRowParser;\n"],"mappings":"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"}
1
+ {"version":3,"file":"nbcrow-token-parser.js","names":["_token","require","iconv","_interopRequireWildcard","_valueParser","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","nbcRowParser","parser","colMetadata","columns","bitmap","bitmapByteLength","Math","ceil","length","buffer","position","waitForChunk","bytes","slice","i","len","byte","push","metadata","value","isPLPStream","chunks","readPLPStream","type","name","Buffer","concat","toString","decode","collation","codepage","result","readValue","options","err","NotEnoughDataError","offset","useColumnNames","columnsMap","create","forEach","column","colName","NBCRowToken","_default","exports","module"],"sources":["../../src/token/nbcrow-token-parser.ts"],"sourcesContent":["// s2.2.7.13 (introduced in TDS 7.3.B)\n\nimport Parser from './stream-parser';\nimport { type ColumnMetadata } from './colmetadata-token-parser';\n\nimport { NBCRowToken } from './token';\nimport * as iconv from 'iconv-lite';\n\nimport { isPLPStream, readPLPStream, readValue } from '../value-parser';\nimport { NotEnoughDataError } from './helpers';\n\ninterface Column {\n value: unknown;\n metadata: ColumnMetadata;\n}\n\nasync function nbcRowParser(parser: Parser): Promise<NBCRowToken> {\n const colMetadata = parser.colMetadata;\n const columns: Column[] = [];\n const bitmap: boolean[] = [];\n const bitmapByteLength = Math.ceil(colMetadata.length / 8);\n\n while (parser.buffer.length - parser.position < bitmapByteLength) {\n await parser.waitForChunk();\n }\n\n const bytes = parser.buffer.slice(parser.position, parser.position + bitmapByteLength);\n parser.position += bitmapByteLength;\n\n for (let i = 0, len = bytes.length; i < len; i++) {\n const byte = bytes[i];\n\n bitmap.push(byte & 0b1 ? true : false);\n bitmap.push(byte & 0b10 ? true : false);\n bitmap.push(byte & 0b100 ? true : false);\n bitmap.push(byte & 0b1000 ? true : false);\n bitmap.push(byte & 0b10000 ? true : false);\n bitmap.push(byte & 0b100000 ? true : false);\n bitmap.push(byte & 0b1000000 ? true : false);\n bitmap.push(byte & 0b10000000 ? true : false);\n }\n\n for (let i = 0; i < colMetadata.length; i++) {\n const metadata = colMetadata[i];\n if (bitmap[i]) {\n columns.push({ value: null, metadata });\n continue;\n }\n\n while (true) {\n if (isPLPStream(metadata)) {\n const chunks = await readPLPStream(parser);\n\n if (chunks === null) {\n columns.push({ value: chunks, metadata });\n } else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {\n columns.push({ value: Buffer.concat(chunks).toString('ucs2'), metadata });\n } else if (metadata.type.name === 'VarChar') {\n columns.push({ value: iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8'), metadata });\n } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {\n columns.push({ value: Buffer.concat(chunks), metadata });\n }\n } else {\n let result;\n try {\n result = readValue(parser.buffer, parser.position, metadata, parser.options);\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = result.offset;\n columns.push({ value: result.value, metadata });\n }\n\n break;\n }\n }\n\n if (parser.options.useColumnNames) {\n const columnsMap: { [key: string]: Column } = Object.create(null);\n\n columns.forEach((column) => {\n const colName = column.metadata.colName;\n if (columnsMap[colName] == null) {\n columnsMap[colName] = column;\n }\n });\n\n return new NBCRowToken(columnsMap);\n } else {\n return new NBCRowToken(columns);\n }\n}\n\n\nexport default nbcRowParser;\nmodule.exports = nbcRowParser;\n"],"mappings":"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"}
@@ -61,8 +61,7 @@ async function returnParser(parser) {
61
61
  } else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {
62
62
  value = Buffer.concat(chunks).toString('ucs2');
63
63
  } else if (metadata.type.name === 'VarChar') {
64
- var _metadata$collation;
65
- value = iconv.decode(Buffer.concat(chunks), ((_metadata$collation = metadata.collation) === null || _metadata$collation === void 0 ? void 0 : _metadata$collation.codepage) ?? 'utf8');
64
+ value = iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8');
66
65
  } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {
67
66
  value = Buffer.concat(chunks);
68
67
  }
@@ -93,4 +92,4 @@ async function returnParser(parser) {
93
92
  var _default = returnParser;
94
93
  exports.default = _default;
95
94
  module.exports = returnParser;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX21ldGFkYXRhUGFyc2VyIiwiX3ZhbHVlUGFyc2VyIiwiX2hlbHBlcnMiLCJpY29udiIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInJldHVyblBhcnNlciIsInBhcnNlciIsInBhcmFtTmFtZSIsInBhcmFtT3JkaW5hbCIsIm1ldGFkYXRhIiwiYnVmIiwiYnVmZmVyIiwib2Zmc2V0IiwicG9zaXRpb24iLCJ2YWx1ZSIsInJlYWRVSW50MTZMRSIsInJlYWRCVmFyQ2hhciIsInJlYWRVSW50OCIsInJlYWRNZXRhZGF0YSIsIm9wdGlvbnMiLCJjaGFyQXQiLCJzbGljZSIsImVyciIsIk5vdEVub3VnaERhdGFFcnJvciIsIndhaXRGb3JDaHVuayIsImlzUExQU3RyZWFtIiwiY2h1bmtzIiwicmVhZFBMUFN0cmVhbSIsInR5cGUiLCJuYW1lIiwiQnVmZmVyIiwiY29uY2F0IiwidG9TdHJpbmciLCJfbWV0YWRhdGEkY29sbGF0aW9uIiwiZGVjb2RlIiwiY29sbGF0aW9uIiwiY29kZXBhZ2UiLCJyZWFkVmFsdWUiLCJSZXR1cm5WYWx1ZVRva2VuIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL3JldHVybnZhbHVlLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzMi4yLjcuMTZcblxuaW1wb3J0IFBhcnNlciBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuXG5pbXBvcnQgeyBSZXR1cm5WYWx1ZVRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmltcG9ydCB7IHJlYWRNZXRhZGF0YSB9IGZyb20gJy4uL21ldGFkYXRhLXBhcnNlcic7XG5pbXBvcnQgeyBpc1BMUFN0cmVhbSwgcmVhZFBMUFN0cmVhbSwgcmVhZFZhbHVlIH0gZnJvbSAnLi4vdmFsdWUtcGFyc2VyJztcbmltcG9ydCB7IE5vdEVub3VnaERhdGFFcnJvciwgcmVhZEJWYXJDaGFyLCByZWFkVUludDE2TEUsIHJlYWRVSW50OCB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgKiBhcyBpY29udiBmcm9tICdpY29udi1saXRlJztcblxuYXN5bmMgZnVuY3Rpb24gcmV0dXJuUGFyc2VyKHBhcnNlcjogUGFyc2VyKTogUHJvbWlzZTxSZXR1cm5WYWx1ZVRva2VuPiB7XG4gIGxldCBwYXJhbU5hbWU7XG4gIGxldCBwYXJhbU9yZGluYWw7XG4gIGxldCBtZXRhZGF0YTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IHBhcnNlci5idWZmZXI7XG4gICAgbGV0IG9mZnNldCA9IHBhcnNlci5wb3NpdGlvbjtcblxuICAgIHRyeSB7XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBwYXJhbU9yZGluYWwgfSA9IHJlYWRVSW50MTZMRShidWYsIG9mZnNldCkpO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogcGFyYW1OYW1lIH0gPSByZWFkQlZhckNoYXIoYnVmLCBvZmZzZXQpKTtcbiAgICAgIC8vIHN0YXR1c1xuICAgICAgKHsgb2Zmc2V0IH0gPSByZWFkVUludDgoYnVmLCBvZmZzZXQpKTtcbiAgICAgICh7IG9mZnNldCwgdmFsdWU6IG1ldGFkYXRhIH0gPSByZWFkTWV0YWRhdGEoYnVmLCBvZmZzZXQsIHBhcnNlci5vcHRpb25zKSk7XG5cbiAgICAgIGlmIChwYXJhbU5hbWUuY2hhckF0KDApID09PSAnQCcpIHtcbiAgICAgICAgcGFyYW1OYW1lID0gcGFyYW1OYW1lLnNsaWNlKDEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIE5vdEVub3VnaERhdGFFcnJvcikge1xuICAgICAgICBhd2FpdCBwYXJzZXIud2FpdEZvckNodW5rKCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuXG4gICAgcGFyc2VyLnBvc2l0aW9uID0gb2Zmc2V0O1xuICAgIGJyZWFrO1xuICB9XG5cbiAgbGV0IHZhbHVlO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IHBhcnNlci5idWZmZXI7XG4gICAgbGV0IG9mZnNldCA9IHBhcnNlci5wb3NpdGlvbjtcblxuICAgIGlmIChpc1BMUFN0cmVhbShtZXRhZGF0YSkpIHtcbiAgICAgIGNvbnN0IGNodW5rcyA9IGF3YWl0IHJlYWRQTFBTdHJlYW0ocGFyc2VyKTtcblxuICAgICAgaWYgKGNodW5rcyA9PT0gbnVsbCkge1xuICAgICAgICB2YWx1ZSA9IGNodW5rcztcbiAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudHlwZS5uYW1lID09PSAnTlZhckNoYXInIHx8IG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ1htbCcpIHtcbiAgICAgICAgdmFsdWUgPSBCdWZmZXIuY29uY2F0KGNodW5rcykudG9TdHJpbmcoJ3VjczInKTtcbiAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudHlwZS5uYW1lID09PSAnVmFyQ2hhcicpIHtcbiAgICAgICAgdmFsdWUgPSBpY29udi5kZWNvZGUoQnVmZmVyLmNvbmNhdChjaHVua3MpLCBtZXRhZGF0YS5jb2xsYXRpb24/LmNvZGVwYWdlID8/ICd1dGY4Jyk7XG4gICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ1ZhckJpbmFyeScgfHwgbWV0YWRhdGEudHlwZS5uYW1lID09PSAnVURUJykge1xuICAgICAgICB2YWx1ZSA9IEJ1ZmZlci5jb25jYXQoY2h1bmtzKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgKHsgdmFsdWUsIG9mZnNldCB9ID0gcmVhZFZhbHVlKGJ1Ziwgb2Zmc2V0LCBtZXRhZGF0YSwgcGFyc2VyLm9wdGlvbnMpKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgTm90RW5vdWdoRGF0YUVycm9yKSB7XG4gICAgICAgICAgYXdhaXQgcGFyc2VyLndhaXRGb3JDaHVuaygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuXG4gICAgICBwYXJzZXIucG9zaXRpb24gPSBvZmZzZXQ7XG4gICAgfVxuXG4gICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbmV3IFJldHVyblZhbHVlVG9rZW4oe1xuICAgIHBhcmFtT3JkaW5hbDogcGFyYW1PcmRpbmFsLFxuICAgIHBhcmFtTmFtZTogcGFyYW1OYW1lLFxuICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICB2YWx1ZTogdmFsdWVcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHJldHVyblBhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gcmV0dXJuUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFDLHVCQUFBLENBQUFMLE9BQUE7QUFBb0MsU0FBQU0seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUYsd0JBQUFNLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTCxHQUFBLFNBQUFNLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWCxHQUFBLFFBQUFXLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWQsR0FBQSxFQUFBVyxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixHQUFBLEVBQUFXLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVgsR0FBQSxDQUFBVyxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFoQixHQUFBLEVBQUFNLE1BQUEsWUFBQUEsTUFBQTtBQVRwQzs7QUFXQSxlQUFlVyxZQUFZQSxDQUFDQyxNQUFjLEVBQTZCO0VBQ3JFLElBQUlDLFNBQVM7RUFDYixJQUFJQyxZQUFZO0VBQ2hCLElBQUlDLFFBQVE7RUFFWixPQUFPLElBQUksRUFBRTtJQUNYLE1BQU1DLEdBQUcsR0FBR0osTUFBTSxDQUFDSyxNQUFNO0lBQ3pCLElBQUlDLE1BQU0sR0FBR04sTUFBTSxDQUFDTyxRQUFRO0lBRTVCLElBQUk7TUFDRixDQUFDO1FBQUVELE1BQU07UUFBRUUsS0FBSyxFQUFFTjtNQUFhLENBQUMsR0FBRyxJQUFBTyxxQkFBWSxFQUFDTCxHQUFHLEVBQUVFLE1BQU0sQ0FBQztNQUM1RCxDQUFDO1FBQUVBLE1BQU07UUFBRUUsS0FBSyxFQUFFUDtNQUFVLENBQUMsR0FBRyxJQUFBUyxxQkFBWSxFQUFDTixHQUFHLEVBQUVFLE1BQU0sQ0FBQztNQUN6RDtNQUNBLENBQUM7UUFBRUE7TUFBTyxDQUFDLEdBQUcsSUFBQUssa0JBQVMsRUFBQ1AsR0FBRyxFQUFFRSxNQUFNLENBQUM7TUFDcEMsQ0FBQztRQUFFQSxNQUFNO1FBQUVFLEtBQUssRUFBRUw7TUFBUyxDQUFDLEdBQUcsSUFBQVMsNEJBQVksRUFBQ1IsR0FBRyxFQUFFRSxNQUFNLEVBQUVOLE1BQU0sQ0FBQ2EsT0FBTyxDQUFDO01BRXhFLElBQUlaLFNBQVMsQ0FBQ2EsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtRQUMvQmIsU0FBUyxHQUFHQSxTQUFTLENBQUNjLEtBQUssQ0FBQyxDQUFDLENBQUM7TUFDaEM7SUFDRixDQUFDLENBQUMsT0FBT0MsR0FBRyxFQUFFO01BQ1osSUFBSUEsR0FBRyxZQUFZQywyQkFBa0IsRUFBRTtRQUNyQyxNQUFNakIsTUFBTSxDQUFDa0IsWUFBWSxDQUFDLENBQUM7UUFDM0I7TUFDRjtNQUVBLE1BQU1GLEdBQUc7SUFDWDtJQUVBaEIsTUFBTSxDQUFDTyxRQUFRLEdBQUdELE1BQU07SUFDeEI7RUFDRjtFQUVBLElBQUlFLEtBQUs7RUFDVCxPQUFPLElBQUksRUFBRTtJQUNYLE1BQU1KLEdBQUcsR0FBR0osTUFBTSxDQUFDSyxNQUFNO0lBQ3pCLElBQUlDLE1BQU0sR0FBR04sTUFBTSxDQUFDTyxRQUFRO0lBRTVCLElBQUksSUFBQVksd0JBQVcsRUFBQ2hCLFFBQVEsQ0FBQyxFQUFFO01BQ3pCLE1BQU1pQixNQUFNLEdBQUcsTUFBTSxJQUFBQywwQkFBYSxFQUFDckIsTUFBTSxDQUFDO01BRTFDLElBQUlvQixNQUFNLEtBQUssSUFBSSxFQUFFO1FBQ25CWixLQUFLLEdBQUdZLE1BQU07TUFDaEIsQ0FBQyxNQUFNLElBQUlqQixRQUFRLENBQUNtQixJQUFJLENBQUNDLElBQUksS0FBSyxVQUFVLElBQUlwQixRQUFRLENBQUNtQixJQUFJLENBQUNDLElBQUksS0FBSyxLQUFLLEVBQUU7UUFDNUVmLEtBQUssR0FBR2dCLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDTCxNQUFNLENBQUMsQ0FBQ00sUUFBUSxDQUFDLE1BQU0sQ0FBQztNQUNoRCxDQUFDLE1BQU0sSUFBSXZCLFFBQVEsQ0FBQ21CLElBQUksQ0FBQ0MsSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUFBLElBQUFJLG1CQUFBO1FBQzNDbkIsS0FBSyxHQUFHakMsS0FBSyxDQUFDcUQsTUFBTSxDQUFDSixNQUFNLENBQUNDLE1BQU0sQ0FBQ0wsTUFBTSxDQUFDLEVBQUUsRUFBQU8sbUJBQUEsR0FBQXhCLFFBQVEsQ0FBQzBCLFNBQVMsY0FBQUYsbUJBQUEsdUJBQWxCQSxtQkFBQSxDQUFvQkcsUUFBUSxLQUFJLE1BQU0sQ0FBQztNQUNyRixDQUFDLE1BQU0sSUFBSTNCLFFBQVEsQ0FBQ21CLElBQUksQ0FBQ0MsSUFBSSxLQUFLLFdBQVcsSUFBSXBCLFFBQVEsQ0FBQ21CLElBQUksQ0FBQ0MsSUFBSSxLQUFLLEtBQUssRUFBRTtRQUM3RWYsS0FBSyxHQUFHZ0IsTUFBTSxDQUFDQyxNQUFNLENBQUNMLE1BQU0sQ0FBQztNQUMvQjtJQUNGLENBQUMsTUFBTTtNQUNMLElBQUk7UUFDRixDQUFDO1VBQUVaLEtBQUs7VUFBRUY7UUFBTyxDQUFDLEdBQUcsSUFBQXlCLHNCQUFTLEVBQUMzQixHQUFHLEVBQUVFLE1BQU0sRUFBRUgsUUFBUSxFQUFFSCxNQUFNLENBQUNhLE9BQU8sQ0FBQztNQUN2RSxDQUFDLENBQUMsT0FBT0csR0FBRyxFQUFFO1FBQ1osSUFBSUEsR0FBRyxZQUFZQywyQkFBa0IsRUFBRTtVQUNyQyxNQUFNakIsTUFBTSxDQUFDa0IsWUFBWSxDQUFDLENBQUM7VUFDM0I7UUFDRjtRQUVBLE1BQU1GLEdBQUc7TUFDWDtNQUVBaEIsTUFBTSxDQUFDTyxRQUFRLEdBQUdELE1BQU07SUFDMUI7SUFFQTtFQUNGO0VBRUEsT0FBTyxJQUFJMEIsdUJBQWdCLENBQUM7SUFDMUI5QixZQUFZLEVBQUVBLFlBQVk7SUFDMUJELFNBQVMsRUFBRUEsU0FBUztJQUNwQkUsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCSyxLQUFLLEVBQUVBO0VBQ1QsQ0FBQyxDQUFDO0FBQ0o7QUFBQyxJQUFBeUIsUUFBQSxHQUVjbEMsWUFBWTtBQUFBbUMsT0FBQSxDQUFBbEQsT0FBQSxHQUFBaUQsUUFBQTtBQUMzQkUsTUFBTSxDQUFDRCxPQUFPLEdBQUduQyxZQUFZIn0=
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX21ldGFkYXRhUGFyc2VyIiwiX3ZhbHVlUGFyc2VyIiwiX2hlbHBlcnMiLCJpY29udiIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInJldHVyblBhcnNlciIsInBhcnNlciIsInBhcmFtTmFtZSIsInBhcmFtT3JkaW5hbCIsIm1ldGFkYXRhIiwiYnVmIiwiYnVmZmVyIiwib2Zmc2V0IiwicG9zaXRpb24iLCJ2YWx1ZSIsInJlYWRVSW50MTZMRSIsInJlYWRCVmFyQ2hhciIsInJlYWRVSW50OCIsInJlYWRNZXRhZGF0YSIsIm9wdGlvbnMiLCJjaGFyQXQiLCJzbGljZSIsImVyciIsIk5vdEVub3VnaERhdGFFcnJvciIsIndhaXRGb3JDaHVuayIsImlzUExQU3RyZWFtIiwiY2h1bmtzIiwicmVhZFBMUFN0cmVhbSIsInR5cGUiLCJuYW1lIiwiQnVmZmVyIiwiY29uY2F0IiwidG9TdHJpbmciLCJkZWNvZGUiLCJjb2xsYXRpb24iLCJjb2RlcGFnZSIsInJlYWRWYWx1ZSIsIlJldHVyblZhbHVlVG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vcmV0dXJudmFsdWUtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xNlxuXG5pbXBvcnQgUGFyc2VyIGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IFJldHVyblZhbHVlVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW1wb3J0IHsgcmVhZE1ldGFkYXRhIH0gZnJvbSAnLi4vbWV0YWRhdGEtcGFyc2VyJztcbmltcG9ydCB7IGlzUExQU3RyZWFtLCByZWFkUExQU3RyZWFtLCByZWFkVmFsdWUgfSBmcm9tICcuLi92YWx1ZS1wYXJzZXInO1xuaW1wb3J0IHsgTm90RW5vdWdoRGF0YUVycm9yLCByZWFkQlZhckNoYXIsIHJlYWRVSW50MTZMRSwgcmVhZFVJbnQ4IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCAqIGFzIGljb252IGZyb20gJ2ljb252LWxpdGUnO1xuXG5hc3luYyBmdW5jdGlvbiByZXR1cm5QYXJzZXIocGFyc2VyOiBQYXJzZXIpOiBQcm9taXNlPFJldHVyblZhbHVlVG9rZW4+IHtcbiAgbGV0IHBhcmFtTmFtZTtcbiAgbGV0IHBhcmFtT3JkaW5hbDtcbiAgbGV0IG1ldGFkYXRhO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgYnVmID0gcGFyc2VyLmJ1ZmZlcjtcbiAgICBsZXQgb2Zmc2V0ID0gcGFyc2VyLnBvc2l0aW9uO1xuXG4gICAgdHJ5IHtcbiAgICAgICh7IG9mZnNldCwgdmFsdWU6IHBhcmFtT3JkaW5hbCB9ID0gcmVhZFVJbnQxNkxFKGJ1Ziwgb2Zmc2V0KSk7XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBwYXJhbU5hbWUgfSA9IHJlYWRCVmFyQ2hhcihidWYsIG9mZnNldCkpO1xuICAgICAgLy8gc3RhdHVzXG4gICAgICAoeyBvZmZzZXQgfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogbWV0YWRhdGEgfSA9IHJlYWRNZXRhZGF0YShidWYsIG9mZnNldCwgcGFyc2VyLm9wdGlvbnMpKTtcblxuICAgICAgaWYgKHBhcmFtTmFtZS5jaGFyQXQoMCkgPT09ICdAJykge1xuICAgICAgICBwYXJhbU5hbWUgPSBwYXJhbU5hbWUuc2xpY2UoMSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgTm90RW5vdWdoRGF0YUVycm9yKSB7XG4gICAgICAgIGF3YWl0IHBhcnNlci53YWl0Rm9yQ2h1bmsoKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycjtcbiAgICB9XG5cbiAgICBwYXJzZXIucG9zaXRpb24gPSBvZmZzZXQ7XG4gICAgYnJlYWs7XG4gIH1cblxuICBsZXQgdmFsdWU7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgYnVmID0gcGFyc2VyLmJ1ZmZlcjtcbiAgICBsZXQgb2Zmc2V0ID0gcGFyc2VyLnBvc2l0aW9uO1xuXG4gICAgaWYgKGlzUExQU3RyZWFtKG1ldGFkYXRhKSkge1xuICAgICAgY29uc3QgY2h1bmtzID0gYXdhaXQgcmVhZFBMUFN0cmVhbShwYXJzZXIpO1xuXG4gICAgICBpZiAoY2h1bmtzID09PSBudWxsKSB7XG4gICAgICAgIHZhbHVlID0gY2h1bmtzO1xuICAgICAgfSBlbHNlIGlmIChtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdOVmFyQ2hhcicgfHwgbWV0YWRhdGEudHlwZS5uYW1lID09PSAnWG1sJykge1xuICAgICAgICB2YWx1ZSA9IEJ1ZmZlci5jb25jYXQoY2h1bmtzKS50b1N0cmluZygndWNzMicpO1xuICAgICAgfSBlbHNlIGlmIChtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdWYXJDaGFyJykge1xuICAgICAgICB2YWx1ZSA9IGljb252LmRlY29kZShCdWZmZXIuY29uY2F0KGNodW5rcyksIG1ldGFkYXRhLmNvbGxhdGlvbj8uY29kZXBhZ2UgPz8gJ3V0ZjgnKTtcbiAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudHlwZS5uYW1lID09PSAnVmFyQmluYXJ5JyB8fCBtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdVRFQnKSB7XG4gICAgICAgIHZhbHVlID0gQnVmZmVyLmNvbmNhdChjaHVua3MpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICAoeyB2YWx1ZSwgb2Zmc2V0IH0gPSByZWFkVmFsdWUoYnVmLCBvZmZzZXQsIG1ldGFkYXRhLCBwYXJzZXIub3B0aW9ucykpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBOb3RFbm91Z2hEYXRhRXJyb3IpIHtcbiAgICAgICAgICBhd2FpdCBwYXJzZXIud2FpdEZvckNodW5rKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG5cbiAgICAgIHBhcnNlci5wb3NpdGlvbiA9IG9mZnNldDtcbiAgICB9XG5cbiAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBuZXcgUmV0dXJuVmFsdWVUb2tlbih7XG4gICAgcGFyYW1PcmRpbmFsOiBwYXJhbU9yZGluYWwsXG4gICAgcGFyYW1OYW1lOiBwYXJhbU5hbWUsXG4gICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmV0dXJuUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSByZXR1cm5QYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUlBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUFvQyxTQUFBTSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlC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
@@ -1 +1 @@
1
- {"version":3,"file":"returnvalue-token-parser.js","names":["_token","require","_metadataParser","_valueParser","_helpers","iconv","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","returnParser","parser","paramName","paramOrdinal","metadata","buf","buffer","offset","position","value","readUInt16LE","readBVarChar","readUInt8","readMetadata","options","charAt","slice","err","NotEnoughDataError","waitForChunk","isPLPStream","chunks","readPLPStream","type","name","Buffer","concat","toString","_metadata$collation","decode","collation","codepage","readValue","ReturnValueToken","_default","exports","module"],"sources":["../../src/token/returnvalue-token-parser.ts"],"sourcesContent":["// s2.2.7.16\n\nimport Parser from './stream-parser';\n\nimport { ReturnValueToken } from './token';\n\nimport { readMetadata } from '../metadata-parser';\nimport { isPLPStream, readPLPStream, readValue } from '../value-parser';\nimport { NotEnoughDataError, readBVarChar, readUInt16LE, readUInt8 } from './helpers';\nimport * as iconv from 'iconv-lite';\n\nasync function returnParser(parser: Parser): Promise<ReturnValueToken> {\n let paramName;\n let paramOrdinal;\n let metadata;\n\n while (true) {\n const buf = parser.buffer;\n let offset = parser.position;\n\n try {\n ({ offset, value: paramOrdinal } = readUInt16LE(buf, offset));\n ({ offset, value: paramName } = readBVarChar(buf, offset));\n // status\n ({ offset } = readUInt8(buf, offset));\n ({ offset, value: metadata } = readMetadata(buf, offset, parser.options));\n\n if (paramName.charAt(0) === '@') {\n paramName = paramName.slice(1);\n }\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = offset;\n break;\n }\n\n let value;\n while (true) {\n const buf = parser.buffer;\n let offset = parser.position;\n\n if (isPLPStream(metadata)) {\n const chunks = await readPLPStream(parser);\n\n if (chunks === null) {\n value = chunks;\n } else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {\n value = Buffer.concat(chunks).toString('ucs2');\n } else if (metadata.type.name === 'VarChar') {\n value = iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8');\n } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {\n value = Buffer.concat(chunks);\n }\n } else {\n try {\n ({ value, offset } = readValue(buf, offset, metadata, parser.options));\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = offset;\n }\n\n break;\n }\n\n return new ReturnValueToken({\n paramOrdinal: paramOrdinal,\n paramName: paramName,\n metadata: metadata,\n value: value\n });\n}\n\nexport default returnParser;\nmodule.exports = returnParser;\n"],"mappings":"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"}
1
+ {"version":3,"file":"returnvalue-token-parser.js","names":["_token","require","_metadataParser","_valueParser","_helpers","iconv","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","returnParser","parser","paramName","paramOrdinal","metadata","buf","buffer","offset","position","value","readUInt16LE","readBVarChar","readUInt8","readMetadata","options","charAt","slice","err","NotEnoughDataError","waitForChunk","isPLPStream","chunks","readPLPStream","type","name","Buffer","concat","toString","decode","collation","codepage","readValue","ReturnValueToken","_default","exports","module"],"sources":["../../src/token/returnvalue-token-parser.ts"],"sourcesContent":["// s2.2.7.16\n\nimport Parser from './stream-parser';\n\nimport { ReturnValueToken } from './token';\n\nimport { readMetadata } from '../metadata-parser';\nimport { isPLPStream, readPLPStream, readValue } from '../value-parser';\nimport { NotEnoughDataError, readBVarChar, readUInt16LE, readUInt8 } from './helpers';\nimport * as iconv from 'iconv-lite';\n\nasync function returnParser(parser: Parser): Promise<ReturnValueToken> {\n let paramName;\n let paramOrdinal;\n let metadata;\n\n while (true) {\n const buf = parser.buffer;\n let offset = parser.position;\n\n try {\n ({ offset, value: paramOrdinal } = readUInt16LE(buf, offset));\n ({ offset, value: paramName } = readBVarChar(buf, offset));\n // status\n ({ offset } = readUInt8(buf, offset));\n ({ offset, value: metadata } = readMetadata(buf, offset, parser.options));\n\n if (paramName.charAt(0) === '@') {\n paramName = paramName.slice(1);\n }\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = offset;\n break;\n }\n\n let value;\n while (true) {\n const buf = parser.buffer;\n let offset = parser.position;\n\n if (isPLPStream(metadata)) {\n const chunks = await readPLPStream(parser);\n\n if (chunks === null) {\n value = chunks;\n } else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {\n value = Buffer.concat(chunks).toString('ucs2');\n } else if (metadata.type.name === 'VarChar') {\n value = iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8');\n } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {\n value = Buffer.concat(chunks);\n }\n } else {\n try {\n ({ value, offset } = readValue(buf, offset, metadata, parser.options));\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = offset;\n }\n\n break;\n }\n\n return new ReturnValueToken({\n paramOrdinal: paramOrdinal,\n paramName: paramName,\n metadata: metadata,\n value: value\n });\n}\n\nexport default returnParser;\nmodule.exports = returnParser;\n"],"mappings":"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"}