UNPKG

@cran/lib.gql.core

Version:

GQL Core Functionality

27 lines (20 loc) 562 B
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}`; }, } );