Skip to content

A resolver function for Apollo Server which loads serialized data from local files

License

Notifications You must be signed in to change notification settings

metabolize/apollo-resolver-fs

Repository files navigation

apollo-resolver-fs

version license build code style

A resolver function for Apollo Server which loads serialized data from local files.

Designed for local testing as a companion to the Google Cloud Storage version apollo-resolver-gcs.

Based on the example server in the Apollo Server 2 Getting Started guide.

Usage

const { ApolloServer } = require('apollo-server')
const { createResolver } = require('apollo-resolver-fs')

const typeDefs = ...

const getBook = createResolver({
  basePath: '/path/to/the/data',
  argsToKey: ({ slug }) => `${slug}.json`,
})

const resolvers = {
  Query: {
    getBook,
  },
}

const server = new ApolloServer({ typeDefs, resolvers })

await server.listen()

In this example, getBook(slug: "harry-potter") returns the deserialized contents of /path/to/the/data/harry-pottern.json.

Running the example server

  1. Run npm start to start the server.
  2. Open https://localhost:4000/. You should see the GraphQL Playground explorer tool.
  3. Run a query:
{
  getBook(slug: "harry-potter") {
    title
    author
  }
}

You should see the result:

{
  "data": {
    "getBook": {
      "title": "Harry Potter and the Chamber of Secrets",
      "author": "J.K. Rowling"
    }
  }
}

License

This project is licensed under the MIT license.

About

A resolver function for Apollo Server which loads serialized data from local files

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published