Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

GraphQLScalarType

Scalar Type Definition

The leaf values of any request and input values to arguments are Scalars (or Enums) and are defined with a name and a series of functions used to parse input from ast or variables and to ensure validity.

If a type's serialize function returns null or does not return a value (i.e. it returns undefined) then an error will be raised and a null value will be returned in the response. It is always better to validate

Example:

const OddType = new GraphQLScalarType({
  name: 'Odd',
  serialize(value) {
    if (!Number.isFinite(value)) {
      throw new Error(
        `Scalar "Odd" cannot represent "${value}" since it is not a finite number.`,
      );
    }

    if (value % 2 === 0) {
      throw new Error(`Scalar "Odd" cannot represent "${value}" since it is even.`);
    }
    return value;
  }
});
class GraphQLScalarType<TInternal = unknown, TExternal = TInternal> {
constructor(config: Readonly<GraphQLScalarTypeConfig<TInternal, TExternal>>);
astNode: Maybe<ScalarTypeDefinitionNode>;
description: Maybe<string>;
extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>;
extensions: Readonly<GraphQLScalarTypeExtensions>;
name: string;
parseLiteral: GraphQLScalarLiteralParser<TInternal>;
parseValue: GraphQLScalarValueParser<TInternal>;
serialize: GraphQLScalarSerializer<TExternal>;
specifiedByURL: Maybe<string>;
get [Symbol.toStringTag](): string;
 
toConfig(): GraphQLScalarTypeNormalizedConfig<TInternal, TExternal>;
toJSON(): string;
toString(): string;
}

§Type Parameters

§
TInternal = unknown
[src]
§
TExternal = TInternal
[src]

§Constructors

§
new GraphQLScalarType(config: Readonly<GraphQLScalarTypeConfig<TInternal, TExternal>>)
[src]

§Properties

§
description: Maybe<string>
[src]
§
extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>
[src]
§
name: string
[src]
§
parseLiteral: GraphQLScalarLiteralParser<TInternal>
[src]
§
parseValue: GraphQLScalarValueParser<TInternal>
[src]
§
serialize: GraphQLScalarSerializer<TExternal>
[src]
§
specifiedByURL: Maybe<string>
[src]
§
[Symbol.toStringTag]: string readonly
[src]

§Methods

§
toConfig(): GraphQLScalarTypeNormalizedConfig<TInternal, TExternal>
[src]
§
toJSON(): string
[src]
§
toString(): string
[src]