UNPKG

intervention-pages

Version:
30 lines (29 loc) 1.08 kB
import cloneDeep from 'lodash-es/cloneDeep'; const generateUrlFromTemplate = (tmpl, data) => { if (!tmpl) { throw new Error('To generate URL from endpoint url template you need valid template string'); } if (data && Object.keys(data).length > 0) { for (const k in data) { if (Object.prototype.hasOwnProperty.call(data, k)) { const replacePattern = new RegExp('<%=' + k + '%>', 'gi'); tmpl = tmpl.replace(replacePattern, data[k]); } } } return tmpl; }; export const getEndpoint = (endpoint, data) => { const baseSite = window.location.origin; const completedEndpoint = cloneDeep(endpoint); if (endpoint && endpoint.template) { completedEndpoint.url = baseSite + generateUrlFromTemplate(endpoint.template, data); delete completedEndpoint.template; } else { if (endpoint.url.indexOf(baseSite) === -1) { completedEndpoint.url = baseSite + endpoint.url; } } return completedEndpoint; };