Sha256: 0308fe7460f0476b42698516e194f870e854cb82c53c095b2cf72bb94ba380a4
Contents?: true
Size: 613 Bytes
Versions: 1
Compression:
Stored size: 613 Bytes
Contents
# typed: strict module Typed module Coercion class IntegerCoercer < Coercer extend T::Generic Target = type_member { {fixed: Integer} } sig { override.params(type: Field::Type).returns(T::Boolean) } def used_for_type?(type) type == Integer end sig { override.params(type: Field::Type, value: Value).returns(Result[Target, CoercionError]) } def coerce(type:, value:) Success.new(Integer(value)) rescue ArgumentError, TypeError Failure.new(CoercionError.new("'#{value}' cannot be coerced into Integer.")) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sorbet-schema-0.4.0 | lib/typed/coercion/integer_coercer.rb |