1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
6 |
|
7 | var axios = _interopDefault(require('axios'));
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | var __assign = function() {
|
25 | __assign = Object.assign || function __assign(t) {
|
26 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
27 | s = arguments[i];
|
28 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
29 | }
|
30 | return t;
|
31 | };
|
32 | return __assign.apply(this, arguments);
|
33 | };
|
34 |
|
35 | function __awaiter(thisArg, _arguments, P, generator) {
|
36 | return new (P || (P = Promise))(function (resolve, reject) {
|
37 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
38 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
39 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
40 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
41 | });
|
42 | }
|
43 |
|
44 | function __generator(thisArg, body) {
|
45 | var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
46 | return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
47 | function verb(n) { return function (v) { return step([n, v]); }; }
|
48 | function step(op) {
|
49 | if (f) throw new TypeError("Generator is already executing.");
|
50 | while (_) try {
|
51 | if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
52 | if (y = 0, t) op = [op[0] & 2, t.value];
|
53 | switch (op[0]) {
|
54 | case 0: case 1: t = op; break;
|
55 | case 4: _.label++; return { value: op[1], done: false };
|
56 | case 5: _.label++; y = op[1]; op = [0]; continue;
|
57 | case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
58 | default:
|
59 | if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
60 | if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
61 | if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
62 | if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
63 | if (t[2]) _.ops.pop();
|
64 | _.trys.pop(); continue;
|
65 | }
|
66 | op = body.call(thisArg, _);
|
67 | } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
68 | if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
69 | }
|
70 | }
|
71 |
|
72 | var has = Object.prototype.hasOwnProperty;
|
73 | var isArray = Array.isArray;
|
74 |
|
75 | var hexTable = (function () {
|
76 | var array = [];
|
77 | for (var i = 0; i < 256; ++i) {
|
78 | array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
|
79 | }
|
80 |
|
81 | return array;
|
82 | }());
|
83 |
|
84 | var compactQueue = function compactQueue(queue) {
|
85 | while (queue.length > 1) {
|
86 | var item = queue.pop();
|
87 | var obj = item.obj[item.prop];
|
88 |
|
89 | if (isArray(obj)) {
|
90 | var compacted = [];
|
91 |
|
92 | for (var j = 0; j < obj.length; ++j) {
|
93 | if (typeof obj[j] !== 'undefined') {
|
94 | compacted.push(obj[j]);
|
95 | }
|
96 | }
|
97 |
|
98 | item.obj[item.prop] = compacted;
|
99 | }
|
100 | }
|
101 | };
|
102 |
|
103 | var arrayToObject = function arrayToObject(source, options) {
|
104 | var obj = options && options.plainObjects ? Object.create(null) : {};
|
105 | for (var i = 0; i < source.length; ++i) {
|
106 | if (typeof source[i] !== 'undefined') {
|
107 | obj[i] = source[i];
|
108 | }
|
109 | }
|
110 |
|
111 | return obj;
|
112 | };
|
113 |
|
114 | var merge = function merge(target, source, options) {
|
115 |
|
116 | if (!source) {
|
117 | return target;
|
118 | }
|
119 |
|
120 | if (typeof source !== 'object') {
|
121 | if (isArray(target)) {
|
122 | target.push(source);
|
123 | } else if (target && typeof target === 'object') {
|
124 | if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
|
125 | target[source] = true;
|
126 | }
|
127 | } else {
|
128 | return [target, source];
|
129 | }
|
130 |
|
131 | return target;
|
132 | }
|
133 |
|
134 | if (!target || typeof target !== 'object') {
|
135 | return [target].concat(source);
|
136 | }
|
137 |
|
138 | var mergeTarget = target;
|
139 | if (isArray(target) && !isArray(source)) {
|
140 | mergeTarget = arrayToObject(target, options);
|
141 | }
|
142 |
|
143 | if (isArray(target) && isArray(source)) {
|
144 | source.forEach(function (item, i) {
|
145 | if (has.call(target, i)) {
|
146 | var targetItem = target[i];
|
147 | if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
|
148 | target[i] = merge(targetItem, item, options);
|
149 | } else {
|
150 | target.push(item);
|
151 | }
|
152 | } else {
|
153 | target[i] = item;
|
154 | }
|
155 | });
|
156 | return target;
|
157 | }
|
158 |
|
159 | return Object.keys(source).reduce(function (acc, key) {
|
160 | var value = source[key];
|
161 |
|
162 | if (has.call(acc, key)) {
|
163 | acc[key] = merge(acc[key], value, options);
|
164 | } else {
|
165 | acc[key] = value;
|
166 | }
|
167 | return acc;
|
168 | }, mergeTarget);
|
169 | };
|
170 |
|
171 | var assign = function assignSingleSource(target, source) {
|
172 | return Object.keys(source).reduce(function (acc, key) {
|
173 | acc[key] = source[key];
|
174 | return acc;
|
175 | }, target);
|
176 | };
|
177 |
|
178 | var decode = function (str, decoder, charset) {
|
179 | var strWithoutPlus = str.replace(/\+/g, ' ');
|
180 | if (charset === 'iso-8859-1') {
|
181 |
|
182 | return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
183 | }
|
184 |
|
185 | try {
|
186 | return decodeURIComponent(strWithoutPlus);
|
187 | } catch (e) {
|
188 | return strWithoutPlus;
|
189 | }
|
190 | };
|
191 |
|
192 | var encode = function encode(str, defaultEncoder, charset) {
|
193 |
|
194 |
|
195 | if (str.length === 0) {
|
196 | return str;
|
197 | }
|
198 |
|
199 | var string = str;
|
200 | if (typeof str === 'symbol') {
|
201 | string = Symbol.prototype.toString.call(str);
|
202 | } else if (typeof str !== 'string') {
|
203 | string = String(str);
|
204 | }
|
205 |
|
206 | if (charset === 'iso-8859-1') {
|
207 | return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
|
208 | return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
|
209 | });
|
210 | }
|
211 |
|
212 | var out = '';
|
213 | for (var i = 0; i < string.length; ++i) {
|
214 | var c = string.charCodeAt(i);
|
215 |
|
216 | if (
|
217 | c === 0x2D
|
218 | || c === 0x2E
|
219 | || c === 0x5F
|
220 | || c === 0x7E
|
221 | || (c >= 0x30 && c <= 0x39)
|
222 | || (c >= 0x41 && c <= 0x5A)
|
223 | || (c >= 0x61 && c <= 0x7A)
|
224 | ) {
|
225 | out += string.charAt(i);
|
226 | continue;
|
227 | }
|
228 |
|
229 | if (c < 0x80) {
|
230 | out = out + hexTable[c];
|
231 | continue;
|
232 | }
|
233 |
|
234 | if (c < 0x800) {
|
235 | out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
|
236 | continue;
|
237 | }
|
238 |
|
239 | if (c < 0xD800 || c >= 0xE000) {
|
240 | out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
|
241 | continue;
|
242 | }
|
243 |
|
244 | i += 1;
|
245 | c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
|
246 | out += hexTable[0xF0 | (c >> 18)]
|
247 | + hexTable[0x80 | ((c >> 12) & 0x3F)]
|
248 | + hexTable[0x80 | ((c >> 6) & 0x3F)]
|
249 | + hexTable[0x80 | (c & 0x3F)];
|
250 | }
|
251 |
|
252 | return out;
|
253 | };
|
254 |
|
255 | var compact = function compact(value) {
|
256 | var queue = [{ obj: { o: value }, prop: 'o' }];
|
257 | var refs = [];
|
258 |
|
259 | for (var i = 0; i < queue.length; ++i) {
|
260 | var item = queue[i];
|
261 | var obj = item.obj[item.prop];
|
262 |
|
263 | var keys = Object.keys(obj);
|
264 | for (var j = 0; j < keys.length; ++j) {
|
265 | var key = keys[j];
|
266 | var val = obj[key];
|
267 | if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
|
268 | queue.push({ obj: obj, prop: key });
|
269 | refs.push(val);
|
270 | }
|
271 | }
|
272 | }
|
273 |
|
274 | compactQueue(queue);
|
275 |
|
276 | return value;
|
277 | };
|
278 |
|
279 | var isRegExp = function isRegExp(obj) {
|
280 | return Object.prototype.toString.call(obj) === '[object RegExp]';
|
281 | };
|
282 |
|
283 | var isBuffer = function isBuffer(obj) {
|
284 | if (!obj || typeof obj !== 'object') {
|
285 | return false;
|
286 | }
|
287 |
|
288 | return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
289 | };
|
290 |
|
291 | var combine = function combine(a, b) {
|
292 | return [].concat(a, b);
|
293 | };
|
294 |
|
295 | var utils = {
|
296 | arrayToObject: arrayToObject,
|
297 | assign: assign,
|
298 | combine: combine,
|
299 | compact: compact,
|
300 | decode: decode,
|
301 | encode: encode,
|
302 | isBuffer: isBuffer,
|
303 | isRegExp: isRegExp,
|
304 | merge: merge
|
305 | };
|
306 |
|
307 | var replace = String.prototype.replace;
|
308 | var percentTwenties = /%20/g;
|
309 |
|
310 |
|
311 |
|
312 | var Format = {
|
313 | RFC1738: 'RFC1738',
|
314 | RFC3986: 'RFC3986'
|
315 | };
|
316 |
|
317 | var formats = utils.assign(
|
318 | {
|
319 | 'default': Format.RFC3986,
|
320 | formatters: {
|
321 | RFC1738: function (value) {
|
322 | return replace.call(value, percentTwenties, '+');
|
323 | },
|
324 | RFC3986: function (value) {
|
325 | return String(value);
|
326 | }
|
327 | }
|
328 | },
|
329 | Format
|
330 | );
|
331 |
|
332 | var has$1 = Object.prototype.hasOwnProperty;
|
333 |
|
334 | var arrayPrefixGenerators = {
|
335 | brackets: function brackets(prefix) {
|
336 | return prefix + '[]';
|
337 | },
|
338 | comma: 'comma',
|
339 | indices: function indices(prefix, key) {
|
340 | return prefix + '[' + key + ']';
|
341 | },
|
342 | repeat: function repeat(prefix) {
|
343 | return prefix;
|
344 | }
|
345 | };
|
346 |
|
347 | var isArray$1 = Array.isArray;
|
348 | var push = Array.prototype.push;
|
349 | var pushToArray = function (arr, valueOrArray) {
|
350 | push.apply(arr, isArray$1(valueOrArray) ? valueOrArray : [valueOrArray]);
|
351 | };
|
352 |
|
353 | var toISO = Date.prototype.toISOString;
|
354 |
|
355 | var defaultFormat = formats['default'];
|
356 | var defaults = {
|
357 | addQueryPrefix: false,
|
358 | allowDots: false,
|
359 | charset: 'utf-8',
|
360 | charsetSentinel: false,
|
361 | delimiter: '&',
|
362 | encode: true,
|
363 | encoder: utils.encode,
|
364 | encodeValuesOnly: false,
|
365 | format: defaultFormat,
|
366 | formatter: formats.formatters[defaultFormat],
|
367 |
|
368 | indices: false,
|
369 | serializeDate: function serializeDate(date) {
|
370 | return toISO.call(date);
|
371 | },
|
372 | skipNulls: false,
|
373 | strictNullHandling: false
|
374 | };
|
375 |
|
376 | var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
|
377 | return typeof v === 'string'
|
378 | || typeof v === 'number'
|
379 | || typeof v === 'boolean'
|
380 | || typeof v === 'symbol'
|
381 | || typeof v === 'bigint';
|
382 | };
|
383 |
|
384 | var stringify = function stringify(
|
385 | object,
|
386 | prefix,
|
387 | generateArrayPrefix,
|
388 | strictNullHandling,
|
389 | skipNulls,
|
390 | encoder,
|
391 | filter,
|
392 | sort,
|
393 | allowDots,
|
394 | serializeDate,
|
395 | formatter,
|
396 | encodeValuesOnly,
|
397 | charset
|
398 | ) {
|
399 | var obj = object;
|
400 | if (typeof filter === 'function') {
|
401 | obj = filter(prefix, obj);
|
402 | } else if (obj instanceof Date) {
|
403 | obj = serializeDate(obj);
|
404 | } else if (generateArrayPrefix === 'comma' && isArray$1(obj)) {
|
405 | obj = obj.join(',');
|
406 | }
|
407 |
|
408 | if (obj === null) {
|
409 | if (strictNullHandling) {
|
410 | return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key') : prefix;
|
411 | }
|
412 |
|
413 | obj = '';
|
414 | }
|
415 |
|
416 | if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
|
417 | if (encoder) {
|
418 | var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key');
|
419 | return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value'))];
|
420 | }
|
421 | return [formatter(prefix) + '=' + formatter(String(obj))];
|
422 | }
|
423 |
|
424 | var values = [];
|
425 |
|
426 | if (typeof obj === 'undefined') {
|
427 | return values;
|
428 | }
|
429 |
|
430 | var objKeys;
|
431 | if (isArray$1(filter)) {
|
432 | objKeys = filter;
|
433 | } else {
|
434 | var keys = Object.keys(obj);
|
435 | objKeys = sort ? keys.sort(sort) : keys;
|
436 | }
|
437 |
|
438 | for (var i = 0; i < objKeys.length; ++i) {
|
439 | var key = objKeys[i];
|
440 |
|
441 | if (skipNulls && obj[key] === null) {
|
442 | continue;
|
443 | }
|
444 |
|
445 | if (isArray$1(obj)) {
|
446 | pushToArray(values, stringify(
|
447 | obj[key],
|
448 | typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix,
|
449 | generateArrayPrefix,
|
450 | strictNullHandling,
|
451 | skipNulls,
|
452 | encoder,
|
453 | filter,
|
454 | sort,
|
455 | allowDots,
|
456 | serializeDate,
|
457 | formatter,
|
458 | encodeValuesOnly,
|
459 | charset
|
460 | ));
|
461 | } else {
|
462 | pushToArray(values, stringify(
|
463 | obj[key],
|
464 | prefix + (allowDots ? '.' + key : '[' + key + ']'),
|
465 | generateArrayPrefix,
|
466 | strictNullHandling,
|
467 | skipNulls,
|
468 | encoder,
|
469 | filter,
|
470 | sort,
|
471 | allowDots,
|
472 | serializeDate,
|
473 | formatter,
|
474 | encodeValuesOnly,
|
475 | charset
|
476 | ));
|
477 | }
|
478 | }
|
479 |
|
480 | return values;
|
481 | };
|
482 |
|
483 | var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
484 | if (!opts) {
|
485 | return defaults;
|
486 | }
|
487 |
|
488 | if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
|
489 | throw new TypeError('Encoder has to be a function.');
|
490 | }
|
491 |
|
492 | var charset = opts.charset || defaults.charset;
|
493 | if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
494 | throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
|
495 | }
|
496 |
|
497 | var format = formats['default'];
|
498 | if (typeof opts.format !== 'undefined') {
|
499 | if (!has$1.call(formats.formatters, opts.format)) {
|
500 | throw new TypeError('Unknown format option provided.');
|
501 | }
|
502 | format = opts.format;
|
503 | }
|
504 | var formatter = formats.formatters[format];
|
505 |
|
506 | var filter = defaults.filter;
|
507 | if (typeof opts.filter === 'function' || isArray$1(opts.filter)) {
|
508 | filter = opts.filter;
|
509 | }
|
510 |
|
511 | return {
|
512 | addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
|
513 | allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
514 | charset: charset,
|
515 | charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
516 | delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
|
517 | encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
|
518 | encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
519 | encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
520 | filter: filter,
|
521 | formatter: formatter,
|
522 | serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
|
523 | skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
|
524 | sort: typeof opts.sort === 'function' ? opts.sort : null,
|
525 | strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
526 | };
|
527 | };
|
528 |
|
529 | var stringify_1 = function (object, opts) {
|
530 | var obj = object;
|
531 | var options = normalizeStringifyOptions(opts);
|
532 |
|
533 | var objKeys;
|
534 | var filter;
|
535 |
|
536 | if (typeof options.filter === 'function') {
|
537 | filter = options.filter;
|
538 | obj = filter('', obj);
|
539 | } else if (isArray$1(options.filter)) {
|
540 | filter = options.filter;
|
541 | objKeys = filter;
|
542 | }
|
543 |
|
544 | var keys = [];
|
545 |
|
546 | if (typeof obj !== 'object' || obj === null) {
|
547 | return '';
|
548 | }
|
549 |
|
550 | var arrayFormat;
|
551 | if (opts && opts.arrayFormat in arrayPrefixGenerators) {
|
552 | arrayFormat = opts.arrayFormat;
|
553 | } else if (opts && 'indices' in opts) {
|
554 | arrayFormat = opts.indices ? 'indices' : 'repeat';
|
555 | } else {
|
556 | arrayFormat = 'indices';
|
557 | }
|
558 |
|
559 | var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
|
560 |
|
561 | if (!objKeys) {
|
562 | objKeys = Object.keys(obj);
|
563 | }
|
564 |
|
565 | if (options.sort) {
|
566 | objKeys.sort(options.sort);
|
567 | }
|
568 |
|
569 | for (var i = 0; i < objKeys.length; ++i) {
|
570 | var key = objKeys[i];
|
571 |
|
572 | if (options.skipNulls && obj[key] === null) {
|
573 | continue;
|
574 | }
|
575 | pushToArray(keys, stringify(
|
576 | obj[key],
|
577 | key,
|
578 | generateArrayPrefix,
|
579 | options.strictNullHandling,
|
580 | options.skipNulls,
|
581 | options.encode ? options.encoder : null,
|
582 | options.filter,
|
583 | options.sort,
|
584 | options.allowDots,
|
585 | options.serializeDate,
|
586 | options.formatter,
|
587 | options.encodeValuesOnly,
|
588 | options.charset
|
589 | ));
|
590 | }
|
591 |
|
592 | var joined = keys.join(options.delimiter);
|
593 | var prefix = options.addQueryPrefix === true ? '?' : '';
|
594 |
|
595 | if (options.charsetSentinel) {
|
596 | if (options.charset === 'iso-8859-1') {
|
597 |
|
598 | prefix += 'utf8=%26%2310003%3B&';
|
599 | } else {
|
600 |
|
601 | prefix += 'utf8=%E2%9C%93&';
|
602 | }
|
603 | }
|
604 |
|
605 | return joined.length > 0 ? prefix + joined : '';
|
606 | };
|
607 |
|
608 | var has$2 = Object.prototype.hasOwnProperty;
|
609 | var isArray$2 = Array.isArray;
|
610 |
|
611 | var defaults$1 = {
|
612 | allowDots: false,
|
613 | allowPrototypes: false,
|
614 | arrayLimit: 20,
|
615 | charset: 'utf-8',
|
616 | charsetSentinel: false,
|
617 | comma: false,
|
618 | decoder: utils.decode,
|
619 | delimiter: '&',
|
620 | depth: 5,
|
621 | ignoreQueryPrefix: false,
|
622 | interpretNumericEntities: false,
|
623 | parameterLimit: 1000,
|
624 | parseArrays: true,
|
625 | plainObjects: false,
|
626 | strictNullHandling: false
|
627 | };
|
628 |
|
629 | var interpretNumericEntities = function (str) {
|
630 | return str.replace(/&#(\d+);/g, function ($0, numberStr) {
|
631 | return String.fromCharCode(parseInt(numberStr, 10));
|
632 | });
|
633 | };
|
634 |
|
635 |
|
636 |
|
637 |
|
638 |
|
639 |
|
640 | var isoSentinel = 'utf8=%26%2310003%3B';
|
641 |
|
642 |
|
643 | var charsetSentinel = 'utf8=%E2%9C%93';
|
644 |
|
645 | var parseValues = function parseQueryStringValues(str, options) {
|
646 | var obj = {};
|
647 | var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
|
648 | var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
|
649 | var parts = cleanStr.split(options.delimiter, limit);
|
650 | var skipIndex = -1;
|
651 | var i;
|
652 |
|
653 | var charset = options.charset;
|
654 | if (options.charsetSentinel) {
|
655 | for (i = 0; i < parts.length; ++i) {
|
656 | if (parts[i].indexOf('utf8=') === 0) {
|
657 | if (parts[i] === charsetSentinel) {
|
658 | charset = 'utf-8';
|
659 | } else if (parts[i] === isoSentinel) {
|
660 | charset = 'iso-8859-1';
|
661 | }
|
662 | skipIndex = i;
|
663 | i = parts.length;
|
664 | }
|
665 | }
|
666 | }
|
667 |
|
668 | for (i = 0; i < parts.length; ++i) {
|
669 | if (i === skipIndex) {
|
670 | continue;
|
671 | }
|
672 | var part = parts[i];
|
673 |
|
674 | var bracketEqualsPos = part.indexOf(']=');
|
675 | var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
|
676 |
|
677 | var key, val;
|
678 | if (pos === -1) {
|
679 | key = options.decoder(part, defaults$1.decoder, charset, 'key');
|
680 | val = options.strictNullHandling ? null : '';
|
681 | } else {
|
682 | key = options.decoder(part.slice(0, pos), defaults$1.decoder, charset, 'key');
|
683 | val = options.decoder(part.slice(pos + 1), defaults$1.decoder, charset, 'value');
|
684 | }
|
685 |
|
686 | if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
|
687 | val = interpretNumericEntities(val);
|
688 | }
|
689 |
|
690 | if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
|
691 | val = val.split(',');
|
692 | }
|
693 |
|
694 | if (part.indexOf('[]=') > -1) {
|
695 | val = isArray$2(val) ? [val] : val;
|
696 | }
|
697 |
|
698 | if (has$2.call(obj, key)) {
|
699 | obj[key] = utils.combine(obj[key], val);
|
700 | } else {
|
701 | obj[key] = val;
|
702 | }
|
703 | }
|
704 |
|
705 | return obj;
|
706 | };
|
707 |
|
708 | var parseObject = function (chain, val, options) {
|
709 | var leaf = val;
|
710 |
|
711 | for (var i = chain.length - 1; i >= 0; --i) {
|
712 | var obj;
|
713 | var root = chain[i];
|
714 |
|
715 | if (root === '[]' && options.parseArrays) {
|
716 | obj = [].concat(leaf);
|
717 | } else {
|
718 | obj = options.plainObjects ? Object.create(null) : {};
|
719 | var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
720 | var index = parseInt(cleanRoot, 10);
|
721 | if (!options.parseArrays && cleanRoot === '') {
|
722 | obj = { 0: leaf };
|
723 | } else if (
|
724 | !isNaN(index)
|
725 | && root !== cleanRoot
|
726 | && String(index) === cleanRoot
|
727 | && index >= 0
|
728 | && (options.parseArrays && index <= options.arrayLimit)
|
729 | ) {
|
730 | obj = [];
|
731 | obj[index] = leaf;
|
732 | } else {
|
733 | obj[cleanRoot] = leaf;
|
734 | }
|
735 | }
|
736 |
|
737 | leaf = obj;
|
738 | }
|
739 |
|
740 | return leaf;
|
741 | };
|
742 |
|
743 | var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
744 | if (!givenKey) {
|
745 | return;
|
746 | }
|
747 |
|
748 |
|
749 | var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
|
750 |
|
751 |
|
752 |
|
753 | var brackets = /(\[[^[\]]*])/;
|
754 | var child = /(\[[^[\]]*])/g;
|
755 |
|
756 |
|
757 |
|
758 | var segment = options.depth > 0 && brackets.exec(key);
|
759 | var parent = segment ? key.slice(0, segment.index) : key;
|
760 |
|
761 |
|
762 |
|
763 | var keys = [];
|
764 | if (parent) {
|
765 |
|
766 | if (!options.plainObjects && has$2.call(Object.prototype, parent)) {
|
767 | if (!options.allowPrototypes) {
|
768 | return;
|
769 | }
|
770 | }
|
771 |
|
772 | keys.push(parent);
|
773 | }
|
774 |
|
775 |
|
776 |
|
777 | var i = 0;
|
778 | while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
|
779 | i += 1;
|
780 | if (!options.plainObjects && has$2.call(Object.prototype, segment[1].slice(1, -1))) {
|
781 | if (!options.allowPrototypes) {
|
782 | return;
|
783 | }
|
784 | }
|
785 | keys.push(segment[1]);
|
786 | }
|
787 |
|
788 |
|
789 |
|
790 | if (segment) {
|
791 | keys.push('[' + key.slice(segment.index) + ']');
|
792 | }
|
793 |
|
794 | return parseObject(keys, val, options);
|
795 | };
|
796 |
|
797 | var normalizeParseOptions = function normalizeParseOptions(opts) {
|
798 | if (!opts) {
|
799 | return defaults$1;
|
800 | }
|
801 |
|
802 | if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
|
803 | throw new TypeError('Decoder has to be a function.');
|
804 | }
|
805 |
|
806 | if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
807 | throw new Error('The charset option must be either utf-8, iso-8859-1, or undefined');
|
808 | }
|
809 | var charset = typeof opts.charset === 'undefined' ? defaults$1.charset : opts.charset;
|
810 |
|
811 | return {
|
812 | allowDots: typeof opts.allowDots === 'undefined' ? defaults$1.allowDots : !!opts.allowDots,
|
813 | allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults$1.allowPrototypes,
|
814 | arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults$1.arrayLimit,
|
815 | charset: charset,
|
816 | charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults$1.charsetSentinel,
|
817 | comma: typeof opts.comma === 'boolean' ? opts.comma : defaults$1.comma,
|
818 | decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults$1.decoder,
|
819 | delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults$1.delimiter,
|
820 |
|
821 | depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults$1.depth,
|
822 | ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
823 | interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults$1.interpretNumericEntities,
|
824 | parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults$1.parameterLimit,
|
825 | parseArrays: opts.parseArrays !== false,
|
826 | plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults$1.plainObjects,
|
827 | strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults$1.strictNullHandling
|
828 | };
|
829 | };
|
830 |
|
831 | var parse = function (str, opts) {
|
832 | var options = normalizeParseOptions(opts);
|
833 |
|
834 | if (str === '' || str === null || typeof str === 'undefined') {
|
835 | return options.plainObjects ? Object.create(null) : {};
|
836 | }
|
837 |
|
838 | var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
|
839 | var obj = options.plainObjects ? Object.create(null) : {};
|
840 |
|
841 |
|
842 |
|
843 | var keys = Object.keys(tempObj);
|
844 | for (var i = 0; i < keys.length; ++i) {
|
845 | var key = keys[i];
|
846 | var newObj = parseKeys(key, tempObj[key], options);
|
847 | obj = utils.merge(obj, newObj, options);
|
848 | }
|
849 |
|
850 | return utils.compact(obj);
|
851 | };
|
852 |
|
853 | var lib = {
|
854 | formats: formats,
|
855 | parse: parse,
|
856 | stringify: stringify_1
|
857 | };
|
858 |
|
859 | function oauth(axiosInstance, clientId, clientSecret) {
|
860 | var _this = this;
|
861 | return {
|
862 | token: function (headers) { return __awaiter(_this, void 0, void 0, function () {
|
863 | var _a, data, responseHeaders;
|
864 | return __generator(this, function (_b) {
|
865 | switch (_b.label) {
|
866 | case 0: return [4 , axiosInstance.post('/oauth/token', lib.stringify({
|
867 | client_id: clientId,
|
868 | client_secret: clientSecret,
|
869 | grant_type: 'client_credentials'
|
870 | }), {
|
871 | headers: {
|
872 | 'Content-Type': 'application/x-www-form-urlencoded',
|
873 | 'Zuora-Track-Id': (headers === null || headers === void 0 ? void 0 : headers['Zuora-Track-Id']) || ''
|
874 | }
|
875 | })];
|
876 | case 1:
|
877 | _a = _b.sent(), data = _a.data, responseHeaders = _a.headers;
|
878 | return [2 , {
|
879 | accessToken: data.access_token,
|
880 | expiresIn: data.expires_in,
|
881 | jti: data.jti,
|
882 | scope: data.scope,
|
883 | tokenType: data.token_type,
|
884 | limitMinute: responseHeaders['x-ratelimit-limit-minute'],
|
885 | remainingMinute: responseHeaders['x-ratelimit-remaining-minute'],
|
886 | trackId: responseHeaders['zuora-track-id']
|
887 | }];
|
888 | }
|
889 | });
|
890 | }); }
|
891 | };
|
892 | }
|
893 |
|
894 | var bearerTokenProvider = function (oauthEndpoint) {
|
895 | return function (trackId) { return __awaiter(void 0, void 0, void 0, function () {
|
896 | var accessToken;
|
897 | return __generator(this, function (_a) {
|
898 | switch (_a.label) {
|
899 | case 0: return [4 , oauthEndpoint.token({ 'Zuora-Track-Id': trackId })];
|
900 | case 1:
|
901 | accessToken = (_a.sent()).accessToken;
|
902 | return [2 , "Bearer " + accessToken];
|
903 | }
|
904 | });
|
905 | }); };
|
906 | };
|
907 | var basicAuthProvider = function (clientId, clientSecret) {
|
908 |
|
909 | return function (_) { return __awaiter(void 0, void 0, void 0, function () {
|
910 | var toEncode, buffer;
|
911 | return __generator(this, function (_a) {
|
912 | try {
|
913 | toEncode = clientId + ":" + clientSecret;
|
914 | buffer = Buffer.from(toEncode);
|
915 | return [2 , Promise.resolve("Basic " + buffer.toString('base64'))];
|
916 | }
|
917 | catch (e) {
|
918 | return [2 , Promise.reject(new Error('cannot generate basic auth header'))];
|
919 | }
|
920 | return [2 ];
|
921 | });
|
922 | }); };
|
923 | };
|
924 |
|
925 | var actionEndpoints = function (axiosInstance, authHeaderProvider) {
|
926 | return {
|
927 | query: function (zoqlQuery, batchSize, headers) {
|
928 | if (batchSize === void 0) { batchSize = 2000; }
|
929 | return __awaiter(void 0, void 0, void 0, function () {
|
930 | var authHeader, data;
|
931 | return __generator(this, function (_a) {
|
932 | switch (_a.label) {
|
933 | case 0: return [4 , authHeaderProvider((headers === null || headers === void 0 ? void 0 : headers['Zuora-Track-Id']) || '')];
|
934 | case 1:
|
935 | authHeader = _a.sent();
|
936 | return [4 , axiosInstance.post('/v1/action/query', JSON.stringify({ queryString: zoqlQuery, conf: { batchSize: batchSize } }), {
|
937 | headers: {
|
938 | Authorization: authHeader,
|
939 | 'Content-Type': 'application/json'
|
940 | }
|
941 | })];
|
942 | case 2:
|
943 | data = (_a.sent()).data;
|
944 | return [2 , data];
|
945 | }
|
946 | });
|
947 | });
|
948 | },
|
949 | queryMore: function (queryLocator, headers) { return __awaiter(void 0, void 0, void 0, function () {
|
950 | var authHeader, data;
|
951 | return __generator(this, function (_a) {
|
952 | switch (_a.label) {
|
953 | case 0: return [4 , authHeaderProvider((headers === null || headers === void 0 ? void 0 : headers['Zuora-Track-Id']) || '')];
|
954 | case 1:
|
955 | authHeader = _a.sent();
|
956 | return [4 , axiosInstance.post('/v1/action/queryMore', JSON.stringify({ queryLocator: queryLocator }), {
|
957 | headers: {
|
958 | Authorization: authHeader,
|
959 | 'Content-Type': 'application/json'
|
960 | }
|
961 | })];
|
962 | case 2:
|
963 | data = (_a.sent()).data;
|
964 | return [2 , data];
|
965 | }
|
966 | });
|
967 | }); }
|
968 | };
|
969 | };
|
970 |
|
971 | var describeEndpoint = function (axiosInstance, authHeaderProvider) {
|
972 | return function (objectName, headers) { return __awaiter(void 0, void 0, void 0, function () {
|
973 | var authHeader, data;
|
974 | return __generator(this, function (_a) {
|
975 | switch (_a.label) {
|
976 | case 0: return [4 , authHeaderProvider((headers === null || headers === void 0 ? void 0 : headers['Zuora-Track-Id']) || '')];
|
977 | case 1:
|
978 | authHeader = _a.sent();
|
979 | return [4 , axiosInstance.get("/v1/describe/" + objectName, {
|
980 | headers: __assign({ Authorization: authHeader, 'Content-Type': 'application/json' }, headers)
|
981 | })];
|
982 | case 2:
|
983 | data = (_a.sent()).data;
|
984 | return [2 , data];
|
985 | }
|
986 | });
|
987 | }); };
|
988 | };
|
989 |
|
990 | function zuoraApi(baseURL, clientId, clientSecret, useBasicAuth) {
|
991 | if (useBasicAuth === void 0) { useBasicAuth = false; }
|
992 | var axiosInstance = axios.create({ baseURL: baseURL });
|
993 | var oauthEndpoints = oauth(axiosInstance, clientId, clientSecret);
|
994 | var authHeaderProvider = useBasicAuth ? basicAuthProvider(clientId, clientSecret) : bearerTokenProvider(oauthEndpoints);
|
995 | return {
|
996 | oauth: oauthEndpoints,
|
997 | v1: {
|
998 | action: actionEndpoints(axiosInstance, authHeaderProvider),
|
999 | describe: describeEndpoint(axiosInstance, authHeaderProvider)
|
1000 | }
|
1001 | };
|
1002 | }
|
1003 |
|
1004 | exports.zuoraApi = zuoraApi;
|
1005 |
|