class Dry::Types::FnContainer

@api private
Internal container for constructor functions used by the built-in types

def self.[](fn_name)

Other tags:
    Api: - private
def self.[](fn_name)
  if container.key?(fn_name)
    container[fn_name]
  else
    fn_name
  end
end

def self.container

Other tags:
    Api: - private
def self.container
  @container ||= Container.new
end

def self.register(function = ::Dry::Core::Constants::Undefined, &block)

Other tags:
    Api: - private
def self.register(function = ::Dry::Core::Constants::Undefined, &block)
  fn = ::Dry::Core::Constants::Undefined.default(function, block)
  fn_name = register_name(fn)
  container.register(fn_name, fn) unless container.key?(fn_name)
  fn_name
end

def self.register_name(function)

Other tags:
    Api: - private
def self.register_name(function)
  "fn_#{function.__id__}"
end