@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
41 lines • 1.08 kB
JavaScript
import { GraphQLError, GraphQLScalarType, Kind } from 'graphql';
import { validatePhoneNumber } from '../fields/PhoneField';
var validator = (ast, options) => {
var {
kind,
value
} = ast;
if (kind !== Kind.STRING) {
throw new GraphQLError("Query error: Can only parse strings got a: ".concat(kind), [ast]);
}
return validatePhoneNumber(value, options);
};
export class GraphQLPhoneType extends GraphQLScalarType {
constructor() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var {
name = 'Phone',
description
} = options || {};
super({
description,
name,
parseLiteral: ast => validator(ast, options),
parseValue: value => {
var ast = {
kind: Kind.STRING,
value
};
return validator(ast, options);
},
serialize: value => {
var ast = {
kind: Kind.STRING,
value
};
return validator(ast, options);
}
});
}
}
//# sourceMappingURL=GraphQLPhoneType.js.map