@cran/lib.gql.core
Version:
GQL Core Functionality
20 lines (19 loc) • 868 B
TypeScript
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>;