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

/graphql-scalar-unix-time-sec/

    Package Sidebar

    Install

    npm i graphql-scalar-unix-time-sec

    Weekly Downloads

    244

    Version

    1.0.0

    License

    Apache-2.0

    Unpacked Size

    19.8 kB

    Total Files

    6

    Last publish

    Collaborators

    • erhathaway
    • sn-admin