Object.defineProperty(exports, '__esModule', { value: true }); const worldwide = require('../worldwide.js'); // Based on https://github.com/angular/angular.js/pull/13945/files // eslint-disable-next-line deprecation/deprecation const WINDOW = worldwide.getGlobalObject(); /** * Tells whether current environment supports History API * {@link supportsHistory}. * * @returns Answer to the given question. */ function supportsHistory() { // NOTE: in Chrome App environment, touching history.pushState, *even inside // a try/catch block*, will cause Chrome to output an error to console.error // borrowed from: https://github.com/angular/angular.js/pull/13945/files /* eslint-disable @typescript-eslint/no-unsafe-member-access */ // eslint-disable-next-line @typescript-eslint/no-explicit-any const chrome = (WINDOW ).chrome; const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime; /* eslint-enable @typescript-eslint/no-unsafe-member-access */ const hasHistoryApi = 'history' in WINDOW && !!WINDOW.history.pushState && !!WINDOW.history.replaceState; return !isChromePackagedApp && hasHistoryApi; } exports.supportsHistory = supportsHistory; //# sourceMappingURL=supportsHistory.js.map