@busy-hour/blaze
Version:
<h1 align='center'>🔥 Blaze</h1> <div align='center'> An event driven framework for 🔥 Hono.js </div>
82 lines (81 loc) • 2.76 kB
JavaScript
;
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);
var router_exports = {};
__export(router_exports, {
assignOpenAPIRegistry: () => assignOpenAPIRegistry,
createOpenApiRouter: () => createOpenApiRouter,
fixOpenApiPath: () => fixOpenApiPath
});
module.exports = __toCommonJS(router_exports);
var import_url = require("hono/utils/url");
var import_logger = require("../../internal/logger/index");
var import_rest = require("../constant/rest/index");
function assignOpenAPIRegistry(router, docPath, def) {
if (!router.openAPIRegistry)
return;
switch (def.type) {
case "component":
return router.openAPIRegistry.registerComponent(
def.componentType,
def.name,
def.component
);
case "route":
return router.openAPIRegistry.registerPath({
...def.route,
path: (0, import_url.mergePath)(docPath, def.route.path)
});
case "webhook":
return router.openAPIRegistry.registerWebhook({
...def.webhook,
path: (0, import_url.mergePath)(docPath, def.webhook.path)
});
case "schema":
return router.openAPIRegistry.register(
def.schema._def.openapi._internal.refId,
def.schema
);
case "parameter":
return router.openAPIRegistry.registerParameter(
def.schema._def.openapi._internal.refId,
def.schema
);
default: {
const errorIfNotExhaustive = def;
throw import_logger.Logger.throw(`Unknown registry type: ${errorIfNotExhaustive}`);
}
}
}
function fixOpenApiPath(path) {
return path.replaceAll(/:([^/]+)/g, "{$1}");
}
function createOpenApiRouter(route) {
const method = route.method === import_rest.REST_METHOD.ALL ? import_rest.REST_METHOD.POST : route.method;
return {
...route,
path: fixOpenApiPath(route.path),
method: method.toLowerCase()
};
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
assignOpenAPIRegistry,
createOpenApiRouter,
fixOpenApiPath
});