
Product
Unify Your Security Stack with Socket Basics
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.
apollo-link-pagination
Advanced tools
A @pagination
directive for GraphQL queries
yarn add apollo-link-pagination
This package is not available with Apollo Client v1 and v2 because it uses typePolicies
feature in v3.
Crerate Apollo Client instance with createPaginationLink
and your own pagination directives. Note that paginationLink
should be appear before httpLink
.
import {
ApolloClient,
ApolloLink,
InMemoryCache,
createHttpLink,
} from '@apollo/client';
import {
createPaginationLink,
cursorPagination,
offsetLimitPagination,
} from 'apollo-link-pagination';
const cache = new InMemoryCache();
const httpLink = createHttpLink({
uri: 'https://rxfl5l9xw6.execute-api.ap-northeast-2.amazonaws.com/dev/graphql'
});
const paginationLink = createPaginationLink(cache, {
cursorPagination: cursorPagination(),
offsetLimitPagination: offsetLimitPagination(),
// or you can define your own pagination directives.
});
const client = new ApolloClient({
cache,
link: ApolloLink.from([paginationLink, httpLink]),
});
Suppose the GraphQL schema is:
enum FriendType {
BEST
NORMAL
}
type User {
id: ID!
name: String!
friends(type: FriendType, offset: Int, limit: Int!): [User]
}
type UsersResult {
users: [User]
cursor: ID
}
type Query {
user(id: ID!): User
usersByCursor(cursor: ID, limit: Int!): UsersResult
}
Cursor-based pagination queries can be written as follows:
query Users($cursor: ID, $offset: Int) {
usersByCursor(cursor: $cursor, limit: 10) @cursorPagination {
users {
id
name
}
cursor
}
}
Offset-based pagination queries can be written as follows:
query Friends($type: FriendType, $offset: Int) {
user(id: "1") {
id
name
friends(
type: $type,
offset: $offset,
limit: 10,
) @offsetLimitPagination(keyArgs: ["type"], typename: "User") {
id
name
}
}
}
If you do not specify a typename
argument, it is automatically assigned as "Query"
.
This package is available as open source under the terms of the MIT License.
FAQs
A @pagination directive for GraphQL queries
The npm package apollo-link-pagination receives a total of 138 weekly downloads. As such, apollo-link-pagination popularity was classified as not popular.
We found that apollo-link-pagination demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.
Product
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.
Product
Socket is launching experimental protection for the Hugging Face ecosystem, scanning for malware and malicious payload injections inside model files to prevent silent AI supply chain attacks.
Research
/Security News
The Socket Threat Research Team uncovered a coordinated campaign that floods the Chrome Web Store with 131 rebranded clones of a WhatsApp Web automation extension to spam Brazilian users.