UNPKG

@amanooo/fetch

Version:
57 lines (56 loc) 2.09 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.obj2urlParams = (obj = {}) => { return Object.keys(obj).length === 0 ? '' : Object.keys(obj) .filter(key => obj[key] !== undefined) .reduce((str, key) => `${str}${key}=${obj[key]}&`, '') .slice(0, -1) .replace(/^/, '?'); }; function commonHeaders() { return { 'content-type': 'application/json', }; } exports.commonHeaders = commonHeaders; function commonRetryOpts() { return { retries: 3, delay: 3 * 1000, timeout: 60 * 1000, }; } exports.commonRetryOpts = commonRetryOpts; function cost(startTime) { return (new Date().getTime() - startTime.getTime()) / 1000; } exports.cost = cost; function delay(time) { return new Promise(resolve => setTimeout(() => resolve(true), time)); } exports.delay = delay; function timeout(time) { return new Promise((resolve, reject) => setTimeout(() => reject('timeout'), time)); } exports.timeout = timeout; function filter200Status(r) { return __awaiter(this, void 0, void 0, function* () { if (r.status !== 200) { const text = yield r.text(); return Promise.reject(`${r.url} error status ${r.status} ${r.statusText} ${text}`); // throw new Error(`${r.url} error status ${r.status} ${r.statusText} ${text}`); } return r.json(); }); } exports.filter200Status = filter200Status;