@cran/gql.core
Version:
Cran/GraphQL Core Utilities
20 lines (19 loc) • 558 B
JavaScript
/* eslint-disable prefer-template */
import { createScalar } from "../utilities/createScalar";
const trueValue = /^t(rue)?|y(es)?|on|1$/iu;
const falseValue = /^f(alse)?|no?|off|0$/iu;
export const BoolScalar = createScalar("bool", "state of true or false", {
string(value, invalid) {
if (trueValue.test(value)) {
return "true";
}
if (falseValue.test(value)) {
return "false";
}
return invalid();
},
number(value) {
return "" + Boolean(value);
},
boolean: true,
});