UNPKG

ee-ts-util

Version:

typescript utilities and functions

23 lines 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fetch = require("isomorphic-fetch"); exports.fetchPageData = (baseUrl, apiPath, token, dtoAccumulator, extract) => (fetch(`${baseUrl}${apiPath}`, { headers: new Headers({ "content-type": "application/json", "auth": token }), }).then((response) => { if (!response.ok) { return response.text().then((body) => Promise.reject("[Request Error]" + `[${response.url}][HTTP ${response.status} - ${response.statusText}][payload:${body}]`)); } return response.json().then((nextPageJson) => extractPageData(nextPageJson, dtoAccumulator, baseUrl, token, extract)); })); const extractPageData = (responseJson, dtoAccumulator, baseUrl, token, extract) => { const currentPageDtos = responseJson.data.map(extract); dtoAccumulator.push(...currentPageDtos); if (responseJson.paging.next != null) { return exports.fetchPageData(baseUrl, responseJson.paging.next, token, dtoAccumulator, extract); } else { return Promise.resolve(dtoAccumulator); } }; //# sourceMappingURL=common.js.map