static isSupported()

in libs/voicefocus/voicefocus.js [106:129]


    static isSupported(spec, options) {
        const { fetchBehavior, logger } = options || {};
        if (typeof globalThis === 'undefined') {
            logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not have globalThis.');
            return Promise.resolve(false);
        }
        if (!support_js_1.supportsAudioWorklet(globalThis, logger)) {
            logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not support Audio Worklet.');
            return Promise.resolve(false);
        }
        if (!support_js_1.supportsWASM(globalThis, logger)) {
            logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not support WASM.');
            return Promise.resolve(false);
        }
        if (!support_js_1.supportsWASMStreaming(globalThis, logger)) {
            logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not support streaming WASM compilation.');
        }
        const { assetGroup = DEFAULT_ASSET_GROUP, revisionID, paths = DEFAULT_PATHS, } = spec || {};
        validateAssetSpec(assetGroup, revisionID);
        const assetConfig = revisionID ? { revisionID } : { assetGroup };
        const updatedFetchBehavior = fetch_js_1.addQueryParams(fetchBehavior, assetConfig);
        const fetchConfig = Object.assign(Object.assign({}, updatedFetchBehavior), { paths });
        return support_js_1.supportsVoiceFocusWorker(globalThis, fetchConfig, logger);
    }