0.0.11 • Published 8 months ago

quick-res v0.0.11

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

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.

Usage

Cloudflare workers example:

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 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

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)

LICENSE

New BSD License ©Ninh Pham - ReeganExE

0.0.11

8 months ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago