summaryrefslogtreecommitdiff
path: root/shared/logger/node_modules/@sentry/utils/esm/vendor
diff options
context:
space:
mode:
authorrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
committerrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
commitbce557cc2dc767628bed6aac87301a1be7c5431b (patch)
treeb51a051228d01fe3306cd7626d4a96768aadb944 /shared/logger/node_modules/@sentry/utils/esm/vendor
init commit
Diffstat (limited to 'shared/logger/node_modules/@sentry/utils/esm/vendor')
-rw-r--r--shared/logger/node_modules/@sentry/utils/esm/vendor/supportsHistory.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/shared/logger/node_modules/@sentry/utils/esm/vendor/supportsHistory.js b/shared/logger/node_modules/@sentry/utils/esm/vendor/supportsHistory.js
new file mode 100644
index 0000000..cf33d64
--- /dev/null
+++ b/shared/logger/node_modules/@sentry/utils/esm/vendor/supportsHistory.js
@@ -0,0 +1,29 @@
+import { getGlobalObject } from '../worldwide.js';
+
+// Based on https://github.com/angular/angular.js/pull/13945/files
+
+// eslint-disable-next-line deprecation/deprecation
+const WINDOW = 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;
+}
+
+export { supportsHistory };
+//# sourceMappingURL=supportsHistory.js.map