0.2.0 • Published 3 years ago

@jcm/nexus-plugin-datetime v0.2.0

Weekly downloads
131
License
MIT
Repository
-
Last release
3 years ago

@jcm/nexus-plugin-datetime

This plugin adds the field method dateTime(fieldName, fieldConfig) to the Nexus Schema Builder, which can be used to create date-time fields with a few helpful methods.

Sample usage:

const User = objectType({
  name: 'User',
  definition(t) {
    // ...
    t.dateTime('createdAt')
    // ...
  },
})

With the above code, the following schema will be generated:

"""
Represents an ISO datetime that can be formatted in other formats
"""
type DateTimeField implements DateTimeFieldInterface {
  formatted(
    format: String!

    """
    Timezone to format the ISO date, defaults to UTC
    """
    timezone: String
  ): String!
  isAfter(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isBefore(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isBetween(
    """
    Defaults to the end of the current day if not provided
    """
    isoEnd: String

    """
    Defaults to the start of the current day if not provided
    """
    isoStart: String
  ): Boolean!
  iso: String!
  isSame(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isSameOrAfter(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isSameOrBefore(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
}

"""
A object that represents an ISO datetime
"""
interface DateTimeFieldInterface {
  formatted(
    format: String!

    """
    Timezone to format the ISO date, defaults to UTC
    """
    timezone: String
  ): String!
  isAfter(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isBefore(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isBetween(
    """
    Defaults to the end of the current day if not provided
    """
    isoEnd: String

    """
    Defaults to the start of the current day if not provided
    """
    isoStart: String
  ): Boolean!
  iso: String!
  isSame(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isSameOrAfter(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
  isSameOrBefore(
    """
    Defaults to the current time if not provided
    """
    iso: String
  ): Boolean!
}

type User {
  # ...
  createdAt: DateTimeField!
}

# ...
0.2.0

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago