@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.
Files changed (216) hide show
  1. package/adaptors/axios.ts +34 -32
  2. package/adaptors/umi-request.ts +25 -22
  3. package/build/index.cjs.js +12 -32
  4. package/build/index.cjs.js.map +1 -1
  5. package/build/index.cjs.min.js +1 -1
  6. package/build/index.cjs.min.js.map +1 -1
  7. package/build/index.esm.js +13 -32
  8. package/build/index.esm.js.map +1 -1
  9. package/build/index.esm.min.js +1 -1
  10. package/build/index.esm.min.js.map +1 -1
  11. package/build/index.umd.js +12 -32
  12. package/build/index.umd.js.map +1 -1
  13. package/build/index.umd.min.js +1 -1
  14. package/build/index.umd.min.js.map +1 -1
  15. package/controllers/aggregate.ts +9 -5
  16. package/controllers/base.ts +3 -3
  17. package/controllers/category.ts +18 -7
  18. package/controllers/comment.ts +10 -6
  19. package/controllers/link.ts +11 -4
  20. package/controllers/note.ts +11 -7
  21. package/controllers/page.ts +10 -5
  22. package/controllers/post.ts +15 -8
  23. package/controllers/project.ts +10 -3
  24. package/controllers/recently.ts +10 -5
  25. package/controllers/say.ts +10 -5
  26. package/controllers/search.ts +14 -7
  27. package/controllers/snippet.ts +9 -4
  28. package/controllers/user.ts +10 -5
  29. package/core/attach-request.ts +1 -1
  30. package/core/client.ts +37 -47
  31. package/coverage/clover.xml +281 -274
  32. package/coverage/coverage-final.json +20 -20
  33. package/coverage/lcov-report/adaptors/axios.ts.html +48 -42
  34. package/coverage/lcov-report/adaptors/index.html +24 -24
  35. package/coverage/lcov-report/adaptors/umi-request.ts.html +42 -33
  36. package/coverage/lcov-report/auto-bind.ts.html +229 -0
  37. package/coverage/lcov-report/controllers/aggregate.ts.html +20 -8
  38. package/coverage/lcov-report/controllers/base.ts.html +4 -4
  39. package/coverage/lcov-report/controllers/category.ts.html +43 -10
  40. package/coverage/lcov-report/controllers/comment.ts.html +21 -9
  41. package/coverage/lcov-report/controllers/index.html +1 -1
  42. package/coverage/lcov-report/controllers/index.ts.html +2 -2
  43. package/coverage/lcov-report/controllers/link.ts.html +28 -7
  44. package/coverage/lcov-report/controllers/note.ts.html +21 -9
  45. package/coverage/lcov-report/controllers/page.ts.html +22 -7
  46. package/coverage/lcov-report/controllers/post.ts.html +37 -16
  47. package/coverage/lcov-report/controllers/project.ts.html +27 -6
  48. package/coverage/lcov-report/controllers/recently.ts.html +23 -8
  49. package/coverage/lcov-report/controllers/say.ts.html +23 -8
  50. package/coverage/lcov-report/controllers/search.ts.html +31 -10
  51. package/coverage/lcov-report/controllers/snippet.ts.html +22 -7
  52. package/coverage/lcov-report/controllers/user.ts.html +23 -8
  53. package/coverage/lcov-report/core/attach-request.ts.html +13 -13
  54. package/coverage/lcov-report/core/client.ts.html +120 -150
  55. package/coverage/lcov-report/core/error.ts.html +1 -1
  56. package/coverage/lcov-report/core/index.html +18 -18
  57. package/coverage/lcov-report/core/index.ts.html +1 -1
  58. package/coverage/lcov-report/index.html +26 -26
  59. package/coverage/lcov-report/index.ts.html +244 -0
  60. package/coverage/lcov-report/models/aggregate.ts.html +1 -1
  61. package/coverage/lcov-report/models/category.ts.html +1 -1
  62. package/coverage/lcov-report/models/index.html +1 -1
  63. package/coverage/lcov-report/utils/auto-bind.ts.html +18 -18
  64. package/coverage/lcov-report/utils/index.html +1 -1
  65. package/coverage/lcov-report/utils/index.ts.html +3 -3
  66. package/coverage/lcov.info +496 -485
  67. package/esm/adaptors/axios.d.ts +2 -2
  68. package/esm/adaptors/axios.js +1 -0
  69. package/esm/adaptors/axios.js.map +1 -1
  70. package/esm/adaptors/umi-request.d.ts +2 -2
  71. package/esm/adaptors/umi-request.js +1 -0
  72. package/esm/adaptors/umi-request.js.map +1 -1
  73. package/esm/controllers/aggregate.d.ts +25 -8
  74. package/esm/controllers/aggregate.js.map +1 -1
  75. package/esm/controllers/base.d.ts +17 -5
  76. package/esm/controllers/category.d.ts +64 -13
  77. package/esm/controllers/category.js.map +1 -1
  78. package/esm/controllers/comment.d.ts +42 -10
  79. package/esm/controllers/comment.js.map +1 -1
  80. package/esm/controllers/link.d.ts +5 -4
  81. package/esm/controllers/link.js.map +1 -1
  82. package/esm/controllers/note.d.ts +42 -12
  83. package/esm/controllers/note.js.map +1 -1
  84. package/esm/controllers/page.d.ts +22 -8
  85. package/esm/controllers/page.js.map +1 -1
  86. package/esm/controllers/post.d.ts +24 -11
  87. package/esm/controllers/post.js.map +1 -1
  88. package/esm/controllers/project.d.ts +4 -3
  89. package/esm/controllers/project.js.map +1 -1
  90. package/esm/controllers/recently.d.ts +30 -8
  91. package/esm/controllers/recently.js.map +1 -1
  92. package/esm/controllers/say.d.ts +15 -5
  93. package/esm/controllers/say.js.map +1 -1
  94. package/esm/controllers/search.d.ts +168 -9
  95. package/esm/controllers/search.js.map +1 -1
  96. package/esm/controllers/snippet.d.ts +16 -6
  97. package/esm/controllers/snippet.js.map +1 -1
  98. package/esm/controllers/user.d.ts +28 -8
  99. package/esm/controllers/user.js.map +1 -1
  100. package/esm/core/attach-request.d.ts +1 -1
  101. package/esm/core/attach-request.js.map +1 -1
  102. package/esm/core/client.d.ts +9 -6
  103. package/esm/core/client.js +13 -32
  104. package/esm/core/client.js.map +1 -1
  105. package/esm/index.d.ts +2 -1
  106. package/esm/index.js +1 -1
  107. package/esm/index.js.map +1 -1
  108. package/esm/interfaces/adapter.d.ts +9 -8
  109. package/esm/interfaces/client.d.ts +1 -1
  110. package/esm/interfaces/request.d.ts +22 -13
  111. package/esm/interfaces/types.d.ts +2 -0
  112. package/esm/interfaces/types.js +2 -0
  113. package/esm/interfaces/types.js.map +1 -0
  114. package/index.ts +2 -1
  115. package/interfaces/adapter.ts +29 -24
  116. package/interfaces/client.ts +1 -1
  117. package/interfaces/request.ts +45 -20
  118. package/{types/helper.d.ts → interfaces/types.ts} +0 -0
  119. package/lib/adaptors/axios.d.ts +2 -2
  120. package/lib/adaptors/axios.js +1 -0
  121. package/lib/adaptors/axios.js.map +1 -1
  122. package/lib/adaptors/umi-request.d.ts +2 -2
  123. package/lib/adaptors/umi-request.js +1 -0
  124. package/lib/adaptors/umi-request.js.map +1 -1
  125. package/lib/controllers/aggregate.d.ts +25 -8
  126. package/lib/controllers/aggregate.js.map +1 -1
  127. package/lib/controllers/base.d.ts +17 -5
  128. package/lib/controllers/category.d.ts +64 -13
  129. package/lib/controllers/category.js.map +1 -1
  130. package/lib/controllers/comment.d.ts +42 -10
  131. package/lib/controllers/comment.js.map +1 -1
  132. package/lib/controllers/link.d.ts +5 -4
  133. package/lib/controllers/link.js.map +1 -1
  134. package/lib/controllers/note.d.ts +42 -12
  135. package/lib/controllers/note.js.map +1 -1
  136. package/lib/controllers/page.d.ts +22 -8
  137. package/lib/controllers/page.js.map +1 -1
  138. package/lib/controllers/post.d.ts +24 -11
  139. package/lib/controllers/post.js.map +1 -1
  140. package/lib/controllers/project.d.ts +4 -3
  141. package/lib/controllers/project.js.map +1 -1
  142. package/lib/controllers/recently.d.ts +30 -8
  143. package/lib/controllers/recently.js.map +1 -1
  144. package/lib/controllers/say.d.ts +15 -5
  145. package/lib/controllers/say.js.map +1 -1
  146. package/lib/controllers/search.d.ts +168 -9
  147. package/lib/controllers/search.js.map +1 -1
  148. package/lib/controllers/snippet.d.ts +16 -6
  149. package/lib/controllers/snippet.js.map +1 -1
  150. package/lib/controllers/user.d.ts +28 -8
  151. package/lib/controllers/user.js.map +1 -1
  152. package/lib/core/attach-request.d.ts +1 -1
  153. package/lib/core/attach-request.js.map +1 -1
  154. package/lib/core/client.d.ts +9 -6
  155. package/lib/core/client.js +13 -33
  156. package/lib/core/client.js.map +1 -1
  157. package/lib/index.d.ts +2 -1
  158. package/lib/index.js +1 -2
  159. package/lib/index.js.map +1 -1
  160. package/lib/interfaces/adapter.d.ts +9 -8
  161. package/lib/interfaces/client.d.ts +1 -1
  162. package/lib/interfaces/request.d.ts +22 -13
  163. package/lib/interfaces/types.d.ts +2 -0
  164. package/lib/interfaces/types.js +3 -0
  165. package/lib/interfaces/types.js.map +1 -0
  166. package/package.json +5 -5
  167. package/tsconfig.json +25 -4
  168. package/tsconfig.types.json +18 -0
  169. package/types/adaptors/axios.d.ts +3 -0
  170. package/types/adaptors/umi-request.d.ts +3 -0
  171. package/types/controllers/aggregate.d.ts +64 -0
  172. package/types/controllers/base.d.ts +39 -0
  173. package/types/controllers/category.d.ts +114 -0
  174. package/types/controllers/comment.d.ts +81 -0
  175. package/types/controllers/index.d.ts +16 -0
  176. package/types/controllers/link.d.ts +16 -0
  177. package/types/controllers/note.d.ts +94 -0
  178. package/types/controllers/page.d.ts +59 -0
  179. package/types/controllers/post.d.ts +72 -0
  180. package/types/controllers/project.d.ts +15 -0
  181. package/types/controllers/recently.d.ts +61 -0
  182. package/types/controllers/say.d.ts +37 -0
  183. package/types/controllers/search.d.ts +247 -0
  184. package/types/controllers/snippet.d.ts +33 -0
  185. package/types/controllers/user.d.ts +54 -0
  186. package/types/core/attach-request.d.ts +2 -0
  187. package/types/core/client.d.ts +29 -0
  188. package/types/core/error.d.ts +6 -0
  189. package/types/core/index.d.ts +2 -0
  190. package/types/dtos/comment.d.ts +6 -0
  191. package/types/index.d.ts +7 -0
  192. package/types/interfaces/adapter.d.ts +14 -0
  193. package/types/interfaces/client.d.ts +5 -0
  194. package/types/interfaces/controller.d.ts +4 -0
  195. package/types/interfaces/instance.d.ts +7 -0
  196. package/types/interfaces/options.d.ts +1 -0
  197. package/types/interfaces/params.d.ts +4 -0
  198. package/types/interfaces/request.d.ts +43 -0
  199. package/types/interfaces/types.d.ts +2 -0
  200. package/types/models/aggregate.d.ts +53 -0
  201. package/types/models/base.d.ts +37 -0
  202. package/types/models/category.d.ts +22 -0
  203. package/types/models/comment.d.ts +34 -0
  204. package/types/models/index.d.ts +14 -0
  205. package/types/models/link.d.ts +20 -0
  206. package/types/models/note.d.ts +30 -0
  207. package/types/models/page.d.ts +14 -0
  208. package/types/models/post.d.ts +15 -0
  209. package/types/models/project.d.ts +11 -0
  210. package/types/models/recently.d.ts +6 -0
  211. package/types/models/say.d.ts +6 -0
  212. package/types/models/setting.d.ts +66 -0
  213. package/types/models/snippet.d.ts +16 -0
  214. package/types/models/user.d.ts +21 -0
  215. package/types/utils/auto-bind.d.ts +4 -0
  216. 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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
