@mx-space/api-client 0.7.0 → 0.7.3

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 (239) hide show
  1. package/adaptors/axios.ts +34 -32
  2. package/adaptors/umi-request.ts +25 -22
  3. package/build/index.cjs.js +30 -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 +30 -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 +30 -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/index.ts +4 -0
  20. package/controllers/link.ts +11 -4
  21. package/controllers/note.ts +11 -7
  22. package/controllers/page.ts +10 -5
  23. package/controllers/post.ts +15 -8
  24. package/controllers/project.ts +10 -3
  25. package/controllers/recently.ts +10 -5
  26. package/controllers/say.ts +10 -5
  27. package/controllers/search.ts +14 -7
  28. package/controllers/severless.ts +31 -0
  29. package/controllers/snippet.ts +11 -6
  30. package/controllers/user.ts +10 -5
  31. package/core/attach-request.ts +1 -1
  32. package/core/client.ts +37 -47
  33. package/coverage/clover.xml +357 -337
  34. package/coverage/coverage-final.json +27 -26
  35. package/coverage/lcov-report/adaptors/axios.ts.html +50 -44
  36. package/coverage/lcov-report/adaptors/index.html +24 -24
  37. package/coverage/lcov-report/adaptors/umi-request.ts.html +42 -33
  38. package/coverage/lcov-report/auto-bind.ts.html +229 -0
  39. package/coverage/lcov-report/controllers/aggregate.ts.html +23 -11
  40. package/coverage/lcov-report/controllers/base.ts.html +6 -6
  41. package/coverage/lcov-report/controllers/category.ts.html +48 -15
  42. package/coverage/lcov-report/controllers/comment.ts.html +23 -11
  43. package/coverage/lcov-report/controllers/index.html +26 -11
  44. package/coverage/lcov-report/controllers/index.ts.html +40 -28
  45. package/coverage/lcov-report/controllers/link.ts.html +31 -10
  46. package/coverage/lcov-report/controllers/note.ts.html +24 -12
  47. package/coverage/lcov-report/controllers/page.ts.html +25 -10
  48. package/coverage/lcov-report/controllers/post.ts.html +39 -18
  49. package/coverage/lcov-report/controllers/project.ts.html +30 -9
  50. package/coverage/lcov-report/controllers/recently.ts.html +25 -10
  51. package/coverage/lcov-report/controllers/say.ts.html +26 -11
  52. package/coverage/lcov-report/controllers/search.ts.html +33 -12
  53. package/coverage/lcov-report/controllers/severless.ts.html +178 -0
  54. package/coverage/lcov-report/controllers/snippet.ts.html +26 -11
  55. package/coverage/lcov-report/controllers/user.ts.html +25 -10
  56. package/coverage/lcov-report/core/attach-request.ts.html +14 -14
  57. package/coverage/lcov-report/core/client.ts.html +120 -150
  58. package/coverage/lcov-report/core/error.ts.html +2 -2
  59. package/coverage/lcov-report/core/index.html +18 -18
  60. package/coverage/lcov-report/core/index.ts.html +3 -3
  61. package/coverage/lcov-report/index.html +34 -34
  62. package/coverage/lcov-report/index.ts.html +244 -0
  63. package/coverage/lcov-report/models/aggregate.ts.html +1 -1
  64. package/coverage/lcov-report/models/category.ts.html +4 -4
  65. package/coverage/lcov-report/models/index.html +1 -1
  66. package/coverage/lcov-report/utils/auto-bind.ts.html +20 -20
  67. package/coverage/lcov-report/utils/index.html +1 -1
  68. package/coverage/lcov-report/utils/index.ts.html +7 -7
  69. package/coverage/lcov.info +615 -577
  70. package/esm/adaptors/axios.d.ts +2 -2
  71. package/esm/adaptors/axios.js +1 -0
  72. package/esm/adaptors/axios.js.map +1 -1
  73. package/esm/adaptors/umi-request.d.ts +2 -2
  74. package/esm/adaptors/umi-request.js +1 -0
  75. package/esm/adaptors/umi-request.js.map +1 -1
  76. package/esm/controllers/aggregate.d.ts +25 -8
  77. package/esm/controllers/aggregate.js.map +1 -1
  78. package/esm/controllers/base.d.ts +17 -5
  79. package/esm/controllers/category.d.ts +64 -13
  80. package/esm/controllers/category.js.map +1 -1
  81. package/esm/controllers/comment.d.ts +42 -10
  82. package/esm/controllers/comment.js.map +1 -1
  83. package/esm/controllers/index.d.ts +4 -3
  84. package/esm/controllers/index.js +4 -1
  85. package/esm/controllers/index.js.map +1 -1
  86. package/esm/controllers/link.d.ts +5 -4
  87. package/esm/controllers/link.js.map +1 -1
  88. package/esm/controllers/note.d.ts +42 -12
  89. package/esm/controllers/note.js.map +1 -1
  90. package/esm/controllers/page.d.ts +22 -8
  91. package/esm/controllers/page.js.map +1 -1
  92. package/esm/controllers/post.d.ts +24 -11
  93. package/esm/controllers/post.js.map +1 -1
  94. package/esm/controllers/project.d.ts +4 -3
  95. package/esm/controllers/project.js.map +1 -1
  96. package/esm/controllers/recently.d.ts +30 -8
  97. package/esm/controllers/recently.js.map +1 -1
  98. package/esm/controllers/say.d.ts +15 -5
  99. package/esm/controllers/say.js.map +1 -1
  100. package/esm/controllers/search.d.ts +168 -9
  101. package/esm/controllers/search.js.map +1 -1
  102. package/esm/controllers/severless.d.ts +24 -0
  103. package/esm/controllers/severless.js +16 -0
  104. package/esm/controllers/severless.js.map +1 -0
  105. package/esm/controllers/snippet.d.ts +17 -7
  106. package/esm/controllers/snippet.js.map +1 -1
  107. package/esm/controllers/user.d.ts +28 -8
  108. package/esm/controllers/user.js.map +1 -1
  109. package/esm/core/attach-request.d.ts +1 -1
  110. package/esm/core/attach-request.js.map +1 -1
  111. package/esm/core/client.d.ts +9 -6
  112. package/esm/core/client.js +13 -32
  113. package/esm/core/client.js.map +1 -1
  114. package/esm/index.d.ts +2 -1
  115. package/esm/index.js +1 -1
  116. package/esm/index.js.map +1 -1
  117. package/esm/interfaces/adapter.d.ts +9 -8
  118. package/esm/interfaces/client.d.ts +1 -1
  119. package/esm/interfaces/request.d.ts +22 -13
  120. package/esm/interfaces/types.d.ts +2 -0
  121. package/esm/interfaces/types.js +2 -0
  122. package/esm/interfaces/types.js.map +1 -0
  123. package/esm/models/post.d.ts +0 -1
  124. package/index.ts +2 -1
  125. package/interfaces/adapter.ts +29 -24
  126. package/interfaces/client.ts +1 -1
  127. package/interfaces/request.ts +45 -20
  128. package/{types/helper.d.ts → interfaces/types.ts} +0 -0
  129. package/lib/adaptors/axios.d.ts +2 -2
  130. package/lib/adaptors/axios.js +1 -0
  131. package/lib/adaptors/axios.js.map +1 -1
  132. package/lib/adaptors/umi-request.d.ts +2 -2
  133. package/lib/adaptors/umi-request.js +1 -0
  134. package/lib/adaptors/umi-request.js.map +1 -1
  135. package/lib/controllers/aggregate.d.ts +25 -8
  136. package/lib/controllers/aggregate.js.map +1 -1
  137. package/lib/controllers/base.d.ts +17 -5
  138. package/lib/controllers/category.d.ts +64 -13
  139. package/lib/controllers/category.js.map +1 -1
  140. package/lib/controllers/comment.d.ts +42 -10
  141. package/lib/controllers/comment.js.map +1 -1
  142. package/lib/controllers/index.d.ts +4 -3
  143. package/lib/controllers/index.js +5 -1
  144. package/lib/controllers/index.js.map +1 -1
  145. package/lib/controllers/link.d.ts +5 -4
  146. package/lib/controllers/link.js.map +1 -1
  147. package/lib/controllers/note.d.ts +42 -12
  148. package/lib/controllers/note.js.map +1 -1
  149. package/lib/controllers/page.d.ts +22 -8
  150. package/lib/controllers/page.js.map +1 -1
  151. package/lib/controllers/post.d.ts +24 -11
  152. package/lib/controllers/post.js.map +1 -1
  153. package/lib/controllers/project.d.ts +4 -3
  154. package/lib/controllers/project.js.map +1 -1
  155. package/lib/controllers/recently.d.ts +30 -8
  156. package/lib/controllers/recently.js.map +1 -1
  157. package/lib/controllers/say.d.ts +15 -5
  158. package/lib/controllers/say.js.map +1 -1
  159. package/lib/controllers/search.d.ts +168 -9
  160. package/lib/controllers/search.js.map +1 -1
  161. package/lib/controllers/severless.d.ts +24 -0
  162. package/lib/controllers/severless.js +20 -0
  163. package/lib/controllers/severless.js.map +1 -0
  164. package/lib/controllers/snippet.d.ts +17 -7
  165. package/lib/controllers/snippet.js.map +1 -1
  166. package/lib/controllers/user.d.ts +28 -8
  167. package/lib/controllers/user.js.map +1 -1
  168. package/lib/core/attach-request.d.ts +1 -1
  169. package/lib/core/attach-request.js.map +1 -1
  170. package/lib/core/client.d.ts +9 -6
  171. package/lib/core/client.js +13 -33
  172. package/lib/core/client.js.map +1 -1
  173. package/lib/core/index.js +5 -1
  174. package/lib/core/index.js.map +1 -1
  175. package/lib/index.d.ts +2 -1
  176. package/lib/index.js +6 -3
  177. package/lib/index.js.map +1 -1
  178. package/lib/interfaces/adapter.d.ts +9 -8
  179. package/lib/interfaces/client.d.ts +1 -1
  180. package/lib/interfaces/request.d.ts +22 -13
  181. package/lib/interfaces/types.d.ts +2 -0
  182. package/lib/interfaces/types.js +3 -0
  183. package/lib/interfaces/types.js.map +1 -0
  184. package/lib/models/index.js +5 -1
  185. package/lib/models/index.js.map +1 -1
  186. package/lib/models/post.d.ts +0 -1
  187. package/models/post.ts +0 -1
  188. package/package.json +12 -12
  189. package/tsconfig.json +25 -4
  190. package/tsconfig.types.json +18 -0
  191. package/types/adaptors/axios.d.ts +3 -0
  192. package/types/adaptors/umi-request.d.ts +3 -0
  193. package/types/controllers/aggregate.d.ts +64 -0
  194. package/types/controllers/base.d.ts +39 -0
  195. package/types/controllers/category.d.ts +114 -0
  196. package/types/controllers/comment.d.ts +81 -0
  197. package/types/controllers/index.d.ts +17 -0
  198. package/types/controllers/link.d.ts +16 -0
  199. package/types/controllers/note.d.ts +94 -0
  200. package/types/controllers/page.d.ts +59 -0
  201. package/types/controllers/post.d.ts +72 -0
  202. package/types/controllers/project.d.ts +15 -0
  203. package/types/controllers/recently.d.ts +61 -0
  204. package/types/controllers/say.d.ts +37 -0
  205. package/types/controllers/search.d.ts +247 -0
  206. package/types/controllers/severless.d.ts +24 -0
  207. package/types/controllers/snippet.d.ts +33 -0
  208. package/types/controllers/user.d.ts +54 -0
  209. package/types/core/attach-request.d.ts +2 -0
  210. package/types/core/client.d.ts +29 -0
  211. package/types/core/error.d.ts +6 -0
  212. package/types/core/index.d.ts +2 -0
  213. package/types/dtos/comment.d.ts +6 -0
  214. package/types/index.d.ts +7 -0
  215. package/types/interfaces/adapter.d.ts +14 -0
  216. package/types/interfaces/client.d.ts +5 -0
  217. package/types/interfaces/controller.d.ts +4 -0
  218. package/types/interfaces/instance.d.ts +7 -0
  219. package/types/interfaces/options.d.ts +1 -0
  220. package/types/interfaces/params.d.ts +4 -0
  221. package/types/interfaces/request.d.ts +43 -0
  222. package/types/interfaces/types.d.ts +2 -0
  223. package/types/models/aggregate.d.ts +53 -0
  224. package/types/models/base.d.ts +37 -0
  225. package/types/models/category.d.ts +22 -0
  226. package/types/models/comment.d.ts +34 -0
  227. package/types/models/index.d.ts +14 -0
  228. package/types/models/link.d.ts +20 -0
  229. package/types/models/note.d.ts +30 -0
  230. package/types/models/page.d.ts +14 -0
  231. package/types/models/post.d.ts +14 -0
  232. package/types/models/project.d.ts +11 -0
  233. package/types/models/recently.d.ts +6 -0
  234. package/types/models/say.d.ts +6 -0
  235. package/types/models/setting.d.ts +66 -0
  236. package/types/models/snippet.d.ts +16 -0
  237. package/types/models/user.d.ts +21 -0
  238. package/types/utils/auto-bind.d.ts +4 -0
  239. package/types/utils/index.d.ts +5 -0
