12345678910111213141516171819202122232425262728293031 |
- 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
|