162
  <span class="cline-any cline-neutral">&nbsp;</span>
155
163
  <span class="cline-any cline-neutral">&nbsp;</span>
156
164
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -171,19 +179,22 @@
171
179
  <span class="cline-any cline-neutral">&nbsp;</span>
172
180
  <span class="cline-any cline-neutral">&nbsp;</span>
173
181
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
178
183
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">7x</span>
180
184
  <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">7x</span>
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">&nbsp;</span>
182
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-yes">8x</span>
183
191
  <span class="cline-any cline-neutral">&nbsp;</span>
184
192
  <span class="cline-any cline-yes">8x</span>
185
193
  <span class="cline-any cline-neutral">&nbsp;</span>
186
194
  <span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-yes">9x</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
198
  <span class="cline-any cline-neutral">&nbsp;</span>
188
199
  <span class="cline-any cline-neutral">&nbsp;</span>
189
200
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -216,6 +227,9 @@
216
227
  <span class="cline-any cline-neutral">&nbsp;</span>
217
228
  <span class="cline-any cline-neutral">&nbsp;</span>
218
229
  <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
@@ -227,7 +241,7 @@
227
241
  <span class="cline-any cline-neutral">&nbsp;</span>
228
242
  <span class="cline-any cline-neutral">&nbsp;</span>
