UNPKG

@cran/lib.gql.core

Version:

GQL Core Functionality

20 lines (19 loc) 868 B
import type { Plugin } from "../plugins/Plugin"; import { type Derivative } from "./parse"; import { type GraphQLScalarValueParser } from "graphql"; export declare namespace createScalar { interface Types { string: string; number: number; boolean: boolean; object: Record<string, Derivative>; array: Array<Derivative>; } type Invalid = (reason?: string) => string; type Casts = { [Key in keyof Types]?: boolean | ((value: Types[Key], invalid: Invalid) => string); }; type Serializer = (value: unknown) => unknown; } export declare function createScalar(name: string, description: string, casts: createScalar.Casts, serialize?: createScalar.Serializer | undefined): Plugin<any>; export declare function createScalarCast(name: string, casts: createScalar.Casts): GraphQLScalarValueParser<unknown>;