UNPKG

abi.js

Version:

[![typescript-icon]][typescript-link] [![license-icon]][license-link] [![status-icon]][status-link] [![ci-icon]][ci-link] [![twitter-icon]][twitter-link]

86 lines (84 loc) 2.41 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/context.ts var context_exports = {}; __export(context_exports, { Context: () => Context }); module.exports = __toCommonJS(context_exports); var Context = class { constructor(request, logger = console) { this.request = request; this.logger = logger; } get url() { return new URL(this.request.url); } get method() { return this.request.method; } get pathname() { return decodeURIComponent(this.url.pathname); } respond(body, headers, status, statusText) { return new Response(body, { status, statusText, headers }); } redirect(location, status) { return Response.redirect(location, status); } json(arg1, arg2) { if (arg1 === void 0 && arg2 === void 0) { return this.request.json(); } return new Response(JSON.stringify(arg1), arg2); } text(body, init) { return new Response(body, init); } render(result) { if (result instanceof Response) { return result; } if (typeof result === "string") { return this.text(result); } if (typeof result === "number") { return this.respond(null, {}, result); } return this.json(result); } abort(code = 500, message, headers) { const err = `Error ${code}${message ? `: ${message}` : ""}`; this.logger.error(err); return this.respond(err, headers, code); } log(...args) { this.logger.log(...args); } warn(...args) { this.logger.warn(...args); } error(...args) { this.logger.error(...args); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { Context });