Sha256: 4404e9f6d91d64b7da2ebd991b6986a19aa78aaba9ab792d5077624432d93e8c

Contents?: true

Size: 657 Bytes

Versions: 2

Compression:

Stored size: 657 Bytes

Contents

# frozen_string_literal: true

require 'dry/types/constructor'

module Dry
  module Types
    # Hash type exposes additional APIs for working with schema hashes
    #
    # @api public
    class Hash < Nominal
      class Constructor < ::Dry::Types::Constructor
        # @api private
        def constructor_type
          ::Dry::Types::Hash::Constructor
        end

        # @return [Lax]
        #
        # @api public
        def lax
          type.lax.constructor(fn, meta: meta)
        end

        private

        # @api private
        def composable?(value)
          super && !value.is_a?(Schema::Key)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-types-1.0.1 lib/dry/types/hash/constructor.rb
dry-types-1.0.0 lib/dry/types/hash/constructor.rb