UNPKG

phecda-server

Version:

server framework that provide IOC/type-reuse/http&rpc-adaptor

250 lines (242 loc) 4.58 kB
import { __name } from "./chunk-URKOYTBU.mjs"; // src/decorators/param.ts import { setMeta } from "phecda-core"; function BaseParam(data) { return (target, property, index) => { if (!property) return; setMeta(target, property, index, data); }; } __name(BaseParam, "BaseParam"); function Body(key = "") { return BaseParam({ type: "body", key }); } __name(Body, "Body"); function Head(key) { return BaseParam({ type: "headers", key: key.toLowerCase() }); } __name(Head, "Head"); function Query(key = "") { return BaseParam({ type: "query", key }); } __name(Query, "Query"); function Param(key) { return BaseParam({ type: "params", key }); } __name(Param, "Param"); function Arg(target, k, index) { BaseParam({ type: "args", key: `${index}` })(target, k, index); } __name(Arg, "Arg"); function UploadFile(key = "") { return BaseParam({ type: "file", key }); } __name(UploadFile, "UploadFile"); // src/decorators/aop.ts import { setMeta as setMeta2 } from "phecda-core"; function Guard(...guards) { return (target, property) => { setMeta2(target, property, void 0, { guards }); }; } __name(Guard, "Guard"); function Addon(...addons) { return (target, property) => { setMeta2(target, property, void 0, { addons }); }; } __name(Addon, "Addon"); function Filter(filter) { return (target, property) => { setMeta2(target, property, void 0, { filter }); }; } __name(Filter, "Filter"); function Pipe(pipe) { return (target, property, index) => { if (typeof index === "number") { BaseParam({ pipe })(target, property, index); return; } setMeta2(target, property, void 0, { pipe }); }; } __name(Pipe, "Pipe"); // src/decorators/http.ts import { setMeta as setMeta3 } from "phecda-core"; function Route(route, method) { return (target, property) => { setMeta3(target, property, void 0, { http: { route, method } }); }; } __name(Route, "Route"); function Header(headers) { return (target, property) => { setMeta3(target, property, void 0, { http: { headers } }); }; } __name(Header, "Header"); function Get(route = "") { return Route(route, "get"); } __name(Get, "Get"); function Post(route = "") { return Route(route, "post"); } __name(Post, "Post"); function Put(route = "") { return Route(route, "put"); } __name(Put, "Put"); function Search(route = "") { return Route(route, "search"); } __name(Search, "Search"); function Patch(route = "") { return Route(route, "patch"); } __name(Patch, "Patch"); function Delete(route = "") { return Route(route, "delete"); } __name(Delete, "Delete"); function Controller(prefix = "") { return (target) => { setMeta3(target, void 0, void 0, { controller: "http", http: { prefix } }); }; } __name(Controller, "Controller"); // src/decorators/rpc.ts import { setMeta as setMeta4 } from "phecda-core"; function Queue(queue = "", isEvent) { return (target, property) => { setMeta4(target, property, void 0, { rpc: { queue, isEvent } }); }; } __name(Queue, "Queue"); function Rpc() { return (target) => { setMeta4(target, void 0, void 0, { controller: "rpc" }); }; } __name(Rpc, "Rpc"); // src/decorators/ctx.ts import { SHARE_KEY, setMeta as setMeta5 } from "phecda-core"; var Ctx = /* @__PURE__ */ __name((target, property) => { setMeta5(target, SHARE_KEY, void 0, { ctxs: [ property ] }); }, "Ctx"); function Define(key, value) { return (target, property, index) => { if (typeof index === "number") { setMeta5(target, property, void 0, { params: [ { define: { [key]: value }, index } ] }); } else { setMeta5(target, property, void 0, { define: { [key]: value } }); } }; } __name(Define, "Define"); // src/decorators/openapi.ts import { setMeta as setMeta6 } from "phecda-core"; function ApiDoc(config) { return function(target, propertyKey, _descriptor) { setMeta6(target, propertyKey, void 0, { openapi: config }); }; } __name(ApiDoc, "ApiDoc"); export { BaseParam, Body, Head, Query, Param, Arg, UploadFile, Guard, Addon, Filter, Pipe, Route, Header, Get, Post, Put, Search, Patch, Delete, Controller, Queue, Rpc, Ctx, Define, ApiDoc };