UNPKG

@cran/lib.gql.core

Version:

GQL Core Functionality

32 lines (24 loc) 673 B
import { createScalar } from "../utilities"; const allowed: Record<string, true> = { epoch : true, infinity : true, "-infinity": true, now : true, today : true, tomorrow : true, yesterday : true, }; function asTstz ( value: number | string, invalid: createScalar.Invalid ) { const date = new Date(value); if (isNaN(date.valueOf())) { return invalid(); } return date.toISOString(); } export const TstzScalar = createScalar( "tstz", "timestamp with time zone", { string ( value, invalid ) { if (allowed[value.toLowerCase()]) { return value; } return asTstz(value, invalid); }, number: asTstz, } );