@mx-space/api-client 0.7.0 → 0.7.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/adaptors/axios.ts +34 -32
- package/adaptors/umi-request.ts +25 -22
- package/build/index.cjs.js +12 -32
- package/build/index.cjs.js.map +1 -1
- package/build/index.cjs.min.js +1 -1
- package/build/index.cjs.min.js.map +1 -1
- package/build/index.esm.js +13 -32
- package/build/index.esm.js.map +1 -1
- package/build/index.esm.min.js +1 -1
- package/build/index.esm.min.js.map +1 -1
- package/build/index.umd.js +12 -32
- package/build/index.umd.js.map +1 -1
- package/build/index.umd.min.js +1 -1
- package/build/index.umd.min.js.map +1 -1
- package/controllers/aggregate.ts +9 -5
- package/controllers/base.ts +3 -3
- package/controllers/category.ts +18 -7
- package/controllers/comment.ts +10 -6
- package/controllers/link.ts +11 -4
- package/controllers/note.ts +11 -7
- package/controllers/page.ts +10 -5
- package/controllers/post.ts +15 -8
- package/controllers/project.ts +10 -3
- package/controllers/recently.ts +10 -5
- package/controllers/say.ts +10 -5
- package/controllers/search.ts +14 -7
- package/controllers/snippet.ts +9 -4
- package/controllers/user.ts +10 -5
- package/core/attach-request.ts +1 -1
- package/core/client.ts +37 -47
- package/coverage/clover.xml +281 -274
- package/coverage/coverage-final.json +20 -20
- package/coverage/lcov-report/adaptors/axios.ts.html +48 -42
- package/coverage/lcov-report/adaptors/index.html +24 -24
- package/coverage/lcov-report/adaptors/umi-request.ts.html +42 -33
- package/coverage/lcov-report/auto-bind.ts.html +229 -0
- package/coverage/lcov-report/controllers/aggregate.ts.html +20 -8
- package/coverage/lcov-report/controllers/base.ts.html +4 -4
- package/coverage/lcov-report/controllers/category.ts.html +43 -10
- package/coverage/lcov-report/controllers/comment.ts.html +21 -9
- package/coverage/lcov-report/controllers/index.html +1 -1
- package/coverage/lcov-report/controllers/index.ts.html +2 -2
- package/coverage/lcov-report/controllers/link.ts.html +28 -7
- package/coverage/lcov-report/controllers/note.ts.html +21 -9
- package/coverage/lcov-report/controllers/page.ts.html +22 -7
- package/coverage/lcov-report/controllers/post.ts.html +37 -16
- package/coverage/lcov-report/controllers/project.ts.html +27 -6
- package/coverage/lcov-report/controllers/recently.ts.html +23 -8
- package/coverage/lcov-report/controllers/say.ts.html +23 -8
- package/coverage/lcov-report/controllers/search.ts.html +31 -10
- package/coverage/lcov-report/controllers/snippet.ts.html +22 -7
- package/coverage/lcov-report/controllers/user.ts.html +23 -8
- package/coverage/lcov-report/core/attach-request.ts.html +13 -13
- package/coverage/lcov-report/core/client.ts.html +120 -150
- package/coverage/lcov-report/core/error.ts.html +1 -1
- package/coverage/lcov-report/core/index.html +18 -18
- package/coverage/lcov-report/core/index.ts.html +1 -1
- package/coverage/lcov-report/index.html +26 -26
- package/coverage/lcov-report/index.ts.html +244 -0
- package/coverage/lcov-report/models/aggregate.ts.html +1 -1
- package/coverage/lcov-report/models/category.ts.html +1 -1
- package/coverage/lcov-report/models/index.html +1 -1
- package/coverage/lcov-report/utils/auto-bind.ts.html +18 -18
- package/coverage/lcov-report/utils/index.html +1 -1
- package/coverage/lcov-report/utils/index.ts.html +3 -3
- package/coverage/lcov.info +496 -485
- package/esm/adaptors/axios.d.ts +2 -2
- package/esm/adaptors/axios.js +1 -0
- package/esm/adaptors/axios.js.map +1 -1
- package/esm/adaptors/umi-request.d.ts +2 -2
- package/esm/adaptors/umi-request.js +1 -0
- package/esm/adaptors/umi-request.js.map +1 -1
- package/esm/controllers/aggregate.d.ts +25 -8
- package/esm/controllers/aggregate.js.map +1 -1
- package/esm/controllers/base.d.ts +17 -5
- package/esm/controllers/category.d.ts +64 -13
- package/esm/controllers/category.js.map +1 -1
- package/esm/controllers/comment.d.ts +42 -10
- package/esm/controllers/comment.js.map +1 -1
- package/esm/controllers/link.d.ts +5 -4
- package/esm/controllers/link.js.map +1 -1
- package/esm/controllers/note.d.ts +42 -12
- package/esm/controllers/note.js.map +1 -1
- package/esm/controllers/page.d.ts +22 -8
- package/esm/controllers/page.js.map +1 -1
- package/esm/controllers/post.d.ts +24 -11
- package/esm/controllers/post.js.map +1 -1
- package/esm/controllers/project.d.ts +4 -3
- package/esm/controllers/project.js.map +1 -1
- package/esm/controllers/recently.d.ts +30 -8
- package/esm/controllers/recently.js.map +1 -1
- package/esm/controllers/say.d.ts +15 -5
- package/esm/controllers/say.js.map +1 -1
- package/esm/controllers/search.d.ts +168 -9
- package/esm/controllers/search.js.map +1 -1
- package/esm/controllers/snippet.d.ts +16 -6
- package/esm/controllers/snippet.js.map +1 -1
- package/esm/controllers/user.d.ts +28 -8
- package/esm/controllers/user.js.map +1 -1
- package/esm/core/attach-request.d.ts +1 -1
- package/esm/core/attach-request.js.map +1 -1
- package/esm/core/client.d.ts +9 -6
- package/esm/core/client.js +13 -32
- package/esm/core/client.js.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/interfaces/adapter.d.ts +9 -8
- package/esm/interfaces/client.d.ts +1 -1
- package/esm/interfaces/request.d.ts +22 -13
- package/esm/interfaces/types.d.ts +2 -0
- package/esm/interfaces/types.js +2 -0
- package/esm/interfaces/types.js.map +1 -0
- package/index.ts +2 -1
- package/interfaces/adapter.ts +29 -24
- package/interfaces/client.ts +1 -1
- package/interfaces/request.ts +45 -20
- package/{types/helper.d.ts → interfaces/types.ts} +0 -0
- package/lib/adaptors/axios.d.ts +2 -2
- package/lib/adaptors/axios.js +1 -0
- package/lib/adaptors/axios.js.map +1 -1
- package/lib/adaptors/umi-request.d.ts +2 -2
- package/lib/adaptors/umi-request.js +1 -0
- package/lib/adaptors/umi-request.js.map +1 -1
- package/lib/controllers/aggregate.d.ts +25 -8
- package/lib/controllers/aggregate.js.map +1 -1
- package/lib/controllers/base.d.ts +17 -5
- package/lib/controllers/category.d.ts +64 -13
- package/lib/controllers/category.js.map +1 -1
- package/lib/controllers/comment.d.ts +42 -10
- package/lib/controllers/comment.js.map +1 -1
- package/lib/controllers/link.d.ts +5 -4
- package/lib/controllers/link.js.map +1 -1
- package/lib/controllers/note.d.ts +42 -12
- package/lib/controllers/note.js.map +1 -1
- package/lib/controllers/page.d.ts +22 -8
- package/lib/controllers/page.js.map +1 -1
- package/lib/controllers/post.d.ts +24 -11
- package/lib/controllers/post.js.map +1 -1
- package/lib/controllers/project.d.ts +4 -3
- package/lib/controllers/project.js.map +1 -1
- package/lib/controllers/recently.d.ts +30 -8
- package/lib/controllers/recently.js.map +1 -1
- package/lib/controllers/say.d.ts +15 -5
- package/lib/controllers/say.js.map +1 -1
- package/lib/controllers/search.d.ts +168 -9
- package/lib/controllers/search.js.map +1 -1
- package/lib/controllers/snippet.d.ts +16 -6
- package/lib/controllers/snippet.js.map +1 -1
- package/lib/controllers/user.d.ts +28 -8
- package/lib/controllers/user.js.map +1 -1
- package/lib/core/attach-request.d.ts +1 -1
- package/lib/core/attach-request.js.map +1 -1
- package/lib/core/client.d.ts +9 -6
- package/lib/core/client.js +13 -33
- package/lib/core/client.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/interfaces/adapter.d.ts +9 -8
- package/lib/interfaces/client.d.ts +1 -1
- package/lib/interfaces/request.d.ts +22 -13
- package/lib/interfaces/types.d.ts +2 -0
- package/lib/interfaces/types.js +3 -0
- package/lib/interfaces/types.js.map +1 -0
- package/package.json +5 -5
- package/tsconfig.json +25 -4
- package/tsconfig.types.json +18 -0
- package/types/adaptors/axios.d.ts +3 -0
- package/types/adaptors/umi-request.d.ts +3 -0
- package/types/controllers/aggregate.d.ts +64 -0
- package/types/controllers/base.d.ts +39 -0
- package/types/controllers/category.d.ts +114 -0
- package/types/controllers/comment.d.ts +81 -0
- package/types/controllers/index.d.ts +16 -0
- package/types/controllers/link.d.ts +16 -0
- package/types/controllers/note.d.ts +94 -0
- package/types/controllers/page.d.ts +59 -0
- package/types/controllers/post.d.ts +72 -0
- package/types/controllers/project.d.ts +15 -0
- package/types/controllers/recently.d.ts +61 -0
- package/types/controllers/say.d.ts +37 -0
- package/types/controllers/search.d.ts +247 -0
- package/types/controllers/snippet.d.ts +33 -0
- package/types/controllers/user.d.ts +54 -0
- package/types/core/attach-request.d.ts +2 -0
- package/types/core/client.d.ts +29 -0
- package/types/core/error.d.ts +6 -0
- package/types/core/index.d.ts +2 -0
- package/types/dtos/comment.d.ts +6 -0
- package/types/index.d.ts +7 -0
- package/types/interfaces/adapter.d.ts +14 -0
- package/types/interfaces/client.d.ts +5 -0
- package/types/interfaces/controller.d.ts +4 -0
- package/types/interfaces/instance.d.ts +7 -0
- package/types/interfaces/options.d.ts +1 -0
- package/types/interfaces/params.d.ts +4 -0
- package/types/interfaces/request.d.ts +43 -0
- package/types/interfaces/types.d.ts +2 -0
- package/types/models/aggregate.d.ts +53 -0
- package/types/models/base.d.ts +37 -0
- package/types/models/category.d.ts +22 -0
- package/types/models/comment.d.ts +34 -0
- package/types/models/index.d.ts +14 -0
- package/types/models/link.d.ts +20 -0
- package/types/models/note.d.ts +30 -0
- package/types/models/page.d.ts +14 -0
- package/types/models/post.d.ts +15 -0
- package/types/models/project.d.ts +11 -0
- package/types/models/recently.d.ts +6 -0
- package/types/models/say.d.ts +6 -0
- package/types/models/setting.d.ts +66 -0
- package/types/models/snippet.d.ts +16 -0
- package/types/models/user.d.ts +21 -0
- package/types/utils/auto-bind.d.ts +4 -0
- package/types/utils/index.d.ts +5 -0
|
@@ -150,7 +150,15 @@
|
|
|
150
150
|
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
151
|
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
152
|
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
162
|
<span class="cline-any cline-neutral"> </span>
|
|
155
163
|
<span class="cline-any cline-neutral"> </span>
|
|
156
164
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -171,19 +179,22 @@
|
|
|
171
179
|
<span class="cline-any cline-neutral"> </span>
|
|
172
180
|
<span class="cline-any cline-neutral"> </span>
|
|
173
181
|
<span class="cline-any cline-neutral"> </span>
|
|
174
|
-
<span class="cline-any cline-yes">15x</span>
|
|
175
|
-
<span class="cline-any cline-yes">7x</span>
|
|
176
|
-
<span class="cline-any cline-yes">7x</span>
|
|
177
182
|
<span class="cline-any cline-neutral"> </span>
|
|
178
183
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-yes">7x</span>
|
|
180
184
|
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-yes">
|
|
185
|
+
<span class="cline-any cline-yes">15x</span>
|
|
186
|
+
<span class="cline-any cline-yes">8x</span>
|
|
187
|
+
<span class="cline-any cline-yes">8x</span>
|
|
188
|
+
<span class="cline-any cline-neutral"> </span>
|
|
182
189
|
<span class="cline-any cline-neutral"> </span>
|
|
190
|
+
<span class="cline-any cline-yes">8x</span>
|
|
183
191
|
<span class="cline-any cline-neutral"> </span>
|
|
184
192
|
<span class="cline-any cline-yes">8x</span>
|
|
185
193
|
<span class="cline-any cline-neutral"> </span>
|
|
186
194
|
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-yes">9x</span>
|
|
196
|
+
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-neutral"> </span>
|
|
187
198
|
<span class="cline-any cline-neutral"> </span>
|
|
188
199
|
<span class="cline-any cline-neutral"> </span>
|
|
189
200
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -216,6 +227,9 @@
|
|
|
216
227
|
<span class="cline-any cline-neutral"> </span>
|
|
217
228
|
<span class="cline-any cline-neutral"> </span>
|
|
218
229
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span>
|
|
219
233
|
<span class="cline-any cline-yes">4x</span>
|
|
220
234
|
<span class="cline-any cline-yes">3x</span>
|
|
221
235
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -227,7 +241,7 @@
|
|
|
227
241
|
<span class="cline-any cline-neutral"> </span>
|
|
228
242
|
<span class="cline-any cline-neutral"> </span>
|
|
229
243
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-yes">
|
|
244
|
+
<span class="cline-any cline-yes">2x</span>
|
|
231
245
|
<span class="cline-any cline-neutral"> </span>
|
|
232
246
|
<span class="cline-any cline-neutral"> </span>
|
|
233
247
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -237,8 +251,9 @@
|
|
|
237
251
|
<span class="cline-any cline-yes">1x</span>
|
|
238
252
|
<span class="cline-any cline-neutral"> </span>
|
|
239
253
|
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
241
|
-
import {
|
|
254
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
255
|
+
import { IController } from '~/interfaces/controller'
|
|
256
|
+
import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
|
|
242
257
|
import { PaginateResult } from '~/models/base'
|
|
243
258
|
import { PostModel } from '~/models/post'
|
|
244
259
|
import { SelectFields } from '~/types/helper'
|
|
@@ -246,8 +261,11 @@ import { autoBind } from '~/utils/auto-bind'
|
|
|
246
261
|
import { HTTPClient } from '../core/client'
|
|
247
262
|
|
|
248
263
|
declare module '../core/client' {
|
|
249
|
-
interface HTTPClient
|
|
250
|
-
|
|
264
|
+
interface HTTPClient<
|
|
265
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
266
|
+
ResponseWrapper = unknown,
|
|
267
|
+
> {
|
|
268
|
+
post: PostController<ResponseWrapper>
|
|
251
269
|
}
|
|
252
270
|
}
|
|
253
271
|
|
|
@@ -258,7 +276,7 @@ export type PostListOptions = {
|
|
|
258
276
|
sortOrder?: 1 | -1
|
|
259
277
|
}
|
|
260
278
|
|
|
261
|
-
export class PostController implements IController {
|
|
279
|
+
export class PostController<ResponseWrapper> implements IController {
|
|
262
280
|
constructor(private client: HTTPClient) {
|
|
263
281
|
autoBind(this)
|
|
264
282
|
}
|
|
@@ -267,7 +285,7 @@ export class PostController implements IController {
|
|
|
267
285
|
|
|
268
286
|
name = 'post'
|
|
269
287
|
|
|
270
|
-
public get proxy() {
|
|
288
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
271
289
|
return this.client.proxy(this.base)
|
|
272
290
|
}
|
|
273
291
|
|
|
@@ -296,12 +314,15 @@ export class PostController implements IController {
|
|
|
296
314
|
* @param categoryName
|
|
297
315
|
* @param slug
|
|
298
316
|
*/
|
|
299
|
-
getPost(
|
|
317
|
+
getPost(
|
|
318
|
+
categoryName: string,
|
|
319
|
+
slug: string,
|
|
320
|
+
): RequestProxyResult<PostModel, ResponseWrapper>
|
|
300
321
|
/**
|
|
301
322
|
* 根据 ID 查找文章
|
|
302
323
|
* @param id
|
|
303
324
|
*/
|
|
304
|
-
getPost(id: string): RequestProxyResult<PostModel>
|
|
325
|
+
getPost(id: string): RequestProxyResult<PostModel, ResponseWrapper>
|
|
305
326
|
getPost(idOrCategoryName: string, slug?: string): any {
|
|
306
327
|
if (arguments.length == 1) {
|
|
307
328
|
return this.proxy(idOrCategoryName).get<PostModel>()
|
|
@@ -331,7 +352,7 @@ export class PostController implements IController {
|
|
|
331
352
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
332
353
|
Code coverage generated by
|
|
333
354
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
334
|
-
at
|
|
355
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
335
356
|
</div>
|
|
336
357
|
<script src="../prettify.js"></script>
|
|
337
358
|
<script>
|
|
@@ -83,7 +83,15 @@
|
|
|
83
83
|
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
84
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
85
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-neutral"> </span>
|
|
87
95
|
<span class="cline-any cline-yes">15x</span>
|
|
88
96
|
<span class="cline-any cline-neutral"> </span>
|
|
89
97
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -94,7 +102,13 @@
|
|
|
94
102
|
<span class="cline-any cline-neutral"> </span>
|
|
95
103
|
<span class="cline-any cline-neutral"> </span>
|
|
96
104
|
<span class="cline-any cline-neutral"> </span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
108
|
<span class="cline-any cline-yes">15x</span>
|
|
109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
112
|
<span class="cline-any cline-yes">3x</span>
|
|
99
113
|
<span class="cline-any cline-yes">3x</span>
|
|
100
114
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -103,18 +117,25 @@
|
|
|
103
117
|
<span class="cline-any cline-yes">3x</span>
|
|
104
118
|
<span class="cline-any cline-yes">3x</span>
|
|
105
119
|
<span class="cline-any cline-neutral"> </span>
|
|
106
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
120
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
121
|
+
import { ProjectModel } from '~/models/project'
|
|
107
122
|
import { autoBind } from '~/utils/auto-bind'
|
|
108
123
|
import { HTTPClient } from '../core'
|
|
109
124
|
import { BaseCrudController } from './base'
|
|
110
125
|
|
|
111
126
|
declare module '../core/client' {
|
|
112
|
-
interface HTTPClient
|
|
113
|
-
|
|
127
|
+
interface HTTPClient<
|
|
128
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
129
|
+
ResponseWrapper = unknown,
|
|
130
|
+
> {
|
|
131
|
+
project: ProjectController<ResponseWrapper>
|
|
114
132
|
}
|
|
115
133
|
}
|
|
116
134
|
|
|
117
|
-
export class ProjectController extends BaseCrudController<
|
|
135
|
+
export class ProjectController<ResponseWrapper> extends BaseCrudController<
|
|
136
|
+
ProjectModel,
|
|
137
|
+
ResponseWrapper
|
|
138
|
+
> {
|
|
118
139
|
constructor(protected readonly client: HTTPClient) {
|
|
119
140
|
super(client)
|
|
120
141
|
autoBind(this)
|
|
@@ -130,7 +151,7 @@ export class ProjectController extends BaseCrudController<ProjectModel> {
|
|
|
130
151
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
131
152
|
Code coverage generated by
|
|
132
153
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
133
|
-
at
|
|
154
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
134
155
|
</div>
|
|
135
156
|
<script src="../prettify.js"></script>
|
|
136
157
|
<script>
|
|
@@ -111,7 +111,14 @@
|
|
|
111
111
|
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
112
|
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
113
|
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
120
|
+
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
122
|
<span class="cline-any cline-neutral"> </span>
|
|
116
123
|
<span class="cline-any cline-yes">15x</span>
|
|
117
124
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -123,6 +130,9 @@
|
|
|
123
130
|
<span class="cline-any cline-neutral"> </span>
|
|
124
131
|
<span class="cline-any cline-neutral"> </span>
|
|
125
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
136
|
<span class="cline-any cline-yes">15x</span>
|
|
127
137
|
<span class="cline-any cline-yes">4x</span>
|
|
128
138
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -159,19 +169,24 @@
|
|
|
159
169
|
<span class="cline-any cline-neutral"> </span>
|
|
160
170
|
<span class="cline-any cline-neutral"> </span>
|
|
161
171
|
<span class="cline-any cline-neutral"> </span>
|
|
162
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
172
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
173
|
+
import { IController } from '~/interfaces/controller'
|
|
174
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
163
175
|
import { RecentlyModel } from '~/models/recently'
|
|
164
176
|
import { autoBind } from '~/utils/auto-bind'
|
|
165
177
|
import { HTTPClient } from '../core'
|
|
166
178
|
|
|
167
179
|
declare module '../core/client' {
|
|
168
|
-
interface HTTPClient
|
|
169
|
-
|
|
170
|
-
|
|
180
|
+
interface HTTPClient<
|
|
181
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
182
|
+
ResponseWrapper = unknown,
|
|
183
|
+
> {
|
|
184
|
+
recently: RecentlyController<ResponseWrapper>
|
|
185
|
+
shorthand: RecentlyController<ResponseWrapper>
|
|
171
186
|
}
|
|
172
187
|
}
|
|
173
188
|
|
|
174
|
-
export class RecentlyController implements IController {
|
|
189
|
+
export class RecentlyController<ResponseWrapper> implements IController {
|
|
175
190
|
base = 'recently'
|
|
176
191
|
name = ['recently', 'shorthand']
|
|
177
192
|
|
|
@@ -179,7 +194,7 @@ export class RecentlyController implements IController {
|
|
|
179
194
|
autoBind(this)
|
|
180
195
|
}
|
|
181
196
|
|
|
182
|
-
get proxy() {
|
|
197
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
183
198
|
return this.client.proxy(this.base)
|
|
184
199
|
}
|
|
185
200
|
/**
|
|
@@ -214,7 +229,7 @@ export class RecentlyController implements IController {
|
|
|
214
229
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
230
|
Code coverage generated by
|
|
216
231
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
217
|
-
at
|
|
232
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
218
233
|
</div>
|
|
219
234
|
<script src="../prettify.js"></script>
|
|
220
235
|
<script>
|
|
@@ -98,7 +98,14 @@
|
|
|
98
98
|
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
99
|
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
100
|
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
102
109
|
<span class="cline-any cline-neutral"> </span>
|
|
103
110
|
<span class="cline-any cline-yes">15x</span>
|
|
104
111
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -110,6 +117,9 @@
|
|
|
110
117
|
<span class="cline-any cline-neutral"> </span>
|
|
111
118
|
<span class="cline-any cline-neutral"> </span>
|
|
112
119
|
<span class="cline-any cline-neutral"> </span>
|
|
120
|
+
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-neutral"> </span>
|
|
122
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
123
|
<span class="cline-any cline-yes">15x</span>
|
|
114
124
|
<span class="cline-any cline-neutral"> </span>
|
|
115
125
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -133,20 +143,25 @@
|
|
|
133
143
|
<span class="cline-any cline-no"> </span>
|
|
134
144
|
<span class="cline-any cline-neutral"> </span>
|
|
135
145
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
146
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
147
|
+
import { IController } from '~/interfaces/controller'
|
|
148
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
137
149
|
import { SayModel } from '~/models/say'
|
|
138
150
|
import { autoBind } from '~/utils/auto-bind'
|
|
139
151
|
import { HTTPClient } from '../core'
|
|
140
152
|
import { BaseCrudController } from './base'
|
|
141
153
|
|
|
142
154
|
declare module '../core/client' {
|
|
143
|
-
interface HTTPClient
|
|
144
|
-
|
|
155
|
+
interface HTTPClient<
|
|
156
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
157
|
+
ResponseWrapper = unknown,
|
|
158
|
+
> {
|
|
159
|
+
say: SayController<ResponseWrapper>
|
|
145
160
|
}
|
|
146
161
|
}
|
|
147
162
|
|
|
148
|
-
export class SayController
|
|
149
|
-
extends BaseCrudController<SayModel>
|
|
163
|
+
export class SayController<ResponseWrapper>
|
|
164
|
+
extends BaseCrudController<SayModel, ResponseWrapper>
|
|
150
165
|
implements IController
|
|
151
166
|
{
|
|
152
167
|
base = 'says'
|
|
@@ -157,7 +172,7 @@ export class SayController
|
|
|
157
172
|
autoBind(this)
|
|
158
173
|
}
|
|
159
174
|
|
|
160
|
-
public get proxy() {
|
|
175
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
161
176
|
return this.client.proxy(this.base)
|
|
162
177
|
}
|
|
163
178
|
|
|
@@ -175,7 +190,7 @@ export class SayController
|
|
|
175
190
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
176
191
|
Code coverage generated by
|
|
177
192
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
178
|
-
at
|
|
193
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
179
194
|
</div>
|
|
180
195
|
<script src="../prettify.js"></script>
|
|
181
196
|
<script>
|
|
@@ -164,7 +164,15 @@
|
|
|
164
164
|
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
165
|
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
166
|
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
175
|
+
<span class="cline-any cline-neutral"> </span>
|
|
168
176
|
<span class="cline-any cline-neutral"> </span>
|
|
169
177
|
<span class="cline-any cline-neutral"> </span>
|
|
170
178
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -186,6 +194,9 @@
|
|
|
186
194
|
<span class="cline-any cline-neutral"> </span>
|
|
187
195
|
<span class="cline-any cline-neutral"> </span>
|
|
188
196
|
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-neutral"> </span>
|
|
198
|
+
<span class="cline-any cline-neutral"> </span>
|
|
199
|
+
<span class="cline-any cline-neutral"> </span>
|
|
189
200
|
<span class="cline-any cline-yes">15x</span>
|
|
190
201
|
<span class="cline-any cline-yes">4x</span>
|
|
191
202
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -228,6 +239,8 @@
|
|
|
228
239
|
<span class="cline-any cline-neutral"> </span>
|
|
229
240
|
<span class="cline-any cline-neutral"> </span>
|
|
230
241
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
+
<span class="cline-any cline-neutral"> </span>
|
|
243
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
244
|
<span class="cline-any cline-yes">6x</span>
|
|
232
245
|
<span class="cline-any cline-neutral"> </span>
|
|
233
246
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -265,7 +278,9 @@
|
|
|
265
278
|
<span class="cline-any cline-neutral"> </span>
|
|
266
279
|
<span class="cline-any cline-neutral"> </span>
|
|
267
280
|
<span class="cline-any cline-neutral"> </span>
|
|
268
|
-
<span class="cline-any cline-neutral"> </span
|
|
281
|
+
<span class="cline-any cline-neutral"> </span>
|
|
282
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
283
|
+
import { IController } from '~/interfaces/controller'
|
|
269
284
|
import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
|
|
270
285
|
import { PaginateResult } from '~/models/base'
|
|
271
286
|
import { NoteModel } from '~/models/note'
|
|
@@ -275,8 +290,11 @@ import { PageModel } from '..'
|
|
|
275
290
|
import { HTTPClient } from '../core'
|
|
276
291
|
|
|
277
292
|
declare module '../core/client' {
|
|
278
|
-
interface HTTPClient
|
|
279
|
-
|
|
293
|
+
interface HTTPClient<
|
|
294
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
295
|
+
ResponseWrapper = unknown,
|
|
296
|
+
> {
|
|
297
|
+
search: SearchController<ResponseWrapper>
|
|
280
298
|
}
|
|
281
299
|
}
|
|
282
300
|
|
|
@@ -287,7 +305,7 @@ export type SearchOption = {
|
|
|
287
305
|
order?: number
|
|
288
306
|
rawAlgolia?: boolean
|
|
289
307
|
}
|
|
290
|
-
export class SearchController implements IController {
|
|
308
|
+
export class SearchController<ResponseWrapper> implements IController {
|
|
291
309
|
base = 'search'
|
|
292
310
|
name = 'search'
|
|
293
311
|
|
|
@@ -295,7 +313,7 @@ export class SearchController implements IController {
|
|
|
295
313
|
autoBind(this)
|
|
296
314
|
}
|
|
297
315
|
|
|
298
|
-
get proxy(): IRequestHandler {
|
|
316
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
299
317
|
return this.client.proxy(this.base)
|
|
300
318
|
}
|
|
301
319
|
|
|
@@ -307,7 +325,8 @@ export class SearchController implements IController {
|
|
|
307
325
|
RequestProxyResult<
|
|
308
326
|
PaginateResult<
|
|
309
327
|
Pick<NoteModel, 'modified' | 'id' | 'title' | 'created' | 'nid'>
|
|
310
|
-
>
|
|
328
|
+
>,
|
|
329
|
+
ResponseWrapper
|
|
311
330
|
>
|
|
312
331
|
>
|
|
313
332
|
search(
|
|
@@ -321,7 +340,8 @@ export class SearchController implements IController {
|
|
|
321
340
|
PostModel,
|
|
322
341
|
'modified' | 'id' | 'title' | 'created' | 'slug' | 'category'
|
|
323
342
|
>
|
|
324
|
-
>
|
|
343
|
+
>,
|
|
344
|
+
ResponseWrapper
|
|
325
345
|
>
|
|
326
346
|
>
|
|
327
347
|
search(
|
|
@@ -361,7 +381,8 @@ export class SearchController implements IController {
|
|
|
361
381
|
* @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
|
|
362
382
|
*/
|
|
363
383
|
raw?: any
|
|
364
|
-
}
|
|
384
|
+
},
|
|
385
|
+
ResponseWrapper
|
|
365
386
|
>
|
|
366
387
|
>({ params: { keyword, ...options } })
|
|
367
388
|
}
|
|
@@ -373,7 +394,7 @@ export class SearchController implements IController {
|
|
|
373
394
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
374
395
|
Code coverage generated by
|
|
375
396
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
376
|
-
at
|
|
397
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
377
398
|
</div>
|
|
378
399
|
<script src="../prettify.js"></script>
|
|
379
400
|
<script>
|
|
@@ -94,7 +94,14 @@
|
|
|
94
94
|
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
95
|
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
96
|
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-neutral"> </span>
|
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
105
|
<span class="cline-any cline-neutral"> </span>
|
|
99
106
|
<span class="cline-any cline-yes">15x</span>
|
|
100
107
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -105,6 +112,9 @@
|
|
|
105
112
|
<span class="cline-any cline-neutral"> </span>
|
|
106
113
|
<span class="cline-any cline-neutral"> </span>
|
|
107
114
|
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
117
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
118
|
<span class="cline-any cline-yes">15x</span>
|
|
109
119
|
<span class="cline-any cline-yes">4x</span>
|
|
110
120
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -125,18 +135,23 @@
|
|
|
125
135
|
<span class="cline-any cline-yes">1x</span>
|
|
126
136
|
<span class="cline-any cline-neutral"> </span>
|
|
127
137
|
<span class="cline-any cline-neutral"> </span>
|
|
128
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
138
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
139
|
+
import { IController } from '~/interfaces/controller'
|
|
140
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
129
141
|
import { SnippetModel } from '~/models/snippet'
|
|
130
142
|
import { autoBind } from '~/utils/auto-bind'
|
|
131
143
|
import { HTTPClient } from '../core'
|
|
132
144
|
|
|
133
145
|
declare module '../core/client' {
|
|
134
|
-
interface HTTPClient
|
|
135
|
-
|
|
146
|
+
interface HTTPClient<
|
|
147
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
148
|
+
ResponseWrapper = unknown,
|
|
149
|
+
> {
|
|
150
|
+
snippet: SnippetController<ResponseWrapper>
|
|
136
151
|
}
|
|
137
152
|
}
|
|
138
153
|
|
|
139
|
-
export class SnippetController implements IController {
|
|
154
|
+
export class SnippetController<ResponseWrapper> implements IController {
|
|
140
155
|
base = 'snippets'
|
|
141
156
|
name = 'snippet'
|
|
142
157
|
|
|
@@ -144,7 +159,7 @@ export class SnippetController implements IController {
|
|
|
144
159
|
autoBind(this)
|
|
145
160
|
}
|
|
146
161
|
|
|
147
|
-
get proxy() {
|
|
162
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
148
163
|
return this.client.proxy(this.base)
|
|
149
164
|
}
|
|
150
165
|
|
|
@@ -163,7 +178,7 @@ export class SnippetController implements IController {
|
|
|
163
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
164
179
|
Code coverage generated by
|
|
165
180
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
166
|
-
at
|
|
181
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
167
182
|
</div>
|
|
168
183
|
<script src="../prettify.js"></script>
|
|
169
184
|
<script>
|
|
@@ -109,7 +109,14 @@
|
|
|
109
109
|
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
110
|
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
111
|
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
120
|
<span class="cline-any cline-neutral"> </span>
|
|
114
121
|
<span class="cline-any cline-yes">15x</span>
|
|
115
122
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -121,6 +128,9 @@
|
|
|
121
128
|
<span class="cline-any cline-neutral"> </span>
|
|
122
129
|
<span class="cline-any cline-neutral"> </span>
|
|
123
130
|
<span class="cline-any cline-neutral"> </span>
|
|
131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
124
134
|
<span class="cline-any cline-yes">15x</span>
|
|
125
135
|
<span class="cline-any cline-yes">4x</span>
|
|
126
136
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -155,19 +165,24 @@
|
|
|
155
165
|
<span class="cline-any cline-neutral"> </span>
|
|
156
166
|
<span class="cline-any cline-neutral"> </span>
|
|
157
167
|
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
168
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
169
|
+
import { IController } from '~/interfaces/controller'
|
|
170
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
159
171
|
import { TLogin, UserModel } from '~/models/user'
|
|
160
172
|
import { autoBind } from '~/utils/auto-bind'
|
|
161
173
|
import { HTTPClient } from '../core'
|
|
162
174
|
|
|
163
175
|
declare module '../core/client' {
|
|
164
|
-
interface HTTPClient
|
|
165
|
-
|
|
166
|
-
|
|
176
|
+
interface HTTPClient<
|
|
177
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
178
|
+
ResponseWrapper = unknown,
|
|
179
|
+
> {
|
|
180
|
+
user: UserController<ResponseWrapper>
|
|
181
|
+
master: UserController<ResponseWrapper>
|
|
167
182
|
}
|
|
168
183
|
}
|
|
169
184
|
|
|
170
|
-
export class UserController implements IController {
|
|
185
|
+
export class UserController<ResponseWrapper> implements IController {
|
|
171
186
|
constructor(private readonly client: HTTPClient) {
|
|
172
187
|
autoBind(this)
|
|
173
188
|
}
|
|
@@ -176,7 +191,7 @@ export class UserController implements IController {
|
|
|
176
191
|
|
|
177
192
|
name = ['user', 'master']
|
|
178
193
|
|
|
179
|
-
public get proxy() {
|
|
194
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
180
195
|
return this.client.proxy(this.base)
|
|
181
196
|
}
|
|
182
197
|
|
|
@@ -208,7 +223,7 @@ export class UserController implements IController {
|
|
|
208
223
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
209
224
|
Code coverage generated by
|
|
210
225
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
211
|
-
at
|
|
226
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
212
227
|
</div>
|
|
213
228
|
<script src="../prettify.js"></script>
|
|
214
229
|
<script>
|