Configurable custom GraphQL Scalars (string, number, date, etc) with sanitization / validation / transformation in TypeScript.
npm install graphql-scalar
npm install graphql-scalar
`
or
`
yarn add graphql-scalar
`
How to Use
`typescript
import { createStringScalar, createIntScalar, createFloatScalar } from 'graphql-scalar';
const stringScalar = createStringScalar({
name: string;
description?: string;
capitalize?: 'characters' | 'words' | 'sentences' | 'first';
collapseWhitespace?: boolean;
lowercase?: boolean;
maxLength?: number;
minLength?: number;
nonEmpty?: boolean;
pattern?: RegExp | string;
singleline?: string;
trim?: boolean;
trimLeft?: boolean;
trimRight?: boolean;
truncate?: number;
uppercase?: boolean;
coerce?: ScalarCoerceFunction;
errorHandler?: ScalarParseErrorHandler;
parse?: ScalarParseFunction;
sanitize?: ScalarSanitizeFunction;
serialize?: ScalarSerializeFunction;
validate?: ScalarValidateFunction;
})
const intScalar = createIntScalar({
name: string;
description?: string;
maximum?: number;
minimum?: number;
coerce?: ScalarCoerceFunction;
errorHandler?: ScalarParseErrorHandler;
parse?: ScalarParseFunction;
sanitize?: ScalarSanitizeFunction;
serialize?: ScalarSerializeFunction;
validate?: ScalarValidateFunction;
})
``