@cran/lib.gql.core
Version:
GQL Core Functionality
23 lines (22 loc) • 613 B
JavaScript
import { createScalar } from "../utilities";
export const RealScalar = createScalar("real", "variable-precision, exact", {
string(value, invalid) {
if ((/e/iu).test(value)) {
const number = Number(value);
if (isNaN(number)) {
invalid();
}
return `${number}`;
}
if (!(/[+-]?\d+(\.\d+)?/u).test(value)) {
invalid();
}
return invalid();
},
number(value, invalid) {
return isNaN(value) ? invalid() : (`${value}`);
},
boolean(value) {
return `${+value}`;
},
});