UNPKG

recharge-utils

Version:

A utility package for recharge-related operations and logic

83 lines (59 loc) 2.11 kB
# recharge-utils A utility package for recharge-related operations and logic, including file upload, JWT handling, HTML-to-PDF conversion, and grouped Express routes. ## Features - **File upload utility** with configurable storage, file type, and size limits ([src/file-upload.js](src/file-upload.js)) - **JWT token generation and verification** ([src/jwt.js](src/jwt.js)) - **HTML to PDF conversion** using Puppeteer ([src/helper.js](src/helper.js)) - **Grouping Express routes** with middleware ([src/group-route.js](src/group-route.js)) ## Installation Install the package dependencies: ```sh npm install express multer puppeteer-extra puppeteer-extra-plugin-stealth ``` ## Usage ### File Upload ```js const { uploadFile } = require('@iftekher2108/recharge-utils'); const express = require('express'); const app = express(); const upload = uploadFile({ dirPath: '/uploads', fileName: 'myfile', maxSize: 10240, // in KB type: ['png', 'jpg', 'pdf'] }); app.post('/upload', upload.single('file'), (req, res) => { res.send('File uploaded!'); }); ``` ### JWT ```js const { generateToken, verifyToken } = require('@iftekher2108/recharge-utils'); const token = generateToken({ id: 1, email: 'user@example.com' }); const payload = verifyToken(token); ``` ### HTML to PDF ```js const { htmlToPdf } = require('@iftekher2108/recharge-utils'); const express = require('express'); const app = express(); app.post('/pdf', (req, res) => { htmlToPdf({ html: '<h1>Hello</h1>', res }); }); ``` ### Grouped Routes ```js const { GroupRoute } = require('@iftekher2108/recharge-utils'); const express = require('express'); const app = express(); const router = express.Router(); const middleware1 = (req, res, next) => { /* ... */ next(); }; const middleware2 = (req, res, next) => { /* ... */ next(); }; const handler = (req, res) => res.send('Grouped route!'); GroupRoute(router, [middleware1, middleware2], (groupedRouter) => { groupedRouter.get('/route', handler); }); app.use(router); ``` ## License MIT