@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
@@ -84,11 +84,18 @@
84
84
  <a name='L19'></a><a href='#L19'>19</a>
85
85
  <a name='L20'></a><a href='#L20'>20</a>
86
86
  <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-yes">15x</span>
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>
94
+ <a name='L29'></a><a href='#L29'>29</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
89
95
  <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-yes">15x</span>
96
+ <span class="cline-any cline-yes">16x</span>
91
97
  <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-yes">16x</span>
92
99
  <span class="cline-any cline-neutral">&nbsp;</span>
93
100
  <span class="cline-any cline-neutral">&nbsp;</span>
94
101
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -96,7 +103,14 @@
96
103
  <span class="cline-any cline-neutral">&nbsp;</span>
97
104
  <span class="cline-any cline-neutral">&nbsp;</span>
98
105
  <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">15x</span>
106
+ <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>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-yes">16x</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
114
  <span class="cline-any cline-yes">4x</span>
101
115
  <span class="cline-any cline-yes">4x</span>
102
116
  <span class="cline-any cline-yes">4x</span>
@@ -105,19 +119,26 @@
105
119
  <span class="cline-any cline-yes">4x</span>
106
120
  <span class="cline-any cline-yes">4x</span>
107
121
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { LinkModel } from '~/models/link'
122
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
123
+ import { LinkModel } from '~/models/link'
109
124
  import { autoBind } from '~/utils/auto-bind'
110
125
  import { HTTPClient } from '../core'
111
126
  import { BaseCrudController } from './base'
112
127
  &nbsp;
