The gin-n-tonic of GraphQL types: simple, final, clean. Normalize your common data with GraphQL Scalar types.
$ npm install --save gntand then add to your schema:
const { Phone, UnixDate, CreditCard, State, ZipCode, DriversLicense } = require('gnt')
const { makeExecutableSchema } = require('graphql-tools');
makeExecutableSchema({
typeDefs: schemaString,
resolvers: {
Phone,
UnixDate,
CreditCard,
USState: State,
ZipCode,
DriversLicense
}
});Each of these types can be installed individually using there 'Package Name' shown below
| Type | Package Name | Input Example | Output Example |
|---|---|---|---|
| Phone | graphql-types-phone |
'(817) 569-8900' |
'+18175698900' |
| Zipcode | graphql-types-zipcode |
'55902', 00000 |
'55902', null |
| UnixDate | graphql-types-unix-timestamp |
2017-05-07T14:47:59.438, Date |
1494186489 |
| CreditCard | graphql-types-credit-card |
'4111111111111111' |
{ number: '4111111111111111', cardType: 'VISA', validCVV: false, validExpiryMonth: false, validExpiryYear: false, isExpired: true } |
| NonEmptyString | graphql-types-non-empty-string |
'' |
null |
| Drivers License | graphql-types-drivers-license |
{ state: 'CA', license: 'B2347354' } |
{ state: 'CA', license: 'B2347354' } OR null |
| Type | Package Name | Input Example |
|---|---|---|
| USState | graphql-types-us-state |
US, CA, DE ... |
Contributions are more than welcome! This repo is not meant to be owned by me (and if there is a more suitable owner please let me know), but rather by the commuity.
First run:
$ npm run generate -- '<your type name>'to get started. A folder with index.js, index.spec.js (your test), and a package.json will be created for you!
Then run npm run link and you should be on your way.
If you have any idea for new types, please submit an issue or PR!