phecda-server
Version:
server framework that provide IOC/type-reuse/http&rpc-adaptor
250 lines (242 loc) • 4.58 kB
JavaScript
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
};