browser-commander 0.18.0

Universal browser automation library that supports multiple browser engines with a unified API
Documentation
// @generated by scripts/generate-puppeteer-bindings.mjs from
// rust/protocol/puppeteer/api.json. Do not edit by hand.

#![allow(clippy::all, missing_docs, unused_imports, non_snake_case)]

use serde_json::Value;

use super::*;
use crate::puppeteer::bridge::{binary, remote_type, BridgeError, JsFunction, Remote};

remote_type!(
    /// Puppeteer's `Extension` (puppeteer-core 25.10.0), a remote object
    /// served by `browser-commander serve --stdio`.
    Extension
);

impl Extension {
    /// `Extension.enabled`
    ///
    /// ```text
    /// get enabled(): boolean
    /// ```
    pub async fn enabled(&self) -> Result<bool, BridgeError> {
        self.remote.get("enabled").await
    }

    /// `Extension.path`
    ///
    /// ```text
    /// get path(): string
    /// ```
    pub async fn path(&self) -> Result<String, BridgeError> {
        self.remote.get("path").await
    }

    /// `Extension.version`
    ///
    /// ```text
    /// get version(): string
    /// ```
    pub async fn version(&self) -> Result<String, BridgeError> {
        self.remote.get("version").await
    }

    /// `Extension.name`
    ///
    /// ```text
    /// get name(): string
    /// ```
    pub async fn name(&self) -> Result<String, BridgeError> {
        self.remote.get("name").await
    }

    /// `Extension.id`
    ///
    /// ```text
    /// get id(): string
    /// ```
    pub async fn id(&self) -> Result<String, BridgeError> {
        self.remote.get("id").await
    }

    /// `Extension.workers`
    ///
    /// ```text
    /// workers(): Promise<WebWorker[]>
    /// ```
    pub async fn workers(&self) -> Result<Vec<WebWorker>, BridgeError> {
        self.remote.call("workers", vec![]).await
    }

    /// `Extension.pages`
    ///
    /// ```text
    /// pages(): Promise<Page[]>
    /// ```
    pub async fn pages(&self) -> Result<Vec<Page>, BridgeError> {
        self.remote.call("pages", vec![]).await
    }

    /// `Extension.triggerAction`
    ///
    /// ```text
    /// triggerAction(page: Page): Promise<void>
    /// ```
    pub async fn trigger_action(&self, page: &Page) -> Result<(), BridgeError> {
        self.remote.call("triggerAction", vec![Some(page.remote().to_wire())]).await
    }
}