phecda-server 7.0.0-alpha.9 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/assets/schema.json +12 -9
- package/bin/cli.mjs +96 -37
- package/dist/chunk-5SUY5UVC.js +258 -0
- package/dist/chunk-5SUY5UVC.js.map +1 -0
- package/dist/{chunk-7ZGYJ5OW.mjs → chunk-6JAHCTOT.mjs} +7 -2
- package/dist/chunk-6JAHCTOT.mjs.map +1 -0
- package/dist/{chunk-V5EYXVJT.js → chunk-EDAWJVJ4.js} +42 -25
- package/dist/chunk-EDAWJVJ4.js.map +1 -0
- package/dist/{chunk-FX3LDQII.js → chunk-H7OCHDZT.js} +61 -70
- package/dist/chunk-H7OCHDZT.js.map +1 -0
- package/dist/chunk-KRUOHWFR.js +306 -0
- package/dist/chunk-KRUOHWFR.js.map +1 -0
- package/dist/{chunk-KJUD2BKE.js → chunk-KUGU3UGO.js} +23 -18
- package/dist/chunk-KUGU3UGO.js.map +1 -0
- package/dist/{chunk-CVPZWDXU.mjs → chunk-LBH4RXQQ.mjs} +11 -20
- package/dist/chunk-LBH4RXQQ.mjs.map +1 -0
- package/dist/{chunk-FXTJ3BJ6.mjs → chunk-MDPW6WGF.mjs} +10 -4
- package/dist/chunk-MDPW6WGF.mjs.map +1 -0
- package/dist/{chunk-5RBTN33A.js → chunk-RLFCI3RG.js} +11 -5
- package/dist/chunk-RLFCI3RG.js.map +1 -0
- package/dist/{chunk-ODVWOXVB.mjs → chunk-TTHYUNOT.mjs} +18 -1
- package/dist/chunk-TTHYUNOT.mjs.map +1 -0
- package/dist/chunk-VDOICQ2U.mjs +258 -0
- package/dist/chunk-VDOICQ2U.mjs.map +1 -0
- package/dist/chunk-WTJKTICN.mjs +306 -0
- package/dist/chunk-WTJKTICN.mjs.map +1 -0
- package/dist/{core-D_cz0tKa.d.ts → core-BOo3uGFX.d.ts} +2 -2
- package/dist/{core-BDkhrEyf.d.mts → core-CF45G79J.d.mts} +2 -2
- package/dist/core-DbqWh47p.d.mts +50 -0
- package/dist/core-Rq7BhPHE.d.ts +50 -0
- package/dist/helper.d.mts +3 -5
- package/dist/helper.d.ts +3 -5
- package/dist/helper.js +4 -5
- package/dist/helper.js.map +1 -0
- package/dist/helper.mjs +3 -4
- package/dist/helper.mjs.map +1 -0
- package/dist/http/elysia/index.d.mts +4 -4
- package/dist/http/elysia/index.d.ts +4 -4
- package/dist/http/elysia/index.js +42 -40
- package/dist/http/elysia/index.js.map +1 -0
- package/dist/http/elysia/index.mjs +5 -3
- package/dist/http/elysia/index.mjs.map +1 -0
- package/dist/http/express/index.d.mts +3 -3
- package/dist/http/express/index.d.ts +3 -3
- package/dist/http/express/index.js +39 -37
- package/dist/http/express/index.js.map +1 -0
- package/dist/http/express/index.mjs +4 -2
- package/dist/http/express/index.mjs.map +1 -0
- package/dist/http/fastify/index.d.mts +3 -3
- package/dist/http/fastify/index.d.ts +3 -3
- package/dist/http/fastify/index.js +40 -38
- package/dist/http/fastify/index.js.map +1 -0
- package/dist/http/fastify/index.mjs +5 -3
- package/dist/http/fastify/index.mjs.map +1 -0
- package/dist/http/h3/index.d.mts +3 -3
- package/dist/http/h3/index.d.ts +3 -3
- package/dist/http/h3/index.js +40 -38
- package/dist/http/h3/index.js.map +1 -0
- package/dist/http/h3/index.mjs +4 -2
- package/dist/http/h3/index.mjs.map +1 -0
- package/dist/http/hono/index.d.mts +3 -3
- package/dist/http/hono/index.d.ts +3 -3
- package/dist/http/hono/index.js +36 -34
- package/dist/http/hono/index.js.map +1 -0
- package/dist/http/hono/index.mjs +4 -2
- package/dist/http/hono/index.mjs.map +1 -0
- package/dist/http/hyper-express/index.d.mts +3 -3
- package/dist/http/hyper-express/index.d.ts +3 -3
- package/dist/http/hyper-express/index.js +37 -35
- package/dist/http/hyper-express/index.js.map +1 -0
- package/dist/http/hyper-express/index.mjs +4 -2
- package/dist/http/hyper-express/index.mjs.map +1 -0
- package/dist/http/koa/index.d.mts +3 -3
- package/dist/http/koa/index.d.ts +3 -3
- package/dist/http/koa/index.js +39 -37
- package/dist/http/koa/index.js.map +1 -0
- package/dist/http/koa/index.mjs +4 -2
- package/dist/http/koa/index.mjs.map +1 -0
- package/dist/index.d.mts +76 -12
- package/dist/index.d.ts +76 -12
- package/dist/index.js +105 -49
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +68 -12
- package/dist/index.mjs.map +1 -0
- package/dist/{meta-BX5jhe4Z.d.mts → meta-BoS1E-Nz.d.mts} +6 -23
- package/dist/{meta-BX5jhe4Z.d.ts → meta-BoS1E-Nz.d.ts} +6 -23
- package/dist/rpc/bullmq/index.d.mts +4 -6
- package/dist/rpc/bullmq/index.d.ts +4 -6
- package/dist/rpc/bullmq/index.js +13 -80
- package/dist/rpc/bullmq/index.js.map +1 -0
- package/dist/rpc/bullmq/index.mjs +5 -72
- package/dist/rpc/bullmq/index.mjs.map +1 -0
- package/dist/rpc/electron/index.d.mts +13 -0
- package/dist/rpc/electron/index.d.ts +13 -0
- package/dist/rpc/electron/index.js +73 -0
- package/dist/rpc/electron/index.js.map +1 -0
- package/dist/rpc/electron/index.mjs +73 -0
- package/dist/rpc/electron/index.mjs.map +1 -0
- package/dist/rpc/kafka/index.d.mts +4 -9
- package/dist/rpc/kafka/index.d.ts +4 -9
- package/dist/rpc/kafka/index.js +12 -90
- package/dist/rpc/kafka/index.js.map +1 -0
- package/dist/rpc/kafka/index.mjs +5 -83
- package/dist/rpc/kafka/index.mjs.map +1 -0
- package/dist/rpc/nats/index.d.mts +4 -6
- package/dist/rpc/nats/index.d.ts +4 -6
- package/dist/rpc/nats/index.js +13 -72
- package/dist/rpc/nats/index.js.map +1 -0
- package/dist/rpc/nats/index.mjs +4 -63
- package/dist/rpc/nats/index.mjs.map +1 -0
- package/dist/rpc/rabbitmq/index.d.mts +4 -6
- package/dist/rpc/rabbitmq/index.d.ts +4 -6
- package/dist/rpc/rabbitmq/index.js +14 -79
- package/dist/rpc/rabbitmq/index.js.map +1 -0
- package/dist/rpc/rabbitmq/index.mjs +5 -70
- package/dist/rpc/rabbitmq/index.mjs.map +1 -0
- package/dist/rpc/redis/index.d.mts +4 -9
- package/dist/rpc/redis/index.d.ts +4 -9
- package/dist/rpc/redis/index.js +12 -78
- package/dist/rpc/redis/index.js.map +1 -0
- package/dist/rpc/redis/index.mjs +5 -71
- package/dist/rpc/redis/index.mjs.map +1 -0
- package/dist/rpc/web-ext/index.d.mts +2 -0
- package/dist/rpc/web-ext/index.d.ts +2 -0
- package/dist/rpc/web-ext/index.js +1 -0
- package/dist/rpc/web-ext/index.js.map +1 -0
- package/dist/rpc/web-ext/index.mjs +1 -0
- package/dist/rpc/web-ext/index.mjs.map +1 -0
- package/dist/rpc/ws/index.d.mts +14 -0
- package/dist/rpc/ws/index.d.ts +14 -0
- package/dist/rpc/ws/index.js +74 -0
- package/dist/rpc/ws/index.js.map +1 -0
- package/dist/rpc/ws/index.mjs +74 -0
- package/dist/rpc/ws/index.mjs.map +1 -0
- package/dist/test.d.mts +7 -3
- package/dist/test.d.ts +7 -3
- package/dist/test.js +7 -6
- package/dist/test.js.map +1 -0
- package/dist/test.mjs +3 -2
- package/dist/test.mjs.map +1 -0
- package/dist/types-CInz3bD0.d.ts +14 -0
- package/dist/types-E-rqlg3-.d.mts +14 -0
- package/dist/{types-DKVhyZk_.d.mts → types-SCJZFCYt.d.mts} +1 -1
- package/dist/{types-CMeuFoyd.d.ts → types-xruyYmyu.d.ts} +1 -1
- package/package.json +24 -8
- package/register/export.mjs +30 -0
- package/register/index.mjs +2 -3
- package/register/loader.mjs +83 -90
- package/register/utils.mjs +36 -6
- package/assets/ps.json +0 -24
- package/assets/tsconfig.json +0 -21
- package/dist/types-B-rUM9Fm.d.mts +0 -19
- package/dist/types-MxxtkZXw.d.ts +0 -19
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6;
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkKRUOHWFRjs = require('./chunk-KRUOHWFR.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -31,10 +31,10 @@ var _chunkKJUD2BKEjs = require('./chunk-KJUD2BKE.js');
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var _chunkV5EYXVJTjs = require('./chunk-V5EYXVJT.js');
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
|
|
37
|
+
var _chunk5SUY5UVCjs = require('./chunk-5SUY5UVC.js');
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
@@ -57,10 +57,10 @@ var _chunkV5EYXVJTjs = require('./chunk-V5EYXVJT.js');
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
var _chunkFX3LDQIIjs = require('./chunk-FX3LDQII.js');
|
|
61
60
|
|
|
62
61
|
|
|
63
62
|
|
|
63
|
+
var _chunkH7OCHDZTjs = require('./chunk-H7OCHDZT.js');
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
|
|
@@ -71,13 +71,16 @@ var _chunkFX3LDQIIjs = require('./chunk-FX3LDQII.js');
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
var _chunkRLFCI3RGjs = require('./chunk-RLFCI3RG.js');
|
|
75
79
|
|
|
76
80
|
// src/types.ts
|
|
77
|
-
var ResponseSymbol = Symbol("response");
|
|
78
81
|
var CustomResponse = class {
|
|
79
82
|
static {
|
|
80
|
-
|
|
83
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "CustomResponse");
|
|
81
84
|
}
|
|
82
85
|
|
|
83
86
|
};
|
|
@@ -90,38 +93,38 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
90
93
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
91
94
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
92
95
|
}
|
|
93
|
-
|
|
96
|
+
_chunkRLFCI3RGjs.__name.call(void 0, _ts_decorate, "_ts_decorate");
|
|
94
97
|
function _ts_metadata(k, v) {
|
|
95
98
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
96
99
|
}
|
|
97
|
-
|
|
100
|
+
_chunkRLFCI3RGjs.__name.call(void 0, _ts_metadata, "_ts_metadata");
|
|
98
101
|
var ServerBase = (_class = class extends _phecdacore.Base {constructor(...args2) { super(...args2); _class.prototype.__init.call(this); }
|
|
99
102
|
static {
|
|
100
|
-
|
|
103
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "ServerBase");
|
|
101
104
|
}
|
|
102
|
-
__init() {this.emitter = exports.emitter =
|
|
105
|
+
__init() {this.emitter = exports.emitter = _chunkKRUOHWFRjs.emitter}
|
|
103
106
|
log(msg, level = "log") {
|
|
104
|
-
|
|
107
|
+
_chunkRLFCI3RGjs.log.call(void 0, msg, level, this.tag);
|
|
105
108
|
}
|
|
106
109
|
}, _class);
|
|
107
110
|
var HttpBase = class extends ServerBase {
|
|
108
111
|
static {
|
|
109
|
-
|
|
112
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "HttpBase");
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
};
|
|
113
116
|
_ts_decorate([
|
|
114
|
-
|
|
117
|
+
_chunk5SUY5UVCjs.Ctx,
|
|
115
118
|
_ts_metadata("design:type", typeof Ctx === "undefined" ? Object : Ctx)
|
|
116
119
|
], HttpBase.prototype, "context", void 0);
|
|
117
120
|
var RpcBase = class extends ServerBase {
|
|
118
121
|
static {
|
|
119
|
-
|
|
122
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "RpcBase");
|
|
120
123
|
}
|
|
121
124
|
|
|
122
125
|
};
|
|
123
126
|
_ts_decorate([
|
|
124
|
-
|
|
127
|
+
_chunk5SUY5UVCjs.Ctx,
|
|
125
128
|
_ts_metadata("design:type", typeof Ctx === "undefined" ? Object : Ctx)
|
|
126
129
|
], RpcBase.prototype, "context", void 0);
|
|
127
130
|
|
|
@@ -129,15 +132,15 @@ _ts_decorate([
|
|
|
129
132
|
|
|
130
133
|
var PFilter = class extends ServerBase {
|
|
131
134
|
static {
|
|
132
|
-
|
|
135
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "PFilter");
|
|
133
136
|
}
|
|
134
137
|
|
|
135
138
|
constructor(tag) {
|
|
136
139
|
super();
|
|
137
140
|
this.key = tag || _phecdacore.getTag.call(void 0, this);
|
|
138
|
-
|
|
141
|
+
_chunkH7OCHDZTjs.addFilter.call(void 0, this.key, this.use.bind(this));
|
|
139
142
|
this.onUnmount(() => {
|
|
140
|
-
delete
|
|
143
|
+
delete _chunkH7OCHDZTjs.Context.filterRecord[this.key];
|
|
141
144
|
});
|
|
142
145
|
}
|
|
143
146
|
};
|
|
@@ -146,16 +149,16 @@ var PFilter = class extends ServerBase {
|
|
|
146
149
|
|
|
147
150
|
var PGuard = (_class2 = class extends ServerBase {
|
|
148
151
|
static {
|
|
149
|
-
|
|
152
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "PGuard");
|
|
150
153
|
}
|
|
151
154
|
|
|
152
155
|
__init2() {this.priority = 0}
|
|
153
156
|
constructor(tag) {
|
|
154
157
|
super();_class2.prototype.__init2.call(this);;
|
|
155
158
|
this.key = tag || _phecdacore.getTag.call(void 0, this);
|
|
156
|
-
|
|
159
|
+
_chunkH7OCHDZTjs.addGuard.call(void 0, this.key, this.use.bind(this), this.priority);
|
|
157
160
|
this.onUnmount(() => {
|
|
158
|
-
delete
|
|
161
|
+
delete _chunkH7OCHDZTjs.Context.guardRecord[this.key];
|
|
159
162
|
});
|
|
160
163
|
}
|
|
161
164
|
}, _class2);
|
|
@@ -164,15 +167,15 @@ var PGuard = (_class2 = class extends ServerBase {
|
|
|
164
167
|
|
|
165
168
|
var PPipe = class extends ServerBase {
|
|
166
169
|
static {
|
|
167
|
-
|
|
170
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "PPipe");
|
|
168
171
|
}
|
|
169
172
|
|
|
170
173
|
constructor(tag) {
|
|
171
174
|
super();
|
|
172
175
|
this.key = tag || _phecdacore.getTag.call(void 0, this);
|
|
173
|
-
|
|
176
|
+
_chunkH7OCHDZTjs.addPipe.call(void 0, this.key, this.use.bind(this));
|
|
174
177
|
this.onUnmount(() => {
|
|
175
|
-
delete
|
|
178
|
+
delete _chunkH7OCHDZTjs.Context.pipeRecord[this.key];
|
|
176
179
|
});
|
|
177
180
|
}
|
|
178
181
|
};
|
|
@@ -181,16 +184,16 @@ var PPipe = class extends ServerBase {
|
|
|
181
184
|
|
|
182
185
|
var PAddon = (_class3 = class extends ServerBase {
|
|
183
186
|
static {
|
|
184
|
-
|
|
187
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "PAddon");
|
|
185
188
|
}
|
|
186
189
|
|
|
187
190
|
__init3() {this.priority = 0}
|
|
188
191
|
constructor(tag) {
|
|
189
192
|
super();_class3.prototype.__init3.call(this);;
|
|
190
193
|
this.key = tag || _phecdacore.getTag.call(void 0, this);
|
|
191
|
-
|
|
194
|
+
_chunkH7OCHDZTjs.addAddon.call(void 0, this.key, this.use.bind(this), this.priority);
|
|
192
195
|
this.onUnmount(() => {
|
|
193
|
-
delete
|
|
196
|
+
delete _chunkH7OCHDZTjs.Context.addonRecord[this.key];
|
|
194
197
|
});
|
|
195
198
|
}
|
|
196
199
|
}, _class3);
|
|
@@ -199,7 +202,7 @@ var PAddon = (_class3 = class extends ServerBase {
|
|
|
199
202
|
|
|
200
203
|
var PExtension = class extends ServerBase {
|
|
201
204
|
static {
|
|
202
|
-
|
|
205
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "PExtension");
|
|
203
206
|
}
|
|
204
207
|
|
|
205
208
|
|
|
@@ -208,27 +211,27 @@ var PExtension = class extends ServerBase {
|
|
|
208
211
|
super();
|
|
209
212
|
const key = this.key = tag || _phecdacore.getTag.call(void 0, this);
|
|
210
213
|
if (this.pipe) {
|
|
211
|
-
|
|
214
|
+
_chunkH7OCHDZTjs.addPipe.call(void 0, key, this.pipe.bind(this));
|
|
212
215
|
this.onUnmount(() => {
|
|
213
|
-
delete
|
|
216
|
+
delete _chunkH7OCHDZTjs.Context.pipeRecord[key];
|
|
214
217
|
});
|
|
215
218
|
}
|
|
216
219
|
if (this.addon) {
|
|
217
|
-
|
|
220
|
+
_chunkH7OCHDZTjs.addAddon.call(void 0, key, this.addon.bind(this), this.addonPriority);
|
|
218
221
|
this.onUnmount(() => {
|
|
219
|
-
delete
|
|
222
|
+
delete _chunkH7OCHDZTjs.Context.addonRecord[key];
|
|
220
223
|
});
|
|
221
224
|
}
|
|
222
225
|
if (this.guard) {
|
|
223
|
-
|
|
226
|
+
_chunkH7OCHDZTjs.addGuard.call(void 0, key, this.guard.bind(this), this.guardPriority);
|
|
224
227
|
this.onUnmount(() => {
|
|
225
|
-
delete
|
|
228
|
+
delete _chunkH7OCHDZTjs.Context.guardRecord[key];
|
|
226
229
|
});
|
|
227
230
|
}
|
|
228
231
|
if (this.filter) {
|
|
229
|
-
|
|
232
|
+
_chunkH7OCHDZTjs.addFilter.call(void 0, key, this.filter.bind(this));
|
|
230
233
|
this.onUnmount(() => {
|
|
231
|
-
delete
|
|
234
|
+
delete _chunkH7OCHDZTjs.Context.filterRecord[key];
|
|
232
235
|
});
|
|
233
236
|
}
|
|
234
237
|
}
|
|
@@ -238,7 +241,7 @@ var PExtension = class extends ServerBase {
|
|
|
238
241
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
239
242
|
var Generator = class {
|
|
240
243
|
static {
|
|
241
|
-
|
|
244
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "Generator");
|
|
242
245
|
}
|
|
243
246
|
|
|
244
247
|
constructor(path) {
|
|
@@ -248,14 +251,14 @@ var Generator = class {
|
|
|
248
251
|
return this._path || `.ps/${this.name.toLowerCase()}.js`;
|
|
249
252
|
}
|
|
250
253
|
async output(meta) {
|
|
251
|
-
await _fsextra2.default.outputFile(this.path, this.generateCode(meta
|
|
254
|
+
await _fsextra2.default.outputFile(this.path, this.generateCode(meta));
|
|
252
255
|
}
|
|
253
256
|
};
|
|
254
257
|
|
|
255
258
|
// src/generator/rpc.ts
|
|
256
259
|
var RPCGenerator = (_class4 = class extends Generator {constructor(...args3) { super(...args3); _class4.prototype.__init4.call(this);_class4.prototype.__init5.call(this); }
|
|
257
260
|
static {
|
|
258
|
-
|
|
261
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "RPCGenerator");
|
|
259
262
|
}
|
|
260
263
|
__init4() {this.name = "RPC"}
|
|
261
264
|
__init5() {this.classMap = {}}
|
|
@@ -281,9 +284,9 @@ var RPCGenerator = (_class4 = class extends Generator {constructor(...args3) { s
|
|
|
281
284
|
`;
|
|
282
285
|
}
|
|
283
286
|
generateCode(meta) {
|
|
284
|
-
|
|
285
|
-
if (
|
|
286
|
-
}
|
|
287
|
+
meta.forEach(({ data }) => {
|
|
288
|
+
if (data.controller === "rpc") this.addMethod(data);
|
|
289
|
+
});
|
|
287
290
|
return this.getContent();
|
|
288
291
|
}
|
|
289
292
|
}, _class4);
|
|
@@ -291,7 +294,7 @@ var RPCGenerator = (_class4 = class extends Generator {constructor(...args3) { s
|
|
|
291
294
|
// src/generator/http.ts
|
|
292
295
|
var HTTPGenerator = (_class5 = class extends Generator {constructor(...args4) { super(...args4); _class5.prototype.__init6.call(this);_class5.prototype.__init7.call(this); }
|
|
293
296
|
static {
|
|
294
|
-
|
|
297
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "HTTPGenerator");
|
|
295
298
|
}
|
|
296
299
|
__init6() {this.name = "HTTP"}
|
|
297
300
|
__init7() {this.classMap = {}}
|
|
@@ -308,7 +311,7 @@ var HTTPGenerator = (_class5 = class extends Generator {constructor(...args4) {
|
|
|
308
311
|
addMethod(args) {
|
|
309
312
|
const { http, name, func, params, tag } = args;
|
|
310
313
|
if (!_optionalChain([http, 'optionalAccess', _2 => _2.type])) return;
|
|
311
|
-
const url =
|
|
314
|
+
const url = _chunkH7OCHDZTjs.joinUrl.call(void 0, http.prefix, http.route).replace(/\/\:([^\/]*)/g, (_, js) => `/{{${js}}}`);
|
|
312
315
|
if (!this.classMap[name]) this.classMap[name] = {};
|
|
313
316
|
this.classMap[name][func] = `
|
|
314
317
|
${func}(...args){
|
|
@@ -322,13 +325,60 @@ return ret
|
|
|
322
325
|
`;
|
|
323
326
|
}
|
|
324
327
|
generateCode(meta) {
|
|
325
|
-
|
|
326
|
-
if (
|
|
327
|
-
}
|
|
328
|
+
meta.forEach(({ data }) => {
|
|
329
|
+
if (data.controller === "http") this.addMethod(data);
|
|
330
|
+
});
|
|
328
331
|
return this.getContent();
|
|
329
332
|
}
|
|
330
333
|
}, _class5);
|
|
331
334
|
|
|
335
|
+
// src/generator/openapi.ts
|
|
336
|
+
|
|
337
|
+
var OpenAPIGenerator = (_class6 = class extends Generator {constructor(...args5) { super(...args5); _class6.prototype.__init8.call(this);_class6.prototype.__init9.call(this); }
|
|
338
|
+
static {
|
|
339
|
+
_chunkRLFCI3RGjs.__name.call(void 0, this, "OpenAPIGenerator");
|
|
340
|
+
}
|
|
341
|
+
__init8() {this.name = "OpenAPI"}
|
|
342
|
+
__init9() {this.paths = {}}
|
|
343
|
+
getContent() {
|
|
344
|
+
return JSON.stringify({
|
|
345
|
+
openapi: "3.0.0",
|
|
346
|
+
info: {
|
|
347
|
+
title: "API Documentation",
|
|
348
|
+
version: "1.0.0",
|
|
349
|
+
description: "API documentation generated by phecda-server"
|
|
350
|
+
},
|
|
351
|
+
paths: this.paths
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
addMethod(args) {
|
|
355
|
+
const { http, tag, func } = args;
|
|
356
|
+
if (!_optionalChain([http, 'optionalAccess', _3 => _3.type])) return;
|
|
357
|
+
const path = _chunkH7OCHDZTjs.joinUrl.call(void 0, http.prefix, http.route);
|
|
358
|
+
if (!this.paths[path]) {
|
|
359
|
+
this.paths[path] = {};
|
|
360
|
+
}
|
|
361
|
+
const config = _phecdacore.getMergedMeta.call(void 0, _chunkKRUOHWFRjs.useS.call(void 0, ).getModel(tag), func)["openapi"];
|
|
362
|
+
this.paths[path][http.type] = {
|
|
363
|
+
summary: config.summary,
|
|
364
|
+
description: config.description,
|
|
365
|
+
tags: config.tags || [
|
|
366
|
+
tag
|
|
367
|
+
],
|
|
368
|
+
deprecated: config.deprecated,
|
|
369
|
+
parameters: config.parameters,
|
|
370
|
+
requestBody: config.requestBody,
|
|
371
|
+
responses: config.responses
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
generateCode(meta) {
|
|
375
|
+
meta.forEach(({ data }) => {
|
|
376
|
+
if (data.controller === "http") this.addMethod(data);
|
|
377
|
+
});
|
|
378
|
+
return this.getContent();
|
|
379
|
+
}
|
|
380
|
+
}, _class6);
|
|
381
|
+
|
|
332
382
|
// src/index.ts
|
|
333
383
|
|
|
334
384
|
|
|
@@ -408,4 +458,10 @@ return ret
|
|
|
408
458
|
|
|
409
459
|
|
|
410
460
|
|
|
411
|
-
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
exports.Addon = _chunk5SUY5UVCjs.Addon; exports.ApiDoc = _chunk5SUY5UVCjs.ApiDoc; exports.Arg = _chunk5SUY5UVCjs.Arg; exports.BadGatewayException = _chunkH7OCHDZTjs.BadGatewayException; exports.BadRequestException = _chunkH7OCHDZTjs.BadRequestException; exports.BaseParam = _chunk5SUY5UVCjs.BaseParam; exports.Body = _chunk5SUY5UVCjs.Body; exports.ConflictException = _chunkH7OCHDZTjs.ConflictException; exports.Context = _chunkH7OCHDZTjs.Context; exports.Controller = _chunk5SUY5UVCjs.Controller; exports.Ctx = _chunk5SUY5UVCjs.Ctx; exports.CustomResponse = CustomResponse; exports.Define = _chunk5SUY5UVCjs.Define; exports.Delete = _chunk5SUY5UVCjs.Delete; exports.ERROR_SYMBOL = _chunkRLFCI3RGjs.ERROR_SYMBOL; exports.Exception = _chunkH7OCHDZTjs.Exception; exports.Factory = _chunkKRUOHWFRjs.Factory; exports.Filter = _chunk5SUY5UVCjs.Filter; exports.ForbiddenException = _chunkH7OCHDZTjs.ForbiddenException; exports.FrameworkException = _chunkH7OCHDZTjs.FrameworkException; exports.Generator = Generator; exports.Get = _chunk5SUY5UVCjs.Get; exports.Guard = _chunk5SUY5UVCjs.Guard; exports.HTTPGenerator = HTTPGenerator; exports.Head = _chunk5SUY5UVCjs.Head; exports.Header = _chunk5SUY5UVCjs.Header; exports.HttpBase = HttpBase; exports.IS_DEV = _chunkRLFCI3RGjs.IS_DEV; exports.IS_ONLY_GENERATE = _chunkRLFCI3RGjs.IS_ONLY_GENERATE; exports.IS_PURE = _chunkRLFCI3RGjs.IS_PURE; exports.IS_STRICT = _chunkRLFCI3RGjs.IS_STRICT; exports.InvalidInputException = _chunkH7OCHDZTjs.InvalidInputException; exports.LOG_LEVEL = _chunkRLFCI3RGjs.LOG_LEVEL; exports.ManyFiles = _chunk5SUY5UVCjs.ManyFiles; exports.Meta = _chunkKRUOHWFRjs.Meta; exports.Mixin = _chunkRLFCI3RGjs.Mixin; exports.NotFoundException = _chunkH7OCHDZTjs.NotFoundException; exports.OneFile = _chunk5SUY5UVCjs.OneFile; exports.OpenAPIGenerator = OpenAPIGenerator; exports.PAddon = PAddon; exports.PExtension = PExtension; exports.PFilter = PFilter; exports.PGuard = PGuard; exports.PPipe = PPipe; exports.PS_EXIT_CODE = _chunkRLFCI3RGjs.PS_EXIT_CODE; exports.Param = _chunk5SUY5UVCjs.Param; exports.Patch = _chunk5SUY5UVCjs.Patch; exports.PayloadLargeException = _chunkH7OCHDZTjs.PayloadLargeException; exports.Pipe = _chunk5SUY5UVCjs.Pipe; exports.Post = _chunk5SUY5UVCjs.Post; exports.Put = _chunk5SUY5UVCjs.Put; exports.Query = _chunk5SUY5UVCjs.Query; exports.Queue = _chunk5SUY5UVCjs.Queue; exports.RPCGenerator = RPCGenerator; exports.Route = _chunk5SUY5UVCjs.Route; exports.Rpc = _chunk5SUY5UVCjs.Rpc; exports.RpcBase = RpcBase; exports.Search = _chunk5SUY5UVCjs.Search; exports.ServerBase = ServerBase; exports.ServerPhecda = _chunkKRUOHWFRjs.ServerPhecda; exports.ServiceUnavailableException = _chunkH7OCHDZTjs.ServiceUnavailableException; exports.TimeoutException = _chunkH7OCHDZTjs.TimeoutException; exports.TimerException = _chunkH7OCHDZTjs.TimerException; exports.UnauthorizedException = _chunkH7OCHDZTjs.UnauthorizedException; exports.UndefinedException = _chunkH7OCHDZTjs.UndefinedException; exports.UnsupportedMediaTypeException = _chunkH7OCHDZTjs.UnsupportedMediaTypeException; exports.ValidateException = _chunkH7OCHDZTjs.ValidateException; exports.WorkerException = _chunkH7OCHDZTjs.WorkerException; exports.addAddon = _chunkH7OCHDZTjs.addAddon; exports.addFilter = _chunkH7OCHDZTjs.addFilter; exports.addGuard = _chunkH7OCHDZTjs.addGuard; exports.addPipe = _chunkH7OCHDZTjs.addPipe; exports.defaultPipe = _chunkH7OCHDZTjs.defaultPipe; exports.defaultServerInject = _chunkKRUOHWFRjs.defaultServerInject; exports.emitter = _chunkKRUOHWFRjs.emitter; exports.getLogger = _chunkRLFCI3RGjs.getLogger; exports.log = _chunkRLFCI3RGjs.log; exports.phecdaNamespace = _chunkKRUOHWFRjs.phecdaNamespace; exports.runMiddleware = _chunkRLFCI3RGjs.runMiddleware; exports.setLogger = _chunkRLFCI3RGjs.setLogger; exports.useS = _chunkKRUOHWFRjs.useS;
|
|
467
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\index.js"],"names":[],"mappings":"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,CAAC,CAAC;AACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACjC,IAAI,EAAE,IAAI,CAAC;AACX,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,gDAAgD,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;AAC9G;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAA;AACA;AACA;AACA;AACA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,kBAAA;AACA,kBAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\myproject\\phecda\\packages\\server\\dist\\index.js","sourcesContent":[null]}
|
package/dist/index.mjs
CHANGED
|
@@ -6,9 +6,10 @@ import {
|
|
|
6
6
|
emitter,
|
|
7
7
|
phecdaNamespace,
|
|
8
8
|
useS
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WTJKTICN.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Addon,
|
|
12
|
+
ApiDoc,
|
|
12
13
|
Arg,
|
|
13
14
|
BaseParam,
|
|
14
15
|
Body,
|
|
@@ -21,6 +22,8 @@ import {
|
|
|
21
22
|
Guard,
|
|
22
23
|
Head,
|
|
23
24
|
Header,
|
|
25
|
+
ManyFiles,
|
|
26
|
+
OneFile,
|
|
24
27
|
Param,
|
|
25
28
|
Patch,
|
|
26
29
|
Pipe,
|
|
@@ -31,7 +34,7 @@ import {
|
|
|
31
34
|
Route,
|
|
32
35
|
Rpc,
|
|
33
36
|
Search
|
|
34
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-VDOICQ2U.mjs";
|
|
35
38
|
import {
|
|
36
39
|
BadGatewayException,
|
|
37
40
|
BadRequestException,
|
|
@@ -57,11 +60,12 @@ import {
|
|
|
57
60
|
addPipe,
|
|
58
61
|
defaultPipe,
|
|
59
62
|
joinUrl
|
|
60
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-LBH4RXQQ.mjs";
|
|
61
64
|
import {
|
|
62
65
|
ERROR_SYMBOL,
|
|
63
66
|
IS_DEV,
|
|
64
67
|
IS_ONLY_GENERATE,
|
|
68
|
+
IS_PURE,
|
|
65
69
|
IS_STRICT,
|
|
66
70
|
LOG_LEVEL,
|
|
67
71
|
Mixin,
|
|
@@ -71,15 +75,14 @@ import {
|
|
|
71
75
|
log,
|
|
72
76
|
runMiddleware,
|
|
73
77
|
setLogger
|
|
74
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-MDPW6WGF.mjs";
|
|
75
79
|
|
|
76
80
|
// src/types.ts
|
|
77
|
-
var ResponseSymbol = Symbol("response");
|
|
78
81
|
var CustomResponse = class {
|
|
79
82
|
static {
|
|
80
83
|
__name(this, "CustomResponse");
|
|
81
84
|
}
|
|
82
|
-
|
|
85
|
+
_ps_response;
|
|
83
86
|
};
|
|
84
87
|
|
|
85
88
|
// src/modules/base.ts
|
|
@@ -248,7 +251,7 @@ var Generator = class {
|
|
|
248
251
|
return this._path || `.ps/${this.name.toLowerCase()}.js`;
|
|
249
252
|
}
|
|
250
253
|
async output(meta) {
|
|
251
|
-
await fse.outputFile(this.path, this.generateCode(meta
|
|
254
|
+
await fse.outputFile(this.path, this.generateCode(meta));
|
|
252
255
|
}
|
|
253
256
|
};
|
|
254
257
|
|
|
@@ -281,9 +284,9 @@ var RPCGenerator = class extends Generator {
|
|
|
281
284
|
`;
|
|
282
285
|
}
|
|
283
286
|
generateCode(meta) {
|
|
284
|
-
|
|
285
|
-
if (
|
|
286
|
-
}
|
|
287
|
+
meta.forEach(({ data }) => {
|
|
288
|
+
if (data.controller === "rpc") this.addMethod(data);
|
|
289
|
+
});
|
|
287
290
|
return this.getContent();
|
|
288
291
|
}
|
|
289
292
|
};
|
|
@@ -322,9 +325,56 @@ return ret
|
|
|
322
325
|
`;
|
|
323
326
|
}
|
|
324
327
|
generateCode(meta) {
|
|
325
|
-
|
|
326
|
-
if (
|
|
328
|
+
meta.forEach(({ data }) => {
|
|
329
|
+
if (data.controller === "http") this.addMethod(data);
|
|
330
|
+
});
|
|
331
|
+
return this.getContent();
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
// src/generator/openapi.ts
|
|
336
|
+
import { getMergedMeta } from "phecda-core";
|
|
337
|
+
var OpenAPIGenerator = class extends Generator {
|
|
338
|
+
static {
|
|
339
|
+
__name(this, "OpenAPIGenerator");
|
|
340
|
+
}
|
|
341
|
+
name = "OpenAPI";
|
|
342
|
+
paths = {};
|
|
343
|
+
getContent() {
|
|
344
|
+
return JSON.stringify({
|
|
345
|
+
openapi: "3.0.0",
|
|
346
|
+
info: {
|
|
347
|
+
title: "API Documentation",
|
|
348
|
+
version: "1.0.0",
|
|
349
|
+
description: "API documentation generated by phecda-server"
|
|
350
|
+
},
|
|
351
|
+
paths: this.paths
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
addMethod(args) {
|
|
355
|
+
const { http, tag, func } = args;
|
|
356
|
+
if (!http?.type) return;
|
|
357
|
+
const path = joinUrl(http.prefix, http.route);
|
|
358
|
+
if (!this.paths[path]) {
|
|
359
|
+
this.paths[path] = {};
|
|
327
360
|
}
|
|
361
|
+
const config = getMergedMeta(useS().getModel(tag), func)["openapi"];
|
|
362
|
+
this.paths[path][http.type] = {
|
|
363
|
+
summary: config.summary,
|
|
364
|
+
description: config.description,
|
|
365
|
+
tags: config.tags || [
|
|
366
|
+
tag
|
|
367
|
+
],
|
|
368
|
+
deprecated: config.deprecated,
|
|
369
|
+
parameters: config.parameters,
|
|
370
|
+
requestBody: config.requestBody,
|
|
371
|
+
responses: config.responses
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
generateCode(meta) {
|
|
375
|
+
meta.forEach(({ data }) => {
|
|
376
|
+
if (data.controller === "http") this.addMethod(data);
|
|
377
|
+
});
|
|
328
378
|
return this.getContent();
|
|
329
379
|
}
|
|
330
380
|
};
|
|
@@ -333,6 +383,7 @@ return ret
|
|
|
333
383
|
export * from "phecda-core";
|
|
334
384
|
export {
|
|
335
385
|
Addon,
|
|
386
|
+
ApiDoc,
|
|
336
387
|
Arg,
|
|
337
388
|
BadGatewayException,
|
|
338
389
|
BadRequestException,
|
|
@@ -360,12 +411,16 @@ export {
|
|
|
360
411
|
HttpBase,
|
|
361
412
|
IS_DEV,
|
|
362
413
|
IS_ONLY_GENERATE,
|
|
414
|
+
IS_PURE,
|
|
363
415
|
IS_STRICT,
|
|
364
416
|
InvalidInputException,
|
|
365
417
|
LOG_LEVEL,
|
|
418
|
+
ManyFiles,
|
|
366
419
|
Meta,
|
|
367
420
|
Mixin,
|
|
368
421
|
NotFoundException,
|
|
422
|
+
OneFile,
|
|
423
|
+
OpenAPIGenerator,
|
|
369
424
|
PAddon,
|
|
370
425
|
PExtension,
|
|
371
426
|
PFilter,
|
|
@@ -409,3 +464,4 @@ export {
|
|
|
409
464
|
setLogger,
|
|
410
465
|
useS
|
|
411
466
|
};
|
|
467
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types.ts","../src/modules/base.ts","../src/modules/filter.ts","../src/modules/guard.ts","../src/modules/pipe.ts","../src/modules/addon.ts","../src/modules/extension.ts","../src/generator/utils.ts","../src/generator/rpc.ts","../src/generator/http.ts","../src/generator/openapi.ts","../src/index.ts"],"sourcesContent":["import type { Events } from 'phecda-core'\r\nimport type { ControllerMeta } from './meta'\r\nimport type { ERROR_SYMBOL } from './common'\r\nexport interface Emitter {\r\n on<N extends keyof Events>(eventName: N, cb: (args: Events[N]) => void): void\r\n once<N extends keyof Events>(eventName: N, cb: (args: Events[N]) => void): void\r\n off<N extends keyof Events>(eventName: N, cb: (args: Events[N]) => void): void\r\n removeAllListeners<N extends keyof Events>(eventName: N): void\r\n emit<N extends keyof Events>(eventName: N, param: Events[N]): void\r\n}\r\n\r\nexport interface BaseCtx {\r\n meta: ControllerMeta\r\n moduleMap: Record<string, any>\r\n type: string\r\n tag: string\r\n func: string\r\n category: string\r\n [key: string]: any\r\n\r\n}\r\n\r\nexport interface DefaultOptions {\r\n globalGuards?: string[]\r\n globalFilter?: string\r\n globalPipe?: string\r\n globalAddons?: string[]\r\n}\r\n\r\nexport interface BaseError {\r\n // as a symbol\r\n [ERROR_SYMBOL]: true\r\n status: number\r\n message: string\r\n description: string\r\n}\r\n// export type RetOrErr<R> = { [K in keyof R]: Awaited<R[K]> | Error }\r\n\r\nexport type BaseRequestType = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options'\r\n\r\nexport class CustomResponse<Value> {\r\n _ps_response: Value\r\n}\r\n\r\nexport type ExtractResponse<Class extends CustomResponse<any>> = Class extends CustomResponse<infer Value> ? Value : never\r\n","import { Base } from 'phecda-core'\r\nimport { type LogLevel, log } from '../../src/utils'\r\nimport type { HttpCtx } from '../http/types'\r\nimport type { RpcCtx } from '../rpc/types'\r\nimport { Ctx } from '../decorators'\r\nimport { emitter } from '../core'\r\n\r\nexport class ServerBase extends Base {\r\n emitter = emitter\r\n\r\n log(msg: unknown, level: LogLevel = 'log') {\r\n log(msg, level, this.tag)\r\n }\r\n}\r\n\r\nexport class HttpBase<Ctx extends HttpCtx = HttpCtx> extends ServerBase {\r\n @Ctx\r\n context: Ctx\r\n}\r\nexport class RpcBase<Ctx extends RpcCtx = RpcCtx> extends ServerBase {\r\n @Ctx\r\n context: Ctx\r\n}\r\n","import { getTag } from 'phecda-core'\r\nimport { Context, addFilter } from '../context'\r\nimport type { Exception } from '../exception'\r\nimport type { BaseCtx, BaseError } from '../types'\r\nimport { ServerBase } from './base'\r\n\r\nexport abstract class PFilter<Ctx extends BaseCtx = any, E extends Exception = Exception > extends ServerBase {\r\n readonly key: PropertyKey\r\n constructor(tag?: string) {\r\n super()\r\n this.key = tag || getTag(this)\r\n\r\n addFilter(this.key, this.use.bind(this))\r\n this.onUnmount(() => {\r\n delete Context.filterRecord[this.key]\r\n })\r\n }\r\n\r\n abstract use(error: Error | E, ctx?: Ctx): BaseError\r\n}\r\n","import { getTag } from 'phecda-core'\r\nimport { Context, addGuard } from '../context'\r\nimport type { BaseCtx } from '../types'\r\nimport { ServerBase } from './base'\r\n\r\nexport abstract class PGuard<Ctx extends BaseCtx = any> extends ServerBase {\r\n abstract use(ctx: Ctx, next: () => Promise<any>): any\r\n readonly key: PropertyKey\r\n priority = 0\r\n\r\n constructor(tag?: string) {\r\n super()\r\n this.key = tag || getTag(this)\r\n\r\n addGuard(this.key, this.use.bind(this), this.priority)\r\n\r\n this.onUnmount(() => {\r\n delete Context.guardRecord[this.key]\r\n })\r\n }\r\n}\r\n","import { getTag } from 'phecda-core'\r\nimport { Context, addPipe } from '../context'\r\nimport type { BaseCtx } from '../types'\r\nimport { ServerBase } from './base'\r\nexport abstract class PPipe<Ctx extends BaseCtx = any> extends ServerBase {\r\n readonly key: PropertyKey\r\n\r\n constructor(tag?: string) {\r\n super()\r\n\r\n this.key = tag || getTag(this)\r\n addPipe(this.key, this.use.bind(this))\r\n this.onUnmount(() => {\r\n delete Context.pipeRecord[this.key]\r\n })\r\n }\r\n\r\n abstract use(param: { arg: any; option?: any; key: string; type: string; index: number; reflect: any }, ctx: Ctx): any\r\n}\r\n","import { getTag } from 'phecda-core'\r\nimport { Context, addAddon } from '../context'\r\nimport { ServerBase } from './base'\r\n\r\nexport abstract class PAddon extends ServerBase {\r\n readonly key: PropertyKey\r\n\r\n priority = 0\r\n constructor(tag?: string) {\r\n super()\r\n this.key = tag || getTag(this)\r\n\r\n addAddon(this.key, this.use.bind(this), this.priority)\r\n\r\n this.onUnmount(() => {\r\n delete Context.addonRecord[this.key]\r\n })\r\n }\r\n\r\n abstract use(router: any, framework: string): undefined\r\n}\r\n","import { getTag } from 'phecda-core'\r\nimport type { BaseCtx, BaseError } from '../types'\r\nimport { Context, addAddon, addFilter, addGuard, addPipe } from '../context'\r\nimport type { Exception } from '../exception'\r\nimport { ServerBase } from './base'\r\n\r\nexport interface PExtension<Ctx extends BaseCtx = any, E extends Exception = Exception> {\r\n\r\n guard(ctx: Ctx): Promise<boolean> | boolean\r\n\r\n pipe(param: { arg: any; option?: any; key: string; type: string; index: number; reflect: any }, ctx: Ctx): any\r\n\r\n filter(error: Error | E, ctx?: Ctx): BaseError\r\n\r\n addon<Addon = any>(framework: string): Addon\r\n}\r\n\r\nexport class PExtension extends ServerBase {\r\n readonly key: PropertyKey\r\n\r\n guardPriority: number\r\n addonPriority: number\r\n\r\n constructor(tag?: string) {\r\n super()\r\n\r\n const key = this.key = tag || getTag(this)\r\n\r\n if (this.pipe) {\r\n addPipe(key, this.pipe.bind(this))\r\n this.onUnmount(() => {\r\n // no safe enough\r\n delete Context.pipeRecord[key]\r\n })\r\n }\r\n\r\n if (this.addon) {\r\n addAddon(key, this.addon.bind(this), this.addonPriority)\r\n\r\n this.onUnmount(() => {\r\n delete Context.addonRecord[key]\r\n })\r\n }\r\n\r\n if (this.guard) {\r\n addGuard(key, this.guard.bind(this), this.guardPriority)\r\n\r\n this.onUnmount(() => {\r\n delete Context.guardRecord[key]\r\n })\r\n }\r\n\r\n if (this.filter) {\r\n addFilter(key, this.filter.bind(this))\r\n this.onUnmount(() => {\r\n delete Context.filterRecord[key]\r\n })\r\n }\r\n }\r\n}\r\n","import fse from 'fs-extra'\r\nimport type { Meta } from '../meta'\r\nexport abstract class Generator {\r\n private _path: string\r\n constructor(\r\n path?: string,\r\n ) {\r\n if (path)\r\n this._path = path\r\n }\r\n\r\n abstract name: string\r\n\r\n get path() {\r\n return this._path || `.ps/${this.name.toLowerCase()}.js`\r\n }\r\n\r\n abstract generateCode(meta: Meta[]): string\r\n\r\n async output(meta: Meta[]) {\r\n await fse.outputFile(this.path, this.generateCode(meta))\r\n }\r\n}\r\n","import type { ControllerMetaData, Meta } from '../meta'\r\nimport { Generator } from './utils'\r\n\r\nexport class RPCGenerator extends Generator {\r\n name = 'RPC'\r\n classMap: Record<string, { [key: string]: string }> = {}\r\n\r\n getContent() {\r\n let content = ''\r\n\r\n for (const name in this.classMap) {\r\n content += `\r\n export class ${name}{\r\n ${Object.values(this.classMap[name]).reduce((p, c) => p + c)}\r\n }`\r\n }\r\n return content\r\n }\r\n\r\n addMethod(args: ControllerMetaData) {\r\n const {\r\n rpc, name, func, tag,\r\n } = args\r\n\r\n if (!rpc)\r\n return\r\n if (!this.classMap[name])\r\n this.classMap[name] = {}\r\n this.classMap[name][func] = `\r\n ${func}(){\r\n return {tag:'${tag as string}',func:\"${func}\",isEvent:${!!rpc.isEvent},queue:\"${rpc.queue || ''}\"}\r\n\r\n }\r\n `\r\n }\r\n\r\n generateCode(meta: Meta[]): string {\r\n // for (const i of meta) {\r\n // if (i.controller === 'rpc')\r\n // this.addMethod(i as ControllerMetaData)\r\n // }\r\n meta.forEach(({ data }) => {\r\n if (data.controller === 'rpc')\r\n this.addMethod(data as ControllerMetaData)\r\n })\r\n return this.getContent()\r\n }\r\n}\r\n","import { joinUrl } from '../helper'\r\nimport type { ControllerMetaData, Meta } from '../meta'\r\nimport { Generator } from './utils'\r\n\r\nexport class HTTPGenerator extends Generator {\r\n name = 'HTTP'\r\n classMap: Record<string, { [key: string]: string }> = {}\r\n\r\n getContent() {\r\n let content = ''\r\n\r\n for (const name in this.classMap) {\r\n content += `\r\n export class ${name}{\r\n ${Object.values(this.classMap[name]).reduce((p, c) => p + c)}\r\n }`\r\n }\r\n return content\r\n }\r\n\r\n addMethod(args: ControllerMetaData) {\r\n const {\r\n http, name, func, params, tag,\r\n } = args\r\n if (!http?.type)\r\n return\r\n const url = joinUrl(http.prefix, http.route).replace(/\\/\\:([^\\/]*)/g, (_, js) => `/{{${js}}}`)\r\n if (!this.classMap[name])\r\n this.classMap[name] = {}\r\n this.classMap[name][func] = `\r\n ${func}(...args){\r\nconst ret={tag:\"${tag as string}\",func:\"${func}\",body:{},headers:{},query:{},params:{},method:\"${http.type}\",url:\"${url}\"}\r\n\r\n${params.reduce((p, c, i) => `${p}ret.${c.type}${c.key ? `['${c.key}']` : ''}=args[${i}]\\n${c.type === 'params' ? `ret.url=ret.url.replace('{{${c.key}}}',args[${i}])` : ''}\\n`, '')}\r\nreturn ret\r\n }\r\n `\r\n }\r\n\r\n generateCode(meta: Meta[]): string {\r\n meta.forEach(({ data }) => {\r\n if (data.controller === 'http')\r\n this.addMethod(data as ControllerMetaData)\r\n })\r\n return this.getContent()\r\n }\r\n}\r\n","import { useS } from '../core'\r\nimport { joinUrl } from '../helper'\r\nimport type { ControllerMetaData, Meta } from '../meta'\r\nimport { Generator } from './utils'\r\nimport { getMergedMeta } from 'phecda-core'\r\n\r\nexport class OpenAPIGenerator extends Generator {\r\n name = 'OpenAPI'\r\n paths: Record<string, any> = {}\r\n getContent() {\r\n return JSON.stringify({\r\n openapi: '3.0.0',\r\n info: {\r\n title: 'API Documentation',\r\n version: '1.0.0',\r\n description: 'API documentation generated by phecda-server'\r\n },\r\n paths: this.paths\r\n })\r\n }\r\n\r\n addMethod(args: ControllerMetaData) {\r\n const {\r\n http, tag, func\r\n } = args\r\n if (!http?.type)\r\n return\r\n\r\n const path = joinUrl(http.prefix, http.route)\r\n if (!this.paths[path]) {\r\n this.paths[path] = {}\r\n }\r\n\r\n const config = getMergedMeta(useS().getModel(tag), func)['openapi']\r\n this.paths[path][http.type as string] = {\r\n summary: config.summary,\r\n description: config.description,\r\n tags: config.tags || [tag],\r\n deprecated: config.deprecated,\r\n parameters: config.parameters,\r\n requestBody: config.requestBody,\r\n responses: config.responses\r\n };\r\n }\r\n\r\n generateCode(meta: Meta[]): string {\r\n meta.forEach(({ data }) => {\r\n if (data.controller === 'http')\r\n this.addMethod(data as ControllerMetaData)\r\n })\r\n return this.getContent()\r\n }\r\n}\r\n","export * from './context'\r\nexport * from './types'\r\nexport * from './core'\r\nexport * from './decorators'\r\nexport * from './exception'\r\nexport * from './pipe'\r\nexport * from './meta'\r\nexport * from './common'\r\nexport * from './modules'\r\nexport * from './generator'\r\nexport * from './utils'\r\n\r\nexport * from 'phecda-core'\r\n\r\nexport * from './http/types'\r\nexport * from './rpc/types'\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCO,IAAMA,iBAAN,MAAMA;EAAb,OAAaA;;;EACXC;AACF;;;AC1CA,SAASC,YAAY;;;;;;;;;;;;AAOd,IAAMC,aAAN,cAAyBC,KAAAA;SAAAA;;;EAC9BC,UAAUA;EAEVC,IAAIC,KAAcC,QAAkB,OAAO;AACzCF,QAAIC,KAAKC,OAAO,KAAKC,GAAG;EAC1B;AACF;AAEO,IAAMC,WAAN,cAAsDP,WAAAA;SAAAA;;;EAE3DQ;AACF;;;;;AACO,IAAMC,UAAN,cAAmDT,WAAAA;SAAAA;;;EAExDQ;AACF;;;;;;;ACtBA,SAASE,cAAc;AAMhB,IAAeC,UAAf,cAA4FC,WAAAA;EANnG,OAMmGA;;;EACxFC;EACTC,YAAYC,KAAc;AACxB,UAAK;AACL,SAAKF,MAAME,OAAOC,OAAO,IAAI;AAE7BC,cAAU,KAAKJ,KAAK,KAAKK,IAAIC,KAAK,IAAI,CAAA;AACtC,SAAKC,UAAU,MAAA;AACb,aAAOC,QAAQC,aAAa,KAAKT,GAAG;IACtC,CAAA;EACF;AAGF;;;ACnBA,SAASU,UAAAA,eAAc;AAKhB,IAAeC,SAAf,cAAyDC,WAAAA;EALhE,OAKgEA;;;EAErDC;EACTC,WAAW;EAEXC,YAAYC,KAAc;AACxB,UAAK;AACL,SAAKH,MAAMG,OAAOC,QAAO,IAAI;AAE7BC,aAAS,KAAKL,KAAK,KAAKM,IAAIC,KAAK,IAAI,GAAG,KAAKN,QAAQ;AAErD,SAAKO,UAAU,MAAA;AACb,aAAOC,QAAQC,YAAY,KAAKV,GAAG;IACrC,CAAA;EACF;AACF;;;ACpBA,SAASW,UAAAA,eAAc;AAIhB,IAAeC,QAAf,cAAwDC,WAAAA;EAJ/D,OAI+DA;;;EACpDC;EAETC,YAAYC,KAAc;AACxB,UAAK;AAEL,SAAKF,MAAME,OAAOC,QAAO,IAAI;AAC7BC,YAAQ,KAAKJ,KAAK,KAAKK,IAAIC,KAAK,IAAI,CAAA;AACpC,SAAKC,UAAU,MAAA;AACb,aAAOC,QAAQC,WAAW,KAAKT,GAAG;IACpC,CAAA;EACF;AAGF;;;AClBA,SAASU,UAAAA,eAAc;AAIhB,IAAeC,SAAf,cAA8BC,WAAAA;EAJrC,OAIqCA;;;EAC1BC;EAETC,WAAW;EACXC,YAAYC,KAAc;AACxB,UAAK;AACL,SAAKH,MAAMG,OAAOC,QAAO,IAAI;AAE7BC,aAAS,KAAKL,KAAK,KAAKM,IAAIC,KAAK,IAAI,GAAG,KAAKN,QAAQ;AAErD,SAAKO,UAAU,MAAA;AACb,aAAOC,QAAQC,YAAY,KAAKV,GAAG;IACrC,CAAA;EACF;AAGF;;;ACpBA,SAASW,UAAAA,eAAc;AAiBhB,IAAMC,aAAN,cAAyBC,WAAAA;EAjBhC,OAiBgCA;;;EACrBC;EAETC;EACAC;EAEAC,YAAYC,KAAc;AACxB,UAAK;AAEL,UAAMJ,MAAM,KAAKA,MAAMI,OAAOC,QAAO,IAAI;AAEzC,QAAI,KAAKC,MAAM;AACbC,cAAQP,KAAK,KAAKM,KAAKE,KAAK,IAAI,CAAA;AAChC,WAAKC,UAAU,MAAA;AAEb,eAAOC,QAAQC,WAAWX,GAAAA;MAC5B,CAAA;IACF;AAEA,QAAI,KAAKY,OAAO;AACdC,eAASb,KAAK,KAAKY,MAAMJ,KAAK,IAAI,GAAG,KAAKN,aAAa;AAEvD,WAAKO,UAAU,MAAA;AACb,eAAOC,QAAQI,YAAYd,GAAAA;MAC7B,CAAA;IACF;AAEA,QAAI,KAAKe,OAAO;AACdC,eAAShB,KAAK,KAAKe,MAAMP,KAAK,IAAI,GAAG,KAAKP,aAAa;AAEvD,WAAKQ,UAAU,MAAA;AACb,eAAOC,QAAQO,YAAYjB,GAAAA;MAC7B,CAAA;IACF;AAEA,QAAI,KAAKkB,QAAQ;AACfC,gBAAUnB,KAAK,KAAKkB,OAAOV,KAAK,IAAI,CAAA;AACpC,WAAKC,UAAU,MAAA;AACb,eAAOC,QAAQU,aAAapB,GAAAA;MAC9B,CAAA;IACF;EACF;AACF;;;AC3DA,OAAOqB,SAAS;AAET,IAAeC,YAAf,MAAeA;EAFtB,OAEsBA;;;EACZC;EACRC,YACEC,MACA;AACA,QAAIA,KACF,MAAKF,QAAQE;EACjB;EAIA,IAAIA,OAAO;AACT,WAAO,KAAKF,SAAS,OAAO,KAAKG,KAAKC,YAAW,CAAA;EACnD;EAIA,MAAMC,OAAOC,MAAc;AACzB,UAAMC,IAAIC,WAAW,KAAKN,MAAM,KAAKO,aAAaH,IAAAA,CAAAA;EACpD;AACF;;;ACnBO,IAAMI,eAAN,cAA2BC,UAAAA;EAFlC,OAEkCA;;;EAChCC,OAAO;EACPC,WAAsD,CAAC;EAEvDC,aAAa;AACX,QAAIC,UAAU;AAEd,eAAWH,QAAQ,KAAKC,UAAU;AAChCE,iBAAW;uBACMH,IAAAA;cACTI,OAAOC,OAAO,KAAKJ,SAASD,IAAAA,CAAK,EAAEM,OAAO,CAACC,GAAGC,MAAMD,IAAIC,CAAAA,CAAAA;;IAElE;AACA,WAAOL;EACT;EAEAM,UAAUC,MAA0B;AAClC,UAAM,EACJC,KAAKX,MAAMY,MAAMC,IAAG,IAClBH;AAEJ,QAAI,CAACC,IACH;AACF,QAAI,CAAC,KAAKV,SAASD,IAAAA,EACjB,MAAKC,SAASD,IAAAA,IAAQ,CAAC;AACzB,SAAKC,SAASD,IAAAA,EAAMY,IAAAA,IAAQ;MAC1BA,IAAAA;qBACeC,GAAAA,WAAwBD,IAAAA,aAAiB,CAAC,CAACD,IAAIG,OAAO,WAAWH,IAAII,SAAS,EAAA;;;;EAIjG;EAEAC,aAAaC,MAAsB;AAKjCA,SAAKC,QAAQ,CAAC,EAAEC,KAAI,MAAE;AACpB,UAAIA,KAAKC,eAAe,MACtB,MAAKX,UAAUU,IAAAA;IACnB,CAAA;AACA,WAAO,KAAKjB,WAAU;EACxB;AACF;;;AC3CO,IAAMmB,gBAAN,cAA4BC,UAAAA;EAJnC,OAImCA;;;EACjCC,OAAO;EACPC,WAAsD,CAAC;EAEvDC,aAAa;AACX,QAAIC,UAAU;AAEd,eAAWH,QAAQ,KAAKC,UAAU;AAChCE,iBAAW;uBACMH,IAAAA;cACTI,OAAOC,OAAO,KAAKJ,SAASD,IAAAA,CAAK,EAAEM,OAAO,CAACC,GAAGC,MAAMD,IAAIC,CAAAA,CAAAA;;IAElE;AACA,WAAOL;EACT;EAEAM,UAAUC,MAA0B;AAClC,UAAM,EACJC,MAAMX,MAAMY,MAAMC,QAAQC,IAAG,IAC3BJ;AACJ,QAAI,CAACC,MAAMI,KACT;AACF,UAAMC,MAAMC,QAAQN,KAAKO,QAAQP,KAAKQ,KAAK,EAAEC,QAAQ,iBAAiB,CAACC,GAAGC,OAAO,MAAMA,EAAAA,IAAM;AAC7F,QAAI,CAAC,KAAKrB,SAASD,IAAAA,EACjB,MAAKC,SAASD,IAAAA,IAAQ,CAAC;AACzB,SAAKC,SAASD,IAAAA,EAAMY,IAAAA,IAAQ;MAC1BA,IAAAA;kBACYE,GAAAA,WAAwBF,IAAAA,mDAAuDD,KAAKI,IAAI,UAAUC,GAAAA;;EAElHH,OAAOP,OAAO,CAACC,GAAGC,GAAGe,MAAM,GAAGhB,CAAAA,OAAQC,EAAEO,IAAI,GAAGP,EAAEgB,MAAM,KAAKhB,EAAEgB,GAAG,OAAO,EAAA,SAAWD,CAAAA;EAAOf,EAAEO,SAAS,WAAW,8BAA8BP,EAAEgB,GAAG,YAAYD,CAAAA,OAAQ,EAAA;GAAQ,EAAA,CAAA;;;;EAI/K;EAEAE,aAAaC,MAAsB;AACjCA,SAAKC,QAAQ,CAAC,EAAEC,KAAI,MAAE;AACpB,UAAIA,KAAKC,eAAe,OACtB,MAAKpB,UAAUmB,IAAAA;IACnB,CAAA;AACA,WAAO,KAAK1B,WAAU;EACxB;AACF;;;AC1CA,SAAS4B,qBAAqB;AAEvB,IAAMC,mBAAN,cAA+BC,UAAAA;EANtC,OAMsCA;;;EAClCC,OAAO;EACPC,QAA6B,CAAC;EAC9BC,aAAa;AACT,WAAOC,KAAKC,UAAU;MAClBC,SAAS;MACTC,MAAM;QACFC,OAAO;QACPC,SAAS;QACTC,aAAa;MACjB;MACAR,OAAO,KAAKA;IAChB,CAAA;EACJ;EAEAS,UAAUC,MAA0B;AAChC,UAAM,EACFC,MAAMC,KAAKC,KAAI,IACfH;AACJ,QAAI,CAACC,MAAMG,KACP;AAEJ,UAAMC,OAAOC,QAAQL,KAAKM,QAAQN,KAAKO,KAAK;AAC5C,QAAI,CAAC,KAAKlB,MAAMe,IAAAA,GAAO;AACnB,WAAKf,MAAMe,IAAAA,IAAQ,CAAC;IACxB;AAEA,UAAMI,SAASC,cAAcC,KAAAA,EAAOC,SAASV,GAAAA,GAAMC,IAAAA,EAAM,SAAA;AACzD,SAAKb,MAAMe,IAAAA,EAAMJ,KAAKG,IAAI,IAAc;MACpCS,SAASJ,OAAOI;MAChBf,aAAaW,OAAOX;MACpBgB,MAAML,OAAOK,QAAQ;QAACZ;;MACtBa,YAAYN,OAAOM;MACnBC,YAAYP,OAAOO;MACnBC,aAAaR,OAAOQ;MACpBC,WAAWT,OAAOS;IACtB;EACJ;EAEAC,aAAaC,MAAsB;AAC/BA,SAAKC,QAAQ,CAAC,EAAEC,KAAI,MAAE;AAClB,UAAIA,KAAKC,eAAe,OACpB,MAAKxB,UAAUuB,IAAAA;IACvB,CAAA;AACA,WAAO,KAAK/B,WAAU;EAC1B;AACJ;;;ACxCA,cAAc;","names":["CustomResponse","_ps_response","Base","ServerBase","Base","emitter","log","msg","level","tag","HttpBase","context","RpcBase","getTag","PFilter","ServerBase","key","constructor","tag","getTag","addFilter","use","bind","onUnmount","Context","filterRecord","getTag","PGuard","ServerBase","key","priority","constructor","tag","getTag","addGuard","use","bind","onUnmount","Context","guardRecord","getTag","PPipe","ServerBase","key","constructor","tag","getTag","addPipe","use","bind","onUnmount","Context","pipeRecord","getTag","PAddon","ServerBase","key","priority","constructor","tag","getTag","addAddon","use","bind","onUnmount","Context","addonRecord","getTag","PExtension","ServerBase","key","guardPriority","addonPriority","constructor","tag","getTag","pipe","addPipe","bind","onUnmount","Context","pipeRecord","addon","addAddon","addonRecord","guard","addGuard","guardRecord","filter","addFilter","filterRecord","fse","Generator","_path","constructor","path","name","toLowerCase","output","meta","fse","outputFile","generateCode","RPCGenerator","Generator","name","classMap","getContent","content","Object","values","reduce","p","c","addMethod","args","rpc","func","tag","isEvent","queue","generateCode","meta","forEach","data","controller","HTTPGenerator","Generator","name","classMap","getContent","content","Object","values","reduce","p","c","addMethod","args","http","func","params","tag","type","url","joinUrl","prefix","route","replace","_","js","i","key","generateCode","meta","forEach","data","controller","getMergedMeta","OpenAPIGenerator","Generator","name","paths","getContent","JSON","stringify","openapi","info","title","version","description","addMethod","args","http","tag","func","type","path","joinUrl","prefix","route","config","getMergedMeta","useS","getModel","summary","tags","deprecated","parameters","requestBody","responses","generateCode","meta","forEach","data","controller"]}
|