UNPKG

sql-to-graphql

Version:

Generate a GraphQL API based on your SQL database structure

28 lines (21 loc) 628 B
'use strict'; var b = require('ast-types').builders; var isPlainObject = require('lodash/lang/isPlainObject'); function buildObject(obj) { var fields = [], key; for (key in obj) { fields.push(b.property('init', b.literal(key), castValue(obj[key]))); } return b.objectExpression(fields); } function castValue(val) { if (isPlainObject(val)) { return buildObject(val); } else if (val === null) { return b.identifier('null'); } else if (typeof val === 'undefined') { return b.identifier('undefined'); } return b.literal(val); } module.exports = buildObject;