🏡 index : quine-global/webdriverio.git

import { getPolyfillManager } from './polyfill.js'
import { getShadowRootManager } from './shadowRoot.js'
import { getNetworkManager } from './networkManager.js'
import { getDialogManager } from './dialog.js'
import { getContextManager } from './context.js'

/**
 * register all session relevant singletons on the instance
 */
export function registerSessionManager(instance: WebdriverIO.Browser) {
    /**
     * only register session manager for sessions that appear to support
     * WebDriver Bidi
     */
    if (typeof instance.capabilities.webSocketUrl !== 'string') {
        return
    }

    return Promise.all([
        getPolyfillManager(instance).initialize(),
        getShadowRootManager(instance).initialize(),
        getNetworkManager(instance).initialize(),
        getDialogManager(instance).initialize(),
        getContextManager(instance).initialize()
    ])
}