class Dry::Schema::Message::Or::MultiPath

def hint?

Other tags:
    Api: - private
def hint?
  false
end

def initialize(...)

Other tags:
    Api: - private
def initialize(...)
  super
  flat_left = left.flatten
  flat_right = right.flatten
  @root = [*flat_left, *flat_right].map(&:_path).reduce(:&)
  @left = flat_left.map { _1.to_or(root) }
  @right = flat_right.map { _1.to_or(root) }
end

def to_h

Other tags:
    Api: - public
def to_h
  @to_h ||= Path[[*root, :or]].to_h(
    [MessageSet.new(left).to_h, MessageSet.new(right).to_h]
  )
end