UNPKG

@vizzuality/layer-manager-utils

Version:
32 lines 1.59 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetch = exports.post = exports.get = void 0; const axios_1 = __importDefault(require("axios")); const defaultHeaders = { 'Content-Type': 'application/json', }; const get = (url, options = {}) => (0, axios_1.default)(Object.assign(Object.assign({}, options), { headers: Object.assign(Object.assign({}, defaultHeaders), (options.headers || {})), url, method: 'get' })); exports.get = get; const post = (url, body, options = {}) => (0, axios_1.default)(Object.assign(Object.assign({}, options), { headers: Object.assign(Object.assign({}, defaultHeaders), (options.headers || {})), data: body, url, method: 'post' })); exports.post = post; const fetch = (type, url, options = {}, layerModel) => { const { layerRequest } = layerModel; if (layerRequest) { layerRequest.cancel('Operation canceled by the user.'); } const layerRequestSource = axios_1.default.CancelToken.source(); layerModel.setLayerRequest(layerRequestSource); const method = type === 'post' ? exports.post : exports.get; const newLayerRequest = method(url, Object.assign(Object.assign({}, options), { cancelToken: layerRequestSource.token })).then((res) => { if (res.status > 400) { throw new Error(res.data); } return res.data; }); return newLayerRequest; }; exports.fetch = fetch; //# sourceMappingURL=request.js.map