Packages

Low-level Elixir implementation of the W3C WebDriver BiDi Protocol.

Current section

Files

Jump to
bibbidi lib bibbidi events script.ex
Raw

lib/bibbidi/events/script.ex

# Generated by mix bibbidi.gen — do not edit manually
defmodule Bibbidi.Events.Script do
@moduledoc """
Events for the `script` module of the WebDriver BiDi protocol.
"""
alias __MODULE__.Message
alias __MODULE__.RealmCreated
alias __MODULE__.RealmDestroyed
@doc "Returns all event method names for this module."
@spec events() :: [String.t()]
def events do
[
"script.message",
"script.realmCreated",
"script.realmDestroyed"
]
end
@doc """
Event: `script.message`
Params type: `script.MessageParameters`
"""
def message, do: "script.message"
@doc """
Event: `script.realmCreated`
Params type: `script.RealmInfo`
"""
def realm_created, do: "script.realmCreated"
@doc """
Event: `script.realmDestroyed`
Params type: `script.RealmDestroyedParameters`
"""
def realm_destroyed, do: "script.realmDestroyed"
@doc "Parses a raw event params map into a typed struct."
@spec parse(String.t(), map()) :: struct() | map()
def parse("script.message", params) do
%Message{channel: params["channel"], data: params["data"], source: params["source"]}
end
def parse("script.realmCreated", params) do
%RealmCreated{
realm: params["realm"],
origin: params["origin"],
type: params["type"],
context: params["context"],
user_context: params["userContext"],
sandbox: params["sandbox"],
owners: params["owners"]
}
end
def parse("script.realmDestroyed", params) do
%RealmDestroyed{realm: params["realm"]}
end
def parse(_method, params), do: params
end