UNPKG

next

Version:

The React Framework

62 lines (60 loc) 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createPrefetchURL: null, isExternalURL: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createPrefetchURL: function() { return createPrefetchURL; }, isExternalURL: function() { return isExternalURL; } }); const _isbot = require("../../shared/lib/router/utils/is-bot"); const _addbasepath = require("../add-base-path"); function isExternalURL(url) { return url.origin !== window.location.origin; } function createPrefetchURL(href) { // Don't prefetch for bots as they don't navigate. if ((0, _isbot.isBot)(window.navigator.userAgent)) { return null; } let url; try { url = new URL((0, _addbasepath.addBasePath)(href), window.location.href); } catch (_) { // TODO: Does this need to throw or can we just console.error instead? Does // anyone rely on this throwing? (Seems unlikely.) throw Object.defineProperty(new Error(`Cannot prefetch '${href}' because it cannot be converted to a URL.`), "__NEXT_ERROR_CODE", { value: "E234", enumerable: false, configurable: true }); } // Don't prefetch during development (improves compilation performance) if (process.env.NODE_ENV === 'development') { return null; } // External urls can't be prefetched in the same way. if (isExternalURL(url)) { return null; } return url; } if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=app-router-utils.js.map