@@ -128,7 +128,11 @@
128
128
  <a name='L63'></a><a href='#L63'>63</a>
129
129
  <a name='L64'></a><a href='#L64'>64</a>
130
130
  <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
132
136
  <span class="cline-any cline-neutral">&nbsp;</span>
133
137
  <span class="cline-any cline-neutral">&nbsp;</span>
134
138
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -138,9 +142,9 @@
138
142
  <span class="cline-any cline-neutral">&nbsp;</span>
139
143
  <span class="cline-any cline-neutral">&nbsp;</span>
140
144
  <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-yes">15x</span>
142
- <span class="cline-any cline-yes">15x</span>
143
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-yes">16x</span>
147
+ <span class="cline-any cline-yes">16x</span>
144
148
  <span class="cline-any cline-neutral">&nbsp;</span>
145
149
  <span class="cline-any cline-neutral">&nbsp;</span>
146
150
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -148,7 +152,11 @@
148
152
  <span class="cline-any cline-neutral">&nbsp;</span>
149
153
  <span class="cline-any cline-neutral">&nbsp;</span>
150
154
  <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">15x</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-yes">16x</span>
152
160
  <span class="cline-any cline-yes">4x</span>
153
161
  <span class="cline-any cline-yes">4x</span>
154
162
  <span class="cline-any cline-yes">4x</span>
