UNPKG

@ackee/antonio-core

Version:

A HTTP client built on fetch API with axios-like API.

18 lines (17 loc) 3.26 kB
const isTokenTemplate = token => token.startsWith(':'); export function setUriParams(templateUrl, uriParams) { const templateToValue = token => { if (!isTokenTemplate(token)) { return token; } const uriParamKey = token.slice(1); const value = uriParams[uriParamKey]; if (value === undefined) { throw new TypeError(`No URI param found for '${token}' template token among URI params: \n${JSON.stringify(uriParams, null, 2)}\n for template URL: '${templateUrl}'.`); } // replace template (:itemId) with actual value return value; }; return templateUrl.split('/').map(templateToValue).join('/'); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1Rva2VuVGVtcGxhdGUiLCJ0b2tlbiIsInN0YXJ0c1dpdGgiLCJzZXRVcmlQYXJhbXMiLCJ0ZW1wbGF0ZVVybCIsInVyaVBhcmFtcyIsInRlbXBsYXRlVG9WYWx1ZSIsInVyaVBhcmFtS2V5Iiwic2xpY2UiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIlR5cGVFcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzcGxpdCIsIm1hcCIsImpvaW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9yZXF1ZXN0L3V0aWxzL3VybC91cmlQYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZXF1ZXN0VXJpUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBpc1Rva2VuVGVtcGxhdGUgPSAodG9rZW46IHN0cmluZyk6IGJvb2xlYW4gPT4gdG9rZW4uc3RhcnRzV2l0aCgnOicpO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0VXJpUGFyYW1zKHRlbXBsYXRlVXJsOiBzdHJpbmcsIHVyaVBhcmFtczogUmVxdWVzdFVyaVBhcmFtcyk6IHN0cmluZyB7XG4gICAgY29uc3QgdGVtcGxhdGVUb1ZhbHVlID0gKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFpc1Rva2VuVGVtcGxhdGUodG9rZW4pKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cmlQYXJhbUtleSA9IHRva2VuLnNsaWNlKDEpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHVyaVBhcmFtc1t1cmlQYXJhbUtleV07XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgICAgICAgYE5vIFVSSSBwYXJhbSBmb3VuZCBmb3IgJyR7dG9rZW59JyB0ZW1wbGF0ZSB0b2tlbiBhbW9uZyBVUkkgcGFyYW1zOiBcXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgICAgICB1cmlQYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIDIsXG4gICAgICAgICAgICAgICAgKX1cXG4gZm9yIHRlbXBsYXRlIFVSTDogJyR7dGVtcGxhdGVVcmx9Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlcGxhY2UgdGVtcGxhdGUgKDppdGVtSWQpIHdpdGggYWN0dWFsIHZhbHVlXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRlbXBsYXRlVXJsLnNwbGl0KCcvJykubWFwKHRlbXBsYXRlVG9WYWx1ZSkuam9pbignLycpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxNQUFNQSxlQUFlLEdBQUlDLEtBQWEsSUFBY0EsS0FBSyxDQUFDQyxVQUFVLENBQUMsR0FBRyxDQUFDO0FBRXpFLE9BQU8sU0FBU0MsWUFBWUEsQ0FBQ0MsV0FBbUIsRUFBRUMsU0FBMkIsRUFBVTtFQUNuRixNQUFNQyxlQUFlLEdBQUlMLEtBQWEsSUFBSztJQUN2QyxJQUFJLENBQUNELGVBQWUsQ0FBQ0MsS0FBSyxDQUFDLEVBQUU7TUFDekIsT0FBT0EsS0FBSztJQUNoQjtJQUVBLE1BQU1NLFdBQVcsR0FBR04sS0FBSyxDQUFDTyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLE1BQU1DLEtBQUssR0FBR0osU0FBUyxDQUFDRSxXQUFXLENBQUM7SUFFcEMsSUFBSUUsS0FBSyxLQUFLQyxTQUFTLEVBQUU7TUFDckIsTUFBTSxJQUFJQyxTQUFTLENBQ2YsMkJBQTJCVixLQUFLLHdDQUF3Q1csSUFBSSxDQUFDQyxTQUFTLENBQ2xGUixTQUFTLEVBQ1QsSUFBSSxFQUNKLENBQ0osQ0FBQyx5QkFBeUJELFdBQVcsSUFDekMsQ0FBQztJQUNMOztJQUVBO0lBQ0EsT0FBT0ssS0FBSztFQUNoQixDQUFDO0VBRUQsT0FBT0wsV0FBVyxDQUFDVSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUNDLEdBQUcsQ0FBQ1QsZUFBZSxDQUFDLENBQUNVLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDaEUiLCJpZ25vcmVMaXN0IjpbXX0=