class BCDD::Result private attr_accessor unknown: bool private attr_writer event_logs: Hash[Symbol, untyped] private attr_reader type_checker: BCDD::Result::Contract::TypeChecker attr_reader data: BCDD::Result::Data attr_reader source: untyped attr_reader terminal: bool attr_reader event_logs: Hash[Symbol, untyped] def self.config: -> BCDD::Result::Config def self.configuration: (freeze: bool) { (BCDD::Result::Config) -> void } -> (bool | BCDD::Result::Config) def self.event_logs: (name: untyped, desc: untyped) { () -> untyped } -> BCDD::Result def initialize: ( type: Symbol, value: untyped, ?source: untyped, ?expectations: BCDD::Result::Contract::Evaluator, ?terminal: bool ) -> void def type: -> Symbol def value: -> untyped def type?: (Symbol | String) -> bool def terminal?: -> bool def success?: (?Symbol type) -> bool def failure?: (?Symbol type) -> bool def value_or: { () -> untyped } -> untyped def on: (*Symbol) { (untyped, Symbol) -> void } -> BCDD::Result def on_success: (*Symbol) { (untyped, Symbol) -> void } -> BCDD::Result def on_failure: (*Symbol) { (untyped, Symbol) -> void } -> BCDD::Result def on_unknown: () { (untyped, Symbol) -> void } -> BCDD::Result def and_then: (?Symbol method_name, ?untyped injected_value) ?{ (untyped) -> untyped } -> untyped def and_then!: (untyped, ?untyped injected_value, _call: (Symbol | nil)) -> untyped def handle: () { (BCDD::Result::Handler) -> void } -> untyped def ==: (untyped) -> bool def hash: -> Integer def inspect: -> String def deconstruct: -> [Symbol, [Symbol, untyped]] def deconstruct_keys: (Array[Symbol]) -> Hash[Symbol, Hash[Symbol, untyped]] TYPE_AND_VALUE: Array[Symbol] def method_missing: (Symbol, *untyped) { (untyped) -> untyped } -> untyped alias is? type? alias eql? == alias on_type on private def kind: -> Symbol def known: (Proc) -> untyped def call_and_then_source_method: (Symbol, untyped) -> BCDD::Result def call_and_then_source_method!: (untyped, untyped) -> BCDD::Result def call_and_then_block: (untyped) -> BCDD::Result def call_and_then_block!: (untyped) -> BCDD::Result def call_and_then_callable!: (untyped, value: untyped, injected_value: untyped, method_name: (Symbol | nil)) -> BCDD::Result def ensure_result_object: (untyped, origin: Symbol) -> BCDD::Result end class BCDD::Result class Success < BCDD::Result include BCDD::Success end def self.Success: (Symbol type, ?untyped value) -> BCDD::Result::Success end class BCDD::Result class Failure < BCDD::Result include BCDD::Failure end def self.Failure: (Symbol type, ?untyped value) -> BCDD::Result::Failure end