ichigoo
Version:
Static site generator with React and GraphQL
75 lines (66 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _graphqlTools = require("graphql-tools");
var _graphql = require("graphql");
var _getSchemaFromData = _interopRequireDefault(require("./introspection/getSchemaFromData"));
var _resolver = _interopRequireDefault(require("./resolver"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
/**
* Generates a GraphQL Schema object for your data
*
* @param {any} data
* @returns A GraphQL Schema
*
* @example
* import {graphql} from 'graphql';
* import {jsonSchemaBuilder} from 'json-graphql-server';
*
* const data = {
* "posts": [
* {
* "id": 1,
* "title": "Lorem Ipsum",
* "views": 254,
* "user_id": 123,
* },
* {
* "id": 2,
* "title": "Sic Dolor amet",
* "views": 65,
* "user_id": 456,
* },
* ],
* "users": [
* {
* "id": 123,
* "name": "John Doe"
* },
* {
* "id": 456,
* "name": "Jane Doe"
* }
* ],
* };
*
* const schema = jsonSchemaBuilder(data);
* const query = `[...]`
* graphql(schema, query).then(result => {
* console.log(result);
* });
*
*/
var _default = function _default(data) {
return (0, _graphqlTools.makeExecutableSchema)({
typeDefs: (0, _graphql.printSchema)((0, _getSchemaFromData["default"])(data)),
resolvers: (0, _resolver["default"])(data),
logger: {
log: function log(e) {
return console.log(e);
}
} // eslint-disable-line no-console
});
};
exports["default"] = _default;