Repository URL to install this package:
|
Version:
1.8.2 ▾
|
# frozen_string_literal: true
GraphQL::STRING_TYPE = GraphQL::ScalarType.define do
name "String"
description "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text."
coerce_result ->(value, ctx) {
begin
str = value.to_s
str.encoding == Encoding::UTF_8 ? str : str.encode(Encoding::UTF_8)
rescue EncodingError
err = GraphQL::StringEncodingError.new(str)
ctx.schema.type_error(err, ctx)
end
}
coerce_input ->(value, _ctx) { value.is_a?(String) ? value : nil }
default_scalar true
end