-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.d.ts
More file actions
175 lines (149 loc) · 4.08 KB
/
types.d.ts
File metadata and controls
175 lines (149 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// interface ImportOptions {
// [name: string]: {
// /**
// * 加载项等级
// */
// level: number
// /**
// * 纯函数加载,不需要关联目录和文件的虚拟加载点
// */
// action?(): any
// /**
// * 模块加载完毕的回调函数,this 指向当前层级容器。如果无数据返回,则该模块输出为空。
// * @param data
// * @param name
// */
// module?(data: any, name: string): any
// /**
// * 目录加载完毕的回调函数,支持子集继承。如果无数据返回,则该目录结构不会被创建。
// * @param data
// * @param name
// */
// directory?(data: object, name: string): any
// /**
// * 目录加载完毕的回调函数,支持子集继承。如果无数据返回,则该目录结构不会被创建。
// * @param options
// */
// before?(options: object): any
// /**
// * 当前等级下所有目录、模块在加载后执行的钩子函数(仅在当前层级触发,不对子集继承),参数与 before(options)一致
// * @param options
// */
// after?(options: object): any
// }
// }
// interface ExportOptions {
// [name: string]: any
// }
// interface Ctx {
// /** 请求路径 */
// path: string
// /** 请求类型 */
// method: string
// /** 请求路由参数 */
// params: object,
// /** koa request */
// request: {
// /** 请求头 */
// header: object
// /** 请求主体 */
// body: any
// }
// /** 响应主体 */
// body: any
// }
// interface Middleware {
// /** 中间件 */
// (ctx?: Ctx, next?: Function): any
// }
// /** 路由 */
// interface Router {
// /**
// * 注册全局路由中间件
// */
// global(middleware: Middleware): void
// /**
// * 注册应用级路由中间件
// */
// before(middleware: Middleware): void
// /**
// * 注册get请求路由
// */
// get(name: string, ...middlewares: [string | Middleware]): void
// /**
// * 注册post请求路由
// */
// post(name: string, ...middlewares: [string | Middleware]): void
// /**
// * 注册put请求路由
// */
// put(name: string, ...middlewares: [string | Middleware]): void
// /**
// * 注册delete请求路由
// */
// delete(name: string, ...middlewares: [string | Middleware]): void
// /**
// * 注册rest请求路由
// */
// resources(name: string, ...middlewares: [string | Middleware]): void
// }
// interface App {
// /** 组件名称 */
// $name: string
// /** 组件所在路径 */
// $path: string
// /** 发布容器 */
// $release: object
// /** 订阅容器 */
// $subscribe: object
// /** 缓存发送的数据 */
// $emitData: object
// /** 加载器配置项 */
// $loads: object
// /** 组件集合 */
// components: object;
// /**
// * 注册组件,支持npm组件、相对路径和绝对路径组件
// * @param {string} path 组件名称或路径
// */
// component(path: string): any;
// /**
// * 目录、模块分级加载规则配置
// * @param { object } options
// */
// import(options: ImportOptions): void
// /**
// * 向订阅组件发送资源
// */
// export(options: ExportOptions): void
// router?: Router
// /** 中间件集合 */
// middleware?: { [name: string]: Middleware }
// }
// declare module 'ioa' {
// /**
// * 加载一个或多个应用
// * @param {string} path 要加载的应用路径
// */
// export function createApp(...path: Array<string>): void
// /**
// * 动态获取当前应用实例
// * @param name 应用名
// */
// export function app(name?: string): App
// /**
// * 命令行参数
// */
// export const argv: {
// default: [string],
// [name: string]: [string]
// }
// /** 环境变量 */
// export const NODE_ENV: string
// /** 组件集合 */
// export const components: { [name: string]: App }
// /** 应用集合 */
// export const apps: { [name: string]: App }
// /** 主应用实例 */
// export const main: App
// }