UNPKG

watermark-js-plus

Version:
33 lines (27 loc) 1.48 kB
import { __require as requireEnvironmentV8Version } from './environment-v8-version.js'; import { __require as requireFails } from './fails.js'; import { __require as requireGlobalThis } from './global-this.js'; var symbolConstructorDetection; var hasRequiredSymbolConstructorDetection; function requireSymbolConstructorDetection () { if (hasRequiredSymbolConstructorDetection) return symbolConstructorDetection; hasRequiredSymbolConstructorDetection = 1; /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION = requireEnvironmentV8Version(); var fails = requireFails(); var globalThis = requireGlobalThis(); var $String = globalThis.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol('symbol detection'); // Chrome 38 Symbol has incorrect toString conversion // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, // of course, fail. return !$String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION && V8_VERSION < 41; }); return symbolConstructorDetection; } export { requireSymbolConstructorDetection as __require };