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;
§Constructors
§
new GraphQLScalarType(config: Readonly<GraphQLScalarTypeConfig<TInternal, TExternal>>)
[src]§Properties
§
astNode: Maybe<ScalarTypeDefinitionNode>
[src]§
extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>
[src]§
extensions: Readonly<GraphQLScalarTypeExtensions>
[src]§
parseLiteral: GraphQLScalarLiteralParser<TInternal>
[src]§
parseValue: GraphQLScalarValueParser<TInternal>
[src]§
serialize: GraphQLScalarSerializer<TExternal>
[src]