graphql-extra-scalars
v2.1.0
Published
Collection of extra GraphQL scalar types like Email, URL, Password and more
Downloads
154
Maintainers
Readme
GraphQL Extra scalars
This is a collection of extra GraphQL scalar types.
Available Types
Let me give you an overview of the available types. If you need more detail about how to use them, check tests/schema.js
.
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.
GraphQLDateTime
GraphQLEmail
GraphQLIPv4
GraphQLLimitedString(min, max, alphabet)
GraphQLMacAddress
GraphQLPassword(min, max, alphabet, complexity)
GraphQLURL
GraphQLUUID
complexity
options:
{
alphaNumeric: false,
mixedCase: false,
specialChars: false,
}
Installation
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-extra-scalars --save
or
yarn add graphql graphql-extra-scalars
Usage
Use it in your GraphQLSchema
as you would use any other type.
import {
GraphQLDateTime,
GraphQLEmail,
GraphQLIPv4,
GraphQLLimitedString,
GraphQLMacAddress,
GraphQLPassword,
GraphQLURL,
GraphQLUUID
} from 'graphql-extra-scalars';
import {DocumentNode} from 'graphql';
import {gql} from 'graphql-tag';
const schema: DocumentNode = gql`
scalar DateTime
`;
const resolvers = {
DateTime: GraphQLDateTime,
Password: new GraphQLPassword(8)
};
Development
Contributions are very welcome, please feel free to submit a type. If you do so make sure there are test cases in place.
Testing
The test suite may be invoked by running:
npm test