k99 0.2.0 → 0.3.0-beta.1
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/LICENSE +1 -1
- package/README.md +8 -0
- package/README.zh.md +8 -0
- package/browser/package.json +8 -0
- package/browser/types.d.ts +20 -0
- package/cli/command/create.js +1 -2
- package/cli/command/index.js +1 -2
- package/cli/command/init.js +3 -5
- package/cli/command/start.js +9 -10
- package/cli/index.js +3 -4
- package/cli/opt/bind.js +1 -2
- package/cli/opt/index.js +1 -2
- package/cli/opt/listen.js +1 -2
- package/cli/opt/path.js +1 -2
- package/cli/opt/port.js +1 -2
- package/cli/opt/show-router.js +1 -2
- package/dist/k99.browser.js +3110 -0
- package/dist/k99.browser.min.js +6 -0
- package/dist/k99.esm.js +3082 -0
- package/dist/k99.esm.min.js +6 -0
- package/dist/k99.js +3104 -0
- package/dist/k99.mjs +3082 -0
- package/dist/k99Browser.browser.js +490 -0
- package/dist/k99Browser.browser.min.js +6 -0
- package/dist/k99Browser.esm.js +475 -0
- package/dist/k99Browser.esm.min.js +6 -0
- package/dist/k99Browser.js +484 -0
- package/dist/k99Browser.mjs +475 -0
- package/dist/k99Services.browser.js +145 -0
- package/dist/k99Services.browser.min.js +6 -0
- package/dist/k99Services.esm.js +136 -0
- package/dist/k99Services.esm.min.js +6 -0
- package/dist/k99Services.js +141 -0
- package/dist/k99Services.mjs +136 -0
- package/node/index.js +1386 -0
- package/node/index.mjs +1350 -0
- package/node/package.json +5 -0
- package/node/types.d.ts +166 -0
- package/package.json +77 -11
- package/services/package.json +8 -0
- package/services/types.d.ts +22 -0
- package/starter.js +0 -1
- package/types.d.ts +748 -0
- package/Container.d.ts +0 -92
- package/Container.js +0 -242
- package/Container.js.map +0 -1
- package/Controller/index.d.ts +0 -178
- package/Controller/index.js +0 -576
- package/Controller/index.js.map +0 -1
- package/Controller/patch/cookie.d.ts +0 -33
- package/Controller/patch/cookie.js +0 -168
- package/Controller/patch/cookie.js.map +0 -1
- package/Controller/patch/index.d.ts +0 -7
- package/Controller/patch/index.js +0 -26
- package/Controller/patch/index.js.map +0 -1
- package/Controller/patch/render.d.ts +0 -5
- package/Controller/patch/render.js +0 -24
- package/Controller/patch/render.js.map +0 -1
- package/ExitSignal.d.ts +0 -14
- package/ExitSignal.js +0 -29
- package/ExitSignal.js.map +0 -1
- package/Extension.d.ts +0 -56
- package/Extension.js +0 -93
- package/Extension.js.map +0 -1
- package/ExtensionContainer.d.ts +0 -55
- package/ExtensionContainer.js +0 -105
- package/ExtensionContainer.js.map +0 -1
- package/Plugin.d.ts +0 -52
- package/Plugin.js +0 -278
- package/Plugin.js.map +0 -1
- package/Preprocessor.d.ts +0 -86
- package/Preprocessor.js +0 -135
- package/Preprocessor.js.map +0 -1
- package/Router/assets.d.ts +0 -33
- package/Router/assets.js +0 -106
- package/Router/assets.js.map +0 -1
- package/Router/callback.d.ts +0 -9
- package/Router/callback.js +0 -152
- package/Router/callback.js.map +0 -1
- package/Router/extendsInterface.d.ts +0 -8
- package/Router/extendsInterface.js +0 -43
- package/Router/extendsInterface.js.map +0 -1
- package/Router/index.d.ts +0 -184
- package/Router/index.js +0 -615
- package/Router/index.js.map +0 -1
- package/Router/log.d.ts +0 -23
- package/Router/log.js +0 -120
- package/Router/log.js.map +0 -1
- package/Router/order.d.ts +0 -14
- package/Router/order.js +0 -71
- package/Router/order.js.map +0 -1
- package/Router/register.d.ts +0 -9
- package/Router/register.js +0 -252
- package/Router/register.js.map +0 -1
- package/Router/registerManager.d.ts +0 -22
- package/Router/registerManager.js +0 -102
- package/Router/registerManager.js.map +0 -1
- package/Router/scan.d.ts +0 -2
- package/Router/scan.js +0 -72
- package/Router/scan.js.map +0 -1
- package/Router/setHandleItem.d.ts +0 -3
- package/Router/setHandleItem.js +0 -94
- package/Router/setHandleItem.js.map +0 -1
- package/Router/settings.d.ts +0 -12
- package/Router/settings.js +0 -74
- package/Router/settings.js.map +0 -1
- package/Router/start.d.ts +0 -3
- package/Router/start.js +0 -270
- package/Router/start.js.map +0 -1
- package/Router/vars.d.ts +0 -10
- package/Router/vars.js +0 -40
- package/Router/vars.js.map +0 -1
- package/Service.d.ts +0 -12
- package/Service.js +0 -20
- package/Service.js.map +0 -1
- package/cli/command/create.d.ts +0 -7
- package/cli/command/create.js.map +0 -1
- package/cli/command/index.d.ts +0 -7
- package/cli/command/index.js.map +0 -1
- package/cli/command/init.d.ts +0 -6
- package/cli/command/init.js.map +0 -1
- package/cli/command/start.d.ts +0 -6
- package/cli/command/start.js.map +0 -1
- package/cli/index.d.ts +0 -2
- package/cli/index.js.map +0 -1
- package/cli/opt/bind.d.ts +0 -3
- package/cli/opt/bind.js.map +0 -1
- package/cli/opt/index.d.ts +0 -16
- package/cli/opt/index.js.map +0 -1
- package/cli/opt/listen.d.ts +0 -3
- package/cli/opt/listen.js.map +0 -1
- package/cli/opt/path.d.ts +0 -3
- package/cli/opt/path.js.map +0 -1
- package/cli/opt/port.d.ts +0 -3
- package/cli/opt/port.js.map +0 -1
- package/cli/opt/show-router.d.ts +0 -3
- package/cli/opt/show-router.js.map +0 -1
- package/index.d.ts +0 -354
- package/index.js +0 -155
- package/index.js.map +0 -1
- package/setOptions.d.ts +0 -12
- package/setOptions.js +0 -60
- package/setOptions.js.map +0 -1
- package/starter.d.ts +0 -2
- package/starter.js.map +0 -1
- package/symbols.d.ts +0 -13
- package/symbols.js +0 -31
- package/symbols.js.map +0 -1
- package/util/index.d.ts +0 -5
- package/util/index.js +0 -92
- package/util/index.js.map +0 -1
- package/util/stream.d.ts +0 -19
- package/util/stream.js +0 -66
- package/util/stream.js.map +0 -1
package/Container.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IClass } from './index';
|
|
3
|
-
import Controller, { Class as ControllerClass } from './Controller';
|
|
4
|
-
export declare type Params = ConstructorParameters<typeof Container>;
|
|
5
|
-
export declare type Class<T extends Container<any, any>> = IClass<T, Params, {}>;
|
|
6
|
-
/**
|
|
7
|
-
* 控制器容器
|
|
8
|
-
* @description 代理部分控制器属性的类
|
|
9
|
-
*/
|
|
10
|
-
declare class Container<C extends Controller, CC extends ControllerClass<C>> {
|
|
11
|
-
/**
|
|
12
|
-
* @warning 不要重载构造函数或者主动调用创建实例
|
|
13
|
-
*/
|
|
14
|
-
constructor(controller: C);
|
|
15
|
-
/** 路由 */
|
|
16
|
-
get Router(): import("./Router").default;
|
|
17
|
-
get Settings(): import("./Router/settings").default;
|
|
18
|
-
get Assets(): import("./Router/assets").default;
|
|
19
|
-
get Log(): import("./Router/log").default;
|
|
20
|
-
/** 关联的服务 */
|
|
21
|
-
get services(): import(".").Services;
|
|
22
|
-
/** 相关的配置信息 */
|
|
23
|
-
get config(): object | undefined;
|
|
24
|
-
/** 处理文件的导出配置 */
|
|
25
|
-
get exports(): import(".").Exports<any> | undefined;
|
|
26
|
-
/** 请求 */
|
|
27
|
-
get file(): import(".").FileInfo | undefined;
|
|
28
|
-
/** 请求 */
|
|
29
|
-
get request(): import(".").K99Request | import("http").IncomingMessage | import("http2").Http2ServerRequest;
|
|
30
|
-
/** 相应 */
|
|
31
|
-
get response(): import(".").K99Response | import("http").ServerResponse | import("http2").Http2ServerResponse;
|
|
32
|
-
/** 请求流 */
|
|
33
|
-
get requestStream(): import("stream").Readable | undefined;
|
|
34
|
-
/** 相应流 */
|
|
35
|
-
get responseStream(): import("stream").Writable | undefined;
|
|
36
|
-
/** 请求头 */
|
|
37
|
-
get headers(): Readonly<import("http").IncomingHttpHeaders>;
|
|
38
|
-
/** 请求头原始数组 */
|
|
39
|
-
get rawHeaders(): readonly string[];
|
|
40
|
-
/** 请求方法 */
|
|
41
|
-
get method(): "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | undefined;
|
|
42
|
-
/** 请求 url (不含协议及主机名等) */
|
|
43
|
-
get url(): string;
|
|
44
|
-
/** 路径参数 */
|
|
45
|
-
get params(): Readonly<{
|
|
46
|
-
[p: string]: string;
|
|
47
|
-
}>;
|
|
48
|
-
/** 请求路径 */
|
|
49
|
-
get pathname(): string;
|
|
50
|
-
/** 查询字符串 */
|
|
51
|
-
get search(): string;
|
|
52
|
-
/** 查询参数 */
|
|
53
|
-
get query(): import("querystring").ParsedUrlQuery;
|
|
54
|
-
/** 来源路径 */
|
|
55
|
-
get referer(): string;
|
|
56
|
-
/** 请求主机 */
|
|
57
|
-
get host(): string;
|
|
58
|
-
/** 请求主机名 */
|
|
59
|
-
get hostname(): string;
|
|
60
|
-
/** 请求端口 */
|
|
61
|
-
get port(): string;
|
|
62
|
-
/** 客户端 UA */
|
|
63
|
-
get userAgent(): string;
|
|
64
|
-
/** 请求 accept */
|
|
65
|
-
get accept(): string[];
|
|
66
|
-
/** 请求 accept language */
|
|
67
|
-
get acceptLanguage(): string[];
|
|
68
|
-
/** 请求 content-type */
|
|
69
|
-
get contentType(): string;
|
|
70
|
-
/** 状态码 */
|
|
71
|
-
get status(): number;
|
|
72
|
-
set status(v: number);
|
|
73
|
-
/** 判断是否设置里指定的响应头 */
|
|
74
|
-
hasHeader(name: string): boolean;
|
|
75
|
-
/** 获取设置了的指定的响应头 */
|
|
76
|
-
getHeader(name: string): string | number | string[] | undefined;
|
|
77
|
-
/** 设置指定的响应头 */
|
|
78
|
-
setHeader(name: string, value: string | number | string[]): void;
|
|
79
|
-
/** 移除已设置但未发送的指定请求头 */
|
|
80
|
-
removeHeader(name: string): void;
|
|
81
|
-
getHeaderNames(): string[];
|
|
82
|
-
getHeaders(): import("http").OutgoingHttpHeaders;
|
|
83
|
-
}
|
|
84
|
-
interface Container<C extends Controller, CC extends ControllerClass<C>> {
|
|
85
|
-
/** Container 的类自身 */
|
|
86
|
-
readonly class: Class<this>;
|
|
87
|
-
/** 关联的 Controller 实例 */
|
|
88
|
-
readonly controller: C;
|
|
89
|
-
/** 关联的 Controller 的类 */
|
|
90
|
-
readonly Controller: CC;
|
|
91
|
-
}
|
|
92
|
-
export default Container;
|
package/Container.js
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 控制器容器
|
|
10
|
-
* @description 代理部分控制器属性的类
|
|
11
|
-
*/
|
|
12
|
-
class Container {
|
|
13
|
-
/**
|
|
14
|
-
* @warning 不要重载构造函数或者主动调用创建实例
|
|
15
|
-
*/
|
|
16
|
-
constructor(controller) {
|
|
17
|
-
Reflect.defineProperty(this, 'class', {
|
|
18
|
-
value: new.target,
|
|
19
|
-
configurable: true,
|
|
20
|
-
enumerable: true
|
|
21
|
-
});
|
|
22
|
-
Reflect.defineProperty(this, 'controller', {
|
|
23
|
-
value: controller,
|
|
24
|
-
configurable: true,
|
|
25
|
-
enumerable: true
|
|
26
|
-
});
|
|
27
|
-
Reflect.defineProperty(this, 'Controller', {
|
|
28
|
-
value: controller.class,
|
|
29
|
-
configurable: true,
|
|
30
|
-
enumerable: true
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
/** 路由 */
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
get Router() {
|
|
37
|
-
return this.controller.Router;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
get Settings() {
|
|
41
|
-
return this.controller.Settings;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
get Assets() {
|
|
45
|
-
return this.controller.Assets;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
get Log() {
|
|
49
|
-
return this.controller.Log;
|
|
50
|
-
}
|
|
51
|
-
/** 关联的服务 */
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
get services() {
|
|
55
|
-
return this.controller.services;
|
|
56
|
-
}
|
|
57
|
-
/** 相关的配置信息 */
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
get config() {
|
|
61
|
-
return this.controller.config;
|
|
62
|
-
}
|
|
63
|
-
/** 处理文件的导出配置 */
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
get exports() {
|
|
67
|
-
return this.controller.exports;
|
|
68
|
-
}
|
|
69
|
-
/** 请求 */
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
get file() {
|
|
73
|
-
return this.controller.file;
|
|
74
|
-
}
|
|
75
|
-
/** 请求 */
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
get request() {
|
|
79
|
-
return this.controller.request;
|
|
80
|
-
}
|
|
81
|
-
/** 相应 */
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
get response() {
|
|
85
|
-
return this.controller.response;
|
|
86
|
-
}
|
|
87
|
-
/** 请求流 */
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
get requestStream() {
|
|
91
|
-
return this.controller.requestStream;
|
|
92
|
-
}
|
|
93
|
-
/** 相应流 */
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
get responseStream() {
|
|
97
|
-
return this.controller.responseStream;
|
|
98
|
-
}
|
|
99
|
-
/** 请求头 */
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
get headers() {
|
|
103
|
-
return this.controller.headers;
|
|
104
|
-
}
|
|
105
|
-
/** 请求头原始数组 */
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
get rawHeaders() {
|
|
109
|
-
return this.controller.rawHeaders;
|
|
110
|
-
}
|
|
111
|
-
/** 请求方法 */
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
get method() {
|
|
115
|
-
return this.controller.method;
|
|
116
|
-
}
|
|
117
|
-
/** 请求 url (不含协议及主机名等) */
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
get url() {
|
|
121
|
-
return this.controller.url;
|
|
122
|
-
}
|
|
123
|
-
/** 路径参数 */
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
get params() {
|
|
127
|
-
return this.controller.params;
|
|
128
|
-
}
|
|
129
|
-
/** 请求路径 */
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
get pathname() {
|
|
133
|
-
return this.controller.pathname;
|
|
134
|
-
}
|
|
135
|
-
/** 查询字符串 */
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
get search() {
|
|
139
|
-
return this.controller.search;
|
|
140
|
-
}
|
|
141
|
-
/** 查询参数 */
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
get query() {
|
|
145
|
-
return this.controller.query;
|
|
146
|
-
}
|
|
147
|
-
/** 来源路径 */
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
get referer() {
|
|
151
|
-
return this.controller.referer;
|
|
152
|
-
}
|
|
153
|
-
/** 请求主机 */
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
get host() {
|
|
157
|
-
return this.controller.host;
|
|
158
|
-
}
|
|
159
|
-
/** 请求主机名 */
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
get hostname() {
|
|
163
|
-
return this.controller.hostname;
|
|
164
|
-
}
|
|
165
|
-
/** 请求端口 */
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
get port() {
|
|
169
|
-
return this.controller.port;
|
|
170
|
-
}
|
|
171
|
-
/** 客户端 UA */
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
get userAgent() {
|
|
175
|
-
return this.controller.userAgent;
|
|
176
|
-
}
|
|
177
|
-
/** 请求 accept */
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
get accept() {
|
|
181
|
-
return this.controller.accept;
|
|
182
|
-
}
|
|
183
|
-
/** 请求 accept language */
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
get acceptLanguage() {
|
|
187
|
-
return this.controller.acceptLanguage;
|
|
188
|
-
}
|
|
189
|
-
/** 请求 content-type */
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
get contentType() {
|
|
193
|
-
return this.controller.contentType;
|
|
194
|
-
}
|
|
195
|
-
/** 状态码 */
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
get status() {
|
|
199
|
-
return this.controller.status;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
set status(v) {
|
|
203
|
-
this.controller.status = v;
|
|
204
|
-
}
|
|
205
|
-
/** 判断是否设置里指定的响应头 */
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
hasHeader(name) {
|
|
209
|
-
return this.response.hasHeader(name);
|
|
210
|
-
}
|
|
211
|
-
/** 获取设置了的指定的响应头 */
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
getHeader(name) {
|
|
215
|
-
return this.response.getHeader(name);
|
|
216
|
-
}
|
|
217
|
-
/** 设置指定的响应头 */
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
setHeader(name, value) {
|
|
221
|
-
return this.response.setHeader(name, value);
|
|
222
|
-
}
|
|
223
|
-
/** 移除已设置但未发送的指定请求头 */
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
removeHeader(name) {
|
|
227
|
-
return this.response.removeHeader(name);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
getHeaderNames() {
|
|
231
|
-
return this.response.getHeaderNames();
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
getHeaders() {
|
|
235
|
-
return this.response.getHeaders();
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
var _default = Container;
|
|
241
|
-
exports.default = _default;
|
|
242
|
-
//# sourceMappingURL=Container.js.map
|
package/Container.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/k99/Container.ts"],"names":["Container","constructor","controller","Reflect","defineProperty","value","new","target","configurable","enumerable","class","Router","Settings","Assets","Log","services","config","exports","file","request","response","requestStream","responseStream","headers","rawHeaders","method","url","params","pathname","search","query","referer","host","hostname","port","userAgent","accept","acceptLanguage","contentType","status","v","hasHeader","name","getHeader","setHeader","removeHeader","getHeaderNames","getHeaders"],"mappings":"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","sourcesContent":["import { IClass } from './index';\nimport Controller, { Class as ControllerClass } from './Controller';\nexport type Params = ConstructorParameters<typeof Container>;\nexport type Class<T extends Container<any, any>> = IClass<T, Params, {}>;\n/**\n * 控制器容器\n * @description 代理部分控制器属性的类\n */\nclass Container<C extends Controller, CC extends ControllerClass<C>> {\n\t/**\n\t * @warning 不要重载构造函数或者主动调用创建实例\n\t */\n\tconstructor(controller: C) {\n\t\tReflect.defineProperty(this, 'class', { value: new.target, configurable: true, enumerable: true });\n\t\tReflect.defineProperty(this, 'controller', { value: controller, configurable: true, enumerable: true });\n\t\tReflect.defineProperty(this, 'Controller', { value: controller.class, configurable: true, enumerable: true });\n\t}\n\t/** 路由 */\n\tget Router() { return this.controller.Router; }\n\tget Settings() { return this.controller.Settings; }\n\tget Assets() { return this.controller.Assets; }\n\tget Log() { return this.controller.Log; }\n\t/** 关联的服务 */\n\tget services() { return this.controller.services; }\n\t/** 相关的配置信息 */\n\tget config() { return this.controller.config; }\n\t/** 处理文件的导出配置 */\n\tget exports() { return this.controller.exports; }\n\t/** 请求 */\n\tget file() { return this.controller.file; }\n\t/** 请求 */\n\tget request() { return this.controller.request; }\n\t/** 相应 */\n\tget response() { return this.controller.response; }\n\t/** 请求流 */\n\tget requestStream() { return this.controller.requestStream; }\n\t/** 相应流 */\n\tget responseStream() { return this.controller.responseStream; }\n\t/** 请求头 */\n\tget headers() { return this.controller.headers; }\n\t/** 请求头原始数组 */\n\tget rawHeaders() { return this.controller.rawHeaders; }\n\t/** 请求方法 */\n\tget method() { return this.controller.method; }\n\t/** 请求 url (不含协议及主机名等) */\n\tget url() { return this.controller.url; }\n\t/** 路径参数 */\n\tget params() { return this.controller.params; }\n\t/** 请求路径 */\n\tget pathname() { return this.controller.pathname; }\n\t/** 查询字符串 */\n\tget search() { return this.controller.search; }\n\t/** 查询参数 */\n\tget query() { return this.controller.query; }\n\t/** 来源路径 */\n\tget referer() { return this.controller.referer; }\n\t/** 请求主机 */\n\tget host() { return this.controller.host; }\n\t/** 请求主机名 */\n\tget hostname() { return this.controller.hostname; }\n\t/** 请求端口 */\n\tget port() { return this.controller.port; }\n\t/** 客户端 UA */\n\tget userAgent() { return this.controller.userAgent; }\n\t/** 请求 accept */\n\tget accept() { return this.controller.accept; }\n\t/** 请求 accept language */\n\tget acceptLanguage() { return this.controller.acceptLanguage; }\n\t/** 请求 content-type */\n\tget contentType() { return this.controller.contentType; }\n\t/** 状态码 */\n\tget status() { return this.controller.status; }\n\tset status(v) { this.controller.status = v; }\n\t/** 判断是否设置里指定的响应头 */\n\thasHeader(name: string) { return this.response.hasHeader(name); }\n\t/** 获取设置了的指定的响应头 */\n\tgetHeader(name: string) { return this.response.getHeader(name); }\n\t/** 设置指定的响应头 */\n\tsetHeader(name: string, value: string | number | string[]) { return this.response.setHeader(name, value); }\n\t/** 移除已设置但未发送的指定请求头 */\n\tremoveHeader(name: string) { return this.response.removeHeader(name); }\n\tgetHeaderNames() { return this.response.getHeaderNames(); }\n\tgetHeaders() { return this.response.getHeaders(); }\n}\n\ninterface Container<C extends Controller, CC extends ControllerClass<C>> {\n\t/** Container 的类自身 */\n\treadonly class: Class<this>;\n\t/** 关联的 Controller 实例 */\n\treadonly controller: C;\n\t/** 关联的 Controller 的类 */\n\treadonly Controller: CC;\n}\n\nexport default Container;\n"],"file":"Container.js"}
|
package/Controller/index.d.ts
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Readable, Writable } from 'stream';
|
|
3
|
-
import { ServerResponse, IncomingMessage } from 'http';
|
|
4
|
-
import { Http2ServerResponse, Http2ServerRequest } from 'http2';
|
|
5
|
-
import { Handle, Exports, BaseRequest, FileInfo, K99Response, K99Request, IClass, Services } from '../index';
|
|
6
|
-
import Extension, { Class as ExtensionClass } from '../Extension';
|
|
7
|
-
import Service, { Class as ServiceClass } from '../Service';
|
|
8
|
-
import Router from '../Router';
|
|
9
|
-
import { StreamUtil } from '../util';
|
|
10
|
-
import * as symbols from '../symbols';
|
|
11
|
-
import * as Patch from './patch';
|
|
12
|
-
export declare type Param = ConstructorParameters<typeof Controller>;
|
|
13
|
-
export interface Base<T extends Controller> {
|
|
14
|
-
extensions: Set<ExtensionClass<Extension<any, any>> | string>;
|
|
15
|
-
services: {
|
|
16
|
-
[key: string]: undefined | ServiceClass<Service<any, any>>;
|
|
17
|
-
};
|
|
18
|
-
extends(this: Class<T>, E: ExtensionClass<Extension<any, any>> | string): Promise<Class<T>>;
|
|
19
|
-
}
|
|
20
|
-
export declare type Class<T extends Controller> = IClass<T, Param, Base<T>>;
|
|
21
|
-
/**
|
|
22
|
-
* 控制器
|
|
23
|
-
* @description 处理函数的 this 类型
|
|
24
|
-
*/
|
|
25
|
-
declare class Controller {
|
|
26
|
-
static get symbols(): typeof symbols;
|
|
27
|
-
/** 实例将会添加的 Extension */
|
|
28
|
-
static extensions: Set<ExtensionClass<Extension<any, any>> | string>;
|
|
29
|
-
/** 实例用到的服务 */
|
|
30
|
-
static services: {
|
|
31
|
-
[key: string]: undefined | ServiceClass<Service<any, any>>;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* 为实例添加新的 Extension
|
|
35
|
-
* @description 仅对新创建的实例生效
|
|
36
|
-
* @param E Extension
|
|
37
|
-
*/
|
|
38
|
-
static extends<T extends Controller>(this: Class<T>, E: ExtensionClass<Extension<any, any>>): Promise<Class<T>>;
|
|
39
|
-
private _extensions;
|
|
40
|
-
/**
|
|
41
|
-
* 为当前实例添加扩展
|
|
42
|
-
* @param E Extension 获取注册 Id
|
|
43
|
-
*/
|
|
44
|
-
extends(E: ExtensionClass<Extension<any, any>> | string): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* @warning 不要重载构造函数或者主动调用创建实例
|
|
47
|
-
*/
|
|
48
|
-
constructor(params: Readonly<{
|
|
49
|
-
[p: string]: string;
|
|
50
|
-
}>, info: BaseRequest, config: object, exports: Exports, file: FileInfo, router: Router, request: K99Request | IncomingMessage | Http2ServerRequest, response: K99Response | ServerResponse | Http2ServerResponse);
|
|
51
|
-
get Settings(): import("../Router/settings").default;
|
|
52
|
-
get Assets(): import("../Router/assets").default;
|
|
53
|
-
get Log(): import("../Router/log").default;
|
|
54
|
-
/** 关联的服务 */
|
|
55
|
-
get services(): Services;
|
|
56
|
-
/** 处理函数的第一个参数 */
|
|
57
|
-
get data(): {
|
|
58
|
-
[key: string]: any;
|
|
59
|
-
};
|
|
60
|
-
/** 获取请求头中的 contentType 或设置相应头中的 contentType */
|
|
61
|
-
get contentType(): string;
|
|
62
|
-
set contentType(v: string);
|
|
63
|
-
/** 当前对象是否已经被销毁 */
|
|
64
|
-
get destroyed(): boolean;
|
|
65
|
-
/** 相应是否已结束 */
|
|
66
|
-
get finished(): boolean;
|
|
67
|
-
/** 响应头是否已经被发送 */
|
|
68
|
-
get headersSent(): boolean;
|
|
69
|
-
/** 状态码 */
|
|
70
|
-
get status(): number;
|
|
71
|
-
set status(v: number);
|
|
72
|
-
hasHeader(name: string): boolean;
|
|
73
|
-
getHeader(name: string): string | number | string[] | undefined;
|
|
74
|
-
setHeader(name: string, value: string | number | string[]): void;
|
|
75
|
-
removeHeader(name: string): void;
|
|
76
|
-
getHeaderNames(): string[];
|
|
77
|
-
getHeaders(): import("http").OutgoingHttpHeaders;
|
|
78
|
-
/** 将数据写入相应 */
|
|
79
|
-
write(chunk: StreamUtil.WriteType, encoding?: string): Promise<void>;
|
|
80
|
-
/**
|
|
81
|
-
* 退出执行
|
|
82
|
-
* @param status 状态码
|
|
83
|
-
*/
|
|
84
|
-
exit(status?: number): never;
|
|
85
|
-
/**
|
|
86
|
-
* 302 或 301 跳转
|
|
87
|
-
* @param url 要跳转的 url
|
|
88
|
-
* @param is301 是否采用 301 跳转
|
|
89
|
-
*/
|
|
90
|
-
transfer(url: string, is301?: boolean): never;
|
|
91
|
-
/**
|
|
92
|
-
* 执行所有未执行的 Extension
|
|
93
|
-
* @description Extension 会在 Controller 创建时实例化
|
|
94
|
-
* @description 此方法由 exec 调用
|
|
95
|
-
* @description 此函数默认会在 init 前执行
|
|
96
|
-
*/
|
|
97
|
-
[symbols.execExtensions](): Promise<void>;
|
|
98
|
-
/**
|
|
99
|
-
* 初始化 Controller
|
|
100
|
-
* @description 如果有初始化操作,应当在 init 中实现
|
|
101
|
-
* @description 此方法由 exec 调用
|
|
102
|
-
*/
|
|
103
|
-
[symbols.init](): void | Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* 处理函数第二个参数开始的附加
|
|
106
|
-
* @description 如果需要,则需要在此函数中实现
|
|
107
|
-
* @description 此方法由 exec 调用
|
|
108
|
-
*/
|
|
109
|
-
[symbols.argv](): any[] | PromiseLike<any[]>;
|
|
110
|
-
/**
|
|
111
|
-
* OPTIONS 的默认处理函数
|
|
112
|
-
* @description 如果需要,则需要在此函数中实现
|
|
113
|
-
* @description 当已 OPTIONS 方法请求资源,且资源对应的路径中没有定义 OPTIONS 方法处理是的处理函数
|
|
114
|
-
*/
|
|
115
|
-
[symbols.options](data: {
|
|
116
|
-
[key: string]: any;
|
|
117
|
-
}, ...argv: any[]): void | undefined | StreamUtil.WriteType | Promise<void | undefined | StreamUtil.WriteType>;
|
|
118
|
-
/**
|
|
119
|
-
* 执行
|
|
120
|
-
* @description 此方法由路由调用
|
|
121
|
-
* @param handle 处理函数,如果为 undefined 则表示 OPTIONS 请求,需要通过
|
|
122
|
-
*/
|
|
123
|
-
[symbols.exec](handle: Handle<any>): Promise<string | void | object | Readable | StreamUtil.BufferViewOrTypeArray | ArrayBuffer | SharedArrayBuffer | Buffer | AsyncIterable<StreamUtil.BaseWriteType> | Iterable<StreamUtil.BaseWriteType> | undefined>;
|
|
124
|
-
/**
|
|
125
|
-
* 对处理函数的结果进行处理
|
|
126
|
-
* @description 如果需要自定义处理,需要重载此方法
|
|
127
|
-
* @description 此方法由路由调用
|
|
128
|
-
* @param result 处理函数的结果
|
|
129
|
-
*/
|
|
130
|
-
[symbols.return](result: any): void | PromiseLike<void>;
|
|
131
|
-
/**
|
|
132
|
-
* 处理完成后,实例销毁前,如果有错误未被处理,将回交由此参数处理
|
|
133
|
-
* @description 如果需要自定义处理,需要重载此方法
|
|
134
|
-
* @description 此方法由路由调用
|
|
135
|
-
*/
|
|
136
|
-
[symbols.catch](e: any): void | PromiseLike<void>;
|
|
137
|
-
/**
|
|
138
|
-
* 处理完成后,实例即将销毁时的处理函数
|
|
139
|
-
* @description 如果有销毁操作,应当在 finally 中通过实现
|
|
140
|
-
* @description 此方法由 destroy 调用
|
|
141
|
-
*/
|
|
142
|
-
[symbols.finally](): void | PromiseLike<void>;
|
|
143
|
-
/**
|
|
144
|
-
* 销毁 Controller
|
|
145
|
-
* @warning 不要重载此方法
|
|
146
|
-
* @description 此方法由路由调用
|
|
147
|
-
*/
|
|
148
|
-
destroy(): Promise<void>;
|
|
149
|
-
}
|
|
150
|
-
interface Controller extends BaseRequest, Patch.Interface {
|
|
151
|
-
/** 控制器的类自身 */
|
|
152
|
-
readonly class: Class<this>;
|
|
153
|
-
/** 当前的路由 */
|
|
154
|
-
readonly Router: Router;
|
|
155
|
-
/** 相关的配置信息 */
|
|
156
|
-
readonly config?: object;
|
|
157
|
-
/** 处理文件的导出配置 */
|
|
158
|
-
readonly exports?: Exports;
|
|
159
|
-
/** 处理函数所在的文件信息 */
|
|
160
|
-
readonly file?: FileInfo;
|
|
161
|
-
/** 原始的请求对象 */
|
|
162
|
-
readonly request: K99Request | IncomingMessage | Http2ServerRequest;
|
|
163
|
-
/** 原始的相应对象 */
|
|
164
|
-
readonly response: K99Response | ServerResponse | Http2ServerResponse;
|
|
165
|
-
/** 请求流 */
|
|
166
|
-
readonly requestStream?: Readable;
|
|
167
|
-
/** 相应流 */
|
|
168
|
-
readonly responseStream?: Writable;
|
|
169
|
-
/** 路径参数 */
|
|
170
|
-
readonly params: Readonly<{
|
|
171
|
-
[p: string]: string;
|
|
172
|
-
}>;
|
|
173
|
-
/** 请求 accept */
|
|
174
|
-
readonly accept: string[];
|
|
175
|
-
/** 请求 accept language */
|
|
176
|
-
readonly acceptLanguage: string[];
|
|
177
|
-
}
|
|
178
|
-
export default Controller;
|