react-viewport-utils
Version:
Utility components for working with the viewport in react
43 lines (34 loc) • 881 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getBaseURL = getBaseURL;
exports.getBundleURL = void 0;
let bundleURL = null;
function getBundleURLCached() {
if (bundleURL == null) {
bundleURL = _getBundleURL();
}
return bundleURL;
}
function _getBundleURL() {
// Attempt to find the URL of the current script and use that as the base URL
try {
throw new Error();
} catch (err) {
let stack = typeof err.stack === 'string' ? err.stack : '';
let matches = stack.match(/(https?|file|ftp):\/\/[^)\n]+/g);
if (matches) {
return getBaseURL(matches[0]);
}
}
return '/';
}
function getBaseURL(url) {
if (url == null) {
return '/';
}
return url.replace(/^((?:https?|file|ftp):\/\/.+)\/[^/]+$/, '$1') + '/';
}
const getBundleURL = getBundleURLCached;
exports.getBundleURL = getBundleURL;