{"id":47424,"library":"drf-paginator","title":"drf-paginator","description":"JavaScript module for consuming paginated Django REST Framework endpoints. Current stable version 0.3.0, released around 2016, with low release cadence. Key differentiator: separates pagination logic from individual requests, caches pages, and works with any Promises/A+ compliant implementation. Requires global Promise polyfill in older environments. Provides methods like next(), prev(), first(), last(), and reset(). Unmaintained since 2016.","status":"deprecated","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/yola/drf-paginator","tags":["javascript","django","django rest framework","drf","pages","pagination","paginator"],"install":[{"cmd":"npm install drf-paginator","lang":"bash","label":"npm"},{"cmd":"yarn add drf-paginator","lang":"bash","label":"yarn"},{"cmd":"pnpm add drf-paginator","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Named export only; default import is not available.","wrong":"import drfPaginator from 'drf-paginator'","symbol":"paginate","correct":"import { paginate } from 'drf-paginator'"},{"note":"CommonJS usage works but requires .paginate access. Prefer named import.","wrong":"const drfPaginator = require('drf-paginator');\ndrfPaginator.paginate(...)","symbol":"default import (incorrect)","correct":"import { paginate } from 'drf-paginator'"},{"note":"paginate() returns a paginator object; methods are on that object.","wrong":"paginate.fetch(...)","symbol":"paginator methods","correct":"const p = paginate(fetch);\np.next().then(console.log)"}],"quickstart":{"code":"import { paginate } from 'drf-paginator';\n\nconst request = (options, params) => {\n  const url = new URL('https://api.example.com/items');\n  if (params.page) url.searchParams.set('page', params.page);\n  return fetch(url, options).then(r => r.json());\n};\n\nconst p = paginate(request);\np.next().then(data => {\n  console.log('Page:', data);\n}).catch(err => {\n  console.error('Error:', err);\n});","lang":"javascript","description":"Creates a paginator using fetch, gets the first page via next()."},"warnings":[{"fix":"Consider alternatives like react-query or swr for pagination, or use fetch/axios directly with manual pagination.","message":"Package is unmaintained since 2016. No updates for security or compatibility.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Include a polyfill like 'es6-promise' before loading drf-paginator.","message":"Requires global Promise/A+ implementation. In browsers without native Promise, you must polyfill.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"For Webpack, ensure .babelrc has es2015 preset. For modern bundlers, use a transpiled version or fork.","message":"Uses ES2015 modules and requires Babelify transform for Browserify. Not compatible with modern bundlers like Webpack without configuration.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.3.0':16 '2016':19,59 'around':18 'cach':32 'cadenc':23 'compliant':39 'consum':7 'current':13 'differenti':25 'django':9,61,62 'drf':2,65 'drf-pagin':1 'endpoint':12 'environ':47 'first':53 'framework':11,64 'global':42 'implement':40 'individu':30 'javascript':4,60 'key':24 'last':54 'like':50 'logic':28 'low':21 'method':49 'modul':5 'next':51 'older':46 'page':33,66 'pagin':3,8,27,67,68 'polyfil':44 'prev':52 'promis':43 'promises/a':38 'provid':48 'releas':17,22 'request':31 'requir':41 'reset':56 'rest':10,63 'separ':26 'sinc':58 'stabl':14 'unmaintain':57 'version':15 'work':35","created_at":"2026-06-07T16:51:27.796098+00:00","updated_at":"2026-06-07T16:51:27.796098+00:00","problems":[{"fix":"import { paginate } from 'drf-paginator';","cause":"Default import used, but package exports named function 'paginate'.","error":"TypeError: drfPaginator is not a function"},{"fix":"Install and import a polyfill like 'es6-promise/auto' before drf-paginator.","cause":"No global Promise implementation (e.g., old Node.js or browser).","error":"ReferenceError: Promise is not defined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/yola/drf-paginator","github":"https://github.com/yola/drf-paginator","docs":null,"changelog":null,"pypi":null,"npm":"drf-paginator","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}