Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
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 38 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.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.