{"_id":"@abdavid9207/paginator-adapter","_rev":"1-a420d2c0981f6c5d60c3cea49a09ffbf","name":"@abdavid9207/paginator-adapter","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@abdavid9207/paginator-adapter","version":"1.0.0","keywords":["pagination","adapter","laravel","quasar"],"author":{"name":"AbDavid92","email":"lleraabi@gmail.com"},"license":"MIT","_id":"@abdavid9207/paginator-adapter@1.0.0","maintainers":[{"name":"abdavid92","email":"lleraabi@gmail.com"}],"homepage":"https://github.com/Abdavid92/paginator-adapter#readme","bugs":{"url":"https://github.com/Abdavid92/paginator-adapter/issues"},"dist":{"shasum":"c69b505e358d6dbdf5a2b48def4821c3c854b847","tarball":"https://registry.npmjs.org/@abdavid9207/paginator-adapter/-/paginator-adapter-1.0.0.tgz","fileCount":5,"integrity":"sha512-esBQqdi02ZCZOdYN0cOFjJH7JhBY+Yl84M+Bj0Dr83eV495M5/pZD9xQdTyCbKDAIiD8i2jY1oYUyBqRNiobcQ==","signatures":[{"sig":"MEUCIHjFCW/iQEUFycOerId2l74aUFHDQ7MXn9tMX6MfhBjjAiEA/rgpLLPOzjrGCi5a58i9/G3wWKw1pTsSsHgbVw1xYR0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9566},"main":"./dist/paginator-adapter.js","type":"module","types":"./dist/index.d.ts","module":"./dist/paginator-adapter.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/paginator-adapter.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/paginator-adapter.js"}}},"gitHead":"4bd9d2ef5031568e03270072c8b7a1a1e07c89b7","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"abdavid92","email":"lleraabi@gmail.com"},"repository":{"url":"git+https://github.com/Abdavid92/paginator-adapter.git","type":"git"},"_npmVersion":"10.5.2","description":"A paginator adapter for several frameworks.","directories":{},"_nodeVersion":"20.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.1","vitest":"^2.0.5","typescript":"^5.5.3","vite-plugin-dts":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/paginator-adapter_1.0.0_1726842005659_0.5409140413658988","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@abdavid9207/paginator-adapter","description":"A paginator adapter for several frameworks.","version":"1.0.1","type":"module","scripts":{"dev":"vite","build":"tsc && vite build"},"author":{"name":"AbDavid92","email":"lleraabi@gmail.com"},"repository":{"url":"git+https://github.com/Abdavid92/paginator-adapter.git","type":"git"},"publishConfig":{"access":"public"},"keywords":["pagination","adapter","laravel","quasar"],"license":"MIT","main":"./dist/paginator-adapter.js","module":"./dist/paginator-adapter.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/paginator-adapter.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/paginator-adapter.js"}}},"devDependencies":{"typescript":"^5.5.3","vite":"^5.4.1","vite-plugin-dts":"^4.2.1","vitest":"^2.0.5"},"_id":"@abdavid9207/paginator-adapter@1.0.1","gitHead":"fd1c7aa0a0bbac250f3eac1b7ff069c3c8c23757","bugs":{"url":"https://github.com/Abdavid92/paginator-adapter/issues"},"homepage":"https://github.com/Abdavid92/paginator-adapter#readme","_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"integrity":"sha512-EYbDQ19nO5Nig3eqRDR1Ru8cfg3p0SUAokP9wMVriDdlB9Sch2xTLNgee/Hn7VQiQFreYAPTQ7ICU/1WFbX3zg==","shasum":"bce7561a17536ba28850b85ac18d81f7d8b15725","tarball":"https://registry.npmjs.org/@abdavid9207/paginator-adapter/-/paginator-adapter-1.0.1.tgz","fileCount":5,"unpackedSize":9839,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEePJoGLqS5k1q9XztjUdpLp/FdCBk50fb3oatj+5GSdAiByGAcDVuyLziOnxGsfqQJkaRzboqWSeYD4BrblNLlx+Q=="}]},"_npmUser":{"name":"abdavid92","email":"lleraabi@gmail.com"},"directories":{},"maintainers":[{"name":"abdavid92","email":"lleraabi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/paginator-adapter_1.0.1_1727185847920_0.8274594773310258"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-20T14:20:05.554Z","modified":"2024-09-24T13:50:48.287Z","1.0.0":"2024-09-20T14:20:05.849Z","1.0.1":"2024-09-24T13:50:48.091Z"},"bugs":{"url":"https://github.com/Abdavid92/paginator-adapter/issues"},"author":{"name":"AbDavid92","email":"lleraabi@gmail.com"},"license":"MIT","homepage":"https://github.com/Abdavid92/paginator-adapter#readme","keywords":["pagination","adapter","laravel","quasar"],"repository":{"url":"git+https://github.com/Abdavid92/paginator-adapter.git","type":"git"},"description":"A paginator adapter for several frameworks.","maintainers":[{"name":"abdavid92","email":"lleraabi@gmail.com"}],"readme":"### Paginator adapter\n\nThis is an adapter for various paginations between backend and frontend frameworks\n\nInstall:\n`npm i @abdavid9207/paginator-adapter`\n\nHow to use:\n\n    `\n    /**\n     * TServerPagination is an interfaze with server pagination schema. \n     * TClientPagination is an interfaze with client pagination schema.\n     */\n    const paginator = createPagination<TServerPagination, TClientPagination>(\n        url: 'http://some.server.com',\n        adapter: new QuasarAdapter(), //Or other adapter implemented for you.\n        filters: [], //Optional.\n        options: {} //Optional to.\n    )\n    \n    //For Laravel and Quasar pagination use this.\n    const laravelPaginator = createLaravelQuasarPagination<TData>(\n        url: 'http://laravel.server.com',\n        filters: [], //Optional.\n        options: {} //Optional to.\n    )`\n\nAn adapter is used to create the body of the request to the server.\nYou can create any adapter. You just have to create a class that implements the interface `Adapter<TClientPAginator>`.\n\nThe paginator uses native javascript `fetch` to make the request. \nBut you can use any http client by implementing the method `onRequest`.\n\nFor example, using axios:\n\n    `const paginator = createPagination(\n        url: 'http://some.server.com',\n        adapter: new QuasarAdapter(), //Or other adapter implemented for you.\n        filters: [], //Optional.\n        options: {\n            /**\n             * Filter can be empty array.\n             */\n            onRequest: (url: string, requestBody: Record<string, any>, filters: Filter[]): Promise<TServerPagination> => {\n\n                requestBody.filters = JSON.stringify(filters)\n\n                return axios.get(url, {\n                    data: requestBody\n                })\n            }\n        }\n    )`","readmeFilename":"README.md"}