1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const graphql_1 = require("graphql");
|
4 | function fromPromise(val) {
|
5 | return val;
|
6 | }
|
7 | exports.fromPromise = fromPromise;
|
8 | const customTypeMap = new Map();
|
9 | exports.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 |