@cran/lib.gql.core
Version:
GQL Core Functionality
27 lines (26 loc) • 621 B
JavaScript
import { createScalar } from "../utilities";
const allowed = {
epoch: true,
infinity: true,
"-infinity": true,
now: true,
today: true,
tomorrow: true,
yesterday: true,
};
function asTstz(value, 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,
});