graphql-extra-scalars
TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

GraphQL Extra scalars

npm version Build Status Dependency Status devDependencies Status peerDependencies Status

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

Package Sidebar

Install

npm i graphql-extra-scalars

Weekly Downloads

78

Version

2.1.0

License

MIT

Unpacked Size

26.2 kB

Total Files

46

Last publish

Collaborators

  • stekycz