lib/dry/schema/macros/each.rb in dry-schema-1.1.0 vs lib/dry/schema/macros/each.rb in dry-schema-1.2.0

- old
+ new

@@ -1,7 +1,8 @@ # frozen_string_literal: true +require 'dry/types/type' require 'dry/schema/macros/dsl' module Dry module Schema module Macros @@ -10,10 +11,12 @@ # @api private class Each < DSL # @api private def value(*args, **opts) extract_type_spec(*args, set_type: false) do |*predicates, type_spec:| - type(schema_dsl.array[type_spec]) if type_spec + if type_spec && !type_spec.is_a?(Dry::Types::Type) + type(schema_dsl.array[type_spec]) + end super(*predicates, type_spec: type_spec, **opts) end end