{"_id":"@emrys-myrddin/ra-data-graphql-simple","_rev":"4-eb627f652759b45606f4c82856b7cb19","name":"@emrys-myrddin/ra-data-graphql-simple","dist-tags":{"latest":"3.9.7"},"versions":{"3.9.4":{"name":"@emrys-myrddin/ra-data-graphql-simple","version":"3.9.4","description":"A GraphQL simple data provider for react-admin","main":"lib/index.js","module":"esm/index.js","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/marmelab/react-admin.git"},"bugs":{"url":"https://github.com/marmelab/react-admin/issues"},"homepage":"https://github.com/marmelab/react-admin#readme","authors":["Gildas Garcia"],"keywords":["reactjs","react","react-admin","admin-on-rest","rest","graphql"],"license":"MIT","scripts":{"build":"yarn run build-cjs && yarn run build-esm","build-cjs":"rimraf ./lib && tsc","build-esm":"rimraf ./esm && tsc --outDir esm --module es2015","watch":"tsc --outDir esm --module es2015 --watch"},"dependencies":{"graphql-ast-types-browser":"~1.0.2","graphql-tag":"^2.10.1","lodash":"~4.17.5","pluralize":"~7.0.0","ra-data-graphql":"^3.9.2"},"peerDependencies":{"graphql":"^14.1.1","ra-core":"^3.9.0"},"devDependencies":{"cross-env":"^5.2.0","graphql":"^14.1.1","rimraf":"^2.6.3"},"_id":"@emrys-myrddin/ra-data-graphql-simple@3.9.4","dist":{"shasum":"fcf23082f41fc07561b25c5b123e84ebf40f6e9a","integrity":"sha512-xO0llSx71kVtILz2ItM3dLd3PTVSm0P0Rqc5YS/iAqzszX0xEV8NKoUSAd1zeBXtp9kBCdQmO+0H7QNIvuU0ng==","tarball":"https://registry.npmjs.org/@emrys-myrddin/ra-data-graphql-simple/-/ra-data-graphql-simple-3.9.4.tgz","fileCount":52,"unpackedSize":184228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiBrtCRA9TVsSAnZWagAAoLgP/2Wcxb4UJROQWwlGiehp\neZ7b3rh4M35hTIPDQuLliq+jT3oyKJKdK5vPptWGhTtsjT5tv30XB50WOaYg\nYxdOFzJ9VzL2IPnoK4Z4JBMvGx9Bry3bm+1NJ3SgdpEg8nEeXdnxwfuKX9Bf\nvKRFLbqxoBf50D76F9Dt0WCKzij7dHDEztNBV5eZmwmpeiBZFxFWieNan/W+\nFaPI+ykyyGGhT8jYn1Re+mIOAubPKnTmTMqZj/XwU0XrAMiaJNO3afkUwfSX\nlmKWScXTO/6UcF8eUNPMaHb87onuIdUFU86qWJUhRG3Y4Wd5UC26iIU1NxJ4\nMdxheyxCPocWQU1Z7jDKND3X5+tayWFOUUPCWIgCbUmiBiQLsdlvNY5aR+qe\n/C04ojtp64mxdZkXKjmFBbsnYd/OaDEG8SRsKtjWeO1gsemSEYU2JK9y4qob\nPJUetxxAtw6oKHDyzhNMRIcaVT/9SnFACudKYjle9RohU9Kjr2TKouNKcEc9\nTBFyIGcDwdXYvZud6r15l3O6WO7E7PYnfRb1uMxNqVIqwP+/Q6TncuhyfuE1\nfc1eqpAJnJ1Ron50Um/cjiDZ0tiyTWCCQChdluA2et27ZcnB9SH1LCohnJOB\nV2C5ZQZy9mWd3yum5CHKfB9v+UZPNtizL6Q0rHJTd3nc32l46Dtla0IRralf\nGDsg\r\n=DGOw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYnI1p963z8ay2JYdt85nvB6kCn6qh3894ElnexnOlNAiAU2hvbipLcjij4gyU2jRzBBDeIIegDOY7ImAAtX01KiQ=="}]},"maintainers":[{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"}],"_npmUser":{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ra-data-graphql-simple_3.9.4_1602755308966_0.46870221160895875"},"_hasShrinkwrap":false},"3.9.5":{"name":"@emrys-myrddin/ra-data-graphql-simple","version":"3.9.5","description":"A GraphQL simple data provider for react-admin","main":"lib/index.js","module":"esm/index.js","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/marmelab/react-admin.git"},"bugs":{"url":"https://github.com/marmelab/react-admin/issues"},"homepage":"https://github.com/marmelab/react-admin#readme","authors":["Gildas Garcia"],"keywords":["reactjs","react","react-admin","admin-on-rest","rest","graphql"],"license":"MIT","scripts":{"build":"yarn run build-cjs && yarn run build-esm","build-cjs":"rimraf ./lib && tsc","build-esm":"rimraf ./esm && tsc --outDir esm --module es2015","watch":"tsc --outDir esm --module es2015 --watch"},"dependencies":{"graphql-ast-types-browser":"~1.0.2","graphql-tag":"^2.10.1","lodash":"~4.17.5","pluralize":"~7.0.0","ra-data-graphql":"^3.9.2"},"peerDependencies":{"graphql":"^14.1.1","ra-core":"^3.9.0"},"devDependencies":{"cross-env":"^5.2.0","graphql":"^14.1.1","rimraf":"^2.6.3"},"_id":"@emrys-myrddin/ra-data-graphql-simple@3.9.5","dist":{"shasum":"129bb22e88c91fdd1794b888dd32a26325cdd132","integrity":"sha512-rfOZTgi1R1EEp3EpFSlWmgbsaqJbP8lwQcKImftiPsyS/8dHd8CIgPliHswLGmaVgxTp1onJDigcOVHD15/S3A==","tarball":"https://registry.npmjs.org/@emrys-myrddin/ra-data-graphql-simple/-/ra-data-graphql-simple-3.9.5.tgz","fileCount":36,"unpackedSize":122651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiKg9CRA9TVsSAnZWagAALkAQAJVmLn1erZSLvmbBI/7b\njh5bcTq2Cv+ulskWY3PEfvo1GVnqoMSMd3tdbZE3GKKCdARPJoUtpnu8Z6r9\nfJUPLrhZjoe8gy+aVK3Tj8AGyeUcl6ZMk2fu2nqGDykNL/ELcE/wAuiLfMKs\nzvaPeMCc3V7a64lgF/tGFe+i8SH/RtL9RXnQfksixgPs4QuJnIqxVTcftPDu\nBtoT1jJlNxEg0hU5UbpXe5YhY0AS7LYKF8JipMZjoIQdS6tbyUn6tjZ7RG0F\nzBgO61Hjjdw5M+TL1swzICioT1x5rCXmDuJkOGkq/fj14AK552uZOrFwHesZ\ntIakQ/v43UErAVH4dTjhJGYBj+k6asdhwwIysjDD8bMBlTRxEE5j6WOpHVj1\nMY9w4I56ZXv/8u8re1nmgKIundCHUdMKPESCq2S52gE1Pch6lpE77qZhaumO\ndSmjpIouPtC/fcWf4V9Vx68dOlN4pVzd7CVlYv+5LrkBKmlGn/lZ4DCVUzvB\nqtTs+WYuVW2DcVqBQ7RIdNd12RknxqLiffBU2RJWro0ozBtNw+LwjZdvbkcA\nRNW0OkVSqllzhnapEptOzVFk9SqYN65krp8VGYwLHY5g3+/Le4Qse5hNjIFu\nFSF4X1O1QBpu2WAXbdOqD6/PFZ61vCG8/tHJzAcAaZb1KiWyrmcmgSI498CE\nxZkW\r\n=x0Yi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzZdCUm1A+ykGeQW8MWq/iXQ4k72766ZfCz1bQZ2NbogIhANewk6Gx3Iruop8NHkJXOd7K9Rrg2hmk2wUu9seTSKb/"}]},"maintainers":[{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"}],"_npmUser":{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ra-data-graphql-simple_3.9.5_1602791485527_0.5587135539966579"},"_hasShrinkwrap":false},"3.9.6":{"name":"@emrys-myrddin/ra-data-graphql-simple","version":"3.9.6","description":"A GraphQL simple data provider for react-admin","main":"lib/index.js","module":"esm/index.js","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/marmelab/react-admin.git"},"bugs":{"url":"https://github.com/marmelab/react-admin/issues"},"homepage":"https://github.com/marmelab/react-admin#readme","authors":["Gildas Garcia"],"keywords":["reactjs","react","react-admin","admin-on-rest","rest","graphql"],"license":"MIT","scripts":{"build":"yarn run build-cjs && yarn run build-esm","build-cjs":"rimraf ./lib && tsc","build-esm":"rimraf ./esm && tsc --outDir esm --module es2015","watch":"tsc --outDir esm --module es2015 --watch"},"dependencies":{"graphql-ast-types-browser":"~1.0.2","graphql-tag":"^2.10.1","lodash":"~4.17.5","pluralize":"~7.0.0","@emrys-myrddin/ra-data-graphql":"^3.9.6"},"peerDependencies":{"graphql":"^14.1.1","ra-core":"^3.9.0"},"devDependencies":{"cross-env":"^5.2.0","graphql":"^14.1.1","rimraf":"^2.6.3"},"_id":"@emrys-myrddin/ra-data-graphql-simple@3.9.6","dist":{"shasum":"eb586794e178d7f91b4ee3456bc0f328acdbeab2","integrity":"sha512-6BDTxderyofJGVyBgF233eiX1wDL8puZCWTF4rblp8fmNBDev1J6H3V5DfAdI2Tvc9KvBFHSnPapq8IWVctojA==","tarball":"https://registry.npmjs.org/@emrys-myrddin/ra-data-graphql-simple/-/ra-data-graphql-simple-3.9.6.tgz","fileCount":52,"unpackedSize":187581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJft9CbCRA9TVsSAnZWagAAA/sP/ArK6ywYvH1SbZN6o1Av\nXrDeGxhTHLGiluOG8I5xVE2bVHmA7RA1rK0A/u1JB8StBtk4io/35snJyQeb\n5/QEq/gXffE0FzGWHxvXpweO8C4PBI6pS8xV5hGYdNfH0WyRsKvleyH9jraU\n/we6qhaJ2mNdXLlvcmvZ8JF0C1rbSBLb4fzWaxL8BMr9SP55SJyjGOtJu6a3\nRQ4tovScmGamD4ZZ7XKV1R/f3dSxa/KYt7b+vr92M2Yq0qLPws+I7dkZNzhX\nGLKo5cojWSb6VrDMDdvAC0B7q7o552iGIMYNIWTDRCHUfGBVq13txPG4DJHL\nHI/SVRtO6jI5Y/l/NB6h9OGwoWtRgixTJPDe/yZLlCH8jjWVz7JE37MUsb+P\noP3QuDOi8+f/l+Men0K2Aa95QO7nBkB2/utC+nZI8oR2kMwhAk8Pp5bzJBzF\nRnDduvqowrEj8s4QTOR/8oCr4kyhfiTTZI+A1QvpLcaZJKlRIdMd8KDrLtI0\nzD/1a0WyojhqTOy4l2R6/p4cI6pM5w8EatCgOptopTE8S7Jw7gPeTlHbW6g5\nvIpvyYhLUu3Q/jm3RnGPdQv5nOMjv65+6Wp1z2okOQrCw3m5mfCk5y31180Q\nsCMDPLlwMsRnCXkBdEHoTKElWt4COLWiK2LBm3oxcnvEE5MGRTvO/x1dAAz6\nI1sz\r\n=5d9s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqFMeF3IyEaIhPTVfABSzWZXTP8oBbR3Dj8bmLOHmTmAiBy6QCvhAQoBaGNaMdnzXyS3iWpkipBfZnp1vTkhsJXug=="}]},"_npmUser":{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"},"directories":{},"maintainers":[{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ra-data-graphql-simple_3.9.6_1605882011450_0.6140749933042453"},"_hasShrinkwrap":false},"3.9.7":{"name":"@emrys-myrddin/ra-data-graphql-simple","version":"3.9.7","description":"A GraphQL simple data provider for react-admin","main":"lib/index.js","module":"esm/index.js","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/marmelab/react-admin.git"},"bugs":{"url":"https://github.com/marmelab/react-admin/issues"},"homepage":"https://github.com/marmelab/react-admin#readme","authors":["Gildas Garcia"],"keywords":["reactjs","react","react-admin","admin-on-rest","rest","graphql"],"license":"MIT","scripts":{"build":"yarn run build-cjs && yarn run build-esm","build-cjs":"rimraf ./lib && tsc","build-esm":"rimraf ./esm && tsc --outDir esm --module es2015","watch":"tsc --outDir esm --module es2015 --watch"},"dependencies":{"graphql-ast-types-browser":"~1.0.2","graphql-tag":"^2.10.1","lodash":"~4.17.5","pluralize":"~7.0.0","@emrys-myrddin/ra-data-graphql":"^3.9.6"},"peerDependencies":{"graphql":"^14.1.1","ra-core":"^3.9.0"},"devDependencies":{"cross-env":"^5.2.0","graphql":"^14.1.1","rimraf":"^2.6.3"},"_id":"@emrys-myrddin/ra-data-graphql-simple@3.9.7","dist":{"shasum":"1bbb816feda0927223617368525caa8532f28011","integrity":"sha512-TyYhEo3XbJA/l0BBdcbzteIetN3R2W7Uyll3Th7BNOu37pL4aEtGCdki3XY3MqWL2X6E1Uh2iLJewffwUXNYGQ==","tarball":"https://registry.npmjs.org/@emrys-myrddin/ra-data-graphql-simple/-/ra-data-graphql-simple-3.9.7.tgz","fileCount":52,"unpackedSize":187716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJft9IDCRA9TVsSAnZWagAAMXgP/RP74rMf/jXk0svXPE+f\nWW3zWVmiiLJRSYPrN53pwnuaQk+3GWaQd2k5uX9tHIXjFhv6jNABYcn+9xty\n1e0McC/0T3LZXFETYOL3ooH6SCotnbrp0PT5VadtdVwIo1ZdX18XADEFEvoc\nUTojTGBkp8zll3WtfKow6sU8dMvrhbvDndKqEGhbuGN6viYoEw5OCYNyRFhg\nNbvdoHyzi+aVtuieMNucRv6aHPkgXMd721Os0WhhVvbkqynR/dgcDlxgjCQg\n1IFjqzry+8lXKjYGijYJqUNoPAUrzZFHeZpgOPGpoo8nHDIlVJe9RffqvvpN\n4t067IpbRO1W08Y6US6Pz05/Jv8T08q1UKGoJ1eDClH2tj0MdbRd3q1refJf\nEYZ+pRUmvK2LDbCGB3cZmJ1spDtCFvFZ76/891iOnxS37tlzDN4mOwBAQVwv\nQUioJAPoWlzzPSdheXCWd/gA2Nj2uBLa7n8WSVOndTwOd8fW0UuOrns1uV4N\n+SDL5jCVTw+8yQdEf7QzljhCxn/ZNUskuWxXkByWE6UPe0jd4ho9Tfbf7nZC\nneirDeU1wSL2XRQ+WLqd6zHNkmlzPzSZ4LXe6VbRnv+/oDZ9V1KJUWEYVVQV\n8n1FjD+cAM9vzPhHMoAIR+cPCHxkF1NJEHEHo0dJL7ARet9Y56m4S3758esh\nnRLI\r\n=+ZEX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSWlMrRz0/UZ+F3sgJ2lIHLOLZ0cT6V6kH6p7FKx1poQIhAIYEvBca6ItLsG6eX0gp3wgMm/e+YZvrXpuTZmRPQ/Rt"}]},"_npmUser":{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"},"directories":{},"maintainers":[{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ra-data-graphql-simple_3.9.7_1605882371284_0.2337679209994048"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-15T09:48:28.924Z","3.9.4":"2020-10-15T09:48:29.146Z","modified":"2022-04-05T07:36:40.262Z","3.9.5":"2020-10-15T19:51:25.662Z","3.9.6":"2020-11-20T14:20:11.655Z","3.9.7":"2020-11-20T14:26:11.482Z"},"maintainers":[{"name":"emrys-myrddin","email":"v.cocaud@gmail.com"}],"description":"A GraphQL simple data provider for react-admin","homepage":"https://github.com/marmelab/react-admin#readme","keywords":["reactjs","react","react-admin","admin-on-rest","rest","graphql"],"repository":{"type":"git","url":"git+https://github.com/marmelab/react-admin.git"},"bugs":{"url":"https://github.com/marmelab/react-admin/issues"},"license":"MIT","readme":"# ra-data-graphql-simple\n\nA GraphQL data provider for [react-admin](https://github.com/marmelab/react-admin/)\nbuilt with [Apollo](https://www.apollodata.com/) and tailored to target a simple GraphQL implementation.\n\n- [Installation](#installation)\n- [Usage](#installation)\n- [Options](#options)\n\n## Installation\n\nInstall with:\n\n```sh\nnpm install --save graphql ra-data-graphql-simple\n```\n\nor\n\n```sh\nyarn add graphql ra-data-graphql-simple\n```\n\n## Usage\n\nThe `ra-data-graphql-simple` package exposes a single function, which is a constructor for a `dataProvider` based on a GraphQL endpoint. When executed, this function calls the GraphQL endpoint, running an [introspection](https://graphql.org/learn/introspection/) query. It uses the result of this query (the GraphQL schema) to automatically configure the `dataProvider` accordingly.\n\n```jsx\n// in App.js\nimport * as React from 'react';\nimport { Component } from 'react';\nimport buildGraphQLProvider from 'ra-data-graphql-simple';\nimport { Admin, Resource } from 'react-admin';\n\nimport { PostCreate, PostEdit, PostList } from './posts';\n\nclass App extends Component {\n    constructor() {\n        super();\n        this.state = { dataProvider: null };\n    }\n    componentDidMount() {\n        buildGraphQLProvider({ clientOptions: { uri: 'http://localhost:4000' }})\n            .then(dataProvider => this.setState({ dataProvider }));\n    }\n\n    render() {\n        const { dataProvider } = this.state;\n\n        if (!dataProvider) {\n            return <div>Loading</div>;\n        }\n\n        return (\n            <Admin dataProvider={dataProvider}>\n                <Resource name=\"Post\" list={PostList} edit={PostEdit} create={PostCreate} />\n            </Admin>\n        );\n    }\n}\n\nexport default App;\n```\n**Note**: the parser will generate additional `.id` properties for relation based types. These properties should be used as sources for reference based fields and inputs like `ReferenceField`: `<ReferenceField label=\"Author Name\" source=\"author.id\" reference=\"User\">`.\n\n## Expected GraphQL Schema\n\nThe `ra-data-graphql-simple` function works against GraphQL servers that respect a certain GraphQL grammar. For instance, to handle all the actions on a `Post` resource, the GraphQL endpoint should support the following schema:\n\n```gql\ntype Query {\n  Post(id: ID!): Post\n  allPosts(page: Int, perPage: Int, sortField: String, sortOrder: String, filter: PostFilter): [Post]\n  _allPostsMeta(page: Int, perPage: Int, sortField: String, sortOrder: String, filter: PostFilter): ListMetadata\n}\n\ntype Mutation {\n  createPost(\n    title: String!\n    views: Int!\n    user_id: ID!\n  ): Post\n  updatePost(\n    id: ID!\n    title: String!\n    views: Int!\n    user_id: ID!\n  ): Post\n  deletePost(id: ID!): Post\n}\n\ntype Post {\n    id: ID!\n    title: String!\n    views: Int!\n    user_id: ID!\n    User: User\n    Comments: [Comment]\n}\n\ninput PostFilter {\n    q: String\n    id: ID\n    title: String\n    views: Int\n    views_lt: Int\n    views_lte: Int\n    views_gt: Int\n    views_gte: Int\n    user_id: ID\n}\n\ntype ListMetadata {\n    count: Int!\n}\n\nscalar Date\n```\n\nThis is the grammar used e.g. by [marmelab/json-graphql-server](https://github.com/marmelab/json-graphql-server), a client-side GraphQL server used for test purposes.\n\n## Options\n\n### Customize the Apollo client\n\nYou can either supply the client options by calling `buildGraphQLProvider` like this:\n\n```js\nbuildGraphQLProvider({ clientOptions: { uri: 'http://localhost:4000', ...otherApolloOptions } });\n```\n\nOr supply your client directly with:\n\n```js\nbuildGraphQLProvider({ client: myClient });\n```\n\n### Overriding a specific query\n\nThe default behavior might not be optimized especially when dealing with references. You can override a specific query by wrapping the `buildQuery` function:\n\n```js\n// in src/dataProvider.js\nimport buildGraphQLProvider, { buildQuery } from 'ra-data-graphql-simple';\n\nconst myBuildQuery = introspection => (fetchType, resource, params) => {\n    const builtQuery = buildQuery(introspection)(fetchType, resource, params);\n\n    if (resource === 'Command' && fetchType === 'GET_ONE') {\n        return {\n            // Use the default query variables and parseResponse\n            ...builtQuery,\n            // Override the query\n            query: gql`\n                query Command($id: ID!) {\n                    data: Command(id: $id) {\n                        id\n                        reference\n                        customer {\n                            id\n                            firstName\n                            lastName\n                        }\n                    }\n                }`,\n        };\n    }\n\n    return builtQuery;\n};\n\nexport default buildGraphQLProvider({ buildQuery: myBuildQuery })\n```\n\n### Customize the introspection\n\nThese are the default options for introspection:\n\n```js\nconst introspectionOptions = {\n    include: [], // Either an array of types to include or a function which will be called for every type discovered through introspection\n    exclude: [], // Either an array of types to exclude or a function which will be called for every type discovered through introspection\n};\n\n// Including types\nconst introspectionOptions = {\n    include: ['Post', 'Comment'],\n};\n\n// Excluding types\nconst introspectionOptions = {\n    exclude: ['CommandItem'],\n};\n\n// Including types with a function\nconst introspectionOptions = {\n    include: type => ['Post', 'Comment'].includes(type.name),\n};\n\n// Including types with a function\nconst introspectionOptions = {\n    exclude: type => !['Post', 'Comment'].includes(type.name),\n};\n```\n\n**Note**: `exclude` and `include` are mutually exclusives and `include` will take precedence.\n\n**Note**: When using functions, the `type` argument will be a type returned by the introspection query. Refer to the [introspection](https://graphql.org/learn/introspection/) documentation for more information.\n\nPass the introspection options to the `buildApolloProvider` function:\n\n```js\nbuildApolloProvider({ introspection: introspectionOptions });\n```\n\n## `DELETE_MANY` and `UPDATE_MANY` Optimizations\n\nYou GraphQL backend may not allow multiple deletions or updates in a single query. This provider simply makes multiple requests to handle those. This is obviously not ideal but can be alleviated by supplying your own `ApolloClient` which could use the [apollo-link-batch-http](https://www.apollographql.com/docs/link/links/batch-http.html) link if your GraphQL backend support query batching.\n\n## Contributing\n\nRun the tests with this command:\n\n```sh\nmake test\n```\n","readmeFilename":"README.md"}