UNPKG

2.44 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const graphql_1 = require("graphql");
4function fromPromise(val) {
5 return val;
6}
7exports.fromPromise = fromPromise;
8const customTypeMap = new Map();
9exports.graphQLBigintTypeFactory = (typeName) => {
10 if (!/ID$/.test(typeName))
11 return;
12 if (customTypeMap.has(typeName))
13 return customTypeMap.get(typeName);
14 const type = new graphql_1.GraphQLScalarType({
15 name: typeName,
16 serialize: value,
17 parseValue: value,
18 parseLiteral(ast) {
19 if (ast.kind === graphql_1.Kind.STRING) {
20 return value(ast.value);
21 }
22 return null;
23 },
24 });
25 customTypeMap.set(typeName, type);
26 return type;
27 function value(value) {
28 try {
29 if (BigInt(value) === 0n)
30 throw 1;
31 }
32 catch (e) {
33 throw new graphql_1.GraphQLError(`${typeName} should be numeric string: ${value}`);
34 }
35 return value;
36 }
37};
38//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhRTFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dyYXBoUUxVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFDQUFnRTtBQWtCaEUsU0FBZ0IsV0FBVyxDQUFJLEdBQXdDO0lBQ3RFLE9BQVEsR0FBNEcsQ0FBQztBQUN0SCxDQUFDO0FBRkQsa0NBRUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztBQUU5QyxRQUFBLHdCQUF3QixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO0lBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU87SUFDbEMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRSxNQUFNLElBQUksR0FBRyxJQUFJLDJCQUFpQixDQUFDO1FBQ2xDLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLEtBQUs7UUFDaEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsWUFBWSxDQUFDLEdBQUc7WUFDZixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssY0FBSSxDQUFDLE1BQU0sRUFBRTtnQkFDN0IsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBQ0gsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsT0FBTyxJQUFJLENBQUM7SUFFWixTQUFTLEtBQUssQ0FBQyxLQUFhO1FBQzNCLElBQUk7WUFDSCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWCxNQUFNLElBQUksc0JBQVksQ0FBQyxHQUFHLFFBQVEsOEJBQThCLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDekU7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDRixDQUFDLENBQUMifQ==
\No newline at end of file