faunadb-graphql-schema-loader
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.0 • Public • Published

    FaunaDB GraphQL Schema Loader

    npm version MIT license

    A lib with some helper functions to make uploading a schema to FaunaDB easier.

    It allows you to combine multiple SDL strings and use extend type.

    Basic Usage

    const { importSchema } = require('faunadb-graphql-schema-loader')
    
    const secret = process.env.FAUNADB_ADMIN_KEY
    
    const schema = `
      type Budget {
        name: String!
        owner: User! @relation
      }
      type User {
        budget: Budget! @relation
        name: String!
      }
      `
    
    importSchema(secret, schema).then((res) => console.log(res))

    API

    importSchema

    importSchema = (
      faunadbKey: string,
      schema: string,
      mode: 'merge' | 'override' = 'merge'
    ) => Promise<string>

    Takes a schema string and uploads that to the database with the provided Admin Key.

    Parameters

    • faunadbKey An Admin key for your database
    • schema An SDL schema string
    • mode Import mode. Defaults to merge.

    Returns a Promise for the response.body from the http request.

    See basic example

    makeSchema

    makeSchema = (typeDefs: string[]) => string

    Takes a list of SDL schema strings and combines them. This allows for using extends in your type definitions.

    Parameters

    • typeDefs Array of SDL schema strings

    Returns A single SDL schema string.

    See extended types example

    NOTE: Since 0.2.0, the extend keyword is not necessary for the Query type when used in multiple schemas. Normally, multiple types would cause an error. However, makeSchema will automatically add extend if multiple instances of type Query are found. This is useful for creating reusable schema chunks without having to worry about which schema uses type Query while all others are extend type Query.

    Using and Contributing

    Any feedback is appreciated, and if folks see ways to make this into a useful and viable package, I will work to make it so! Please fill out a Github Issue if you see anything.

    Thanks!

    License

    The MIT License (MIT)

    Install

    npm i faunadb-graphql-schema-loader

    DownloadsWeekly Downloads

    1

    Version

    0.2.0

    License

    MIT

    Unpacked Size

    18.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • ptpaterson