UNPKG

quick-res

Version:

A set of small utilities that makes Response. q.json(), q.text(), q.html(), .... can make your code shorter and more readable while also providing good support for Tree-Shaking.

97 lines (64 loc) 2.06 kB
# quick-res > 🚀 A set of small utilities that makes Response. q.json(), q.text(), q.html(), .... can make your code shorter and more readable while also providing good support for Tree-Shaking. ``` npm install quick-res ``` - Works fine with any kinds of worker that supports Web Standard API. - Supports both CommonJS and ESM. - Small! Only 922 bytes (ESM). See [screenshot](#screenshot). ### Usage Cloudflare workers example: ```ts import * as quick from 'quick-res'; export default { async fetch(req: Request): Promise<Response> { const u = new URL(req.url); if (u.pathname === '/check') { const version = u.searchParams.get('version'); if (!version) { return quick.text('Invalid', 400); } return quick.json({ version }); } return quick.notFound(); }, }; ``` ### Tree-Shaking [Tree-Shaking](https://webpack.js.org/guides/tree-shaking/) is enabled by default. Your bundler should only include functions that you use. ### API #### text(string, status?, headers?) #### text(string, responseInit?) Responds as text/plain. #### html(string, status?, headers?) #### html(string, responseInit?) Responds as text/html. #### json(object, status?, headers?) #### json(object, responseInit?) Responds as application/json. `object` will be automatically converted to JSON using `JSON.stringify`. #### resp(bodyInit, status?, headers?) #### resp(bodyInit, responseInit?) Responds stream or whatever you want. #### notFound() 404. #### redirect Not included. Use `Response.redirect` instead. ### Create your own utilities ```ts import * as quick from 'quick-res'; export function forbidden() { return quick.text('Forbidden', 403); } export function badRequest(info: unknown) { return quick.json(info, 400); } export function internalError(error: Error) { return quick.text(error.message, 500); } ``` ### Screenshot Only 922 bytes (ESM) <img src="https://github.com/ReeganExE/quick-res/blob/main/code.webp?raw=true" alt="small code"> # LICENSE New BSD License ©Ninh Pham - ReeganExE