graphql-sequelize-helper
Version:
graphql-sequelize-helper transform Sequelize models to GraphQL schemas that is compatible with Relay. * <a href="http://docs.sequelizejs.com/">Sequelize</a> is a promise-based Node.js ORM for Postgres, MySQL, SQLite and Microsoft SQL Server. It features s
47 lines (44 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _graphql = require('graphql');
function astToJson(ast) {
if (ast.kind === _graphql.Kind.INT) {
return parseInt(ast.value);
}
if (ast.kind === _graphql.Kind.FLOAT) {
return parseFloat(ast.value);
}
if (ast.kind === _graphql.Kind.STRING) {
return ast.value;
}
if (ast.kind === _graphql.Kind.BOOLEAN) {
return ast.value === 'true' || ast.value === true;
}
if (ast.kind === _graphql.Kind.LIST) {
return ast.values.map(astToJson);
}
if (ast.kind === _graphql.Kind.ENUM) {
return ast.value;
}
if (ast.kind === _graphql.Kind.OBJECT) {
var result = {};
ast.fields.forEach(function (field) {
result[field.name.value] = astToJson(field.value);
});
return result;
}
}
exports.default = new _graphql.GraphQLScalarType({
name: 'Json',
serialize: function serialize(value) {
return value;
},
parseValue: function parseValue(value) {
return value;
},
parseLiteral: function parseLiteral(ast) {
return astToJson(ast);
}
});