@@ -193,7 +201,8 @@
193
201
  <span class="cline-any cline-yes">1x</span>
194
202
  <span class="cline-any cline-neutral">&nbsp;</span>
195
203
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
204
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
205
+ import { IController } from '~/interfaces/controller'
197
206
  import { SortOrder } from '~/interfaces/options'
198
207
  import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
199
208
  import {
@@ -208,25 +217,28 @@ import { autoBind } from '~/utils/auto-bind'
208
217
  import { HTTPClient } from '../core'
209
218
  &nbsp;
210
219
  declare module '../core/client' {
211
- interface HTTPClient {
212
- aggregate: AggregateController
220
+ interface HTTPClient&lt;
221
+ T extends IRequestAdapter = IRequestAdapter,
222
+ ResponseWrapper = unknown,
223
+ &gt; {
224
+ aggregate: AggregateController&lt;ResponseWrapper&gt;
213
225
  }
214
226
  }
215
227
  &nbsp;
216
- export class AggregateController implements IController {
228
+ export class AggregateController&lt;ResponseWrapper&gt; implements IController {
217
229
  base = 'aggregate'
218
230
  name = 'aggregate'
219
231
  constructor(private client: HTTPClient) {
220
232
  autoBind(this)
221
233
  }
222
- public get proxy(): IRequestHandler {
234
+ public get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
223
235
  return this.client.proxy(this.base)
224
236
  }
225
237
  &nbsp;
226
238
  /**
227
239
  * 获取聚合数据
228
240
  */
229
- getAggregateData(): RequestProxyResult&lt;AggregateRoot&gt; {
241
+ getAggregateData(): RequestProxyResult&lt;AggregateRoot, ResponseWrapper&gt; {
230
242
  return this.proxy.get&lt;AggregateRoot&gt;()
231
243
  }
232
244
  &nbsp;
@@ -265,7 +277,7 @@ export class AggregateController implements IController {
265
277
  <div class='footer quiet pad2 space-top1 center small'>
266
278
  Code coverage generated by
267
279
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
268
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
280
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
269
281
  </div>
270
282
  <script src="../prettify.js"></script>
271
283
  <script>
@@ -97,10 +97,10 @@
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
99
99
  <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-yes">15x</span>
100
+ <span class="cline-any cline-yes">16x</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">15x</span>
103
+ <span class="cline-any cline-yes">16x</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-yes">11x</span>
106
106
  <span class="cline-any cline-yes">11x</span>
@@ -132,16 +132,16 @@ import { PaginateResult } from '~/models/base'
132
132
  import { autoBind } from '~/utils/auto-bind'
133
133
  import { HTTPClient } from '../core'
134
134
  &nbsp;
135
- export abstract class BaseCrudController&lt;T&gt; {
135
+ export abstract class BaseCrudController&lt;T, ResponseWrapper&gt; {
136
136
  base!: string
137
137
  constructor(protected client: HTTPClient) {
138
138
  autoBind(this)
139
139
  }
140
- public get proxy(): IRequestHandler {
140
+ public get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
141
141
  return this.client.proxy(this.base)
142
142
  }
143
143
  &nbsp;
144
- getById(id: string): RequestProxyResult&lt;T&gt; {
144
+ getById(id: string): RequestProxyResult&lt;T, ResponseWrapper&gt; {
145
145
  return this.proxy(id).get&lt;T&gt;()
146
146
  }
147
147
  &nbsp;
@@ -166,7 +166,7 @@ export abstract class BaseCrudController&lt;T&gt; {
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
169
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
170
170
  </div>
171
171
  <script src="../prettify.js"></script>
172
172
  <script>
@@ -170,18 +170,29 @@
170
170
  <a name='L105'></a><a href='#L105'>105</a>
171
171
  <a name='L106'></a><a href='#L106'>106</a>
172
172
  <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
174
185
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">15x</span>
176
- <span class="cline-any cline-yes">15x</span>
177
186
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">15x</span>
179
- <span class="cline-any cline-yes">15x</span>
180
187
  <span class="cline-any cline-neutral">&nbsp;</span>
181
188
  <span class="cline-any cline-neutral">&nbsp;</span>
182
189
  <span class="cline-any cline-neutral">&nbsp;</span>
183
190
  <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-yes">16x</span>
192
+ <span class="cline-any cline-yes">16x</span>
184
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">16x</span>
195
+ <span class="cline-any cline-yes">16x</span>
185
196
  <span class="cline-any cline-neutral">&nbsp;</span>
186
197
  <span class="cline-any cline-neutral">&nbsp;</span>
187
198
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -191,7 +202,15 @@
191
202
  <span class="cline-any cline-neutral">&nbsp;</span>
192
203
  <span class="cline-any cline-neutral">&nbsp;</span>
193
204
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">15x</span>
205
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-yes">16x</span>
195
214
  <span class="cline-any cline-yes">4x</span>
196
215
  <span class="cline-any cline-yes">4x</span>
197
216
  <span class="cline-any cline-yes">4x</span>
@@ -203,6 +222,9 @@
203
222
  <span class="cline-any cline-neutral">&nbsp;</span>
204
223
  <span class="cline-any cline-neutral">&nbsp;</span>
205
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
228
  <span class="cline-any cline-yes">2x</span>
207
229
  <span class="cline-any cline-neutral">&nbsp;</span>
208
230
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -277,8 +299,13 @@
277
299
  <span class="cline-any cline-yes">1x</span>
278
300
  <span class="cline-any cline-neutral">&nbsp;</span>
279
301
  <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
281
- import { RequestProxyResult, ResponseProxyExtraRaw } from '~/interfaces/request'
302
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
303
+ import { IController } from '~/interfaces/controller'
304
+ import {
305
+ IRequestHandler,
306
+ RequestProxyResult,
307
+ ResponseProxyExtraRaw,
308
+ } from '~/interfaces/request'
282
309
  import { attachRawFromOneToAnthor, destructureData } from '~/utils'
283
310
  import { autoBind } from '~/utils/auto-bind'
284
311
  import { HTTPClient } from '../core/client'
@@ -293,23 +320,29 @@ import {
293
320
  import { PostModel } from '../models/post'
294
321
  &nbsp;
295
322
  declare module '../core/client' {
296
- interface HTTPClient {
297
- category: CategoryController
323
+ interface HTTPClient&lt;
324
+ T extends IRequestAdapter = IRequestAdapter,
325
+ ResponseWrapper = unknown,
326
+ &gt; {
327
+ category: CategoryController&lt;ResponseWrapper&gt;
298
328
  }
299
329
  }
300
330
  &nbsp;
301
- export class CategoryController implements IController {
331
+ export class CategoryController&lt;ResponseWrapper&gt; implements IController {
302
332
  name = 'category'
303
333
  base = 'categories'
304
334
  constructor(private client: HTTPClient) {
305
335
  autoBind(this)
306
336
  }
307
337
  &nbsp;
308
- public get proxy() {
338
+ public get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
309
339
  return this.client.proxy(this.base)
310
340
  }
311
341
  &nbsp;
312
- getAllCategories(): RequestProxyResult&lt;{ data: CategoryModel[] }&gt; {
342
+ getAllCategories(): RequestProxyResult&lt;
343
+ { data: CategoryModel[] },
344
+ ResponseWrapper
345
+ &gt; {
313
346
  return this.proxy.get({
314
347
  params: {
315
348
  type: CategoryType.Category,
@@ -317,7 +350,7 @@ export class CategoryController implements IController {
317
350
  })
318
351
  }
319
352
  &nbsp;
320
- getAllTags(): RequestProxyResult&lt;{ data: TagModel[] }&gt; {
353
+ getAllTags(): RequestProxyResult&lt;{ data: TagModel[] }, ResponseWrapper&gt; {
321
354
  return this.proxy.get&lt;{ data: TagModel[] }&gt;({
322
355
  params: {
323
356
  type: CategoryType.Tag,
@@ -391,7 +424,7 @@ export class CategoryController implements IController {
391
424
  <div class='footer quiet pad2 space-top1 center small'>
392
425
  Code coverage generated by
393
426
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
427
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
395
428
  </div>
396
429
  <script src="../prettify.js"></script>
397
430
  <script>
@@ -127,13 +127,17 @@
127
127
  <a name='L62'></a><a href='#L62'>62</a>
128
128
  <a name='L63'></a><a href='#L63'>63</a>
129
129
  <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
131
135
  <span class="cline-any cline-neutral">&nbsp;</span>
132
136
  <span class="cline-any cline-neutral">&nbsp;</span>
133
137
  <span class="cline-any cline-neutral">&nbsp;</span>
134
138
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">15x</span>
136
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-yes">16x</span>
137
141
  <span class="cline-any cline-neutral">&nbsp;</span>
138
142
  <span class="cline-any cline-neutral">&nbsp;</span>
139
143
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -142,7 +146,11 @@
142
146
  <span class="cline-any cline-neutral">&nbsp;</span>
143
147
  <span class="cline-any cline-neutral">&nbsp;</span>
144
148
  <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-yes">15x</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
+ <span class="cline-any cline-yes">16x</span>
146
154
  <span class="cline-any cline-yes">4x</span>
147
155
  <span class="cline-any cline-yes">4x</span>
148
156
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -191,9 +199,10 @@
191
199
  <span class="cline-any cline-neutral">&nbsp;</span>
192
200
  <span class="cline-any cline-neutral">&nbsp;</span>
193
201
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
202
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
203
+ import { IController } from '~/interfaces/controller'
195
204
  import { PaginationParams } from '~/interfaces/params'
196
- import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
205
+ import { IRequestHandler } from '~/interfaces/request'
197
206
  import { PaginateResult } from '~/models/base'
198
207
  import { CommentModel } from '~/models/comment'
199
208
  import { autoBind } from '~/utils/auto-bind'
@@ -201,12 +210,15 @@ import { HTTPClient } from '../core'
201
210
  import { CommentDto } from '../dtos/comment'
202
211
  &nbsp;
203
212
  declare module '../core/client' {
204
- interface HTTPClient {
205
- comment: CommentController
213
+ interface HTTPClient&lt;
214
+ T extends IRequestAdapter = IRequestAdapter,
215
+ ResponseWrapper = unknown,
216
+ &gt; {
217
+ comment: CommentController&lt;ResponseWrapper&gt;
206
218
  }
207
219
  }
208
220
  &nbsp;
209
- export class CommentController implements IController {
221
+ export class CommentController&lt;ResponseWrapper&gt; implements IController {
210
222
  base = 'comments'
211
223
  name = 'comment'
212
224
  &nbsp;
@@ -214,14 +226,14 @@ export class CommentController implements IController {
214
226
  autoBind(this)
215
227
  }
216
228
  &nbsp;
217
- get proxy(): IRequestHandler {
229
+ get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
218
230
  return this.client.proxy(this.base)
219
231
  }
220
232
  &nbsp;
221
233
  /**
222
234
  * 根据 comment id 获取评论, 包括子评论
223
235
  */
224
- getById(id: string): RequestProxyResult&lt;CommentModel&gt; {
236
+ getById(id: string) {
225
237
  return this.proxy(id).get&lt;CommentModel &amp; { ref: string }&gt;()
226
238
  }
227
239
  &nbsp;
@@ -262,7 +274,7 @@ export class CommentController implements IController {
262
274
  <div class='footer quiet pad2 space-top1 center small'>
263
275
  Code coverage generated by
264
276
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
265
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
277
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
266
278
  </div>
267
279
  <script src="../prettify.js"></script>
268
280
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.97% </span>
26
+ <span class="strong">99.02% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>193/195</span>
28
+ <span class='fraction'>203/205</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">93.67% </span>
40
+ <span class="strong">93.97% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>74/79</span>
42
+ <span class='fraction'>78/83</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.97% </span>
47
+ <span class="strong">99.02% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>193/195</span>
49
+ <span class='fraction'>203/205</span>
50
50
  </div>
51
51
 
52
52
 
@@ -144,13 +144,13 @@
144
144
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
145
  </td>
146
146
  <td data-value="100" class="pct high">100%</td>
147
- <td data-value="28" class="abs high">28/28</td>
147
+ <td data-value="30" class="abs high">30/30</td>
148
148
  <td data-value="100" class="pct high">100%</td>
149
149
  <td data-value="0" class="abs high">0/0</td>
150
- <td data-value="69.23" class="pct medium">69.23%</td>
151
- <td data-value="13" class="abs medium">9/13</td>
150
+ <td data-value="71.42" class="pct medium">71.42%</td>
151
+ <td data-value="14" class="abs medium">10/14</td>
152
152
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="28" class="abs high">28/28</td>
153
+ <td data-value="30" class="abs high">30/30</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -273,6 +273,21 @@
273
273
  <td data-value="9" class="abs high">9/9</td>
274
274
  </tr>
275
275
 
276
+ <tr>
277
+ <td class="file high" data-value="severless.ts"><a href="severless.ts.html">severless.ts</a></td>
278
+ <td data-value="100" class="pic high">
279
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
280
+ </td>
281
+ <td data-value="100" class="pct high">100%</td>
282
+ <td data-value="8" class="abs high">8/8</td>
283
+ <td data-value="100" class="pct high">100%</td>
284
+ <td data-value="0" class="abs high">0/0</td>
285
+ <td data-value="100" class="pct high">100%</td>
286
+ <td data-value="3" class="abs high">3/3</td>
287
+ <td data-value="100" class="pct high">100%</td>
288
+ <td data-value="8" class="abs high">8/8</td>
289
+ </tr>
290
+
276
291
  <tr>
277
292
  <td class="file high" data-value="snippet.ts"><a href="snippet.ts.html">snippet.ts</a></td>
278
293
  <td data-value="100" class="pic high">
@@ -311,7 +326,7 @@
311
326
  <div class='footer quiet pad2 space-top1 center small'>
312
327
  Code coverage generated by
313
328
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
314
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
329
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
315
330
  </div>
316
331
  <script src="../prettify.js"></script>
317
332
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>28/28</span>
28
+ <span class='fraction'>30/30</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">69.23% </span>
40
+ <span class="strong">71.42% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/13</span>
42
+ <span class='fraction'>10/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>28/28</span>
49
+ <span class='fraction'>30/30</span>
50
50
  </div>
51
51
 
52
52
 
@@ -129,21 +129,27 @@
129
129
  <a name='L64'></a><a href='#L64'>64</a>
130
130
  <a name='L65'></a><a href='#L65'>65</a>
131
131
  <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
133
- <span class="cline-any cline-yes">15x</span>
134
- <span class="cline-any cline-yes">15x</span>
135
- <span class="cline-any cline-yes">15x</span>
136
- <span class="cline-any cline-yes">15x</span>
137
- <span class="cline-any cline-yes">15x</span>
138
- <span class="cline-any cline-yes">15x</span>
139
- <span class="cline-any cline-yes">15x</span>
140
- <span class="cline-any cline-yes">15x</span>
141
- <span class="cline-any cline-yes">15x</span>
142
- <span class="cline-any cline-yes">15x</span>
143
- <span class="cline-any cline-yes">15x</span>
144
- <span class="cline-any cline-yes">15x</span>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">16x</span>
137
+ <span class="cline-any cline-yes">16x</span>
138
+ <span class="cline-any cline-yes">16x</span>
139
+ <span class="cline-any cline-yes">16x</span>
140
+ <span class="cline-any cline-yes">16x</span>
141
+ <span class="cline-any cline-yes">16x</span>
142
+ <span class="cline-any cline-yes">16x</span>
143
+ <span class="cline-any cline-yes">16x</span>
144
+ <span class="cline-any cline-yes">16x</span>
145
+ <span class="cline-any cline-yes">16x</span>
146
+ <span class="cline-any cline-yes">16x</span>
147
+ <span class="cline-any cline-yes">16x</span>
148
+ <span class="cline-any cline-yes">16x</span>
149
+ <span class="cline-any cline-yes">16x</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-yes">16x</span>
145
152
  <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-yes">15x</span>
147
153
  <span class="cline-any cline-neutral">&nbsp;</span>
148
154
  <span class="cline-any cline-neutral">&nbsp;</span>
149
155
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -159,7 +165,7 @@
159
165
  <span class="cline-any cline-neutral">&nbsp;</span>
160
166
  <span class="cline-any cline-neutral">&nbsp;</span>
161
167
  <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-yes">15x</span>
168
+ <span class="cline-any cline-yes">16x</span>
163
169
  <span class="cline-any cline-neutral">&nbsp;</span>
164
170
  <span class="cline-any cline-neutral">&nbsp;</span>
165
171
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -181,19 +187,21 @@
181
187
  <span class="cline-any cline-neutral">&nbsp;</span>
182
188
  <span class="cline-any cline-neutral">&nbsp;</span>
183
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-yes">17x</span>
192
+ <span class="cline-any cline-yes">17x</span>
184
193
  <span class="cline-any cline-yes">16x</span>
185
- <span class="cline-any cline-yes">16x</span>
186
- <span class="cline-any cline-yes">15x</span>
187
- <span class="cline-any cline-yes">16x</span>
188
- <span class="cline-any cline-yes">18x</span>
189
- <span class="cline-any cline-yes">15x</span>
194
+ <span class="cline-any cline-yes">17x</span>
190
195
  <span class="cline-any cline-yes">19x</span>
191
- <span class="cline-any cline-yes">15x</span>
192
- <span class="cline-any cline-yes">16x</span>
193
- <span class="cline-any cline-yes">15x</span>
194
196
  <span class="cline-any cline-yes">16x</span>
197
+ <span class="cline-any cline-yes">21x</span>
195
198
  <span class="cline-any cline-yes">16x</span>
199
+ <span class="cline-any cline-yes">17x</span>
196
200
  <span class="cline-any cline-yes">16x</span>
201
+ <span class="cline-any cline-yes">17x</span>
202
+ <span class="cline-any cline-yes">17x</span>
203
+ <span class="cline-any cline-yes">17x</span>
204
+ <span class="cline-any cline-yes">17x</span>
197
205
  <span class="cline-any cline-neutral">&nbsp;</span>
198
206
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { AggregateController } from './aggregate'
199
207
  import { CategoryController } from './category'
@@ -206,6 +214,7 @@ import { ProjectController } from './project'
206
214
  import { RecentlyController } from './recently'
207
215
  import { SayController } from './say'
208
216
  import { SearchController } from './search'
217
+ import { ServerlessController } from './severless'
209
218
  import { SnippetController } from './snippet'
210
219
  import { UserController } from './user'
211
220
  &nbsp;
@@ -222,6 +231,7 @@ export const allControllers = [
222
231
  SayController,
223
232
  SearchController,
224
233
  SnippetController,
234
+ ServerlessController,
225
235
  UserController,
226
236
  ]
227
237
  &nbsp;
@@ -238,6 +248,7 @@ export const allContollerNames = [
238
248
  'say',
239
249
  'search',
240
250
  'snippet',
251
+ 'serverless',
241
252
  'user',
242
253
  &nbsp;
243
254
  // alias,
@@ -259,6 +270,7 @@ export {
259
270
  <span class="fstat-no" title="function not covered" > SayController,</span>
260
271
  SearchController,
261
272
  SnippetController,
273
+ ServerlessController,
262
274
  UserController,
263
275
  }
264
276
  &nbsp;</pre></td></tr></table></pre>
@@ -268,7 +280,7 @@ export {
268
280
  <div class='footer quiet pad2 space-top1 center small'>
269
281
  Code coverage generated by
270
282
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
271
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
283
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
272
284
  </div>
273
285
  <script src="../prettify.js"></script>
274
286
  <script>