UNPKG

abi.js

Version:

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

88 lines (83 loc) 2.8 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/serve.bun.ts var serve_bun_exports = {}; __export(serve_bun_exports, { serve: () => serve }); module.exports = __toCommonJS(serve_bun_exports); // src/defaults.ts var defaultPort = 3e3; var defaultHost = "0.0.0.0"; // src/helpers.ts function isPort(port) { return typeof port === "number"; } function isHostname(host) { return typeof host === "string"; } function isAddress(address) { return typeof address === "object" && "port" in address && "hostname" in address && isPort(address.port) && isHostname(address.hostname); } function isHandler(handler) { return typeof handler === "function"; } function hasHandler(options) { return "handler" in options && isHandler(options.handler); } function isServeOptions(options) { return isAddress(options) && hasHandler(options); } function toServeOptions(arg1, arg2, arg3) { let options; if (typeof arg1 === "function") { options = { port: defaultPort, hostname: defaultHost, handler: arg1 }; } else if (isPort(arg1) && isHandler(arg2)) { options = { port: arg1, hostname: defaultHost, handler: arg2 }; } else if (isHostname(arg1) && isHandler(arg2)) { options = { port: defaultPort, hostname: arg1, handler: arg2 }; } else if (isPort(arg1) && isHostname(arg2) && isHandler(arg3)) { options = { port: arg1, hostname: arg2, handler: arg3 }; } else if (isAddress(arg1) && isHandler(arg2)) { options = { port: arg1.port, hostname: arg1.hostname, handler: arg2 }; } else if (isServeOptions(arg1)) { options = arg1; } else { throw new Error("Invalid arguments for serve function"); } return options; } // src/serve.bun.ts function serve(arg1, arg2, arg3) { const { port, hostname, handler } = toServeOptions(arg1, arg2, arg3); const server = Bun.serve({ port, hostname, fetch: handler }); return { port: server.port, hostname: server.hostname }; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { serve });