1.4.0 • Published 5 years ago

gql-scalars v1.4.0

Weekly downloads
6
License
ISC
Repository
github
Last release
5 years ago

GraphQL Scalars

Note! This package is currently under development. Check back for updates.

Import directly into your resolver function and declare each scalar in your schema. See below for an example.

There is one scalar type missing from this package; not every project will require it. To convert strings into MongoDB ObjectIds, please visit this gist.

import { merge } from 'lodash';
import { gql } from 'apollo-server-express';
import { makeExecutableSchema } from 'graphql-tools';
import CustomScalars from 'gql-scalars';

export default makeExecutableSchema({
    resolvers: merge({}, CustomScalars),
    typeDefs: gql`
    
        scalar Date
        scalar Email
        scalar Phone
        scalar Postal
        scalar Time 

    `
});

Time

Accepts strings formatted as HH:MM like the standard HTML5 input element. This scalar automatically prepends leading zeros and validates time values (i.e. 24-hour maximum).

Date

Accepts strings that follow ISO Date formatting standards. This scalar will output YYYY-MM-DD regardless the input formatting. It strips timestamps and converts the date object to a simple string.

Email

Accepts all valid email formats. This includes those with multiple top-level domains. Currently, this scalar does not support domain-specific email address validation.

Phone

Accepts all popular North American phone number formatting, including those prefixed with a country code (ie +1). This scalar serializes a prettified string in the following format: (xxx) xxx-xxxx.

Postal

Accepts a Canadian postal code with or without spaces (ie. L1L 1L1). This scalar serializes the postal code as uppercase.

1.4.0

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago