graphql-scalar-unix-time-sec
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

graphql-scalar-unix-time-sec

A GraphQL scalar for representing unix time seconds

Install

npm i --save graphql-scalar-unix-time-sec

Usage

  1. Import
import unixTimeSec from 'graphql-scalar-unix-time-sec';
  1. Use the scalar in the gql schema file
const typeDefs = gql`
    type User {
        createdAt: ${unixTimeSec.type.name}
        input: ${unixTimeSec.type.name}
    }

    type Query {
        user(input: ${unixTimeSec.type.name}): User
    }
    
    ${unixTimeSec.typedef}
`;

or

type User {
    createdAt: UnixTimeSec
    input: UnixTimeSec
}

type Query {
    user(input: UnixTimeSec): User
}

scalar UnixTimeSec
  1. Add the resolver
const resolvers = {
    ...unixTimeSec.resolver,
    Query: {
        async user(_, input: any) {
            return {...returnValues.user, ...input};
        }
    }
};

Features

This scalar will:

  • Accept inputs in either string or number format
  • Validate that the input type has 10 digits (aka is between the years ~1974 to ~2463)
  • Will coerce milliseconds to seconds if being sent from the server to client

Package Sidebar

Install

npm i graphql-scalar-unix-time-sec

Weekly Downloads

337

Version

1.0.0

License

Apache-2.0

Unpacked Size

19.8 kB

Total Files

6

Last publish

Collaborators

  • erhathaway
  • sn-admin