This is a collection of custom GraphQL types that I tend to reuse quite often so I packed them into a module.
Let me give you an overview of the available types. If you need more detail about how to use them, check schema.js in the tests folder.
The primitive types, aka everything that may be represented as a string. The ones with parameters you need to instantiate with new and pass according parameters, the others may be used as are.
- GraphQLEmail
- GraphQLURL
- GraphQLDateTime
- GraphQLLimitedString(min, max, alphabet)
- GraphQLPassword(min, max, alphabet, complexity)
- GraphQLUUID
complexity default options:
{
alphaNumeric: false,
mixedCase: false,
specialChars: false
}
Most likely you already will have it, but do not forget to also install graphql, since it is required as peer dependency:
npm install graphql graphql-custom-types --save
import {
GraphQLEmail,
GraphQLURL,
GraphQLDateTime,
GraphQLLimitedString,
GraphQLPassword,
GraphQLUUID
} from 'graphql-custom-types';
And use it in your Schema as you would use any other type.
Contributions are very welcome, please feel free to submit a type. If you do so make sure there are test cases in place.
The test suite may be invoked by running:
npm run test