The gin-n-tonic of GraphQL types: simple, final, clean. Normalize your common data with GraphQL Scalar types.
$ npm install --save gnt
and 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!