229
243
  <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-yes">1x</span>
244
+ <span class="cline-any cline-yes">2x</span>
231
245
  <span class="cline-any cline-neutral">&nbsp;</span>
232
246
  <span class="cline-any cline-neutral">&nbsp;</span>
233
247
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -237,8 +251,9 @@
237
251
  <span class="cline-any cline-yes">1x</span>
238
252
  <span class="cline-any cline-neutral">&nbsp;</span>
239
253
  <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
241
- import { RequestProxyResult } from '~/interfaces/request'
254
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
248
263
  declare module '../core/client' {
249
- interface HTTPClient {
250
- post: PostController
264
+ interface HTTPClient&lt;
265
+ T extends IRequestAdapter = IRequestAdapter,
266
+ ResponseWrapper = unknown,
267
+ &gt; {
268
+ post: PostController&lt;ResponseWrapper&gt;
251
269
  }
252
270
  }
253
271
  &nbsp;
@@ -258,7 +276,7 @@ export type PostListOptions = {
258
276
  sortOrder?: 1 | -1
259
277
  }
260
278
  &nbsp;
261
- export class PostController implements IController {
279
+ export class PostController&lt;ResponseWrapper&gt; 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
  &nbsp;
268
286
  name = 'post'
269
287
  &nbsp;
270
- public get proxy() {
288
+ public get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
271
289
  return this.client.proxy(this.base)
272
290
  }
273
291
  &nbsp;
@@ -296,12 +314,15 @@ export class PostController implements IController {
296
314
  * @param categoryName
297
315
  * @param slug
298
316
  */
299
- getPost(categoryName: string, slug: string): RequestProxyResult&lt;PostModel&gt;
317
+ getPost(
318
+ categoryName: string,
319
+ slug: string,
320
+ ): RequestProxyResult&lt;PostModel, ResponseWrapper&gt;
300
321
  /**
301
322
  * 根据 ID 查找文章
302
323
  * @param id
303
324
  */
304
- getPost(id: string): RequestProxyResult&lt;PostModel&gt;
325
+ getPost(id: string): RequestProxyResult&lt;PostModel, ResponseWrapper&gt;
305
326
  getPost(idOrCategoryName: string, slug?: string): any {
306
327
  if (arguments.length == 1) {
307
328
  return this.proxy(idOrCategoryName).get&lt;PostModel&gt;()
@@ -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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
95
  <span class="cline-any cline-yes">15x</span>
88
96
  <span class="cline-any cline-neutral">&nbsp;</span>
89
97
  <span class="cline-any cline-yes">15x</span>
@@ -94,7 +102,13 @@
94
102
  <span class="cline-any cline-neutral">&nbsp;</span>
95
103
  <span class="cline-any cline-neutral">&nbsp;</span>
96
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
108
  <span class="cline-any cline-yes">15x</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { ProjectModel } from '~/models/project'
120
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
111
126
  declare module '../core/client' {
112
- interface HTTPClient {
113
- project: ProjectController
127
+ interface HTTPClient&lt;
128
+ T extends IRequestAdapter = IRequestAdapter,
129
+ ResponseWrapper = unknown,
130
+ &gt; {
131
+ project: ProjectController&lt;ResponseWrapper&gt;
114
132
  }
115
133
  }
116
134
  &nbsp;
117
- export class ProjectController extends BaseCrudController&lt;ProjectModel&gt; {
135
+ export class ProjectController&lt;ResponseWrapper&gt; extends BaseCrudController&lt;
136
+ ProjectModel,
137
+ ResponseWrapper
138
+ &gt; {
118
139
  constructor(protected readonly client: HTTPClient) {
119
140
  super(client)
120
141
  autoBind(this)
@@ -130,7 +151,7 @@ export class ProjectController extends BaseCrudController&lt;ProjectModel&gt; {
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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
122
  <span class="cline-any cline-neutral">&nbsp;</span>
116
123
  <span class="cline-any cline-yes">15x</span>
117
124
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -123,6 +130,9 @@
123
130
  <span class="cline-any cline-neutral">&nbsp;</span>
124
131
  <span class="cline-any cline-neutral">&nbsp;</span>
125
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
160
170
  <span class="cline-any cline-neutral">&nbsp;</span>
161
171
  <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
172
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
167
179
  declare module '../core/client' {
168
- interface HTTPClient {
169
- recently: RecentlyController
170
- shorthand: RecentlyController
180
+ interface HTTPClient&lt;
181
+ T extends IRequestAdapter = IRequestAdapter,
182
+ ResponseWrapper = unknown,
183
+ &gt; {
184
+ recently: RecentlyController&lt;ResponseWrapper&gt;
185
+ shorthand: RecentlyController&lt;ResponseWrapper&gt;
171
186
  }
172
187
  }
173
188
  &nbsp;
174
- export class RecentlyController implements IController {
189
+ export class RecentlyController&lt;ResponseWrapper&gt; implements IController {
175
190
  base = 'recently'
176
191
  name = ['recently', 'shorthand']
177
192
  &nbsp;
@@ -179,7 +194,7 @@ export class RecentlyController implements IController {
179
194
  autoBind(this)
180
195
  }
181
196
  &nbsp;
182
- get proxy() {
197
+ get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
109
  <span class="cline-any cline-neutral">&nbsp;</span>
103
110
  <span class="cline-any cline-yes">15x</span>
104
111
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -110,6 +117,9 @@
110
117
  <span class="cline-any cline-neutral">&nbsp;</span>
111
118
  <span class="cline-any cline-neutral">&nbsp;</span>
112
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
123
  <span class="cline-any cline-yes">15x</span>
114
124
  <span class="cline-any cline-neutral">&nbsp;</span>
115
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -133,20 +143,25 @@
133
143
  <span class="cline-any cline-no">&nbsp;</span>
134
144
  <span class="cline-any cline-neutral">&nbsp;</span>
135
145
  <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
146
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
142
154
  declare module '../core/client' {
143
- interface HTTPClient {
144
- say: SayController
155
+ interface HTTPClient&lt;
156
+ T extends IRequestAdapter = IRequestAdapter,
157
+ ResponseWrapper = unknown,
158
+ &gt; {
159
+ say: SayController&lt;ResponseWrapper&gt;
145
160
  }
146
161
  }
147
162
  &nbsp;
148
- export class SayController
149
- extends BaseCrudController&lt;SayModel&gt;
163
+ export class SayController&lt;ResponseWrapper&gt;
164
+ extends BaseCrudController&lt;SayModel, ResponseWrapper&gt;
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
  &nbsp;
160
- public get proxy() {
175
+ public get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
161
176
  return this.client.proxy(this.base)
162
177
  }
163
178
  &nbsp;
@@ -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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
176
  <span class="cline-any cline-neutral">&nbsp;</span>
169
177
  <span class="cline-any cline-neutral">&nbsp;</span>
170
178
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -186,6 +194,9 @@
186
194
  <span class="cline-any cline-neutral">&nbsp;</span>
187
195
  <span class="cline-any cline-neutral">&nbsp;</span>
188
196
  <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
229
240
  <span class="cline-any cline-neutral">&nbsp;</span>
230
241
  <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
244
  <span class="cline-any cline-yes">6x</span>
232
245
  <span class="cline-any cline-neutral">&nbsp;</span>
233
246
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -265,7 +278,9 @@
265
278
  <span class="cline-any cline-neutral">&nbsp;</span>
266
279
  <span class="cline-any cline-neutral">&nbsp;</span>
267
280
  <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
277
292
  declare module '../core/client' {
278
- interface HTTPClient {
279
- search: SearchController
293
+ interface HTTPClient&lt;
294
+ T extends IRequestAdapter = IRequestAdapter,
295
+ ResponseWrapper = unknown,
296
+ &gt; {
297
+ search: SearchController&lt;ResponseWrapper&gt;
280
298
  }
281
299
  }
282
300
  &nbsp;
@@ -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&lt;ResponseWrapper&gt; implements IController {
291
309
  base = 'search'
292
310
  name = 'search'
293
311
  &nbsp;
@@ -295,7 +313,7 @@ export class SearchController implements IController {
295
313
  autoBind(this)
296
314
  }
297
315
  &nbsp;
298
- get proxy(): IRequestHandler {
316
+ get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
299
317
  return this.client.proxy(this.base)
300
318
  }
301
319
  &nbsp;
@@ -307,7 +325,8 @@ export class SearchController implements IController {
307
325
  RequestProxyResult&lt;
308
326
  PaginateResult&lt;
309
327
  Pick&lt;NoteModel, 'modified' | 'id' | 'title' | 'created' | 'nid'&gt;
310
- &gt;
328
+ &gt;,
329
+ ResponseWrapper
311
330
  &gt;
312
331
  &gt;
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
  &gt;
324
- &gt;
343
+ &gt;,
344
+ ResponseWrapper
325
345
  &gt;
326
346
  &gt;
327
347
  search(
@@ -361,7 +381,8 @@ export class SearchController implements IController {
361
381
  * @see: algoliasearch &lt;https://www.algolia.com/doc/api-reference/api-methods/search/&gt;
362
382
  */
363
383
  raw?: any
364
- }
384
+ },
385
+ ResponseWrapper
365
386
  &gt;
366
387
  &gt;({ 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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
105
  <span class="cline-any cline-neutral">&nbsp;</span>
99
106
  <span class="cline-any cline-yes">15x</span>
100
107
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -105,6 +112,9 @@
105
112
  <span class="cline-any cline-neutral">&nbsp;</span>
106
113
  <span class="cline-any cline-neutral">&nbsp;</span>
107
114
  <span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
127
137
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
138
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
133
145
  declare module '../core/client' {
134
- interface HTTPClient {
135
- snippet: SnippetController
146
+ interface HTTPClient&lt;
147
+ T extends IRequestAdapter = IRequestAdapter,
148
+ ResponseWrapper = unknown,
149
+ &gt; {
150
+ snippet: SnippetController&lt;ResponseWrapper&gt;
136
151
  }
137
152
  }
138
153
  &nbsp;
139
- export class SnippetController implements IController {
154
+ export class SnippetController&lt;ResponseWrapper&gt; implements IController {
140
155
  base = 'snippets'
141
156
  name = 'snippet'
142
157
  &nbsp;
@@ -144,7 +159,7 @@ export class SnippetController implements IController {
144
159
  autoBind(this)
145
160
  }
146
161
  &nbsp;
147
- get proxy() {
162
+ get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
148
163
  return this.client.proxy(this.base)
149
164
  }
150
165
  &nbsp;
@@ -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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
120
  <span class="cline-any cline-neutral">&nbsp;</span>
114
121
  <span class="cline-any cline-yes">15x</span>
115
122
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -121,6 +128,9 @@
121
128
  <span class="cline-any cline-neutral">&nbsp;</span>
122
129
  <span class="cline-any cline-neutral">&nbsp;</span>
123
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
156
166
  <span class="cline-any cline-neutral">&nbsp;</span>
157
167
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
168
+ <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
163
175
  declare module '../core/client' {
164
- interface HTTPClient {
165
- user: UserController
166
- master: UserController
176
+ interface HTTPClient&lt;
177
+ T extends IRequestAdapter = IRequestAdapter,
178
+ ResponseWrapper = unknown,
179
+ &gt; {
180
+ user: UserController&lt;ResponseWrapper&gt;
181
+ master: UserController&lt;ResponseWrapper&gt;
167
182
  }
168
183
  }
169
184
  &nbsp;
170
- export class UserController implements IController {
185
+ export class UserController&lt;ResponseWrapper&gt; 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
  &nbsp;
177
192
  name = ['user', 'master']
178
193
  &nbsp;
179
- public get proxy() {
194
+ public get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
180
195
  return this.client.proxy(this.base)
181
196
  }
182
197
  &nbsp;
@@ -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 Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
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>