113
128
  declare module '../core/client' {
114
- interface HTTPClient {
115
- link: LinkController
116
- friend: LinkController
129
+ interface HTTPClient&lt;
130
+ T extends IRequestAdapter = IRequestAdapter,
131
+ ResponseWrapper = unknown,
132
+ &gt; {
133
+ link: LinkController&lt;ResponseWrapper&gt;
134
+ friend: LinkController&lt;ResponseWrapper&gt;
117
135
  }
118
136
  }
119
137
  &nbsp;
120
- export class LinkController extends BaseCrudController&lt;LinkModel&gt; {
138
+ export class LinkController&lt;ResponseWrapper&gt; extends BaseCrudController&lt;
139
+ LinkModel,
140
+ ResponseWrapper
141
+ &gt; {
121
142
  constructor(protected readonly client: HTTPClient) {
122
143
  super(client)
123
144
  autoBind(this)
@@ -133,7 +154,7 @@ export class LinkController extends BaseCrudController&lt;LinkModel&gt; {
133
154
  <div class='footer quiet pad2 space-top1 center small'>
134
155
  Code coverage generated by
135
156
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
157
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
137
158
  </div>
138
159
  <script src="../prettify.js"></script>
139
160
  <script>
@@ -155,13 +155,17 @@
155
155
  <a name='L90'></a><a href='#L90'>90</a>
156
156
  <a name='L91'></a><a href='#L91'>91</a>
157
157
  <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
159
163
  <span class="cline-any cline-neutral">&nbsp;</span>
160
164
  <span class="cline-any cline-neutral">&nbsp;</span>
161
165
  <span class="cline-any cline-neutral">&nbsp;</span>
162
166
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">15x</span>
164
167
  <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-yes">16x</span>
165
169
  <span class="cline-any cline-neutral">&nbsp;</span>
166
170
  <span class="cline-any cline-neutral">&nbsp;</span>
167
171
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -176,7 +180,11 @@
176
180
  <span class="cline-any cline-neutral">&nbsp;</span>
177
181
  <span class="cline-any cline-neutral">&nbsp;</span>
178
182
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">15x</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-yes">16x</span>
180
188
  <span class="cline-any cline-yes">6x</span>
181
189
  <span class="cline-any cline-yes">6x</span>
182
190
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -247,17 +255,21 @@
247
255
  <span class="cline-any cline-yes">1x</span>
248
256
  <span class="cline-any cline-neutral">&nbsp;</span>
249
257
  <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
251
- import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
258
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
259
+ import { IController } from '~/interfaces/controller'
260
+ import { IRequestHandler } from '~/interfaces/request'
261
+ import { SelectFields } from '~/interfaces/types'
252
262
  import { PaginateResult } from '~/models/base'
253
263
  import { NoteModel, NoteWrappedPayload } from '~/models/note'
254
- import { SelectFields } from '~/types/helper'
255
264
  import { autoBind } from '~/utils/auto-bind'
256
265
  import { HTTPClient } from '../core/client'
257
266
  &nbsp;
258
267
  declare module '../core/client' {
259
- interface HTTPClient {
260
- note: NoteController
268
+ interface HTTPClient&lt;
269
+ T extends IRequestAdapter = IRequestAdapter,
270
+ ResponseWrapper = unknown,
271
+ &gt; {
272
+ note: NoteController&lt;ResponseWrapper&gt;
261
273
  }
262
274
  }
263
275
  &nbsp;
@@ -268,21 +280,21 @@ export type NoteListOptions = {
268
280
  sortOrder?: 1 | -1
269
281
  }
270
282
  &nbsp;
271
- export class NoteController implements IController {
283
+ export class NoteController&lt;ResponseWrapper&gt; implements IController {
272
284
  base = 'notes'
273
285
  name = 'note'
274
286
  &nbsp;
275
287
  constructor(private client: HTTPClient) {
276
288
  autoBind(this)
277
289
  }
278
- get proxy(): IRequestHandler {
290
+ get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
279
291
  return this.client.proxy(this.base)
280
292
  }
281
293
  &nbsp;
282
294
  /**
283
295
  * 最新日记
284
296
  */
285
- getLatest(): RequestProxyResult&lt;NoteWrappedPayload&gt; {
297
+ getLatest() {
286
298
  return this.proxy.latest.get&lt;NoteWrappedPayload&gt;()
287
299
  }
288
300
  &nbsp;
@@ -346,7 +358,7 @@ export class NoteController implements IController {
346
358
  <div class='footer quiet pad2 space-top1 center small'>
347
359
  Code coverage generated by
348
360
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
361
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
350
362
  </div>
351
363
  <script src="../prettify.js"></script>
352
364
  <script>
@@ -122,13 +122,18 @@
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
123
  <a name='L58'></a><a href='#L58'>58</a>
124
124
  <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
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>
126
131
  <span class="cline-any cline-neutral">&nbsp;</span>
127
132
  <span class="cline-any cline-neutral">&nbsp;</span>
128
133
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">15x</span>
130
134
  <span class="cline-any cline-neutral">&nbsp;</span>
131
135
  <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-yes">16x</span>
132
137
  <span class="cline-any cline-neutral">&nbsp;</span>
133
138
  <span class="cline-any cline-neutral">&nbsp;</span>
134
139
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -141,7 +146,12 @@
141
146
  <span class="cline-any cline-neutral">&nbsp;</span>
142
147
  <span class="cline-any cline-neutral">&nbsp;</span>
143
148
  <span class="cline-any cline-neutral">&nbsp;</span>
144
- <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-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-yes">16x</span>
145
155
  <span class="cline-any cline-yes">4x</span>
146
156
  <span class="cline-any cline-yes">4x</span>
147
157
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -181,16 +191,21 @@
181
191
  <span class="cline-any cline-yes">1x</span>
182
192
  <span class="cline-any cline-neutral">&nbsp;</span>
183
193
  <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IController } from '~/interfaces/controller'
194
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
195
+ import { IController } from '~/interfaces/controller'
196
+ import { IRequestHandler } from '~/interfaces/request'
197
+ import { SelectFields } from '~/interfaces/types'
185
198
  import { PaginateResult } from '~/models/base'
186
199
  import { PageModel } from '~/models/page'
187
- import { SelectFields } from '~/types/helper'
188
200
  import { autoBind } from '~/utils/auto-bind'
189
201
  import { HTTPClient } from '../core'
190
202
  &nbsp;
191
203
  declare module '../core/client' {
192
- interface HTTPClient {
193
- page: PageController
204
+ interface HTTPClient&lt;
205
+ T extends IRequestAdapter = IRequestAdapter,
206
+ ResponseWrapper = unknown,
207
+ &gt; {
208
+ page: PageController&lt;ResponseWrapper&gt;
194
209
  }
195
210
  }
196
211
  &nbsp;
@@ -200,13 +215,13 @@ export type PageListOptions = {
200
215
  sortOrder?: 1 | -1
201
216
  }
202
217
  &nbsp;
203
- export class PageController implements IController {
218
+ export class PageController&lt;ResponseWrapper&gt; implements IController {
204
219
  constructor(private readonly client: HTTPClient) {
205
220
  autoBind(this)
206
221
  }
207
222
  base = 'pages'
208
223
  name = 'page'
209
- get proxy() {
224
+ get proxy(): IRequestHandler&lt;ResponseWrapper&gt; {
210
225
  return this.client.proxy(this.base)
211
226
  }
212
227
  /**
@@ -247,7 +262,7 @@ export class PageController implements IController {
247
262
  <div class='footer quiet pad2 space-top1 center small'>
248
263
  Code coverage generated by
249
264
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
250
- at Mon Feb 07 2022 19:00:26 GMT+0800 (China Standard Time)
265
+ at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
251
266
  </div>
252
267
  <script src="../prettify.js"></script>
253
268
  <script>
@@ -150,13 +150,20 @@
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>
154
161
  <span class="cline-any cline-neutral">&nbsp;</span>
155
162
  <span class="cline-any cline-neutral">&nbsp;</span>
156
163
  <span class="cline-any cline-neutral">&nbsp;</span>
157
164
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">15x</span>
159
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-yes">16x</span>
160
167
  <span class="cline-any cline-neutral">&nbsp;</span>
161
168
  <span class="cline-any cline-neutral">&nbsp;</span>
162
169
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -171,18 +178,22 @@
171
178
  <span class="cline-any cline-neutral">&nbsp;</span>
172
179
  <span class="cline-any cline-neutral">&nbsp;</span>
173
180
  <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
181
  <span class="cline-any cline-neutral">&nbsp;</span>
178
182
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">7x</span>
180
183
  <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">7x</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-yes">16x</span>
186
+ <span class="cline-any cline-yes">8x</span>
187
+ <span class="cline-any cline-yes">8x</span>
182
188
  <span class="cline-any cline-neutral">&nbsp;</span>
183
189
  <span class="cline-any cline-neutral">&nbsp;</span>
184
190
  <span class="cline-any cline-yes">8x</span>
185
191
  <span class="cline-any cline-neutral">&nbsp;</span>
192
+ <span class="cline-any cline-yes">8x</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
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>
186
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>
@@ -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,17 +251,21 @@
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'
257
+ import { SelectFields } from '~/interfaces/types'
242
258
  import { PaginateResult } from '~/models/base'
243
259
  import { PostModel } from '~/models/post'
244
- import { SelectFields } from '~/types/helper'
245
260
  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 Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
335
356
  </div>
336
357
  <script src="../prettify.js"></script>
337
358
  <script>
@@ -83,18 +83,32 @@
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>
87
- <span class="cline-any cline-yes">15x</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>
88
94
  <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-yes">15x</span>
95
+ <span class="cline-any cline-yes">16x</span>
90
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-yes">16x</span>
91
98
  <span class="cline-any cline-neutral">&nbsp;</span>
92
99
  <span class="cline-any cline-neutral">&nbsp;</span>
93
100
  <span class="cline-any cline-neutral">&nbsp;</span>
94
101
  <span class="cline-any cline-neutral">&nbsp;</span>
95
102
  <span class="cline-any cline-neutral">&nbsp;</span>
96
103
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">15x</span>
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>
108
+ <span class="cline-any cline-yes">16x</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 Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
134
155
  </div>
135
156
  <script src="../prettify.js"></script>
136
157
  <script>
@@ -111,11 +111,16 @@
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>
115
120
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">15x</span>
117
121
  <span class="cline-any cline-neutral">&nbsp;</span>
118
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-yes">16x</span>
119
124
  <span class="cline-any cline-neutral">&nbsp;</span>
120
125
  <span class="cline-any cline-neutral">&nbsp;</span>
121
126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -123,7 +128,12 @@
123
128
  <span class="cline-any cline-neutral">&nbsp;</span>
124
129
  <span class="cline-any cline-neutral">&nbsp;</span>
125
130
  <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-yes">15x</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>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-yes">16x</span>
127
137
  <span class="cline-any cline-yes">4x</span>
128
138
  <span class="cline-any cline-yes">4x</span>
129
139
  <span class="cline-any cline-neutral">&nbsp;</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 Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
218
233
  </div>
219
234
  <script src="../prettify.js"></script>
220
235
  <script>