1.2.5 • Published 1 year ago

@graphql-pagination/apollo-datasource v1.2.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

GraphQL Pagination / Apollo Datasource integration

Module integrates GraphQL Pagination and Apollo Datasources.

Usage

// BookConnection is generated by DataSourcePager
const typeDefs = gql`
    type Book {
        id: ID!
        title: String
        author: String
        published: DateTime
    }
    type Query {
        booksAsc(first: Int = 10 after: String): BookConnection
        booksDesc(last: Int = 10 before: String): BookConnection
    }
`;

const resolvers = {
    Query: {
        booksAsc: (_, args, { dataSources }) => dataSources.pager.forwardResolver(args),
        booksDesc: (_, args, { dataSources }) => dataSources.pager.backwardResolver(args),
    },
};

const apolloBooksPager = new ApolloDataSourcePager({
    dataSource: new ArrayDataSource(books, "id"),
    typeName: "Book",
});

const createApolloServer = () => {
    return new ApolloServer({
        typeDefs: [
            typeDefs,
            apolloBooksPager.typeDefs, // BookConnection, BookEdge, PageInfo typeDefs
            scalarTypeDefs, // for DateTime
        ],
        resolvers: [
            resolvers,
            scalarResolvers, // for DateTime
        ],
        dataSources: () => {
            return {
                pager: apolloBooksPager,
            };
        },
    });
};

See fully working example in examples/apollo-datasource.

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.0

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago