{"_id":"@adamwdennis/nestjs-typeorm-cursor-pagination","_rev":"23-a4f7cac16fe4de68996d1f8101022bd8","name":"@adamwdennis/nestjs-typeorm-cursor-pagination","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.1","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.1","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"dist":{"shasum":"d4be560ca3c7632fa9795ac70fb783f61aafbdb4","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.1.tgz","fileCount":25,"integrity":"sha512-r7bcIYG9Hy3cXIcbADBb9CupoPfHhWBppYFZ4ff/Em4NZ8/2gpADsyABZd1p7WBoaIkTWMLh3zP18zbgq6Esag==","signatures":[{"sig":"MEUCIQDCyBKUnXSZbeEo1mO95EnTNF4jwo0pNG6XX9XV92KiNgIgdFoXGKrtiV/Mz/TeZAiA8OB5f9+p7V4Jx5L2cc/6Xtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39230},"main":"./src/index.js","type":"commonjs","gitHead":"69f1f689a18e39caa9e8937e9d32a1eed53556e5","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"_npmVersion":"10.2.4","description":"This library was generated with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"20.11.0","dependencies":{"tslib":"^2.3.0","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"rxjs":"^7.8.1","graphql":"^16.8.1","typeorm":"^0.3.20","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.1_1707589676324_0.7031399474605213","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.2","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.2","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"dist":{"shasum":"bcbf6a2df3da26df3cd0755d62d79ced2c1c1a14","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.2.tgz","fileCount":25,"integrity":"sha512-Ok0AKW/SSOqTznQaMRQ3qDOroid7HxfvPp71xgxGqv5aaxE/uSLcqMZ8k6K0f982+3Ef7bnzdn7Df45XcVyT5A==","signatures":[{"sig":"MEQCIGJAbun6ifaIMmUK05FRWQs+/np4OQnmkvpsfThqO5+EAiBBAUDsfSnP3LzJtYnUHCp0hvCd14gkyyim10QKV8qYGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39668},"main":"./src/index.js","type":"commonjs","gitHead":"261e35562c667f21e5fdbfe69b691c184067eaee","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/adamwdennis/nestjs-a","directories":{},"_nodeVersion":"20.11.0","dependencies":{"tslib":"^2.3.0","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"rxjs":"^7.8.1","graphql":"^16.8.1","typeorm":"^0.3.20","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.2_1707590244593_0.07644485856013983","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.3","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.3","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"dist":{"shasum":"f3f84cd734299911da62c187ba6f7df587379468","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.3.tgz","fileCount":25,"integrity":"sha512-vrMcLrGDSMzrKp0qlwB7EZsdiBbAk1409fbV/mJ3cy2g5TrstudMbgBiKJjVyE4p0KbLtLOMSlgxkO99iN5Zig==","signatures":[{"sig":"MEQCIAbnYq4nRcgS6CNvvgWnopHY1aK9d9AzGXNbNLJ57RclAiBi2x/L+6lHvVargOAp+05JUlewo5Pk3SwCGllhLV1FQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39746},"main":"./src/index.js","type":"commonjs","gitHead":"0199399de48faeec3a63c355c5f928fd6c437baf","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"tslib":"^2.3.0","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"rxjs":"^7.8.1","graphql":"^16.8.1","typeorm":"^0.3.20","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.3_1707590459389_0.1953549465459541","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.4","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.4","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"c60ffa3315922a5f1eb78e4fb48dd068539b3561","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.4.tgz","fileCount":25,"integrity":"sha512-Iioipk4xgG06fbdQLqOFttiA5V7PXjlBUsY60VSFNcb3637SXOh4e6KLpjX1hRdNXjJQ72A6fe9+Ybp9rEv6Rw==","signatures":[{"sig":"MEYCIQDzbnn27Tixbj2s1trAbKuKWNLWZAhhJjDEKYbWN0/YbgIhAOueh7oYKyA7WLYspEsnPpuXTBOhMzHQtkwIYWFvNeOy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40082},"main":"./src/index.js","type":"commonjs","gitHead":"f2bb6971775e067a29cb80278be9e8a4aa5586d4","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"tslib":"^2.3.0","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"rxjs":"^7.8.1","graphql":"^16.8.1","typeorm":"^0.3.20","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.4_1707590792786_0.049605105124862936","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.5","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.5","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"12067b71d8cb47ffb3608ef9ca709c14b6b8f85b","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.5.tgz","fileCount":26,"integrity":"sha512-t/lALhdIllYCY8CL3BsZPMoaNrcaFrb9CaFiN60leXHXzS2NjsDBli3ExhNX++8HzQOT5gn7R0uFHBzaVAbApg==","signatures":[{"sig":"MEYCIQCbZb74qaquzB7Ty9lWN+/xAMKvVL5/EvsCRXesWspnWAIhAP/VehPpql5bbYVOZZmkjK5xWrCY/+rWzV/iqqa0ftf8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39980},"main":"./src/index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.5_1707745785942_0.15790288733998947","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.6","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.6","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"69c178a24a64424599b50873b62c20278af24478","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.6.tgz","fileCount":20,"integrity":"sha512-rH8WcKbePk3ollPO+DpqcIJ10c5jFanQq3GlKf6mC7gs49ekzzhypHs4razjJ5hj3/GcxHHO8Rqg/P3SCLPQnQ==","signatures":[{"sig":"MEUCIGJaVT/+5PpaqRIbd/5umdPccq6Eo1TIBFgXmodqDQxgAiEAxCp9n9tYPMIi1t6nwTYKYATmFZzliwxVdnrhFAIWkGc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37368},"main":"./dist/index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.6_1707745999669_0.8428729310149454","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.7","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.7","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"56cc0089d53c31d2aa14ed222790df1f03beb5d5","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.7.tgz","fileCount":26,"integrity":"sha512-K23QHo23n1daN02RA2ZuGJ7iqoHf2lyTZnCmln3ZmZCUjwBSwsPjUzN1vrjbfnwJmLyIqc09yvMF6AclhZnlGw==","signatures":[{"sig":"MEUCIF1jfz3R04nDnAPoF6A/bBg9best6EFrG3apznLcR7sGAiEA50A9RZp5BWo6MNeaCwFa9VkuzyWQr6GleZnuJmqnCqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39943},"main":"./index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.7_1707746279045_0.6941147662675835","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.8","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.8","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"8d99181ff1951adfb6536390dcea60457774c874","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.8.tgz","fileCount":26,"integrity":"sha512-ANpBzsLGb4ImVK2s8JMBRLlAm2R0U4C7v8o6IjCLB0oBTqXyQtmYrvbUdfwOfM4NI+Y4+hJUJr9RtDITCDtCdQ==","signatures":[{"sig":"MEUCIA47gONv+mbp7SE8Rx0xLXM2tkZV7v6+N/U3WhrzcpwmAiEA8RhQwNwgoMn+1J2ezCDxtgFOQBNmBQpKnbMQcL50whA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39862},"main":"./index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.8_1707746388079_0.9992607043489772","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.9","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.9","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"cb3eae7fe8011b746677dc0e5aa4ac7206a6a6a4","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.9.tgz","fileCount":26,"integrity":"sha512-uOpvnu8j7+pGstcuAkJJch7fMbixaUyvtDGcclAk7jSb92s4SWQeSEykWYh2vGW6wtOx5mYORDwDL49H7prEyw==","signatures":[{"sig":"MEYCIQC1plFyx2EVS9+PhLKwnhl/npDpDWTo9bd8TxtC8ZO+UwIhAM7VrUtazsjUW9kSwMj+PqlakYSU1srCJPPyXSP50xkI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39917},"type":"module","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.9_1707746911968_0.8253472559859891","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.10","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.10","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"5900fcc709f3a40500e56bdf321108c754ea315b","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.10.tgz","fileCount":26,"integrity":"sha512-TjrRFIr4oGXW02PZ2Oa4A+j4OPJ5ho1tsig8IAvbP3hp/mBBzH1W6Coppohkr5aO4dLDRuJn+JvaS5kGPqReEw==","signatures":[{"sig":"MEUCIEXjzF8pJOHdpOYEBCUnHNIKM4vKseKP/f+GwLcsdrp3AiEAjWz+y330zMzorRgMNsQZxEPyLyWAiB9USlxvPDaI2is=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40629},"main":"./src/index.js","type":"module","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.10_1707747768857_0.8996802515584543","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.11","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.11","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"034c3f71dc1bb6037a4aec5f2bfbde2eca4e335c","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.11.tgz","fileCount":26,"integrity":"sha512-7uzPQU/ac0uRqMcGNBZUYiF0eaVQIbAy1hAmsPvfvyr3N8YRdKOJE1ssOryPUVRAcZMTh2/QcfaKjgWpsgAYHg==","signatures":[{"sig":"MEQCIAvWZ4hsbzcq1lX8lxo5E1urlAW5Rj18rQOmZpXlzMY6AiAlzLB8OEk5TQFBxP8862NAx+Ai9ZLo1Kv0UDOt5GFizg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41004},"main":"./src/index.js","type":"module","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.11_1707748763998_0.44332935441659527","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.12","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.12","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"714ab85dd36edf8a933ec045f190a7c6aaf7e63f","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.12.tgz","fileCount":54,"integrity":"sha512-m9XuUDrhPB89q7qbDBNdpfi2Bhg7sweHVcevFbBScb/qUzlh2uAGjnfEhAyTq3/u0B6PtL1G8GA/lUCPeTjL/Q==","signatures":[{"sig":"MEYCIQDABY/7xc/sLWZEBt3jwjjgVWDa99v4WZLSKRIzefbstQIhAM1C4kPR/KpisB6lvLGFbrT1tqRsAXNDuhYoJuZsfHw/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89374},"main":"./src/index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.12_1707748954859_0.395905113785572","host":"s3://npm-registry-packages"}},"0.0.14":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.14","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.14","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"208ef8e6833ca5fd67016b15ecb85d3c50534175","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.14.tgz","fileCount":54,"integrity":"sha512-2uyoUg5ZMnbx8bFUVOJUyV9p0lrY78zXCU6N+oV7eyAQPsWcx+N+HM+o4j8/s0snvwI2E+rVCO/E7HNPxMSJLw==","signatures":[{"sig":"MEQCIC4G0k92lFthX1foX/tzbDAFXnhXugE7wOtN4bANjErSAiATfUbc5W6cZZXzynCKvcteQjzjyDjZTKawyoLuUqxXkg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89674},"main":"./src/index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.14_1707757612243_0.4594363967288153","host":"s3://npm-registry-packages"}},"0.0.15":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.15","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.15","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"c076047ee1e86e84b404dd4301689e44bea2fd87","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.15.tgz","fileCount":26,"integrity":"sha512-2ToQzefMe0JtLH6HsZyuyosi8OUSADznchgejuVLJjG/+ySMzpCykWKDbMOZizr26uagHeu6M/mhu/7+RTRGXg==","signatures":[{"sig":"MEUCIQDVYGLhpRqVT8rMcgO+OO8+y8Q+AgOtWWT7BNgsiTryaQIgA+xsT672Sd7CvSg3EM7PZ4t4DT0wjOzrL1x/sNqSz0M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41432},"main":"./src/index.js","type":"module","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.15_1708655278540_0.5318632310972824","host":"s3://npm-registry-packages"}},"0.0.16":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.16","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.16","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"939cd03f75acb3c5c53b1a746d09cc7d41e12dd0","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.16.tgz","fileCount":26,"integrity":"sha512-OZ0mVoN5Vr6IWwBeM8ydSoRSKqMMsS6+QVcPRo83DYLeHZ/Guk9ee/hRT8wYw+/ThiZ0lt6TrduHsFxxiPSN3A==","signatures":[{"sig":"MEUCIAcVZ1HdyrppWccGbrDu6XKHIJsN9QXc51NLcnpyY9ImAiEAoVCxJSrHcuLdrZtEKX3zCkFe7ruMkbSMaCXF2QlxHYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41432},"main":"./src/index.js","type":"module","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.16_1708655434619_0.31771672783708915","host":"s3://npm-registry-packages"}},"0.0.17":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.17","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.17","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"38c97a79e39e9dc05ea6515758e80c2b62c6187c","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.17.tgz","fileCount":54,"integrity":"sha512-K2IRVCIf1GPTKsb1Y8dmD5uk72HukEIEbl0U4hcxE7JSuwcFQr1RoY3B81Pb1FH2LnaxeM6y5WkLFbHA1m3LPg==","signatures":[{"sig":"MEYCIQDniVA+qOh6xLgSbH0XTENAKxxtr+0qGS7WiuQJs27VMAIhAJhyQN2I42OtvORqOczARxzBrZ4AtcbuZF3xS9chfrDi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90237},"main":"./src/index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.17_1708655645077_0.46421351045642223","host":"s3://npm-registry-packages"}},"0.0.18":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.18","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.18","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"9391d2c7a37007c2fe8e8ec6fcae8991baced2e8","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.18.tgz","fileCount":54,"integrity":"sha512-UhdZeQDpCAG9BD0MLevEb5ATPhGSp1AAZetP2nEow3pEVlWGrEBjbzJH1MdMrRHzlFaCQLlWUWGq66FXq6VRnQ==","signatures":[{"sig":"MEYCIQDE0jovfDp+9hwZ2VK1gBaBQXvGkeLFUain617iRibmzQIhAKLe+mfljmxJvoAGW6rqFuOX2zHJA5HDWDk51yRieM4R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90246},"main":"./src/index.js","type":"commonjs","gitHead":"c148c3605af06e900e6485c028b29701eef19a7c","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.18_1708655987673_0.4876842673420052","host":"s3://npm-registry-packages"}},"0.0.19":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.19","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.19","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"aaf57c21e447ea16a1e05ddf9c102d0859ee70ce","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.19.tgz","fileCount":54,"integrity":"sha512-1Yj8LQXti1QAesRWbFIf7mjA3dfNfwf4h/hMduDKpCcppEtzyM2RsOKDzMNrYwfUMUS0QxDPcuXR15npf0hktw==","signatures":[{"sig":"MEUCIA5drnExeVZVPsD+/QR3zAhZAuFbYGRJLzlmpGytzGFFAiEAk4sqI5/yhJHBvUni+r6zLXm2RUkojUfqkXV5VMOV0Uc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91369},"main":"./src/index.js","type":"commonjs","gitHead":"ee44ffeb40dbce06ed92fe5ba3741ef76dac7bb3","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.19_1710203017333_0.6066770539632467","host":"s3://npm-registry-packages"}},"0.0.21":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.21","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.21","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"c2b519a8887441da2352ed0f40e00410f2c0f42b","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.21.tgz","fileCount":54,"integrity":"sha512-XtQ8D/zxpu47quMahflWgJka9fKHBIK9HWWMnstmfz2mSgytkUyVimrUEE9Zhu86pBrmsjA7SraGykj25/+lnw==","signatures":[{"sig":"MEYCIQCPIKYPHWb2OkbxTte5qzNOPrQ2E9WAyJ69fo+j7myhpgIhAPzaaBgl81R+byglc4g18DDf9SasCTDuAa9D7c3LZaHF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95375},"main":"./src/index.js","type":"commonjs","gitHead":"e25019fc78bfb91449e35982f7a87f56558d4990","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.21_1711397353415_0.6405433072141666","host":"s3://npm-registry-packages"}},"0.0.22":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.22","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.22","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"99ab7820becd927b3e316dff2ee366654533702e","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.22.tgz","fileCount":54,"integrity":"sha512-/KVR5XVRsEO84ofieF/7zezWDe9FD57ID9vgBMXhPfSQvAsLfV9dU42lsGNjupzCJ32qddddRvsbuROW0ksFrQ==","signatures":[{"sig":"MEYCIQDoQedVKdcgziPVSLgI26kfJW31Hsbef+N7Ed7IJL6FdAIhALFGLBFUEsoLUyHHsmeFhgSqlwVO9HkYmMKulUQ3uhWA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95375},"main":"./src/index.js","type":"commonjs","gitHead":"e25019fc78bfb91449e35982f7a87f56558d4990","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.22_1711397561923_0.7217626326261051","host":"s3://npm-registry-packages"}},"0.0.23":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.23","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.23","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"3b2869bb099e2c9e81f597ce8fe26b044c4ec79f","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.23.tgz","fileCount":54,"integrity":"sha512-jWB35QiRqysyZWDuNIFFpp8K178Au0/hDyMnKqEMMRnDNR5VIyl+iYJOKvS7oEDyY3oroZ3yUfVOBEAybG8LoA==","signatures":[{"sig":"MEUCIQC1/Cr0NWrewvWUOKFZdimJqN5v872MnkLetvDFP0QLFwIgX2nCncCaGIrXBfABzS1UCz1+YqfOJvoGQk6YZKwNxb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95559},"main":"./src/index.js","type":"commonjs","gitHead":"fa4fd97ce99880ae1d52420c18c3b55d3bb067c2","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.23_1711459080192_0.41503634099809306","host":"s3://npm-registry-packages"}},"0.0.24":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"0.0.24","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"author":{"name":"Adam Dennis"},"license":"MIT","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@0.0.24","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"dist":{"shasum":"bd82f34bea98ae028b8951b9042bf63caa423c0a","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-0.0.24.tgz","fileCount":54,"integrity":"sha512-ifhvu+5aRoy1OxChHR9UYLU+qkVNrVX8mtEC+DbZ9ZIIBfCXRCTSvSnpj+aV7An89CIkXDz3PDwDWX1TkUXkOA==","signatures":[{"sig":"MEQCICw7o+1nanBcZUQcsAgtJCE7+HZiPIGfNOz53BcZfOp3AiBvNOmpCq7iD2exyeiq6VLi5TOFNudqXU/nguyUN7C3bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94716},"main":"./src/index.js","type":"commonjs","gitHead":"fa4fd97ce99880ae1d52420c18c3b55d3bb067c2","private":false,"typings":"./src/index.d.ts","_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"repository":{"url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","type":"git","directory":"packages/nestjs-typeorm-cursor-pagination"},"_npmVersion":"10.2.4","description":"[![npm](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/@adamwdennis/nestjs-","directories":{},"_nodeVersion":"20.11.0","dependencies":{"buffer":"6.0.3","typeorm":"^0.3.20","@nestjs/graphql":"^12.1.1","class-validator":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"@nx/devkit":"^18.0.4"},"peerDependencies":{"typeorm":"^0.3.20","@nestjs/common":"^10.0.0","@nestjs/graphql":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-typeorm-cursor-pagination_0.0.24_1711475898975_0.43375610611465576","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@adamwdennis/nestjs-typeorm-cursor-pagination","version":"1.0.0","author":{"name":"Adam Dennis"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","directory":"packages/nestjs-typeorm-cursor-pagination"},"keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"type":"module","main":"./src/index.js","typings":"./src/index.d.ts","private":false,"dependencies":{"@nestjs/graphql":"^12.1.1 || ^13.0.0","class-validator":"^0.14.1","typeorm":"^0.3.20","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^10.0.2"},"peerDependencies":{"@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/graphql":"^12.1.1 || ^13.0.0","typeorm":"^0.3.20"},"devDependencies":{"@apollo/server":"^4.11.3","@nestjs/apollo":"^12.2.2 || ^13.0.0","@nestjs/testing":"^10.0.2 || ^11.0.0","@nestjs/typeorm":"^10.0.2","@nx/devkit":"^18.0.4","graphql":"^16.10.0"},"types":"./src/index.d.ts","module":"./src/index.js","_id":"@adamwdennis/nestjs-typeorm-cursor-pagination@1.0.0","gitHead":"8e9ad39c3363877077a5f436fbc24cf06f7491d8","description":"[![npm version](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination.svg)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![npm downloads](https://img.shields.io/npm/dm/@adamwdennis/nestjs-typeorm-curso","bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-+mL4PKcUbm+E61uDUXkFGNmxqPvjPWEy4Xprku1Ao38tJumaGGPMeaQsTycoatlE0pZsefDApfHXTjsq7bmzYA==","shasum":"2255a720897d18095debef1c8bcd6b526a7db972","tarball":"https://registry.npmjs.org/@adamwdennis/nestjs-typeorm-cursor-pagination/-/nestjs-typeorm-cursor-pagination-1.0.0.tgz","fileCount":57,"unpackedSize":122369,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adamwdennis%2fnestjs-typeorm-cursor-pagination@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDS6Bqc+Du/vOJMVcJORddnIFmmNP4estLj8NZZ9W/KJAIhAIqExcf5EJlaB9dHthEuvlkL5u525taFD/yOiXiD5LLt"}]},"_npmUser":{"name":"adamwdennis","email":"adam.dennis@gmail.com"},"directories":{},"maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-typeorm-cursor-pagination_1.0.0_1763355577495_0.3796683090861319"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-10T18:27:56.181Z","modified":"2025-11-17T04:59:38.135Z","0.0.1":"2024-02-10T18:27:56.464Z","0.0.2":"2024-02-10T18:37:24.768Z","0.0.3":"2024-02-10T18:40:59.547Z","0.0.4":"2024-02-10T18:46:32.931Z","0.0.5":"2024-02-12T13:49:46.216Z","0.0.6":"2024-02-12T13:53:19.820Z","0.0.7":"2024-02-12T13:57:59.189Z","0.0.8":"2024-02-12T13:59:48.252Z","0.0.9":"2024-02-12T14:08:32.118Z","0.0.10":"2024-02-12T14:22:49.067Z","0.0.11":"2024-02-12T14:39:24.147Z","0.0.12":"2024-02-12T14:42:35.051Z","0.0.14":"2024-02-12T17:06:52.413Z","0.0.15":"2024-02-23T02:27:58.689Z","0.0.16":"2024-02-23T02:30:34.912Z","0.0.17":"2024-02-23T02:34:05.272Z","0.0.18":"2024-02-23T02:39:47.804Z","0.0.19":"2024-03-12T00:23:37.513Z","0.0.21":"2024-03-25T20:09:13.619Z","0.0.22":"2024-03-25T20:12:42.114Z","0.0.23":"2024-03-26T13:18:00.400Z","0.0.24":"2024-03-26T17:58:19.127Z","1.0.0":"2025-11-17T04:59:37.692Z"},"bugs":{"url":"https://github.com/adamwdennis/nestjs-api-dx/issues"},"author":{"name":"Adam Dennis"},"license":"MIT","homepage":"https://github.com/adamwdennis/nestjs-api-dx#readme","keywords":["NestJS","TypeORM","Cursor","Pagination","Relay","GraphQL"],"repository":{"type":"git","url":"git+https://github.com/adamwdennis/nestjs-api-dx.git","directory":"packages/nestjs-typeorm-cursor-pagination"},"description":"[![npm version](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination.svg)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination) [![npm downloads](https://img.shields.io/npm/dm/@adamwdennis/nestjs-typeorm-curso","maintainers":[{"name":"adamwdennis","email":"adam.dennis@gmail.com"}],"readme":"# @adamwdennis/nestjs-typeorm-cursor-pagination\n\n[![npm version](https://img.shields.io/npm/v/@adamwdennis/nestjs-typeorm-cursor-pagination.svg)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination)\n[![npm downloads](https://img.shields.io/npm/dm/@adamwdennis/nestjs-typeorm-cursor-pagination.svg)](https://www.npmjs.com/package/@adamwdennis/nestjs-typeorm-cursor-pagination)\n[![CI](https://github.com/adamwdennis/nestjs-api-dx/actions/workflows/ci.yml/badge.svg)](https://github.com/adamwdennis/nestjs-api-dx/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**Production-ready cursor pagination for NestJS + GraphQL + TypeORM**\n\nAdd Relay-spec cursor pagination to your NestJS GraphQL API in minutes. No boilerplate, just add 3 lines of code.\n\n```typescript\nconst queryBuilder = this.userRepository.createQueryBuilder('user');\nreturn paginate(queryBuilder, paginationArgs, 'user.id');\n```\n\n**That's it.** You now have:\n- ✅ Relay-compliant cursor pagination\n- ✅ Forward and backward navigation\n- ✅ Complete `PageInfo` metadata\n- ✅ Automatic query optimization\n- ✅ No manual cursor encoding\n\n---\n\n## Why Use Cursor Pagination?\n\n**Offset pagination breaks at scale.** When users navigate to page 1000, your database has to scan and skip 999,999 rows. Cursor pagination solves this:\n\n- **⚡ Constant-time performance** - Page 1 and page 1,000,000 take the same time\n- **🔒 Consistent results** - No duplicate/missing items when data changes during pagination\n- **📱 Infinite scroll friendly** - Perfect for mobile apps and modern UIs\n- **🌐 Relay/GraphQL standard** - Works with Apollo Client, Relay, and all GraphQL clients\n\n## When to Use This Package\n\n✅ **Use cursor pagination when:**\n- Building APIs for mobile apps with infinite scroll\n- Working with large datasets (10,000+ rows)\n- You need real-time data consistency (e.g., social feeds, notifications)\n- Building public APIs that follow GraphQL best practices\n- Using Apollo Client, Relay, or any Relay-compliant client\n\n⚠️ **Consider offset pagination when:**\n- You need traditional \"page 1, 2, 3\" navigation\n- Working with small, static datasets (<1000 rows)\n- Users need to jump to arbitrary pages (e.g., \"go to page 47\")\n- You're building an internal admin panel\n\n## Features\n\n- ✅ **Drop-in solution** - Works with your existing TypeORM entities and repositories\n- ✅ **Full Relay spec** - Compatible with all GraphQL clients (Apollo, Relay, urql)\n- ✅ **Bidirectional** - Navigate forwards (`first`/`after`) and backwards (`last`/`before`)\n- ✅ **Advanced filtering** - Complex filters with AND/OR logic and 15+ comparison operators\n- ✅ **Type-safe** - Full TypeScript support with intelligent auto-completion\n- ✅ **Optimized queries** - Automatic JOIN detection and query optimization\n- ✅ **Battle-tested** - 180+ tests, production-ready\n\n## Installation\n\n```bash\nnpm install @adamwdennis/nestjs-typeorm-cursor-pagination\n```\n\n**Peer dependencies** (you probably already have these):\n```bash\nnpm install @nestjs/common @nestjs/graphql typeorm\n```\n\n## 🚀 Try the Live Example\n\nClone the repo and run the sample app to see it in action:\n\n```bash\ngit clone https://github.com/adamwdennis/nestjs-api-dx.git\ncd nestjs-api-dx\npnpm install\npnpm nx serve sample-nestjs-graphql-api\n```\n\nOpen `http://localhost:3000/graphql` - you'll see **7 ready-to-run example queries** demonstrating:\n- ✅ Basic pagination (forward/backward)\n- ✅ Cursor-based navigation\n- ✅ Category filtering\n- ✅ Price range filtering\n- ✅ Complex nested queries\n\nAll queries work out of the box with auto-seeded data (40 products, 3 categories).\n\n👉 [View all example queries](../../apps/sample-nestjs-graphql-api/SAMPLE-QUERIES.md)\n\n---\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [What You Get](#what-you-get)\n- [Usage Examples](#usage-examples)\n- [Advanced Features](#advanced-usage)\n- [API Reference](#api-reference)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\n**3 steps to add cursor pagination:**\n\n### 1. Define Your Entity\n\nYour entity must implement the `NodeEntity` interface (requires an `id: string` field):\n\n```typescript\nimport { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';\nimport { ObjectType, Field, ID } from '@nestjs/graphql';\nimport { NodeEntity } from '@adamwdennis/nestjs-typeorm-cursor-pagination';\n\n@Entity()\n@ObjectType()\nexport class User implements NodeEntity {\n  @PrimaryGeneratedColumn('uuid')\n  @Field(() => ID)\n  id!: string;\n\n  @Column()\n  @Field()\n  name!: string;\n\n  @Column()\n  @Field()\n  email!: string;\n\n  @Column()\n  @Field()\n  createdAt!: Date;\n}\n```\n\n### 2. Create a Paginated Type\n\nUse the `Paginated` function to create a GraphQL-compatible paginated type:\n\n```typescript\nimport { ObjectType } from '@nestjs/graphql';\nimport { Paginated } from '@adamwdennis/nestjs-typeorm-cursor-pagination';\nimport { User } from './user.entity';\n\n@ObjectType()\nexport class UserConnection extends Paginated(User, 'User') {}\n```\n\nThis creates a type with:\n- `edges: UserEdge[]` - Array of edges containing cursor and node\n- `pageInfo: PageInfo` - Pagination metadata (hasNextPage, hasPreviousPage, startCursor, endCursor)\n- `totalCount: number` - Total number of items\n\n### 3. Use in Your Resolver\n\n```typescript\nimport { Resolver, Query, Args } from '@nestjs/graphql';\nimport { InjectRepository } from '@nestjs/typeorm';\nimport { Repository } from 'typeorm';\nimport { paginate, PaginationArgs } from '@adamwdennis/nestjs-typeorm-cursor-pagination';\n\n@Resolver(() => User)\nexport class UserResolver {\n  constructor(\n    @InjectRepository(User)\n    private userRepository: Repository<User>\n  ) {}\n\n  @Query(() => UserConnection)\n  async users(@Args() args: PaginationArgs): Promise<UserConnection> {\n    const qb = this.userRepository.createQueryBuilder('user');\n    return paginate(qb, args, 'user.id');\n  }\n}\n```\n\n**That's it!** Your API now supports:\n- Forward pagination: `users(first: 10, after: \"cursor\")`\n- Backward pagination: `users(last: 10, before: \"cursor\")`\n- Full `PageInfo` metadata with `hasNextPage`, `hasPreviousPage`, etc.\n\n---\n\n## What You Get\n\nWhen you use `paginate()`, your GraphQL query returns:\n\n```graphql\n{\n  users(first: 10) {\n    edges {\n      node {\n        id\n        name\n        email\n      }\n      cursor  # Opaque cursor for this item\n    }\n    pageInfo {\n      hasNextPage      # Boolean\n      hasPreviousPage  # Boolean\n      startCursor      # First item's cursor\n      endCursor        # Last item's cursor\n      totalCount       # Total items across all pages\n      countBefore      # Items before this page\n      countAfter       # Items after this page\n    }\n  }\n}\n```\n\n**No manual cursor encoding**, **no offset math**, **no performance issues at scale**.\n\n---\n\n## Usage Examples\n\n### Basic Pagination\n\n```graphql\n# Get first 10 users\nquery {\n  users(first: 10) {\n    edges {\n      node { id name email }\n      cursor\n    }\n    pageInfo {\n      hasNextPage\n      endCursor\n      totalCount\n    }\n  }\n}\n```\n\n### Navigate to Next Page\n\n```graphql\n# Use endCursor from previous query\nquery {\n  users(first: 10, after: \"encoded_cursor_here\") {\n    edges {\n      node { id name }\n    }\n    pageInfo {\n      hasNextPage\n      endCursor\n    }\n  }\n}\n```\n\n### Backward Pagination\n\n```graphql\n# Get previous 10 users\nquery {\n  users(last: 10, before: \"encoded_cursor_here\") {\n    edges {\n      node { id name }\n    }\n    pageInfo {\n      hasPreviousPage\n      startCursor\n    }\n  }\n}\n```\n\n### Reverse Sort Order\n\n```graphql\n# Get latest users first\nquery {\n  users(first: 10, reverse: true) {\n    edges {\n      node { id name createdAt }\n    }\n  }\n}\n```\n\n---\n\n## Advanced Features\n\n### Custom Sort Columns\n\nSort by any field in your entity:\n\n```typescript\n// Sort by creation date (newest first with reverse: true)\npaginate(queryBuilder, args, 'user.createdAt');\n\n// Sort by name\npaginate(queryBuilder, args, 'user.name');\n\n// Sort by custom field\npaginate(queryBuilder, args, 'user.score');\n```\n\n**Note:** Non-unique columns automatically get `id` as a secondary sort for deterministic ordering.\n\n### Filtering\n\nAdd complex filters with AND/OR logic:\n\n```typescript\nimport { FilterQueryBuilder } from '@adamwdennis/nestjs-typeorm-cursor-pagination';\n\n@Query(() => UserConnection)\nasync users(\n  @Args() args: PaginationArgs,\n  @Args('filter', { nullable: true }) filter?: FiltersExpression\n) {\n  const filterBuilder = new FilterQueryBuilder(this.userRepository, filter);\n  const queryBuilder = filterBuilder.build();\n  return paginate(queryBuilder, args, 'user.createdAt');\n}\n```\n\nExample filter query:\n\n```graphql\n{\n  users(\n    first: 10\n    filter: {\n      operator: AND\n      filters: [\n        { field: \"user.name\", operator: \"ilike\", value: \"john\" }\n        { field: \"user.createdAt\", operator: \"gte\", value: \"2024-01-01\" }\n      ]\n    }\n  ) {\n    edges { node { id name } }\n  }\n}\n```\n\n**Supported operators:** `eq`, `not`, `in`, `not_in`, `like`, `ilike`, `gt`, `gte`, `lt`, `lte`, `between`, `contains`, `any`, `overlap`\n\n### Reusable Service Pattern\n\nExtend `BaseEntityPaginationService` for cleaner code:\n\n```typescript\nimport { Injectable } from '@nestjs/common';\nimport { InjectRepository } from '@nestjs/typeorm';\nimport { Repository } from 'typeorm';\nimport {\n  BaseEntityPaginationService,\n  PaginationArgs,\n  IPaginatedType,\n  FilterQueryBuilder,\n  FiltersExpression,\n  paginate,\n} from '@adamwdennis/nestjs-typeorm-cursor-pagination';\nimport { User } from './user.entity';\n\n@Injectable()\nexport class UserPaginationService extends BaseEntityPaginationService<\n  User,\n  PaginationArgs\n> {\n  constructor(\n    @InjectRepository(User)\n    protected readonly repository: Repository<User>,\n  ) {\n    super(repository, 'user');\n  }\n\n  async getFilteredConnection(\n    args: PaginationArgs,\n    filter?: FiltersExpression,\n  ): Promise<IPaginatedType<User>> {\n    const filterBuilder = new FilterQueryBuilder(this.repository, filter);\n    const queryBuilder = filterBuilder.build();\n\n    return paginate(queryBuilder, args, this.getOrderBy());\n  }\n\n  protected getOrderBy(): string {\n    return 'user.createdAt';\n  }\n}\n```\n\nUse in resolver:\n\n```typescript\n@Resolver(() => User)\nexport class UserResolver {\n  constructor(private userService: UserPaginationService) {}\n\n  @Query(() => UserConnection)\n  async users(@Args() args: PaginationArgs) {\n    return this.userService.getFilteredConnection(args);\n  }\n}\n```\n\n### Nested Filters with OR Logic\n\n```graphql\n{\n  users(\n    first: 10\n    filter: {\n      operator: OR\n      childExpressions: [\n        {\n          operator: AND\n          filters: [\n            { field: \"user.name\", operator: \"ilike\", value: \"john\" }\n            { field: \"user.role\", operator: \"eq\", value: \"admin\" }\n          ]\n        }\n        {\n          operator: AND\n          filters: [\n            { field: \"user.status\", operator: \"eq\", value: \"active\" }\n            { field: \"user.verified\", operator: \"eq\", value: true }\n          ]\n        }\n      ]\n    }\n  ) {\n    edges { node { id name role } }\n  }\n}\n```\n\n## API Reference\n\n### Core Function\n\n```typescript\npaginate<T>(\n  query: SelectQueryBuilder<T>,\n  args: PaginationArgs,\n  cursorColumn: string\n): Promise<IPaginatedType<T>>\n```\n\n**Example:**\n```typescript\nreturn paginate(queryBuilder, paginationArgs, 'user.createdAt');\n```\n\n### Pagination Arguments\n\n```typescript\ninterface PaginationArgs {\n  first?: number;    // Forward pagination: get first N items\n  after?: string;    // Forward: cursor to start from\n  last?: number;     // Backward pagination: get last N items\n  before?: string;   // Backward: cursor to end at\n  reverse?: boolean; // Reverse the sort order\n}\n```\n\n### Filter Operators\n\n**Comparison:** `eq`, `not`, `gt`, `gte`, `lt`, `lte`, `like`, `ilike`, `in`, `not_in`, `between`, `contains`, `any`, `overlap`\n\n**Logical:** `AND`, `OR`\n\n### TypeScript Types\n\n```typescript\ninterface NodeEntity {\n  id: string;\n}\n\ninterface IPaginatedType<T> {\n  edges: IEdgeType<T>[];\n  pageInfo: PageInfo;\n}\n\ninterface PageInfo {\n  hasNextPage: boolean;\n  hasPreviousPage: boolean;\n  startCursor?: string;\n  endCursor?: string;\n  totalCount: number;\n  countBefore: number;\n  countAfter: number;\n}\n```\n\nFor complete type definitions, see the [source code](src/index.ts).\n\n## Best Practices\n\n1. **Always specify cursor column** - Use `paginate(qb, args, 'user.createdAt')` for predictable ordering\n2. **Index your cursor columns** - Add database indexes to columns used for cursors\n3. **Set max page size** - Implement limits in your resolver (e.g., max `first: 100`)\n4. **Use appropriate sort columns** - Choose indexed columns for best performance\n5. **Test with large datasets** - Pagination performance is most noticeable with 10,000+ rows\n\n---\n\n## Troubleshooting\n\n### \"Expected 2 arguments, but got 1\" error with `Paginated()`\n\n```typescript\n// ❌ Wrong\nexport class UserConnection extends Paginated(User) {}\n\n// ✅ Correct\nexport class UserConnection extends Paginated(User, 'User') {}\n```\n\nThe second argument is the GraphQL type name for the Edge type.\n\n### \"Cannot read property 'totalCount' of undefined\"\n\nMake sure you're querying `pageInfo.totalCount`, not `totalCount` directly:\n\n```graphql\n# ❌ Wrong\n{ users(first: 10) { totalCount } }\n\n# ✅ Correct\n{ users(first: 10) { pageInfo { totalCount } } }\n```\n\n### Slow queries with large offsets\n\nThis is expected with offset pagination. Switch to cursor pagination for consistent performance:\n\n```typescript\n// ❌ Offset pagination - slow at high pages\n.skip(page * limit).take(limit)\n\n// ✅ Cursor pagination - always fast\npaginate(queryBuilder, args, 'user.id')\n```\n\n### \"Entity must implement NodeEntity\"\n\nYour entity needs an `id: string` field:\n\n```typescript\n@Entity()\nexport class User implements NodeEntity {\n  @PrimaryColumn()  // or @PrimaryGeneratedColumn('uuid')\n  id!: string;\n  // ...\n}\n```\n\n### Working with numeric IDs\n\nConvert to string in your entity:\n\n```typescript\n@PrimaryGeneratedColumn()\n@Field(() => ID)\nget id(): string {\n  return this._id.toString();\n}\n\n@Column()\nprivate _id!: number;\n```\n\n### Need more help?\n\n- 📖 [See the example app](../../apps/sample-nestjs-graphql-api)\n- 🐛 [Report an issue](https://github.com/adamwdennis/nestjs-api-dx/issues)\n- 💬 [Start a discussion](https://github.com/adamwdennis/nestjs-api-dx/discussions)\n\n---\n\n## License\n\nMIT License - see LICENSE file for details\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Author\n\nAdam Dennis (@adamwdennis)\n","readmeFilename":"README.md"}