Socket
Socket
Sign inDemoInstall

graphql-type-json

Package Overview
Dependencies
1
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    graphql-type-json

JSON scalar types for GraphQL.js


Version published
Weekly downloads
1.1M
decreased by-2.75%
Maintainers
1
Install size
11.9 kB
Created
Weekly downloads
 

Package description

What is graphql-type-json?

The graphql-type-json npm package provides a way to include JSON objects as a GraphQL type. It allows for the use of arbitrary JSON objects as input or output types within a GraphQL schema, which can be useful when the shape of the data is not known in advance or when a flexible data structure is required.

What are graphql-type-json's main functionalities?

JSON scalar type for GraphQL schema

This feature allows you to use JSON as a scalar type in your GraphQL schema. You can define a field to accept or return a JSON object without specifying its structure in advance.

{"GraphQLJSON": require('graphql-type-json').GraphQLJSON}

Using JSON type in GraphQL queries and mutations

With graphql-type-json, you can define query and mutation fields that accept or return JSON objects. This is useful for endpoints that deal with dynamic or unstructured data.

{"typeDefs": "type Query { getArbitraryData: JSON } type Mutation { submitArbitraryData(data: JSON): Boolean }"}

Other packages similar to graphql-type-json

Readme

Source

graphql-type-json Travis npm

JSON scalar types for GraphQL.js.

Codecov

Usage

This package exports a JSON value scalar GraphQL.js type:

import GraphQLJSON from 'graphql-type-json';

It also exports a JSON object scalar type:

import { GraphQLJSONObject } from 'graphql-type-json';

These types can also be imported as follows using CommonJS:

const { GraphQLJSON, GraphQLJSONObject } = require('graphql-type-json');

GraphQLJSON can represent any JSON-serializable value, including scalars, arrays, and objects. GraphQLJSONObject represents specifically JSON objects, which covers many practical use cases for JSON scalars.

Programmatically-constructed schemas

You can use this in a programmatically-constructed schema as with any other scalar type:

import GraphQLJSON, { GraphQLJSONObject } from 'graphql-type-json';

export default new GraphQLObjectType({
  name: 'MyType',

  fields: {
    myValue: { type: GraphQLJSON },
    myObject: { type: GraphQLJSONObject },
  },
});

SDL with GraphQL-tools

When using the SDL with GraphQL-tools, define GraphQLJSON as the resolver for the appropriate scalar type in your schema:

import { makeExecutableSchema } from 'graphql-tools';
import GraphQLJSON, { GraphQLJSONObject } from 'graphql-type-json';

const typeDefs = `
scalar JSON
scalar JSONObject

type MyType {
  myValue: JSON
  myObject: JSONObject
}

# ...
`;

const resolvers = {
  JSON: GraphQLJSON,
  JSONObject: GraphQLJSONObject,
};

export default makeExecutableSchema({ typeDefs, resolvers });

Keywords

FAQs

Last updated on 10 Jun 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc