UNPKG

computed-styles-regression-test

Version:

DOM & CSSOM based regression testing utility

66 lines 1.93 kB
import { createErr, createOk } from 'option-t/plain_result'; import { UnknownError } from '../error.js'; export class ObjectModelTraverserByCDP { cdp; constructor(cdp) { this.cdp = cdp; } static async initialize(cdp) { const traverser = new ObjectModelTraverserByCDP(cdp); try { await traverser.cdp.send('DOM.enable', {}); await traverser.cdp.send('CSS.enable', {}); return createOk(traverser); } catch (error) { return createErr(new UnknownError(error)); } } async getDocument() { const result = await this.cdp.send('DOM.getDocument', { depth: -1, pierce: true, }); return result; } async querySelectorAll(nodeId, selector) { const result = await this.cdp.send('DOM.querySelectorAll', { nodeId, selector, }); return result; } async describeNode(nodeId) { const result = await this.cdp.send('DOM.describeNode', { nodeId, pierce: true, depth: -1, }); return result; } async getComputedStyleForNode(nodeId) { const result = await this.cdp.send('CSS.getComputedStyleForNode', { nodeId, }); return result; } async getMatchedStylesForNode(nodeId) { const result = await this.cdp.send('CSS.getMatchedStylesForNode', { nodeId, }); return result; } async forcePseudoState(nodeId, forcedPseudoClasses) { try { await this.cdp.send('CSS.forcePseudoState', { nodeId, forcedPseudoClasses, }); return createOk(undefined); } catch (error) { return createErr(new UnknownError(error)); } } } //# sourceMappingURL=object-model-traverser.js.map