Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@exonest/graphql-connections

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@exonest/graphql-connections

This package is a spec-compliant set of models and utilities based on [Relay's Graphql Cursor Connections Specification](https://relay.dev/graphql/connections.htm) and is created using [Generics](https://docs.nestjs.com/graphql/resolvers#generics)

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Graphql Connections (Pagination)

This package is a spec-compliant set of models and utilities based on Relay's Graphql Cursor Connections Specification and is created using Generics

Introduction

To use pagination in GraphQL, it's proposed by the spec that we use the "Connections" pattern and expose these connections in a standardized way.

  • In queries, you use PaginationArgs to slice and paginate the result.
  • In response, you return Connection objects to provide cursors and a way to tell the client when more results are available.

Installation

On Yarn:

yarn add @exonest/graphql-connections

On NPM:

npm install @exonest/graphql-connections

Usage

You can create a new paginated model like so:

import { Paginated } from '@exonest/graphql-connections';
import { Product } from '../product.model';

export class ProductConnection extends Paginated(Product) {}

Note that for your connection to be compliant to relay's specifications, its name should end with Connection. (reference)

To create a query for a paginated resource, do like so:

@Query(() => ProductConnection)
resourcePublications(
    @Args() { after, before, first, last, skip }: PaginationArgs,
) {
    // return data based on pagination
}

With Prisma

If you use Prisma, there is another spec-compliant package that facilitates returning data as connections: @devoxa/prisma-relay-cursor-connection

FAQs

Package last updated on 24 Nov 2021

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc