123456789_123456789_123456789_123456789_123456789_

Class: Selenium::WebDriver::BiDi::Protocol::Script::LocalValue Private

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: Selenium::WebDriver::BiDi::Serialization::Union
Defined in: rb/lib/selenium/webdriver/bidi/protocol/script.rb

Overview

Class Method Summary

::Selenium::WebDriver::BiDi::Serialization::Union - Inherited

.build

Outbound mirror of from_json: build the variant the command's kwargs describe so its typed as_json drives null-vs-absent per field (a flat hash through ::Selenium::WebDriver::BiDi::Transport cannot).

.discriminator

values maps each variant's discriminator symbol to its wire token, so an inbound payload tag (a wire string) can be matched to the symbol-keyed table.

.fallback,
.from_json

A non-Hash payload is a bare scalar arm (e.g.

.object_only

Declared (via the schema's objectOnly signal) on a union whose every arm is an object, so a non-Hash payload is a schema violation rather than a scalar arm.

.presence,
.scalar_values

Declared (via the schema's scalarValues signal) on a non-object_only union whose bare-scalar arms are a fixed set of literals (input.Origin's "viewport" / "pointer").

.valid_outbound?

Outbound mirror of from_json: is value one this union accepts? Any variant is accepted, and a variant that is itself a union recurses (e.g. LocalValue's RemoteReference fallback).

.variants,
.outbound_variant

An explicit nil kwarg still counts as supplied; a non-nullable field set to nil is rejected at construction (Data.new), not here.

.payload_tag

The wire tag mapped back to its variant symbol (the table's key); an unrecognized tag falls through as-is so select misses and from_json raises.

.scalar_arm?

A bare-scalar arm must be one of the literals the schema pinned for this union (scalar_values, e.g. input.Origin's "viewport" / "pointer").

.select

The discriminator value may legitimately be null (e.g.

.variant_accepts?

A variant that is itself a union recurses; a record variant is matched by instance.

.variant_for

The matching variant's ref, or nil when none matches (the fallback if declared).

.variant_refs

Every variant's class name: the discriminated table, the presence paths, and the fallback.

Class Method Details

.array

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 183

def self.array(**) = Script::ArrayLocalValue.new(**)

.bigint

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 181

def self.bigint(**) = Script::BigIntValue.new(**)

.boolean

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 180

def self.boolean(**) = Script::BooleanValue.new(**)

.channel

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 182

def self.channel(**) = Script::ChannelValue.new(**)

.date

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 184

def self.date(**) = Script::DateLocalValue.new(**)

.map

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 185

def self.map(**) = Script::MapLocalValue.new(**)

.null

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 177

def self.null(**) = Script::NullValue.new(**)

.number

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 179

def self.number(**) = Script::NumberValue.new(**)

.object

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 186

def self.object(**) = Script::ObjectLocalValue.new(**)

.regexp

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 187

def self.regexp(**) = Script::RegExpLocalValue.new(**)

.set

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 188

def self.set(**) = Script::SetLocalValue.new(**)

.string

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 178

def self.string(**) = Script::StringValue.new(**)

.undefined

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi/protocol/script.rb', line 176

def self.undefined(**) = Script::UndefinedValue.new(**)