Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
// npm install @graphql-tools/merge @graphql-tools/schema import { mergeTypeDefs, mergeResolvers } from '@graphql-tools/merge'; import { makeExecutableSchema } from '@graphql-tools/schema'; // user.typedefs.js export const userTypeDefs = `#graphql type User { id: ID! name: String! email: String! } type Query { users: [User!]! user(id: ID!): User } type Mutation { createUser(name: String!, email: String!): User! } `; // product.typedefs.js export const productTypeDefs = `#graphql type Product { id: ID! title: String! price: Float! } type Query { products: [Product!]! } `; // user.resolvers.js export const userResolvers = { Query: { users: () => db.users.findAll(), user: (_, { id }) => db.users.findById(id), }, Mutation: { createUser: (_, args) => db.users.create(args), }, }; // product.resolvers.js export const productResolvers = { Query: { products: () => db.products.findAll() }, }; // schema.js — merge everything const typeDefs = mergeTypeDefs([userTypeDefs, productTypeDefs]); const resolvers = mergeResolvers([userResolvers, productResolvers]); export const schema = makeExecutableSchema({ typeDefs, resolvers });
Result
Open