Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
graphql-type-json
Advanced tools
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.
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 }"}
This package includes a collection of custom GraphQL scalar types, including a JSON type similar to graphql-type-json. It offers a wider range of scalars for different use cases, such as Date, Time, DateTime, EmailAddress, and more.
Similar to graphql-type-json, graphql-tools-types provides additional types for GraphQL, including a JSON type. It also includes other types like Void, Regex, and more, which can be useful for extending the capabilities of a GraphQL schema.
JSON scalar types for GraphQL.js.
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.
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 },
},
});
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 });
FAQs
JSON scalar types for GraphQL.js
We found that graphql-type-json demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.