{"_id":"@helveg/nestjs-paginate","_rev":"27-51a9aa6581d3b00819ec43aaefa86fe7","name":"@helveg/nestjs-paginate","dist-tags":{"latest":"14.3.1"},"versions":{"0.1.0":{"name":"@helveg/nestjs-paginate","version":"0.1.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@0.1.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"cf774c558dd2be9a340ee201cb5776eddbebc83e","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-0.1.0.tgz","fileCount":67,"integrity":"sha512-13HEx5JjjM597xVhw5vM680xNI+eIiFeVOlOtlhWPEN5eyieyrbc5MibZ82LuFlTxpjV97d1lsPqQ0xxaeLiug==","signatures":[{"sig":"MEYCIQD9luBYS2lY9I8OUprr6b3/K7EEzJXTPHaou9rq7aOvMgIhAIxkC3oCJMz4UEHKQ9FY0jAi4FUuHMKua/YUjlvxetmD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":585777},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"abd25d185de4d3f887ae34e7d80947bdd67f3129","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch"},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"10.8.1","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"20.16.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.11.5","jest":"^29.7.0","rxjs":"^7.8.1","dotenv":"^16.4.5","eslint":"^8.57.0","fastify":"^4.26.2","sqlite3":"^5.1.7","ts-jest":"^29.1.3","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/lodash":"^4.17.4","@nestjs/common":"^10.3.8","@types/express":"^4.17.21","@nestjs/testing":"^10.3.8","reflect-metadata":"^0.1.14","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@nestjs/platform-express":"^10.3.8","@typescript-eslint/parser":"^7.10.0","@typescript-eslint/eslint-plugin":"^7.10.0"},"peerDependencies":{"express":"^4.0.0","fastify":"^4.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0","@nestjs/swagger":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_0.1.0_1723670929756_0.9996812999130396","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"@helveg/nestjs-paginate","version":"9.0.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@9.0.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"db5f0bf649dd0fa14cffd9116dceb57dcf87f77d","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-9.0.0.tgz","fileCount":67,"integrity":"sha512-Sl8XbeZfWHVkrz1OAHMXP6lc+jn18ZSN5v+hgtqXR5D4gtl6mQvHAn+S2zWrkiZgQwKL3cL8R1av380ARXIB2Q==","signatures":[{"sig":"MEYCIQCVmpK2+Ama/30GNA2/vynjLF4Tf7bW/zI/b7UZY7ZEcQIhAMO+TJFhfYRnFvdzddeePpkPv+Zr6Khnpxy0QqGvMc0Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590455},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"f236c805e812c9a59d5fad2fbf5ab9c51a0e34d8","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"10.8.1","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"20.16.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.12.0","jest":"^29.7.0","rxjs":"^7.8.1","mysql":"^2.18.1","dotenv":"^16.4.5","eslint":"^8.57.0","fastify":"^4.26.2","sqlite3":"^5.1.7","ts-jest":"^29.1.5","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.7","@types/lodash":"^4.17.6","@nestjs/common":"^10.3.8","@types/express":"^4.17.21","@nestjs/testing":"^10.3.8","reflect-metadata":"^0.1.14","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@nestjs/platform-express":"^10.3.8","@typescript-eslint/parser":"^7.15.0","@typescript-eslint/eslint-plugin":"^7.15.0"},"peerDependencies":{"express":"^4.0.0","fastify":"^4.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0","@nestjs/swagger":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_9.0.0_1723671073790_0.14597422603478583","host":"s3://npm-registry-packages"}},"11.0.1":{"name":"@helveg/nestjs-paginate","version":"11.0.1","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@11.0.1","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"27d5e3f3323a3bd5ab081c084f34fdb5981b2d07","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-11.0.1.tgz","fileCount":70,"integrity":"sha512-ZAkgGQye2TwAKwwgGEkSCgj17XFIkzBYxEeUi11FLVRC/dXS7E7ftHU3eAjoFZedq2KNmIArfRjZ/kKAqYvAVA==","signatures":[{"sig":"MEUCIGom8uMFe20oIm5U/VpbnQmGmSmSxw3aE0nxDJFHNbqJAiEAyN9MKAGfctpvvJcZB7ezJC69D7+ahzUEcyPmkgkj5/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623204},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"d4ade355b3e934614b4295df18bd6a0c5b55e4f1","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.0.0","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","rxjs":"^7.8.1","mysql":"^2.18.1","dotenv":"^16.4.7","eslint":"^8.57.1","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.10.5","@types/lodash":"^4.17.15","@nestjs/common":"^11.0.3","@types/express":"^5.0.0","@nestjs/testing":"^11.0.3","reflect-metadata":"^0.1.14","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.3","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_11.0.1_1742482312599_0.10742319973683356","host":"s3://npm-registry-packages-npm-production"}},"11.1.2":{"name":"@helveg/nestjs-paginate","version":"11.1.2","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@11.1.2","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"709926c19c3d6a7ed9be4ddd9ba244d349728fa7","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-11.1.2.tgz","fileCount":70,"integrity":"sha512-lRbBTZKvPdKiUc6OgmlCEyFtl+OBWdLUoy7Yh5DQ/KK+xKswdfO0/jQ1UNs/DvefgCnMLUcyV3PqarwfDG7LPQ==","signatures":[{"sig":"MEQCIDxGVfanVu/sybIRW+Mi6kB7U8Kw4j0a+VSjbI61//sQAiBmLOzqXsHUhetxpADkOr6HUcGLWKyvJN0jwnjwHo3lPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658329},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"1c17be9a673f769b560e3228b8e9433ae8c7cfa5","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.0.0","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","mysql":"^2.18.1","dotenv":"^16.4.7","eslint":"^8.57.1","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_11.1.2_1742482454076_0.0716119851413537","host":"s3://npm-registry-packages-npm-production"}},"11.1.3":{"name":"@helveg/nestjs-paginate","version":"11.1.3","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@11.1.3","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"7d80f57ff46d1588d9d4e4ecb6d9a5b04e8817c9","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-11.1.3.tgz","fileCount":70,"integrity":"sha512-Lrp/+2yHfQ3diOcXcdmSBPg2choRcKDQtmEXDd9DZGICxZVLktXuNRPieSFQGE82xBkaKftKHk3JggWqYHqVyA==","signatures":[{"sig":"MEUCIQDfqsoS+41mSJAstR32bF10/aQ1PUNb1uiKVopoZNEgEQIgXqo/gHlNFkORFFRezwpbgh6gVlwJiBcXGhv8mxyRnb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658536},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"1c17be9a673f769b560e3228b8e9433ae8c7cfa5","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.0.0","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","mysql":"^2.18.1","dotenv":"^16.4.7","eslint":"^8.57.1","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_11.1.3_1742483267538_0.11870299430670972","host":"s3://npm-registry-packages-npm-production"}},"11.1.4":{"name":"@helveg/nestjs-paginate","version":"11.1.4","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@11.1.4","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"69b1f774767e6ee76e718c8097abed0c6637ceb8","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-11.1.4.tgz","fileCount":70,"integrity":"sha512-7wEzYheRAbI38GaKXYzZmkFcyjyt7UZK0Np9GDpGD0l4T9F/0Gshon/anOVzi1yD6sA0q48AbR17xduHfh14NQ==","signatures":[{"sig":"MEUCIQD6uHspZs9+h0Po8XtHKlvqzQNMslBHIA4aL7J8lN+1cgIgaqFEUS3ZmYFOMuD2OWX3p8SMTzwkp2ElXO7ak8wfgIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665488},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"ce775f5087c3faaeec4cc9c1b46290b674946e3c","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.0.0","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","mysql":"^2.18.1","dotenv":"^16.4.7","eslint":"^8.57.1","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"npm:@helveg/typeorm@^0.3.21","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_11.1.4_1742835319193_0.9918793611900334","host":"s3://npm-registry-packages-npm-production"}},"11.1.5":{"name":"@helveg/nestjs-paginate","version":"11.1.5","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@11.1.5","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"2468b1e8436d2b9ba7bd424ed97ffbf1522a4fb1","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-11.1.5.tgz","fileCount":70,"integrity":"sha512-+XWz8IRXbjKVjPyuvPUHrfIjaC6D7qtQgNEDVvurvGC20ryE8RhE1RnxGgZPhvHsN6MC2TUMAsf0MVm6V2mxkw==","signatures":[{"sig":"MEQCIEqDzBelCRVGOhyUzLsYB/EAxBcFim9X7wBrcO1gwv9zAiAHJqYshWJoJguJ0Fem+nu++3eUJl2ZHOqWSqH8K9wgJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665512},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"cd37fd86dfa1a5521593b17bfe40668589f5107a","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"10.9.2","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","mysql":"^2.18.1","dotenv":"^16.4.7","eslint":"^8.57.1","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"npm:@helveg/typeorm@^0.3.21","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_11.1.5_1758302463383_0.8323064164759928","host":"s3://npm-registry-packages-npm-production"}},"12.9.0":{"name":"@helveg/nestjs-paginate","version":"12.9.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@12.9.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"3d63849b0c59d210ff0861e9fb9a48c1cfe11f96","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-12.9.0.tgz","fileCount":76,"integrity":"sha512-HL8d8f4SuTBaT5WVLzzJq1CReqHwCqQpOXkLUocifyM9dS2g4H01WsqeKY3w4+8vekjRR1gdcEY/l4idgv+xzw==","signatures":[{"sig":"MEUCIQDWHrOmzAPpN7+euiUEsGEnGufYpjAjt4bBfbRfumjXngIgN6ec6Qm97snd6gyH8eUdSXGcf9RTj+fQiss5b0hONAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":882213},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"309d95f2d87783790f83f5c4e366005920ee2cb2","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.2","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"npm:@helveg/typeorm@^0.3.21","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_12.9.0_1761575719273_0.5736267014902114","host":"s3://npm-registry-packages-npm-production"}},"12.10.0":{"name":"@helveg/nestjs-paginate","version":"12.10.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@12.10.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"cf43fb685fce516c4dfe3264cb080b2febebf88b","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-12.10.0.tgz","fileCount":76,"integrity":"sha512-rSsTCxBQT/7REXSUNF/u9V7nG0g+8xOoOuEkgRahUgS1VYhHlf6QrQURI9PT7JtaD9iaFhPcgDCw8yjrn0M63Q==","signatures":[{"sig":"MEUCIHjXXJAmBLumjDlGbbtsO4r9+s0KX8WEcn5gT0zlOsymAiEAv3JaKOeTRGuPhFiPF187XwiI+LBbQQK32ik0BvnHRCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":881220},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"89e0f73263d2efdf7bdf48c2840441d9633ff595","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_12.10.0_1775767044036_0.6138005975924434","host":"s3://npm-registry-packages-npm-production"}},"12.10.1":{"name":"@helveg/nestjs-paginate","version":"12.10.1","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@12.10.1","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"1e3575f20bacd2ed6a8b92fae5b9a924395192dd","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-12.10.1.tgz","fileCount":76,"integrity":"sha512-oCOgaM+j1HfLcRROGKgpcqyy73vJjiQ7LwdCD4q2iIuRRkB+3UTISKoMmgeZ2sE2SxOL5nPg/3ZVZ6YgrP4eoA==","signatures":[{"sig":"MEUCIQDdWYYKaU3W2KPagw6BWO7HoyTj2TVkYB/zKx0lA2fBdwIgGtl+9o9Bnu3yOrWCpzI2LcSyG/ZSXyNi5GPb2VLlhHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":881280},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"89e0f73263d2efdf7bdf48c2840441d9633ff595","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_12.10.1_1775769740057_0.412247258655577","host":"s3://npm-registry-packages-npm-production"}},"12.10.2":{"name":"@helveg/nestjs-paginate","version":"12.10.2","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@12.10.2","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"7816b8a04987f7473d3924bff3611622f1e760e4","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-12.10.2.tgz","fileCount":76,"integrity":"sha512-qnfLA+ltDma2EEmOK1QWytEbJCRuIdXDYAM8QqaUUxY5RQZ9LCii23Z6wnHp4FEC1MXNISv3fAQbK+juYMxSvg==","signatures":[{"sig":"MEYCIQDls7FXYH6X80O6f12aZn8Qlf5h+FXD/B4rgOZz23+/hgIhAPPcwJCjfaOIMBlzIlbb+X+42afa79M3s59dCxPS6Mqk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":881335},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"89e0f73263d2efdf7bdf48c2840441d9633ff595","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_12.10.2_1775770488582_0.48882212901903577","host":"s3://npm-registry-packages-npm-production"}},"12.10.3":{"name":"@helveg/nestjs-paginate","version":"12.10.3","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@12.10.3","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"b09f756d3979907f597de8d8846ad2268b8d72fd","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-12.10.3.tgz","fileCount":76,"integrity":"sha512-Gxv3W7RV41pBEHE0AErgX/Py9udN0IdUJh38VF6MDp1CQ182J+q0VvxjamysKMMQPGcRIsfTsRK3BWQXECgnkA==","signatures":[{"sig":"MEUCIQD9a5+y/8Hwi2sUbQ+2jPTkVYK2wmi7/wwLZcZYdgb9XAIgcpAgR+6eFgIe6Sb5EP2XNf7EBxjoCG/SzSFppY4DVAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":881699},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"63081986cc5ea3f1ec35eee3811b1c0b27366eae","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_12.10.3_1776689322997_0.5486118547816066","host":"s3://npm-registry-packages-npm-production"}},"12.11.0":{"name":"@helveg/nestjs-paginate","version":"12.11.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@12.11.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"90a34e042c4169b018f2276c31df05b0a25375ec","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-12.11.0.tgz","fileCount":76,"integrity":"sha512-2iSDs6NKjz7UY2Tg4d/WeAl+QF7ZxewkdftKWtvod5zUEU8JDDqv5Sg5lH/JQB2pRf48jqqzH2JgJQ07gbXy7A==","signatures":[{"sig":"MEUCIQCOjpTNafYiSdrlQVAmua5uAD10gx2SrQ3ZuFkZGhM1tgIgaADMZG0zvDBPUQDNTsz/Tbm47KZ2U+/FyX4jOGPHTfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":881765},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"439555786afb4e05609adcce587ba43b16db018d","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","sqlite3":"^5.1.7","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^0.3.17","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^0.3.17","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_12.11.0_1776690760190_0.7384152444830843","host":"s3://npm-registry-packages-npm-production"}},"13.0.0":{"name":"@helveg/nestjs-paginate","version":"13.0.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@13.0.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"ae09cf4955a384ea0c417c4247017e09206a9365","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-13.0.0.tgz","fileCount":85,"integrity":"sha512-9ry523h+ZpcAfESkJ5CunIvdwCXoVpmIfDelPDsWo5TohorR0skGIRMdC8FmhFLXIFD2KoHVxUNg8qQ2fcdwcw==","signatures":[{"sig":"MEYCIQCqnqbjiirAkgbxcF7a6C+oMTiHFq+dBKUGX/UgagtmGgIhAIVIHyrTkmV8kD8n/sgGe5kHkCEBPpGklQ9GWw0D5wF3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1052086},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"9d63f1d890f86f4b129902a8a7750254decd6848","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_13.0.0_1783082033753_0.713071325261057","host":"s3://npm-registry-packages-npm-production"}},"13.0.1":{"name":"@helveg/nestjs-paginate","version":"13.0.1","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@13.0.1","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"99b3c228abd61137477b8590407c0c4ec8db1b03","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-13.0.1.tgz","fileCount":85,"integrity":"sha512-Vcac0iK5GcSs86vhL7tGLg6u65CN4idOybvIOxRpeNvbfYEyWQuyRjrWqKQjdmU71OH2f0oChpWSyumAK10b+A==","signatures":[{"sig":"MEYCIQCXOddpqmnrgB2k5843YYPt4Fl6IT9u7CeT639CYmKyXQIhAPRWDieRdtmxhN8Sgh+lu/Bb6D+mzMJCWTC0UflgVNB4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073619},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"28bf813aae931d25934fa209ccefed5de817b94a","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_13.0.1_1783174707914_0.20167236260153665","host":"s3://npm-registry-packages-npm-production"}},"13.0.2":{"name":"@helveg/nestjs-paginate","version":"13.0.2","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@13.0.2","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"8d6e57252e8bfe0744826612ecedd8dfa34abc31","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-13.0.2.tgz","fileCount":85,"integrity":"sha512-LmR+3GxCuq7rc24leJNu0hqxWqsFAmCG11ofWXJbXAE8UXGMooBNGpdGLCP6wQ/WtD+hKhvEEw1XUdBdloYQPA==","signatures":[{"sig":"MEYCIQD3rJl4akoRmsZ9B5G9vNgA4jqWqIng15NSHJRZcwnosAIhAJLEKX86vndcp6SH7thoMvK9ROq+UqH0CT1BLkq9yLPK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1078363},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"137e41b46a9b28135c5af81c5aa31b302e6dc779","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_13.0.2_1783179496296_0.9775897129106237","host":"s3://npm-registry-packages-npm-production"}},"14.0.0":{"name":"@helveg/nestjs-paginate","version":"14.0.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.0.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"365485a813d5f8bf3cf87596a6c4016b0f40f966","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.0.0.tgz","fileCount":85,"integrity":"sha512-BeAKGuIE/npatx7wN69WIFnFKqNG3SpSpIUL/K/piMngcRo9tnWIi64EwgpXbhnBPeS0FI1vgz2OHypo7OsLjw==","signatures":[{"sig":"MEYCIQDEwcq5lcj0onHsN1wpgiPD+x8xDvF8UhHSdUo2/0IAiwIhAIOgSGW6NJJjsVQ9fFre+CtoADr+NjuKQjOMlcyqYbwr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1101879},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"f4c390f107c03fe2c7d7b575a722318729fa72c9","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.0.0_1783194733784_0.2930753985034311","host":"s3://npm-registry-packages-npm-production"}},"14.0.2":{"name":"@helveg/nestjs-paginate","version":"14.0.2","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.0.2","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"f41d9c40c13359456a45a11b3fb8631509aaf035","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.0.2.tgz","fileCount":85,"integrity":"sha512-IIwFJHYB2eajOvheeXSLt4Q/ImX48vvADGFp0Crr5NqlPnLZMwC0d/BsqBzwZAHvacosIDYgNV92PQ0oRSRPLQ==","signatures":[{"sig":"MEUCIQCJ3Kldyw9VqGoHbzJZXSCUebXRYn2sIhuGvFQMsWIokQIgRYAwmXr+j2fTP+QxHwIr7k737eyJfm8tTw/jqdtr3GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1102704},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"a0f00bff936af8b3512379dc47ca6c2c042c4eb4","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.0.2_1783234229899_0.1275880185726861","host":"s3://npm-registry-packages-npm-production"}},"14.1.0":{"name":"@helveg/nestjs-paginate","version":"14.1.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.1.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"bcef2cc15ff70f98d9027c528914bb9fb6d1bc53","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.1.0.tgz","fileCount":85,"integrity":"sha512-eDL+4slge7aExeWOg13oArb5SqsST/yFXcvquD0d6FkjdfM1OcFLpRkqyQLJExQP3/G0GkN8/fArDVWEsy786A==","signatures":[{"sig":"MEUCIDO8Bt0zPm3uMuM2reuCGpfimpq3OZ1rYLZVj5FjkOEMAiEAyGNGSkf2Tx14LtShJYSsm0DeaguRZGNXYnoOhy+7k4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1113955},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"51ce9017ab99da2ab9934a5fed8ed02b98ceb82c","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.1.0_1783334082759_0.7314307189473337","host":"s3://npm-registry-packages-npm-production"}},"14.1.1":{"name":"@helveg/nestjs-paginate","version":"14.1.1","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.1.1","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"eaeefc3dbc61260db384794b479ec820df48878f","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.1.1.tgz","fileCount":85,"integrity":"sha512-/obzfcYQQi8SV2PnDv8A7rWskd8/jTFUbeGijoJeCOx1l+I5Tfo+NM7vpnqgrHzr2/aZx9bx0796vTZrbl5GVg==","signatures":[{"sig":"MEUCIESBxYpf6yiZk5w4tuYYUoDOAo2MJSxpwaQLR6a1m4ijAiEAhVLrbAUZtWAHAAaGRcpTWc/db0ZEGnWWNl9YpzRoXAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1123245},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"25a3a83cd9076795cc63b6097192d497fefd6d91","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.1.1_1783337940684_0.7412251370632919","host":"s3://npm-registry-packages-npm-production"}},"14.2.0":{"name":"@helveg/nestjs-paginate","version":"14.2.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.2.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"a6a4b40c5e28896724a3babd46337b93a4a8602f","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.2.0.tgz","fileCount":94,"integrity":"sha512-U0letvbPhX3YDYzX6DHJVf5llKlji5tyYAQqZqBCH1ygMArNBEjZ5Jq54+5cHUasyBzPXyw1FZAiGPFltx187A==","signatures":[{"sig":"MEUCIAMWHO8vdF5Dkd9hKIZmEkrmHjfZsuuegQfZ/ENVV+zAAiEApj9X9M+duwJktF/eFS2uRWt7NhahcQDK6DtV6flbxm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1174373},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"c75a83fdd49504201fae32d78659fe9dd596ec9a","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.2.0_1783413640937_0.7553366007087468","host":"s3://npm-registry-packages-npm-production"}},"14.2.1":{"name":"@helveg/nestjs-paginate","version":"14.2.1","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.2.1","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"5395f634db7f15e7874753003eb72c11ccbf5964","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.2.1.tgz","fileCount":94,"integrity":"sha512-QkdRZyusmzGY/E9UKBE314jtESgxuc89lDwfbsxNw0j1D1Ua4rPmvKj9BsKIFM2q09K/E3E8TxWv+HJnq6Nzdw==","signatures":[{"sig":"MEYCIQD4DXLpMr0GeRE0CjCkPcPBCEXsJmT62P7A7H2+WNzy2wIhAPY7ggp1r7LwPbSxsIw/YuuTJAZo1tQJ908xsoY7V5uB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1186101},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"c2be879b4d1fe18377dfb1163167c0a4d5333098","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.2.1_1783671774971_0.7810886553115313","host":"s3://npm-registry-packages-npm-production"}},"14.2.2":{"name":"@helveg/nestjs-paginate","version":"14.2.2","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.2.2","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"6ca0469e8b73e7da32c88d07730ca5d2259e7e4b","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.2.2.tgz","fileCount":94,"integrity":"sha512-pUzwZf2lSlHuk9u6lujypib3SQkdKuy3akhr757zy99XFABhA2zjiquTPXVFUClmiERc1NSF3H/0CLWnw168JQ==","signatures":[{"sig":"MEUCIQDljpNNmngaQ92bgwq1cjVj+x8Kz0rTpM1pU7gqtc40ggIgC8hP96VeDc0/dUxNTFT5WcvOPWbylOYwCIYdvQ8S0L4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1204323},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"43d7aa7d2f67c3cef63a1320f63157ea620c7897","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.2.2_1783693658610_0.3157179966838346","host":"s3://npm-registry-packages-npm-production"}},"14.2.3":{"name":"@helveg/nestjs-paginate","version":"14.2.3","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.2.3","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"cb80a6f73d05f6bed11a4494b75838100746a9dd","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.2.3.tgz","fileCount":94,"integrity":"sha512-zoW+fOUQx3kavk7P28kKHZk2wdaByouCyRZGrBj4+tLI/Shc04ey6OsvV4X2e9gqUVDlFxNpMTv5cLexmz1DGw==","signatures":[{"sig":"MEUCIQCOB0S5IJU4FiWPTsQlrd4UyYhqlnaP39ER+XOD/+orfQIgLyqQTknSQb9MfK9BHg03ayhnniYuOn+vGcgEo3JZ4nM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1207972},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"06db98b4e729f5f399d7d4134879b9cb4d7cde95","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.2.3_1783941299472_0.20048442283874812","host":"s3://npm-registry-packages-npm-production"}},"14.2.4":{"name":"@helveg/nestjs-paginate","version":"14.2.4","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.2.4","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"b62f3d33e0507d4f74712e0e5731c47153d99e15","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.2.4.tgz","fileCount":94,"integrity":"sha512-jJPZ7WFaSCBx4JVVgvgUlM1qr+ZNSSgUru0kNhJkZZK/X03HiIkqqf+vsXpn7ulhoxaYiVrbig+rAGEvieq5hw==","signatures":[{"sig":"MEQCIE4Wx/3WsFJILmIUOT7sbFod+HTQD8M+dw8man8MHcdKAiBXAXq/cKX6uOSEtJniiBVwbFTbPfUGfmDudlUy0ZZFww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1213231},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"940f833bc004bfc0abdc3f4c360c97a388081f75","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.2.4_1784031528001_0.8609998064037732","host":"s3://npm-registry-packages-npm-production"}},"14.3.0":{"name":"@helveg/nestjs-paginate","version":"14.3.0","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","_id":"@helveg/nestjs-paginate@14.3.0","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"dist":{"shasum":"8438981f446237a72f566443a55f755bae570372","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.3.0.tgz","fileCount":94,"integrity":"sha512-N4ykP2rsRFDEWccO389mgnkD07Z8Te0uliebvGArRYAJHs3SUt2he5o4WBq0i6DkVGCMxoRhQQmRCBGrM3MNyg==","signatures":[{"sig":"MEQCIAVHTMmB7GPUyOjX4ohEVFjjWib1l1/8R3KZoKk12qSvAiBnGq2KesmyO1B0YX4uM+2mcdD4XMBchhV/rddUUTs7Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1233288},"jest":{"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"setupFiles":["<rootDir>/../jest.setup.ts"],"testEnvironment":"node","coverageDirectory":"../coverage","moduleFileExtensions":["js","json","ts"]},"main":"lib/index.js","gitHead":"026e9c0719d108c8646f0f4b534c47b5d8c51e4e","release":{"branches":["master"]},"scripts":{"lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","prebuild":"rimraf lib","test:cov":"jest --coverage","format:ci":"prettier --list-different \"src/**/*.ts\"","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch "},"typings":"lib/index.d.ts","_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"repository":{"url":"git+https://github.com/ppetzold/nestjs-paginate.git","type":"git"},"_npmVersion":"11.6.3","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lodash":"^4.17.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.14.0","jest":"^29.7.0","rxjs":"^7.8.2","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.57.1","mysql2":"^3.14.0","fastify":"^5.2.1","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","prettier":"^3.0.3","typescript":"^5.5.4","@types/jest":"^29.5.14","@types/node":"^22.13.10","@types/lodash":"^4.17.16","@nestjs/common":"^11.0.11","@types/express":"^5.0.0","better-sqlite3":"^12.11.1","@nestjs/testing":"^11.0.11","reflect-metadata":"^0.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","@nestjs/platform-express":"^11.0.11","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-paginate_14.3.0_1784066534205_0.8342848087568604","host":"s3://npm-registry-packages-npm-production"}},"14.3.1":{"name":"@helveg/nestjs-paginate","version":"14.3.1","author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","main":"lib/index.js","typings":"lib/index.d.ts","description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"scripts":{"prebuild":"rimraf lib","build":"tsc","prepare":"tsc && husky","dev:yalc":"nodemon --watch src --ext ts --exec 'npm run build && yalc push'","format":"prettier --write \"src/**/*.ts\"","format:ci":"prettier --list-different \"src/**/*.ts\"","lint":"eslint -c .eslintrc.json --ext .ts --max-warnings 0 src","test":"jest","test:watch":"jest --watch ","test:cov":"jest --coverage","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"},"devDependencies":{"@nestjs/common":"^11.0.11","@nestjs/platform-express":"^11.0.11","@nestjs/testing":"^11.0.11","@types/express":"^5.0.0","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@types/node":"^22.13.10","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","better-sqlite3":"^12.11.1","dotenv":"^16.4.7","eslint":"^8.57.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.3","fastify":"^5.2.1","husky":"^9.1.7","jest":"^29.7.0","mysql2":"^3.14.0","pg":"^8.14.0","prettier":"^3.0.3","reflect-metadata":"^0.2.2","rxjs":"^7.8.2","ts-jest":"^29.2.6","ts-node":"^10.9.2","typeorm":"^1.0.0","typescript":"^5.5.4"},"dependencies":{"lodash":"^4.17.21"},"peerDependencies":{"@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/swagger":"^8.0.0 || ^11.0.0","express":"^4.21.2 || ^5.0.0","fastify":"^4.0.0 || ^5.0.0","typeorm":"^1.0.0"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage","testEnvironment":"node","setupFiles":["<rootDir>/../jest.setup.ts"]},"repository":{"type":"git","url":"git+https://github.com/ppetzold/nestjs-paginate.git"},"homepage":"https://github.com/ppetzold/nestjs-paginate#readme","bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"publishConfig":{"access":"public"},"release":{"branches":["master"]},"gitHead":"8d733cfeaf718e8a7d22d41a1388b158ba957b86","_id":"@helveg/nestjs-paginate@14.3.1","_nodeVersion":"22.15.0","_npmVersion":"11.6.3","dist":{"integrity":"sha512-snF2mTosBEzg8+xV7vPioSYm8CBt3rvOPTRN9Eex1wsTN+8Uh4tEe7ozkJ7X4LgXfCKkzXbVNh7W42qgEjvBvA==","shasum":"8e09de97514d97669ec64b14a746dd6382d8822f","tarball":"https://registry.npmjs.org/@helveg/nestjs-paginate/-/nestjs-paginate-14.3.1.tgz","fileCount":94,"unpackedSize":1235442,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDIraYUn2jkVjyPvV/1JjAUTCF826MO/RXrQM4q38fEFgIgKOBmXMX4EMpxNYtYWmFcaiHXfWDDQugRRQk3kDba3aY="}]},"_npmUser":{"name":"helveg","email":"robin.deschepper93@gmail.com"},"directories":{},"maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-paginate_14.3.1_1784067744968_0.5261734656874957"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-14T21:28:49.619Z","modified":"2026-07-14T22:22:25.403Z","0.1.0":"2024-08-14T21:28:50.057Z","9.0.0":"2024-08-14T21:31:14.040Z","11.0.1":"2025-03-20T14:51:52.776Z","11.1.2":"2025-03-20T14:54:14.336Z","11.1.3":"2025-03-20T15:07:47.803Z","11.1.4":"2025-03-24T16:55:19.433Z","11.1.5":"2025-09-19T17:21:03.569Z","12.9.0":"2025-10-27T14:35:19.489Z","12.10.0":"2026-04-09T20:37:24.277Z","12.10.1":"2026-04-09T21:22:20.240Z","12.10.2":"2026-04-09T21:34:48.763Z","12.10.3":"2026-04-20T12:48:43.194Z","12.11.0":"2026-04-20T13:12:40.352Z","13.0.0":"2026-07-03T12:33:53.940Z","13.0.1":"2026-07-04T14:18:28.097Z","13.0.2":"2026-07-04T15:38:16.439Z","14.0.0":"2026-07-04T19:52:13.952Z","14.0.2":"2026-07-05T06:50:30.046Z","14.1.0":"2026-07-06T10:34:42.912Z","14.1.1":"2026-07-06T11:39:00.874Z","14.2.0":"2026-07-07T08:40:41.095Z","14.2.1":"2026-07-10T08:22:55.119Z","14.2.2":"2026-07-10T14:27:38.768Z","14.2.3":"2026-07-13T11:14:59.659Z","14.2.4":"2026-07-14T12:18:48.158Z","14.3.0":"2026-07-14T22:02:14.460Z","14.3.1":"2026-07-14T22:22:25.292Z"},"bugs":{"url":"https://github.com/ppetzold/nestjs-paginate/issues"},"author":{"name":"Philipp Petzold","email":"ppetzold@protonmail.com"},"license":"MIT","homepage":"https://github.com/ppetzold/nestjs-paginate#readme","keywords":["nestjs","typeorm","express","pagination","paginate","filtering","search"],"repository":{"type":"git","url":"git+https://github.com/ppetzold/nestjs-paginate.git"},"description":"Pagination and filtering helper method for TypeORM repositories or query builders using Nest.js framework.","maintainers":[{"name":"helveg","email":"robin.deschepper93@gmail.com"}],"readme":"# Nest.js Paginate\n\n![Main CI](https://github.com/ppetzold/nestjs-paginate/workflows/Main%20CI/badge.svg)\n[![npm](https://img.shields.io/npm/v/nestjs-paginate.svg)](https://www.npmjs.com/package/nestjs-paginate)\n[![downloads](https://img.shields.io/npm/dt/nestjs-paginate.svg)](https://www.npmjs.com/package/nestjs-paginate)\n[![codecov](https://codecov.io/gh/ppetzold/nestjs-paginate/branch/master/graph/badge.svg)](https://codecov.io/gh/ppetzold/nestjs-paginate)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n![GitHub](https://img.shields.io/github/license/ppetzold/nestjs-paginate)\n\nPagination and filtering helper method for TypeORM repositories or query builders using [Nest.js](https://nestjs.com/) framework.\n\n- Pagination conforms to [JSON:API](https://jsonapi.org/)\n- Sort by multiple columns\n- Search across columns\n- Select columns\n- Filter using operators (`$eq`, `$not`, `$null`, `$in`, `$gt`, `$gte`, `$lt`, `$lte`, `$btw`, `$ilike`, `$sw`, `$contains`)\n- Filter and sort by distance from a point (`$dist`, Haversine / PostGIS / custom)\n- Include relations and nested relations\n- Virtual column support\n- Cursor-based pagination\n\n## Installation\n\n```\nnpm install nestjs-paginate\n```\n\n## Usage\n\n### Global configurations\n\nYou can configure the global settings for all paginated routes by updating the default global configuration\nusing below method. Ideally, you need to do it as soon as possible in your application main bootstrap method,\nas it affects all paginated routes, and swagger generation logic.\n\n```typescript\nimport { updateGlobalConfig } from 'nestjs-paginate'\n\nupdateGlobalConfig({\n  // this is default configuration\n  defaultOrigin: undefined,\n  defaultLimit: 20,\n  defaultMaxLimit: 100,\n})\n```\n\n### Example\n\nThe following code exposes a route that can be utilized like so:\n\n#### Endpoint\n\n```url\nhttp://localhost:3000/cats?limit=5&page=2&sortBy=color:DESC&search=i&filter.age=$gte:3&select=id,name,color,age&withDeleted=true\n```\n\n#### Result\n\n```json\n{\n  \"data\": [\n    {\n      \"id\": 4,\n      \"name\": \"George\",\n      \"color\": \"white\",\n      \"age\": 3\n    },\n    {\n      \"id\": 5,\n      \"name\": \"Leche\",\n      \"color\": \"white\",\n      \"age\": 6\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Garfield\",\n      \"color\": \"ginger\",\n      \"age\": 4\n    },\n    {\n      \"id\": 1,\n      \"name\": \"Milo\",\n      \"color\": \"brown\",\n      \"age\": 5\n    },\n    {\n      \"id\": 3,\n      \"name\": \"Kitty\",\n      \"color\": \"black\",\n      \"age\": 3\n    }\n  ],\n  \"meta\": {\n    \"itemsPerPage\": 5,\n    \"totalItems\": 12,\n    \"currentPage\": 2,\n    \"totalPages\": 3,\n    \"sortBy\": [[\"color\", \"DESC\"]],\n    \"search\": \"i\",\n    \"filter\": {\n      \"age\": \"$gte:3\"\n    }\n  },\n  \"links\": {\n    \"first\": \"http://localhost:3000/cats?limit=5&page=1&sortBy=color:DESC&search=i&filter.age=$gte:3\",\n    \"previous\": \"http://localhost:3000/cats?limit=5&page=1&sortBy=color:DESC&search=i&filter.age=$gte:3\",\n    \"current\": \"http://localhost:3000/cats?limit=5&page=2&sortBy=color:DESC&search=i&filter.age=$gte:3\",\n    \"next\": \"http://localhost:3000/cats?limit=5&page=3&sortBy=color:DESC&search=i&filter.age=$gte:3\",\n    \"last\": \"http://localhost:3000/cats?limit=5&page=3&sortBy=color:DESC&search=i&filter.age=$gte:3\"\n  }\n}\n```\n\n### Example (Cursor-based Pagination)\n\nThe following code exposes a route using cursor-based pagination:\n\n#### Endpoint\n\n```url\nhttp://localhost:3000/cats?limit=5&sortBy=lastVetVisit:ASC&cursor=V998328469600000\n```\n\n#### Result\n\n```json\n{\n  \"data\": [\n    {\n      \"id\": 3,\n      \"name\": \"Shadow\",\n      \"lastVetVisit\": \"2022-12-21T10:00:00.000Z\"\n    },\n    {\n      \"id\": 4,\n      \"name\": \"Luna\",\n      \"lastVetVisit\": \"2022-12-22T10:00:00.000Z\"\n    },\n    {\n      \"id\": 5,\n      \"name\": \"Pepper\",\n      \"lastVetVisit\": \"2022-12-23T10:00:00.000Z\"\n    },\n    {\n      \"id\": 6,\n      \"name\": \"Simba\",\n      \"lastVetVisit\": \"2022-12-24T10:00:00.000Z\"\n    },\n    {\n      \"id\": 7,\n      \"name\": \"Tiger\",\n      \"lastVetVisit\": \"2022-12-25T10:00:00.000Z\"\n    }\n  ],\n  \"meta\": {\n    \"itemsPerPage\": 5,\n    \"cursor\": \"V998328469600000\"\n  },\n  \"links\": {\n    \"previous\": \"http://localhost:3000/cats?limit=5&sortBy=lastVetVisit:DESC&cursor=V001671616800000\",\n    \"current\": \"http://localhost:3000/cats?limit=5&sortBy=lastVetVisit:ASC&cursor=V998328469600000\",\n    \"next\": \"http://localhost:3000/cats?limit=5&sortBy=lastVetVisit:ASC&cursor=V998328037600000\"\n  }\n}\n```\n\n#### Code\n\n```ts\nimport { Controller, Injectable, Get } from '@nestjs/common'\nimport { InjectRepository } from '@nestjs/typeorm'\nimport { FilterOperator, FilterSuffix, Paginate, PaginateQuery, paginate, Paginated } from 'nestjs-paginate'\nimport { Repository, Entity, PrimaryGeneratedColumn, Column } from 'typeorm'\n\n@Entity()\nexport class CatEntity {\n  @PrimaryGeneratedColumn()\n  id: number\n\n  @Column('text')\n  name: string\n\n  @Column('text')\n  color: string\n\n  @Column('int')\n  age: number\n\n  @Column({ nullable: true })\n  lastVetVisit: Date | null\n\n  @CreateDateColumn()\n  createdAt: string\n}\n\n@Injectable()\nexport class CatsService {\n  constructor(\n    @InjectRepository(CatEntity)\n    private readonly catsRepository: Repository<CatEntity>\n  ) {}\n\n  public findAll(query: PaginateQuery): Promise<Paginated<CatEntity>> {\n    return paginate(query, this.catsRepository, {\n      sortableColumns: ['id', 'name', 'color', 'age'],\n      nullSort: 'last',\n      defaultSortBy: [['id', 'DESC']],\n      searchableColumns: ['name', 'color', 'age'],\n      select: ['id', 'name', 'color', 'age', 'lastVetVisit'],\n      filterableColumns: {\n        name: [FilterOperator.EQ, FilterSuffix.NOT],\n        age: true,\n      },\n    })\n  }\n}\n\n@Controller('cats')\nexport class CatsController {\n  constructor(private readonly catsService: CatsService) {}\n\n  @Get()\n  public findAll(@Paginate() query: PaginateQuery): Promise<Paginated<CatEntity>> {\n    return this.catsService.findAll(query)\n  }\n}\n```\n\n### Config\n\n````ts\nconst paginateConfig: PaginateConfig<CatEntity> {\n  /**\n   * Required: true (must have a minimum of one column)\n   * Type: (keyof CatEntity)[]\n   * Description: These are the columns that are valid to be sorted by.\n   */\n  sortableColumns: ['id', 'name', 'color'],\n\n  /**\n   * Required: false\n   * Type: 'first' | 'last'\n   * Description: Define whether to put null values at the beginning\n   * or end of the result set.\n   */\n  nullSort: 'last',\n\n  /**\n   * Required: false\n   * Type: [keyof CatEntity, 'ASC' | 'DESC'][]\n   * Default: [[sortableColumns[0], 'ASC]]\n   * Description: The order to display the sorted entities.\n   */\n  defaultSortBy: [['name', 'DESC']],\n\n  /**\n   * Required: false\n   * Type: (keyof CatEntity)[]\n   * Description: These columns will be searched through when using the search query\n   * param. Limit search scope further by using `searchBy` query param.\n   */\n  searchableColumns: ['name', 'color'],\n\n  /**\n   * Required: false\n   * Type: (keyof CatEntity)[]\n   * Default: None\n   * Description: TypeORM partial selection. Limit selection further by using `select` query param.\n   * https://typeorm.io/select-query-builder#partial-selection\n   * Note: if you do not contain the primary key in the select array, primary key will be added automatically.\n   *\n   * Wildcard support:\n   * - Use '*' to select all columns from the main entity.\n   * - Use 'relation.*' to select all columns from a relation.\n   * - Use 'relation.subrelation.*' to select all columns from nested relations.\n   *\n   * Examples:\n   * select: ['*'] - Selects all columns from main entity\n   * select: ['id', 'name', 'toys.*'] - Selects id, name from main entity and all columns from toys relation\n   * select: ['*', 'toys.*'] - Selects all columns from both main entity and toys relation\n   */\n  select: ['id', 'name', 'color'],\n\n  /**\n   * Required: false\n   * Type: number\n   * Default: 100\n   * Description: The maximum amount of entities to return per page.\n   * Set it to -1, in conjunction with limit=-1 on query param, to disable pagination.\n   */\n  maxLimit: 20,\n\n  /**\n   * Required: false\n   * Type: number\n   * Default: 20\n   */\n  defaultLimit: 50,\n\n  /**\n   * Required: false\n   * Type: TypeORM find options\n   * Default: None\n   * https://typeorm.io/#/find-optionsfind-options.md\n   */\n  where: { color: 'ginger' },\n\n  /**\n   * Required: false\n   * Type: { [key in CatEntity]?: FilterOperator[] } - Operators based on TypeORM find operators\n   * Default: None\n   * https://typeorm.io/#/find-options/advanced-options\n   */\n  filterableColumns: { age: [FilterOperator.EQ, FilterOperator.IN] },\n\n  /**\n   * Required: false\n   * Type: number\n   * Default: None\n   * Description: Bulk-allow any filtered or sorted column (including relation,\n   * embedded and nested paths) whose dot-path depth is at most this value, without\n   * listing each one in `filterableColumns` or `sortableColumns`. Depth is the number\n   * of dot-separated segments, so `allowDepth: 5` permits `a.b.c.d.e` but rejects\n   * `a.b.c.d.e.f`. Only columns the request actually references (via `filter`, a\n   * `filter=` expression, or `sortBy`) are considered. An explicit `filterableColumns`\n   * entry always wins, so its per-column operator restrictions still apply within the\n   * depth.\n   */\n  allowDepth: 5,\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Throw a 400 error when a request uses an unknown filter column\n   * or a non-whitelisted filter operator/suffix. When disabled, invalid filters\n   * are silently ignored.\n   */\n  throwOnInvalidFilter: false,\n\n  /**\n   * Required: false\n   * Type: RelationColumn<CatEntity>\n   * Description: Indicates what relations of entity should be loaded.\n   */\n  relations: {},\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Load eager relations using TypeORM's eager property.\n   * Only works if `relations` is not defined.\n   */\n  loadEagerRelations: true,\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Description: Disables the global condition of \"non-deleted\" for the entity with delete date columns.\n   * https://typeorm.io/select-query-builder#querying-deleted-rows\n   */\n  withDeleted: false,\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Description: Allows to specify withDeleted in query params to retrieve soft deleted records, convinient when you have archive functionality and some toggle to show or hide them. If not enabled explicitly the withDeleted query param will be ignored.\n   */\n  allowWithDeletedInQuery: false,\n\n  /**\n   * Required: false\n   * Type: string\n   * Description: Allow user to choose between limit/offset and take/skip, or cursor-based pagination.\n   * Default: PaginationType.TAKE_AND_SKIP\n   * Options: PaginationType.LIMIT_AND_OFFSET, PaginationType.TAKE_AND_SKIP, PaginationType.CURSOR\n   *\n   * However, using limit/offset can cause problems with relations.\n   */\n  paginationType: PaginationType.LIMIT_AND_OFFSET,\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Generate relative paths in the resource links.\n   */\n  relativePath: true,\n\n  /**\n   * Required: false\n   * Type: string\n   * Description: Overrides the origin of absolute resource links if set.\n   */\n  origin: 'http://cats.example',\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Prevent `searchBy` query param from limiting search scope further. Search will depend upon `searchableColumns` config option only\n   */\n  ignoreSearchByInQueryParam: true,\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Prevent `select` query param from limiting selection further. Partial selection will depend upon `select` config option only\n   */\n  ignoreSelectInQueryParam: true,\n\n  /**\n   * Required: false\n   * Type: 'leftJoinAndSelect' | 'innerJoinAndSelect'\n   * Default: 'leftJoinAndSelect'\n   * Description: Relationships will be joined with either LEFT JOIN or INNER JOIN, and their columns selected. Can be specified per column with `joinMethods` configuration.\n   */\n  defaultJoinMethod: 'leftJoinAndSelect',\n\n  /**\n   * Required: false\n   * Type: MappedColumns<T, JoinMethod>\n   * Default: false\n   * Description: Overrides the join method per relationship.\n   */\n  joinMethods: {age: 'innerJoinAndSelect', size: 'leftJoinAndSelect'},\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Enable multi-word search behavior. When true, each word in the search query\n   * will be treated as a separate search term, allowing for more flexible matching.\n   */\n  multiWordSearch: false,\n\n  /**\n   * Required: false\n   * Type: (qb: SelectQueryBuilder<T>) => SelectQueryBuilder<any>\n   * Default: undefined\n   * Description: Callback that lets you override the COUNT query executed by\n   * paginate(). The function receives a **clone** of the original QueryBuilder,\n   * so it already contains every WHERE clause and parameter parsed by\n   * nestjs-paginate.\n   *\n   * Typical use-case: remove expensive LEFT JOINs or build a lighter DISTINCT\n   * count when getManyAndCount() becomes a bottleneck.\n   *\n   * Example:\n   * ```ts\n   * buildCountQuery: qb => {\n   *   qb.expressionMap.joinAttributes = [];   // drop all joins\n   *   qb.select('p.id').distinct(true);       // keep DISTINCT on primary key\n   *   return qb;                              // paginate() will call .getCount()\n   * }\n   * ```\n   */\n  buildCountQuery: (qb: SelectQueryBuilder<T>) => SelectQueryBuilder<any>,\n\n  /**\n   * Required: false\n   * Type: boolean\n   * Default: false\n   * Description: Build the COUNT query from a pruned clone of the main query\n   * instead of counting over the fully-joined statement. LEFT JOINs that the\n   * WHERE clause does not reference are removed before counting (INNER JOINs\n   * and the parent chains of referenced joins are kept), so configs that join\n   * many relations purely for hydration no longer pay for them in the count.\n   *\n   * The page data query is unaffected. Ignored when buildCountQuery is set;\n   * the pruning helper is exported as `buildOptimizedCountQuery` so it can be\n   * composed inside a custom buildCountQuery as well.\n   */\n  optimizedCount: true,\n}\n````\n\n## Usage with Query Builder\n\nYou can paginate custom queries by passing on the query builder:\n\n### Example\n\n```typescript\nconst queryBuilder = repo\n  .createQueryBuilder('cats')\n  .leftJoinAndSelect('cats.owner', 'owner')\n  .where('cats.owner = :ownerId', { ownerId })\n\nconst result = await paginate<CatEntity>(query, queryBuilder, config)\n```\n\n## Usage with Relations\n\nSimilar as with repositories, you can utilize `relations` as a simplified left-join form:\n\n### Example\n\n#### Endpoint\n\n```url\nhttp://localhost:3000/cats?filter.toys.name=$in:Mouse,String\n```\n\n#### Code\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  relations: { toys: true },\n  sortableColumns: ['id', 'name', 'toys.name'],\n  filterableColumns: {\n    'toys.name': [FilterOperator.IN],\n  },\n}\n\nconst result = await paginate<CatEntity>(query, catRepo, config)\n```\n\n**Note:** Embedded columns on relations have to be wrapped with brackets:\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  sortableColumns: ['id', 'name', 'toys.(size.height)', 'toys.(size.width)'],\n  searchableColumns: ['name'],\n  relations: { toys: true },\n}\n```\n\n## Usage with Nested Relations\n\nSimilar as with relations, you can specify nested relations for sorting, filtering and searching:\n\n### Example\n\n#### Endpoint\n\n```url\nhttp://localhost:3000/cats?filter.home.pillows.color=pink\n```\n\n#### Code\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  relations: { home: { pillows: true } },\n  sortableColumns: ['id', 'name', 'home.pillows.color'],\n  searchableColumns: ['name', 'home.pillows.color'],\n  filterableColumns: {\n    'home.pillows.color': [FilterOperator.EQ],\n  },\n}\n\nconst result = await paginate<CatEntity>(query, catRepo, config)\n```\n\n## Usage with to-many relationships\n\nYou can filter parents by conditions on their to-many relations (one-to-many or many-to-many) using quantifiers.\nQuantifiers define how many related rows must satisfy the condition:\n\n- `$any` (default): at least one related row matches the condition\n- `$all`: all related rows match the condition\n- `$none`: no related rows match the condition\n\n### Filtering on presence or absence of a relation\n\nFiltering the relation _itself_, rather than one of its columns, tests whether the related rows exist\nat all. A relation column carries no value to compare, so `$any` and `$none` are the only filters it\naccepts — this works for **to-one and to-many relations alike**:\n\n```url\nGET /cats?filter.home=$none          # cats that have no home\nGET /cats?filter.home=$any           # cats that have a home\nGET /cats?filter.toys=$none          # cats that own no toys\n```\n\nWhitelist the quantifier like any other operator:\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  sortableColumns: ['id'],\n  filterableColumns: {\n    home: [FilterQuantifier.NONE, FilterQuantifier.ANY],\n  },\n}\n```\n\nAnything else on a relation column — `$null`, `$eq:5`, or a quantifier carrying a value such as\n`$none:red` — is rejected (a `400` when `throwOnInvalidFilter` is set, otherwise the filter is\ndropped). In particular, `filter.home=$null` is **not** a way to select rows without a home; use\n`$none`. To test a *column* of a related row for null, name the column: `filter.home.street=$null`\nselects cats whose home has no street (and therefore excludes cats with no home at all).\n\n### Examples\n\nAssume `CatEntity` has a one‑to‑many relation `toys: CatToyEntity[]` where `CatToyEntity` has a string column `name`.\n\n- At least one toy named exactly \"Ball\":\n\n  ```url\n  GET /cats?filter.toys.name=$any:$eq:Ball\n  ```\n\n- At least one toy whose name contains \"red\" (case-insensitive):\n\n  ```url\n  GET /cats?filter.toys.name=$any:$ilike:red\n  ```\n\n- All toys must have names that start with \"Chew\":\n\n  ```url\n  GET /cats?filter.toys.name=$all:$sw:Chew\n  ```\n\n- No toys named \"Squeaky\", including cats without any toys:\n\n  ```url\n  GET /cats?filter.toys.name=$none:$eq:Squeaky\n  ```\n\n- One or more toys not named \"Squeaky\":\n\n  ```url\n  GET /cats?filter.toys.name=$any:$not:$eq:Squeaky\n  ```\n\n### Requiring ALL of several related values\n\nTo require that a parent has **all** of several related values, use a [`filter=` expression](#filter-expressions-filter)\nwith one term per value. Each relation term is an independent `EXISTS`, so ANDing them means\n\"has a toy named Ball **and** has a toy named Mouse\":\n\n```url\nGET /cats?filter=toys.name=$eq:Ball AND toys.name=$eq:Mouse\n```\n\nThis also composes across independent relation paths, e.g. has a Ball toy and is friends with Garfield:\n\n```url\nGET /cats?filter=toys.name=$eq:Ball AND friends.name=$eq:Garfield\n```\n\n## Usage with Eager Loading\n\nEager loading should work with TypeORM's eager property out of the box:\n\n### Example\n\n#### Code\n\n```typescript\n@Entity()\nexport class CatEntity {\n  // ...\n\n  @OneToMany(() => CatToyEntity, (catToy) => catToy.cat, {\n    eager: true,\n  })\n  toys: CatToyEntity[]\n}\n\nconst config: PaginateConfig<CatEntity> = {\n  loadEagerRelations: true,\n  sortableColumns: ['id', 'name', 'toys.name'],\n  filterableColumns: {\n    'toys.name': [FilterOperator.IN],\n  },\n}\n\nconst result = await paginate<CatEntity>(query, catRepo, config)\n```\n\n## Polymorphic sorting\n\nSometimes the value you want to sort on can come from one of several columns — for\nexample a record that links to one of two relations and you want to order by\nwhichever one is set. Join columns into a single sort term with `~` and the rows\nare ordered by the `COALESCE` of those columns (the first non-`null` value per row).\n\n### Endpoint\n\n```\nhttp://localhost:3000/cats?sortBy=bestFriend.age~nemesis.age:DESC\n```\n\nThis orders by `COALESCE(bestFriend.age, nemesis.age)` — a cat's best friend's age,\nor its nemesis's age when it has no best friend.\n\n### Code\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  // Every column used in a group must be listed in sortableColumns.\n  sortableColumns: ['id', 'bestFriend.age', 'nemesis.age'],\n  relations: { bestFriend: true, nemesis: true },\n}\n```\n\nNotes and limitations:\n\n- The grouped columns must be **type-compatible** (e.g. all numbers, or all dates).\n  Mixing incompatible types lets the database raise its own error; types are not\n  coerced for you.\n- A group is only applied when **every** column in it is listed in `sortableColumns`;\n  otherwise the term is ignored.\n- Only **plain** and **relation** columns are supported in a group. Embedded, virtual,\n  and JSONB-path columns are rejected.\n- Polymorphic groups are **not supported with cursor pagination** (the COALESCE value\n  cannot be encoded into a cursor) and will throw.\n\n## Distance filtering & sorting (`$dist`)\n\n`$dist` is a **column modifier**: unlike filter operators (`$eq`, `$btw`, …), which apply to a\nfilter _value_, a column modifier applies to the column _reference_ itself and turns it into a\nderived scalar. `<name>:$dist:<lat>,<lng>` computes the distance from the origin `lat,lng`, and\nworks anywhere a column is accepted — as a filter key and in `sortBy`. Because it resolves to a\nplain number, every value-side operator (`$lt`, `$lte`, `$gt`, `$btw`, …) and both sort directions\nwork on it unchanged.\n\nDeclare distance columns in `distanceColumns`, keyed by the `<name>` used in the query, then\nwhitelist the `<name>:$dist` **stem** in `sortableColumns` / `filterableColumns` (the origin\nvaries per request, so the full reference can't be listed verbatim):\n\n```typescript\nconst config: PaginateConfig<PlaceEntity> = {\n  sortableColumns: ['id', 'location:$dist'],\n  filterableColumns: {\n    'location:$dist': [FilterOperator.LT, FilterOperator.LTE, FilterOperator.BTW],\n  },\n  distanceColumns: {\n    // Portable Haversine over two numeric columns — works on every database.\n    location: { lat: 'lat', lng: 'lng' },\n  },\n}\n```\n\n```\n# rows within 5 km of (50.85, 4.35), nearest first, then by name\n?filter.location:$dist:50.85,4.35=$lt:5000&sortBy=location:$dist:50.85,4.35:ASC&sortBy=name:ASC\n```\n\n### Distance strategies\n\nThe strategy is chosen from the shape of each `DistanceColumnConfig`:\n\n| Config | Strategy | Result | Databases |\n| --- | --- | --- | --- |\n| `{ lat, lng }` | Haversine great-circle | metres | all |\n| `{ point }` | PostGIS `ST_Distance` over a `geometry`/`geography` column | metres | PostgreSQL/PostGIS |\n| `{ expression }` | your own SQL (takes precedence) | up to you | up to you |\n\n```typescript\ndistanceColumns: {\n  // PostGIS: a geometry/geography column. `srid` defaults to 4326 (WGS 84).\n  geo: { point: 'coordinates', srid: 4326 },\n\n  // Custom expression, e.g. Manhattan distance. The context gives ready-to-use SQL\n  // references and the (validated) origin, so you compose whatever SQL you need.\n  taxicab: {\n    lat: 'lat',\n    lng: 'lng',\n    expression: ({ lat, lng, origin }) =>\n      `abs(${lat} - (${origin.lat})) + abs(${lng} - (${origin.lng}))`,\n  },\n}\n```\n\n### Notes\n\n- The origin (`lat,lng`) is validated as a pair of finite numbers and inlined as numeric SQL\n  literals — a non-numeric origin returns `400 Bad Request`.\n- A distance term is only applied when its `<name>:$dist` stem is whitelisted **and** a matching\n  `distanceColumns` entry exists; a whitelisted stem without config throws.\n- The `point` strategy requires a PostgreSQL/PostGIS connection and throws on other engines.\n- Distance columns are **not supported with cursor pagination** (the computed value cannot be\n  encoded into a cursor) and will throw.\n\n## Filters\n\nFilter operators must be whitelisted per column in `PaginateConfig`.\nBy default, unknown filter columns and invalid filter operators are ignored. Set\n`throwOnInvalidFilter: true` to return `400 Bad Request` instead.\n\n### Examples\n\n#### Code\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  // ...\n  filterableColumns: {\n    // Enable individual operators on a column\n    id: [FilterOperator.EQ, FilterSuffix.NOT],\n\n    // Enable all operators on a column\n    age: true,\n  },\n}\n```\n\n`?filter.name=$eq:Milo` is equivalent with `?filter.name=Milo`\n\n`?filter.age=$btw:4,6` where column `age` is between `4` and `6`\n\n`?filter.id=$not:$in:2,5,7` where column `id` is **not** `2`, `5` or `7`\n\n`?filter.summary=$not:$ilike:term` where column `summary` does **not** contain `term`\n\n`?filter.summary=$sw:term` where column `summary` starts with `term`\n\n`?filter.seenAt=$null` where column `seenAt` is `NULL`\n\n`?filter.seenAt=$not:$null` where column `seenAt` is **not** `NULL`\n\n`?filter.createdAt=$btw:2022-02-02,2022-02-10` where column `createdAt` is between the dates `2022-02-02` and `2022-02-10`\n\n`?filter.createdAt=$lt:2022-12-20T10:00:00.000Z` where column `createdAt` is before iso date `2022-12-20T10:00:00.000Z`\n\n`?filter.roles=$contains:moderator` where column `roles` is an array and contains the value `moderator`\n\n`?filter.roles=$contains:moderator,admin` where column `roles` is an array and contains the values `moderator` and `admin`\n\n### Filter expressions (`filter=`)\n\nThe per-column `filter.<column>=` parameters above are always combined with `AND`. For\narbitrary boolean logic, pass a single `filter=` expression instead. It uses the same\ncolumn and `$op:value` syntax, combined with `AND`, `OR`, `NOT` (case-insensitive,\nprecedence `NOT` > `AND` > `OR`) and parentheses:\n\n```\n?filter=color=$eq:black AND age=$gte:3\n?filter=(color=$eq:black OR color=$eq:white) AND NOT name=$eq:Leche\n?filter=home.name=$eq:House AND toys.name=$eq:String\n```\n\n- The columns and operators are validated against `filterableColumns`, exactly like the\n  per-column form. An unknown column or disallowed operator always returns `400 Bad Request`.\n- Relation columns are matched with correlated `EXISTS` subqueries, so they compose under\n  `OR`/`NOT` and never join the relation into the result set. `NOT toys.name=$eq:Ball` means\n  \"no matching toy exists\".\n- Root, embedded, [JSONB key-path](#jsonb-support), and [polymorphic (`~`)](#polymorphic-columns-)\n  columns are all valid leaves and apply as direct conditions. Every operator, suffix and\n  quantifier from the per-column form works unchanged (e.g. `age=$btw:3,5`, `age=$not:$null`,\n  `toys.name=$none:$eq:Ball`); JSONB filtering keeps its PostgreSQL/CockroachDB-only limitation.\n- A value containing whitespace or parentheses must be quoted with `\"` or `'`:\n  `?filter=home.name=$eq:\"Cat Mansion\"`.\n\nInside a quoted value, a backslash escapes a following quote or backslash (`\\\"`, `\\'`, `\\\\`),\nso a value can contain either quote character:\n\n```\n?filter=name=$eq:\"Milo \\\"the cat\\\"\"   # value: Milo \"the cat\"\n?filter=name=$eq:'it\\'s mine'         # value: it's mine\n?filter=name=$eq:\"a\\\"b\\'c\\\\d\"         # value: a\"b'c\\d\n```\n\nAny other backslash is kept literal, so Windows paths and regexes need no doubling\n(`?filter=path=$eq:\"C:\\Users\"` → `C:\\Users`). You can also switch quote styles instead of\nescaping — `?filter=name=$eq:'O'\"'\"'Malley'`-style concatenation still works — but the\nbackslash form is usually clearer. Doubling a quote does **not** escape it\n(`\"say \"\"hi\"\"\"` yields `say hi`). Remember to URL-encode the `filter=` value; the examples\nabove are shown decoded for readability.\n\nThe value-level `$not` suffix (negating a single comparison, e.g. `color=$not:$eq:white`) is\ndistinct from the boolean `NOT` (negating a whole term or group).\n\nBecause the expression is parsed recursively, an unbounded expression is a denial-of-service\nvector: a deeply nested or very wide payload can exhaust the call stack or blow up the\ngenerated SQL. Every leaf, `AND`/`OR`/`NOT` operator, and parenthesised group counts as one\nnode, and the total is capped at **100** by default. Override the cap per endpoint with\n`filterExpressionMaxComplexity` in the config, or globally via `updateGlobalConfig({ defaultFilterExpressionMaxComplexity })`.\nAn expression over the limit returns `400 Bad Request`.\n\n```typescript\nconst config: PaginateConfig<CatEntity> = {\n  sortableColumns: ['id'],\n  filterableColumns: { color: true, name: true },\n  filterExpressionMaxComplexity: 50, // reject filter= expressions with more than 50 nodes\n}\n```\n\n### Polymorphic columns (`~`)\n\nA filter column may group several columns with `~` to filter on their `COALESCE` — the first\nnon-null value per row (the same `~` syntax as polymorphic sorting). This works in both the\n`filter=` expression and the per-column form:\n\n```url\n?filter=bestFriend.age~nemesis.age=$eq:4\n?filter.bestFriend.age~nemesis.age=$gte:5\n```\n\nEach part must be a plain or **to-one** relation column (not embedded, virtual, JSONB, or to-many).\nRelation parts are left-joined automatically and are not added to the result set. Parts may be\n**nested** (`a.b.c.leaf`) as long as every segment before the leaf is a to-one relation; each hop is\njoined step by step, and a prefix shared across parts (e.g. two parts both starting `a.b`) reuses the\nsame join rather than colliding:\n\n```url\n?filter=bestFriend.home.street~home.street=$eq:Downtown\n```\n\n## JSONB Support\n\nYou can sort, search, and filter on JSONB columns using dot notation to access nested fields.\n\n### Database support matrix\n\n| Feature                                   | PostgreSQL / CockroachDB | MySQL / MariaDB                         | SQLite               |\n| ----------------------------------------- | ------------------------ | --------------------------------------- | -------------------- |\n| **Sorting** (`sortableColumns`)           | Yes (`#>>`)              | Yes (`JSON_UNQUOTE(JSON_EXTRACT(...))`) | Yes (`json_extract`) |\n| **Searching** (`searchableColumns`)       | Yes                      | Yes                                     | Yes                  |\n| **Filtering** (`$eq`, `$in`, `$contains`) | Yes (`@>` containment)   | No                                      | No                   |\n\n> **Note:** Sorting and searching on JSONB paths is supported across all database engines — the library automatically uses the correct JSON extraction function for your DB. Filtering via `$eq`, `$in`, and `$contains` uses PostgreSQL's `@>` containment operator (via TypeORM's `JsonContains`) and is only supported on **PostgreSQL** and **CockroachDB**.\n\n### Filtering operators (PostgreSQL / CockroachDB only)\n\n| Operator    | Description                                              |\n| ----------- | -------------------------------------------------------- |\n| `$eq`       | Exact match via containment (`col @> '{\"key\":\"value\"}'`) |\n| `$in`       | Match any of a comma-separated list of values            |\n| `$contains` | Match if a JSON array contains the value                 |\n\n### Direct JSONB column\n\n```\n?filter.metadata.enabled=$eq:true\n```\n\nwhere `metadata` is a JSONB column and the filter matches rows whose `metadata` object contains `{ \"enabled\": true }`.\n\n### JSONB column through a relation\n\nUse the same dot notation to traverse relations before accessing the JSONB field:\n\n```\n?filter.settings.theme=$eq:dark\n```\n\nwhere `settings` is a relation whose JSONB column `theme` is filtered.\n\n```typescript\nconst config: PaginateConfig<UserEntity> = {\n  relations: { settings: true },\n  filterableColumns: {\n    'settings.theme': [FilterOperator.EQ, FilterOperator.IN],\n  },\n}\n```\n\n### Deeply nested JSONB paths\n\nPaths inside the JSON value itself can be arbitrarily deep:\n\n```\n?filter.settings.ui.sidebar.color=$eq:blue\n```\n\nRegardless of nesting depth, the library walks TypeORM entity metadata to determine where the relation chain ends and the JSON key path begins, then builds the correct `@>` containment expression automatically.\n\n### `$in` operator on JSONB\n\n```\n?filter.metadata.status=$in:active,pending\n?filter.settings.theme=$in:dark,light\n```\n\nEach value is expanded into its own `@>` condition joined with `OR`:\n\n```sql\n(col @> '{\"status\":\"active\"}' OR col @> '{\"status\":\"pending\"}')\n```\n\n`$not:$in` is also supported and produces `NOT` conditions joined with `AND`:\n\n```\n?filter.metadata.status=$not:$in:banned,suspended\n```\n\n## Combining filters on one column\n\nRepeating a `filter.<column>=` parameter applies all of its conditions with **AND**, e.g. a range:\n\n`?filter.createdAt=$gt:2022-02-02&filter.createdAt=$lt:2022-02-10` — `createdAt` after `2022-02-02` **and** before `2022-02-10`\n\nFor **OR** (within a column or across columns) and arbitrary boolean logic, use a\n[`filter=` expression](#filter-expressions-filter):\n\n`?filter=id=$eq:5 OR id=$eq:7` — `id` equal to `5` **or** `7`\n\n## Cursor-based Pagination\n\n- `paginationType: PaginationType.CURSOR`\n- Cursor format:\n  - Numbers: `[prefix1][integer:11 digits][prefix2][decimal:4 digits]` (e.g., `Y00000000001V2500` for -1.25 in ASC).\n  - Dates: `[prefix][value:15 digits]` (e.g., `V001671444000000` for a timestamp in DESC).\n- Prefixes:\n  - `null`: `A` (lowest priority, last in results).\n  - ASC:\n    - positive-int: `V` (greater than or equal to 1), `X` (less than 1)\n    - positive-decimal: `V` (not zero), `X` (zero)\n    - zero-int: `X`\n    - zero-decimal: `X`\n    - negative-int: `Y`\n    - negative-decimal: `V`\n  - DESC:\n    - positive-int: `V`\n    - positive-decimal: `V`\n    - zero-int: `N`\n    - zero-decimal: `X`\n    - negative-int: `M` (less than or equal to -1), `N` (greater than -1)\n    - negative-decimal: `V` (not zero), `X` (zero)\n- Logic:\n  - Numbers: Split into integer (11 digits) and decimal (4 digits) parts, with separate prefixes. Supports negative values, with sorting adjusted per direction.\n  - Dates: Single prefix with 15-digit timestamp padded with zeros.\n  - ASC: Negative → Zero → Positive → Null.\n  - DESC: Positive → Zero → Negative → Null.\n- Notes:\n  - Multiple columns: `sortBy` can include multiple columns to create and sort by the cursor (e.g., `sortBy=age:ASC&sortBy=createdAt:DESC`), but at least one column must be unique to ensure consistent ordering.\n  - Supported columns: Cursor sorting is available for numeric and date-related columns (string columns are not supported).\n  - Decimal support: Numeric columns can include decimals, limited to 11 digits for the integer part and 4 digits for the decimal part.\n\n## Swagger\n\nYou can use two default decorators @ApiOkResponsePaginated and @ApiPagination to generate swagger documentation for your endpoints\n\n`@ApiOkPaginatedResponse` is for response body, return http[](https://) status is 200\n\n`@ApiPaginationQuery` is for query params\n\n```typescript\n  @Get()\n  @ApiOkPaginatedResponse(\n    UserDto,\n    USER_PAGINATION_CONFIG,\n  )\n  @ApiPaginationQuery(USER_PAGINATION_CONFIG)\n  async findAll(\n    @Paginate()\n    query: PaginateQuery,\n  ): Promise<Paginated<UserEntity>> {\n\n  }\n```\n\nThere is also some syntax sugar for this, and you can use only one decorator `@PaginatedSwaggerDocs` for both response body and query params\n\n```typescript\n  @Get()\n  @PaginatedSwaggerDocs(UserDto, USER_PAGINATION_CONFIG)\n  async findAll(\n    @Paginate()\n    query: PaginateQuery,\n  ): Promise<Paginated<UserEntity>> {\n\n  }\n```\n\nIt is also possible to customize a swagger UI completely or partially, by following the default implementation and creating your own version of PaginatedSwaggerDocs decorator\n\nLet's say you want some custom appearance for SortBy, you need to create a decorator for it\n\n```typescript\nexport function CustomSortBy(paginationConfig: PaginateConfig<any>) {\n  return ApiQuery({\n    name: 'sortBy',\n    isArray: true,\n    description: `My custom sort by description`,\n    required: false,\n    type: 'string',\n  })\n}\n```\n\nNow you can create your version of the whole docs decorator and use it\n\n```typescript\nconst CustomApiPaginationQuery = (paginationConfig: PaginateConfig<any>) => {\n  return applyDecorators(\n    ...[\n      Page(),\n      Limit(paginationConfig),\n      Where(paginationConfig),\n      CustomSortBy(paginationConfig),\n      Search(paginationConfig),\n      SearchBy(paginationConfig),\n      Select(paginationConfig),\n    ].filter((v): v is MethodDecorator => v !== undefined)\n  )\n}\n\nfunction CustomPaginatedSwaggerDocs<DTO extends Type<unknown>>(dto: DTO, paginatedConfig: PaginateConfig<any>) {\n  return applyDecorators(ApiOkPaginatedResponse(dto, paginatedConfig), CustomApiPaginationQuery(paginatedConfig))\n}\n```\n\nYou can use CustomPaginatedSwaggerDocs instead of default PaginatedSwaggerDocs\n\n## Troubleshooting\n\nThe package does not report error reasons in the response bodies. They are instead\nreported as `debug` level [logging](https://docs.nestjs.com/techniques/logger#logger).\n\nCommon errors include missing `sortableColumns` or `filterableColumns` (the latter only affects filtering).\n","readmeFilename":"README.md"}