{"repo":"graphql/dataloader","free":true,"listed":false,"github":"https://github.com/graphql/dataloader","clone":"git clone https://github.com/graphql/dataloader.git","description":"DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching.","language":"JavaScript","stars":13380,"topics":["nodejs","dataloader","graphql","batch"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"DataLoader DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching. A port of the \"Loader\" API originally developed by [@schrockn][] at Facebook in 2010 as a simplifying force to coalesce the sundry key-value store back-end APIs which existed at the time. At Facebook, \"Loader\" became one of the implementation details of the \"Ent\" framework, a privacy-aware data entity loading and caching layer within web server product code. This ultimately became the underpinning for Facebook's GraphQL server implementation and type definitions. DataLoader is a simplified version of this original idea implemented in JavaScript for Node.js services. DataLoader is often used when implementing a [graphql-js][] service, though it is also broadly useful in other situations. This mechanism of batching and caching data requests is certainly not unique to Node.js or JavaScript, it is also the primary motivation for Haxl, Facebook's data loading library for Haskell. More about how Haxl works can be read in this blog post. DataLoader is provided so that it may be useful not just to build GraphQL services for Node.js but also as a publicly available reference implementation of this concept in the hopes that it can be ported to other languages. If you port DataLoader to another language, please open an issue to include a link from thi","default_branch":null,"files":null,"tree":[],"storefront":"/r/graphql","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/graphql/dataloader/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}