@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
@@ -1 +1 @@
1
- {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../controllers/snippet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAS5C,MAAM,OAAO,iBAAiB;IAI5B,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,SAAS,CAAA;QAGd,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAmB,CAAA;IAC9C,CAAC;IAED,qBAAqB,CAAc,SAAiB,EAAE,IAAY;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAK,CAAA;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../controllers/snippet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAY5C,MAAM,OAAO,iBAAiB;IAI5B,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,SAAS,CAAA;QAGd,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAA8B,CAAA;IACzD,CAAC;IAED,qBAAqB,CAAc,SAAiB,EAAE,IAAY;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAK,CAAA;IAC7C,CAAC;CACF"}
@@ -1,34 +1,54 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
1
2
  import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler } from '../interfaces/request';
2
4
  import { TLogin, UserModel } from '../models/user';
3
5
  import { HTTPClient } from '../core';
4
6
  declare module '../core/client' {
5
- interface HTTPClient {
6
- user: UserController;
7
- master: UserController;
7
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
+ user: UserController<ResponseWrapper>;
9
+ master: UserController<ResponseWrapper>;
8
10
  }
9
11
  }
10
- export declare class UserController implements IController {
12
+ export declare class UserController<ResponseWrapper> implements IController {
11
13
  private readonly client;
12
14
  constructor(client: HTTPClient);
13
15
  base: string;
14
16
  name: string[];
15
- get proxy(): import("../interfaces/request").IRequestHandler;
16
- getMasterInfo(): import("../interfaces/request").RequestProxyResult<UserModel, {
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ getMasterInfo(): import("../interfaces/request").RequestProxyResult<UserModel, ResponseWrapper, ResponseWrapper extends unknown ? {
17
19
  [key: string]: any;
18
20
  data: UserModel;
21
+ } : ResponseWrapper extends {
22
+ data: UserModel;
23
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
24
+ data: UserModel;
19
25
  }>;
20
- login(username: string, password: string): import("../interfaces/request").RequestProxyResult<TLogin, {
26
+ login(username: string, password: string): import("../interfaces/request").RequestProxyResult<TLogin, ResponseWrapper, ResponseWrapper extends unknown ? {
21
27
  [key: string]: any;
22
28
  data: TLogin;
29
+ } : ResponseWrapper extends {
30
+ data: TLogin;
31
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
32
+ data: TLogin;
23
33
  }>;
24
34
  checkTokenValid(token: string): import("../interfaces/request").RequestProxyResult<{
25
35
  ok: number;
26
36
  isGuest: boolean;
27
- }, {
37
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
28
38
  [key: string]: any;
29
39
  data: {
30
40
  ok: number;
31
41
  isGuest: boolean;
32
42
  };
43
+ } : ResponseWrapper extends {
44
+ data: {
45
+ ok: number;
46
+ isGuest: boolean;
47
+ };
48
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
49
+ data: {
50
+ ok: number;
51
+ isGuest: boolean;
52
+ };
33
53
  }>;
34
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../controllers/user.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAU5C,MAAM,OAAO,cAAc;IACzB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAI/C,SAAI,GAAG,QAAQ,CAAA;QAEf,SAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QALvB,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAMD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAa,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,QAAgB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAS;YACnC,IAAI,EAAE;gBACJ,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAmC;YACnE,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;aACnD;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../controllers/user.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAa5C,MAAM,OAAO,cAAc;IACzB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAI/C,SAAI,GAAG,QAAQ,CAAA;QAEf,SAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QALvB,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAMD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAa,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,QAAgB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAS;YACnC,IAAI,EAAE;gBACJ,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAmC;YACnE,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;aACnD;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,2 +1,2 @@
1
1
  import type { HTTPClient } from '.';
2
- export declare function attachRequestMethod<T extends HTTPClient>(target: T): void;
2
+ export declare function attachRequestMethod<T extends HTTPClient<any, any>>(target: T): void;
@@ -1 +1 @@
1
- {"version":3,"file":"attach-request.js","sourceRoot":"","sources":["../../core/attach-request.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAuB,MAAS;IACjE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;QACrC,KAAK,EAAE,UAAU,GAAW,EAAE,OAAa;YACzC,8CAA8C;YAC9C,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;YAC/B,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAErC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChE,CAAC;KACF,CAAC,CACD;IAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE;YAC3C,KAAK,EAAE,UAAU,IAAY,EAAE,OAAa;gBAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/C,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AACD,mCAAmC;AACnC,SAAS,kBAAkB,CAAC,GAA6C;IACvE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACnC,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAA;KAC9C;IAED,IAAI,GAAG,YAAY,eAAe,EAAE;QAClC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;KACtB;IACD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpC,MAAM,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1C,IACE,OAAO,CAAC,KAAK,WAAW;YACxB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EACrD;YACA,OAAM;SACP;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"attach-request.js","sourceRoot":"","sources":["../../core/attach-request.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAiC,MAAS;IAC3E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;QACrC,KAAK,EAAE,UAAU,GAAW,EAAE,OAAa;YACzC,8CAA8C;YAC9C,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;YAC/B,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAErC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChE,CAAC;KACF,CAAC,CACD;IAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE;YAC3C,KAAK,EAAE,UAAU,IAAY,EAAE,OAAa;gBAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/C,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AACD,mCAAmC;AACnC,SAAS,kBAAkB,CAAC,GAA6C;IACvE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACnC,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAA;KAC9C;IAED,IAAI,GAAG,YAAY,eAAe,EAAE;QAClC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;KACtB;IACD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpC,MAAM,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1C,IACE,OAAO,CAAC,KAAK,WAAW;YACxB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EACrD;YACA,OAAM;SACP;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC"}
@@ -1,9 +1,10 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
1
+ import { IAdaptorRequestResponseType, IRequestAdapter } from '../interfaces/adapter';
2
2
  import { ClientOptions } from '../interfaces/client';
3
3
  import { IController } from '../interfaces/controller';
4
4
  import { IRequestHandler } from '../interfaces/request';
5
- import { Class } from '../types/helper';
6
- export declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter> {
5
+ import { Class } from '../interfaces/types';
6
+ export type { HTTPClient };
7
+ declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
8
  private _endpoint;
8
9
  private _adaptor;
9
10
  private _proxy;
@@ -18,9 +19,11 @@ export declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter> {
18
19
  method?: string;
19
20
  data?: any;
20
21
  params?: any;
21
- }): any;
22
- get proxy(): IRequestHandler;
22
+ }): Promise<IAdaptorRequestResponseType<any>>;
23
+ get proxy(): IRequestHandler<ResponseWrapper>;
23
24
  private resolveFullPath;
24
25
  private buildRoute;
25
26
  }
26
- export declare function createClient<T extends IRequestAdapter>(adapter: T): (endpoint: string, options?: ClientOptions | undefined) => HTTPClient<T>;
27
+ export declare function createClient<T extends IRequestAdapter>(adapter: T): <ResponseWrapper = T extends {
28
+ responseWrapper: infer Type;
29
+ } ? Type extends undefined ? unknown : Type : unknown>(endpoint: string, options?: ClientOptions | undefined) => HTTPClient<T, ResponseWrapper>;
@@ -3,46 +3,17 @@ import { isPlainObject } from '../utils';
3
3
  import { allContollerNames } from '../controllers';
4
4
  import { attachRequestMethod } from './attach-request';
5
5
  import { RequestError } from './error';
6
- // export interface HTTPClient {
7
- // aggregate: AggregateController
8
- // category: CategoryController
9
- // comment: CommentController
10
- // link: LinkController
11
- // note: NoteController
12
- // page: PageController
13
- // post: PostController
14
- // project: ProjectController
15
- // recently: RecentlyController
16
- // say: SayController
17
- // search: SearchController
18
- // snippet: SnippetController
19
- // user: UserController
20
- // master: HTTPClient['user']
21
- // friend: HTTPClient['link']
22
- // shorthand: HTTPClient['recently']
23
- // }
24
6
  const methodPrefix = '_$';
25
- export class HTTPClient {
7
+ class HTTPClient {
26
8
  constructor(_endpoint, _adaptor) {
27
9
  this._endpoint = _endpoint;
28
10
  this._adaptor = _adaptor;
29
- // super()
30
11
  this._endpoint = _endpoint
31
12
  .replace(/\/*$/, '')
32
13
  .replace('localhost', '127.0.0.1');
33
14
  this._proxy = this.buildRoute(this)();
34
15
  this.initGetClient();
35
16
  attachRequestMethod(this);
36
- // const proxy = new Proxy(this, {
37
- // get(target, key, r) {
38
- // return (
39
- // Reflect.get(target, key, r) ||
40
- // (typeof key === 'string' &&
41
- // Reflect.get(target, methodPrefix + key, r))
42
- // )
43
- // },
44
- // })
45
- // return proxy
46
17
  }
47
18
  initGetClient() {
48
19
  for (const name of allContollerNames) {
@@ -110,7 +81,6 @@ export class HTTPClient {
110
81
  'inspect',
111
82
  'constructor',
112
83
  Symbol.toPrimitive,
113
- Symbol.for('util.inspect.custom'),
114
84
  ];
115
85
  // eslint-disable-next-line @typescript-eslint/no-this-alias
116
86
  const that = this;
@@ -119,7 +89,18 @@ export class HTTPClient {
119
89
  const handler = {
120
90
  get(target, name) {
121
91
  if (reflectors.includes(name))
122
- return () => route.join('/');
92
+ return (withBase) => {
93
+ if (withBase) {
94
+ const path = that.resolveFullPath(route.join('/'));
95
+ route.length = 0;
96
+ return path;
97
+ }
98
+ else {
99
+ const path = route.join('/');
100
+ route.length = 0;
101
+ return path.startsWith('/') ? path : '/' + path;
102
+ }
103
+ };
123
104
  if (methods.includes(name)) {
124
105
  return async (options) => {
125
106
  const url = that.resolveFullPath(route.join('/'));
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../core/client.ts"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import _camelcaseKeys from 'camelcase-keys';
2
2
  export * from './controllers';
3
- export { createClient, HTTPClient, RequestError } from './core';
3
+ export { createClient, RequestError } from './core';
4
+ export type { HTTPClient } from './core';
4
5
  export * from './models';
5
6
  export declare const camelcaseKeysDeep: <T>(obj: T) => T;
6
7
  export declare const camelcaseKeys: typeof _camelcaseKeys;
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import _camelcaseKeys from 'camelcase-keys';
2
2
  export * from './controllers';
3
- export { createClient, HTTPClient, RequestError } from './core';
3
+ export { createClient, RequestError } from './core';
4
4
  export * from './models';
5
5
  // export helper lib
6
6
  export const camelcaseKeysDeep = (obj) => {
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gBAAgB,CAAA;AAE3C,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC/D,cAAc,UAAU,CAAA;AAExB,oBAAoB;AACpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,GAAM,EAAE,EAAE;IAC7C,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAM,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gBAAgB,CAAA;AAE3C,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAEnD,cAAc,UAAU,CAAA;AAExB,oBAAoB;AACpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,GAAM,EAAE,EAAE;IAC7C,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAM,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA"}
@@ -1,13 +1,14 @@
1
1
  import { RequestOptions } from './instance';
2
- declare type RequestResponseType<P> = Promise<Record<string, any> & {
2
+ export declare type IAdaptorRequestResponseType<P> = Promise<Record<string, any> & {
3
3
  data: P;
4
4
  }>;
5
- export declare type IRequestAdapter<T = any> = Readonly<{
5
+ export declare type IRequestAdapter<T = any, Response = undefined> = Readonly<(Response extends undefined ? {} : {
6
+ responseWrapper: Response;
7
+ }) & {
6
8
  default: T;
7
- get<P = unknown>(url: string, options?: Omit<RequestOptions, 'data'>): RequestResponseType<P>;
8
- post<P = unknown>(url: string, options: Partial<RequestOptions>): RequestResponseType<P>;
9
- patch<P = unknown>(url: string, options: Partial<RequestOptions>): RequestResponseType<P>;
10
- delete<P = unknown>(url: string, options?: Omit<RequestOptions, 'data'>): RequestResponseType<P>;
11
- put<P = unknown>(url: string, options: Partial<RequestOptions>): RequestResponseType<P>;
9
+ get<P = unknown>(url: string, options?: Omit<RequestOptions, 'data'>): IAdaptorRequestResponseType<P>;
10
+ post<P = unknown>(url: string, options: Partial<RequestOptions>): IAdaptorRequestResponseType<P>;
11
+ patch<P = unknown>(url: string, options: Partial<RequestOptions>): IAdaptorRequestResponseType<P>;
12
+ delete<P = unknown>(url: string, options?: Omit<RequestOptions, 'data'>): IAdaptorRequestResponseType<P>;
13
+ put<P = unknown>(url: string, options: Partial<RequestOptions>): IAdaptorRequestResponseType<P>;
12
14
  }>;
13
- export {};
@@ -1,5 +1,5 @@
1
- import { Class } from '../types/helper';
2
1
  import { IController } from './controller';
2
+ import { Class } from './types';
3
3
  export declare type ClientOptions = {
4
4
  controllers?: Class<IController>[];
5
5
  };
@@ -3,25 +3,33 @@ declare type NoStringIndex<T> = {
3
3
  [K in keyof T as string extends K ? never : K]: T[K];
4
4
  };
5
5
  export declare type Method = 'get' | 'delete' | 'post' | 'put' | 'patch';
6
- export interface IRequestHandler {
7
- (path?: string | number): IRequestHandler;
8
- get<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P>;
9
- post<P = unknown>(options?: RequestOptions): RequestProxyResult<P>;
10
- patch<P = unknown>(options?: RequestOptions): RequestProxyResult<P>;
11
- delete<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P>;
12
- put<P = unknown>(options?: RequestOptions): RequestProxyResult<P>;
13
- [key: string]: IRequestHandler;
6
+ export interface IRequestHandler<ResponseWrapper> {
7
+ (path?: string | number): IRequestHandler<ResponseWrapper>;
8
+ get<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P, ResponseWrapper>;
9
+ post<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
10
+ patch<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
11
+ delete<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P, ResponseWrapper>;
12
+ put<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
13
+ toString(withBase?: boolean): string;
14
+ valueOf(withBase?: boolean): string;
15
+ [key: string]: IRequestHandler<ResponseWrapper>;
14
16
  }
15
- export declare type RequestProxyResult<T, R = {
17
+ export declare type RequestProxyResult<T, ResponseWrapper, R = ResponseWrapper extends unknown ? {
16
18
  data: T;
17
19
  [key: string]: any;
18
- }> = Promise<ResponseProxyExtraRaw<T, R>>;
20
+ } : ResponseWrapper extends {
21
+ data: T;
22
+ } ? ResponseWrapper : Omit<ResponseWrapper, 'data'> & {
23
+ data: T;
24
+ }> = Promise<ResponseProxyExtraRaw<T, R, ResponseWrapper>>;
19
25
  declare type CamelToSnake<T extends string, P extends string = ''> = string extends T ? string : T extends `${infer C0}${infer R}` ? CamelToSnake<R, `${P}${C0 extends Lowercase<C0> ? '' : '_'}${Lowercase<C0>}`> : P;
20
26
  declare type CamelKeysToSnake<T> = {
21
27
  [K in keyof T as CamelToSnake<Extract<K, string>>]: T[K];
22
28
  };
23
- export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unknown> = T extends object ? T & {
24
- $raw: Response extends unknown ? {
29
+ declare type ResponseWrapperType<Response, RawData, T> = {
30
+ $raw: Response extends {
31
+ data: infer T;
32
+ } ? Response : Response extends unknown ? {
25
33
  [i: string]: any;
26
34
  data: RawData extends unknown ? CamelKeysToSnake<T> : RawData;
27
35
  } : Response;
@@ -30,5 +38,6 @@ export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unkno
30
38
  method: string;
31
39
  [k: string]: string;
32
40
  };
33
- } : T;
41
+ };
42
+ export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unknown> = T extends object ? T & ResponseWrapperType<Response, RawData, T> : T extends unknown ? T & ResponseWrapperType<Response, RawData, T> : unknown;
34
43
  export {};
@@ -0,0 +1,2 @@
1
+ export declare type Class<T> = new (...args: any[]) => T;
2
+ export declare type SelectFields<T extends string> = `${'+' | '-' | ''}${T}`[];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../interfaces/types.ts"],"names":[],"mappings":""}
@@ -2,7 +2,6 @@ import { Count, Image, TextBaseModel } from './base';
2
2
  import { CategoryModel } from './category';
3
3
  export interface PostModel extends TextBaseModel {
4
4
  summary?: string;
5
- hide: boolean;
6
5
  copyright: boolean;
7
6
  tags: string[];
8
7
  count: Count;
package/index.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import _camelcaseKeys from 'camelcase-keys'
2
2
 
3
3
  export * from './controllers'
4
- export { createClient, HTTPClient, RequestError } from './core'
4
+ export { createClient, RequestError } from './core'
5
+ export type { HTTPClient } from './core'
5
6
  export * from './models'
6
7
 
7
8
  // export helper lib
@@ -1,30 +1,35 @@
1
1
  import { RequestOptions } from './instance'
2
- type RequestResponseType<P> = Promise<Record<string, any> & { data: P }>
2
+ export type IAdaptorRequestResponseType<P> = Promise<
3
+ Record<string, any> & { data: P }
4
+ >
3
5
 
4
- export type IRequestAdapter<T = any> = Readonly<{
5
- default: T
6
- get<P = unknown>(
7
- url: string,
8
- options?: Omit<RequestOptions, 'data'>,
9
- ): RequestResponseType<P>
6
+ export type IRequestAdapter<T = any, Response = undefined> = Readonly<
7
+ (Response extends undefined ? {} : { responseWrapper: Response }) & {
8
+ default: T
10
9
 
11
- post<P = unknown>(
12
- url: string,
13
- options: Partial<RequestOptions>,
14
- ): RequestResponseType<P>
10
+ get<P = unknown>(
11
+ url: string,
12
+ options?: Omit<RequestOptions, 'data'>,
13
+ ): IAdaptorRequestResponseType<P>
15
14
 
16
- patch<P = unknown>(
17
- url: string,
18
- options: Partial<RequestOptions>,
19
- ): RequestResponseType<P>
15
+ post<P = unknown>(
16
+ url: string,
17
+ options: Partial<RequestOptions>,
18
+ ): IAdaptorRequestResponseType<P>
20
19
 
21
- delete<P = unknown>(
22
- url: string,
23
- options?: Omit<RequestOptions, 'data'>,
24
- ): RequestResponseType<P>
20
+ patch<P = unknown>(
21
+ url: string,
22
+ options: Partial<RequestOptions>,
23
+ ): IAdaptorRequestResponseType<P>
25
24
 
26
- put<P = unknown>(
27
- url: string,
28
- options: Partial<RequestOptions>,
29
- ): RequestResponseType<P>
30
- }>
25
+ delete<P = unknown>(
26
+ url: string,
27
+ options?: Omit<RequestOptions, 'data'>,
28
+ ): IAdaptorRequestResponseType<P>
29
+
30
+ put<P = unknown>(
31
+ url: string,
32
+ options: Partial<RequestOptions>,
33
+ ): IAdaptorRequestResponseType<P>
34
+ }
35
+ >
@@ -1,5 +1,5 @@
1
- import { Class } from '~/types/helper'
2
1
  import { IController } from './controller'
2
+ import { Class } from './types'
3
3
 
4
4
  export type ClientOptions = {
5
5
  controllers?: Class<IController>[]
@@ -3,29 +3,44 @@ type NoStringIndex<T> = { [K in keyof T as string extends K ? never : K]: T[K] }
3
3
 
4
4
  export type Method = 'get' | 'delete' | 'post' | 'put' | 'patch'
5
5
 
6
- export interface IRequestHandler {
7
- (path?: string | number): IRequestHandler
6
+ export interface IRequestHandler<ResponseWrapper> {
7
+ (path?: string | number): IRequestHandler<ResponseWrapper>
8
8
  // @ts-ignore
9
9
  get<P = unknown>(
10
10
  options?: Omit<NoStringIndex<RequestOptions>, 'data'>,
11
- ): RequestProxyResult<P>
11
+ ): RequestProxyResult<P, ResponseWrapper>
12
12
  // @ts-ignore
13
- post<P = unknown>(options?: RequestOptions): RequestProxyResult<P>
13
+ post<P = unknown>(
14
+ options?: RequestOptions,
15
+ ): RequestProxyResult<P, ResponseWrapper>
14
16
  // @ts-ignore
15
- patch<P = unknown>(options?: RequestOptions): RequestProxyResult<P>
17
+ patch<P = unknown>(
18
+ options?: RequestOptions,
19
+ ): RequestProxyResult<P, ResponseWrapper>
16
20
  // @ts-ignore
17
21
  delete<P = unknown>(
18
22
  options?: Omit<NoStringIndex<RequestOptions>, 'data'>,
19
- ): RequestProxyResult<P>
23
+ ): RequestProxyResult<P, ResponseWrapper>
20
24
  // @ts-ignore
21
- put<P = unknown>(options?: RequestOptions): RequestProxyResult<P>
22
- [key: string]: IRequestHandler
25
+ put<P = unknown>(
26
+ options?: RequestOptions,
27
+ ): RequestProxyResult<P, ResponseWrapper>
28
+ //@ts-ignore
29
+ toString(withBase?: boolean): string
30
+ //@ts-ignore
31
+ valueOf(withBase?: boolean): string
32
+ [key: string]: IRequestHandler<ResponseWrapper>
23
33
  }
24
34
 
25
35
  export type RequestProxyResult<
26
36
  T,
27
- R = { data: T; [key: string]: any },
28
- > = Promise<ResponseProxyExtraRaw<T, R>>
37
+ ResponseWrapper,
38
+ R = ResponseWrapper extends unknown
39
+ ? { data: T; [key: string]: any }
40
+ : ResponseWrapper extends { data: T }
41
+ ? ResponseWrapper
42
+ : Omit<ResponseWrapper, 'data'> & { data: T },
43
+ > = Promise<ResponseProxyExtraRaw<T, R, ResponseWrapper>>
29
44
 
30
45
  type CamelToSnake<T extends string, P extends string = ''> = string extends T
31
46
  ? string
@@ -40,18 +55,28 @@ type CamelKeysToSnake<T> = {
40
55
  [K in keyof T as CamelToSnake<Extract<K, string>>]: T[K]
41
56
  }
42
57
 
58
+ type ResponseWrapperType<Response, RawData, T> = {
59
+ $raw: Response extends { data: infer T }
60
+ ? Response
61
+ : Response extends unknown
62
+ ? {
63
+ [i: string]: any
64
+ data: RawData extends unknown ? CamelKeysToSnake<T> : RawData
65
+ }
66
+ : Response
67
+ $request: {
68
+ path: string
69
+ method: string
70
+ [k: string]: string
71
+ }
72
+ }
73
+
43
74
  export type ResponseProxyExtraRaw<
44
75
  T,
45
76
  RawData = unknown,
46
77
  Response = unknown,
47
78
  > = T extends object
48
- ? T & {
49
- $raw: Response extends unknown
50
- ? {
51
- [i: string]: any
52
- data: RawData extends unknown ? CamelKeysToSnake<T> : RawData
53
- }
54
- : Response
55
- $request: { path: string; method: string; [k: string]: string }
56
- }
57
- : T
79
+ ? T & ResponseWrapperType<Response, RawData, T>
80
+ : T extends unknown
81
+ ? T & ResponseWrapperType<Response, RawData, T>
82
+ : unknown
File without changes
@@ -1,3 +1,3 @@
1
- import { AxiosInstance } from 'axios';
1
+ import { AxiosInstance, AxiosResponse } from 'axios';
2
2
  import { IRequestAdapter } from '../interfaces/adapter';
3
- export declare const axiosAdaptor: IRequestAdapter<AxiosInstance>;
3
+ export declare const axiosAdaptor: IRequestAdapter<AxiosInstance, AxiosResponse<unknown>>;
@@ -11,6 +11,7 @@ exports.axiosAdaptor = Object.preventExtensions({
11
11
  get default() {
12
12
  return $http;
13
13
  },
14
+ responseWrapper: {},
14
15
  get(url, options) {
15
16
  // @ts-ignore
16
17
  return $http.get(url, options);
@@ -1 +1 @@
1
- {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../adaptors/axios.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4C;AAE5C,MAAM,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAE9B,2DAA2D;AAC9C,QAAA,YAAY,GACvB,MAAM,CAAC,iBAAiB,CAAC;IACvB,IAAI,OAAO;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IAED,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,aAAa;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,OAAO;QACf,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACzC,aAAa;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACzC,aAAa;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,OAAO;QACjB,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACnC,aAAa;QACb,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,OAAO;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACzC,aAAa;QACb,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../adaptors/axios.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2D;AAE3D,MAAM,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAE9B,2DAA2D;AAC9C,QAAA,YAAY,GAGrB,MAAM,CAAC,iBAAiB,CAAC;IAC3B,IAAI,OAAO;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IACD,eAAe,EAAE,EAAmC;IACpD,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,aAAa;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,OAAO;QACf,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACzC,aAAa;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACzC,aAAa;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,OAAO;QACjB,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACnC,aAAa;QACb,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,OAAO;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACzC,aAAa;QACb,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- import { RequestMethod } from 'umi-request';
1
+ import { RequestMethod, RequestResponse } from 'umi-request';
2
2
  import { IRequestAdapter } from '../interfaces/adapter';
3
- export declare const umiAdaptor: IRequestAdapter<RequestMethod<true>>;
3
+ export declare const umiAdaptor: IRequestAdapter<RequestMethod<true>, RequestResponse>;
@@ -11,6 +11,7 @@ exports.umiAdaptor = Object.preventExtensions({
11
11
  get default() {
12
12
  return $http;
13
13
  },
14
+ responseWrapper: {},
14
15
  get(url, options) {
15
16
  return $http.get(url, options);
16
17
  },
@@ -1 +1 @@
1
- {"version":3,"file":"umi-request.js","sourceRoot":"","sources":["../../adaptors/umi-request.ts"],"names":[],"mappings":";;;AAAA,6CAAmD;AAGnD,MAAM,KAAK,GAAG,IAAA,oBAAM,EAAC;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;CACrB,CAAC,CAAA;AAEW,QAAA,UAAU,GACrB,MAAM,CAAC,iBAAiB,CAAC;IACvB,IAAI,OAAO;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,OAAO;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,OAAO;QACjB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,OAAO;QAChB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"umi-request.js","sourceRoot":"","sources":["../../adaptors/umi-request.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AAGpE,MAAM,KAAK,GAAG,IAAA,oBAAM,EAAC;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;CACrB,CAAC,CAAA;AAEW,QAAA,UAAU,GAGnB,MAAM,CAAC,iBAAiB,CAAC;IAC3B,IAAI,OAAO;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IACD,eAAe,EAAE,EAA4B;IAC7C,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,OAAO;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,OAAO;QACd,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,OAAO;QACjB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,OAAO;QAChB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;CACF,CAAC,CAAA"}