@mx-space/api-client 1.4.3 → 1.5.0

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 (193) hide show
  1. package/controllers/activity.ts +39 -0
  2. package/controllers/aggregate.ts +2 -1
  3. package/controllers/index.ts +4 -0
  4. package/dist/adaptors/axios.global.js +4 -4
  5. package/dist/index.cjs +23 -0
  6. package/dist/index.d.cts +27 -3
  7. package/dist/index.d.ts +27 -3
  8. package/dist/index.global.js +21 -0
  9. package/dist/index.js +22 -0
  10. package/esm/apps/core/src/modules/subscribe/subscribe.constant.d.ts +12 -0
  11. package/esm/apps/core/src/modules/subscribe/subscribe.constant.js +16 -0
  12. package/esm/apps/core/src/modules/subscribe/subscribe.constant.js.map +1 -0
  13. package/esm/packages/api-client/adaptors/axios.d.ts +4 -0
  14. package/esm/packages/api-client/adaptors/axios.js +37 -0
  15. package/esm/packages/api-client/adaptors/axios.js.map +1 -0
  16. package/esm/packages/api-client/adaptors/fetch.d.ts +2 -0
  17. package/esm/packages/api-client/adaptors/fetch.js +95 -0
  18. package/esm/packages/api-client/adaptors/fetch.js.map +1 -0
  19. package/esm/packages/api-client/adaptors/ky.d.ts +23 -0
  20. package/esm/packages/api-client/adaptors/ky.js +62 -0
  21. package/esm/packages/api-client/adaptors/ky.js.map +1 -0
  22. package/esm/packages/api-client/adaptors/umi-request.d.ts +4 -0
  23. package/esm/packages/api-client/adaptors/umi-request.js +31 -0
  24. package/esm/packages/api-client/adaptors/umi-request.js.map +1 -0
  25. package/esm/packages/api-client/controllers/aggregate.d.ts +64 -0
  26. package/esm/packages/api-client/controllers/aggregate.js +46 -0
  27. package/esm/packages/api-client/controllers/aggregate.js.map +1 -0
  28. package/esm/packages/api-client/controllers/base.d.ts +43 -0
  29. package/esm/packages/api-client/controllers/base.js +27 -0
  30. package/esm/packages/api-client/controllers/base.js.map +1 -0
  31. package/esm/packages/api-client/controllers/category.d.ts +120 -0
  32. package/esm/packages/api-client/controllers/category.js +68 -0
  33. package/esm/packages/api-client/controllers/category.js.map +1 -0
  34. package/esm/packages/api-client/controllers/comment.d.ts +81 -0
  35. package/esm/packages/api-client/controllers/comment.js +47 -0
  36. package/esm/packages/api-client/controllers/comment.js.map +1 -0
  37. package/esm/packages/api-client/controllers/index.d.ts +19 -0
  38. package/esm/packages/api-client/controllers/index.js +60 -0
  39. package/esm/packages/api-client/controllers/index.js.map +1 -0
  40. package/esm/packages/api-client/controllers/link.d.ts +20 -0
  41. package/esm/packages/api-client/controllers/link.js +21 -0
  42. package/esm/packages/api-client/controllers/link.js.map +1 -0
  43. package/esm/packages/api-client/controllers/note.d.ts +103 -0
  44. package/esm/packages/api-client/controllers/note.js +68 -0
  45. package/esm/packages/api-client/controllers/note.js.map +1 -0
  46. package/esm/packages/api-client/controllers/page.d.ts +59 -0
  47. package/esm/packages/api-client/controllers/page.js +42 -0
  48. package/esm/packages/api-client/controllers/page.js.map +1 -0
  49. package/esm/packages/api-client/controllers/post.d.ts +72 -0
  50. package/esm/packages/api-client/controllers/post.js +52 -0
  51. package/esm/packages/api-client/controllers/post.js.map +1 -0
  52. package/esm/packages/api-client/controllers/project.d.ts +15 -0
  53. package/esm/packages/api-client/controllers/project.js +12 -0
  54. package/esm/packages/api-client/controllers/project.js.map +1 -0
  55. package/esm/packages/api-client/controllers/recently.d.ts +110 -0
  56. package/esm/packages/api-client/controllers/recently.js +49 -0
  57. package/esm/packages/api-client/controllers/recently.js.map +1 -0
  58. package/esm/packages/api-client/controllers/say.d.ts +37 -0
  59. package/esm/packages/api-client/controllers/say.js +21 -0
  60. package/esm/packages/api-client/controllers/say.js.map +1 -0
  61. package/esm/packages/api-client/controllers/search.d.ts +87 -0
  62. package/esm/packages/api-client/controllers/search.js +28 -0
  63. package/esm/packages/api-client/controllers/search.js.map +1 -0
  64. package/esm/packages/api-client/controllers/severless.d.ts +24 -0
  65. package/esm/packages/api-client/controllers/severless.js +16 -0
  66. package/esm/packages/api-client/controllers/severless.js.map +1 -0
  67. package/esm/packages/api-client/controllers/snippet.d.ts +24 -0
  68. package/esm/packages/api-client/controllers/snippet.js +19 -0
  69. package/esm/packages/api-client/controllers/snippet.js.map +1 -0
  70. package/esm/packages/api-client/controllers/subscribe.d.ts +64 -0
  71. package/esm/packages/api-client/controllers/subscribe.js +35 -0
  72. package/esm/packages/api-client/controllers/subscribe.js.map +1 -0
  73. package/esm/packages/api-client/controllers/topic.d.ts +26 -0
  74. package/esm/packages/api-client/controllers/topic.js +18 -0
  75. package/esm/packages/api-client/controllers/topic.js.map +1 -0
  76. package/esm/packages/api-client/controllers/user.d.ts +70 -0
  77. package/esm/packages/api-client/controllers/user.js +40 -0
  78. package/esm/packages/api-client/controllers/user.js.map +1 -0
  79. package/esm/packages/api-client/core/attach-request.d.ts +2 -0
  80. package/esm/packages/api-client/core/attach-request.js +36 -0
  81. package/esm/packages/api-client/core/attach-request.js.map +1 -0
  82. package/esm/packages/api-client/core/client.d.ts +29 -0
  83. package/esm/packages/api-client/core/client.js +193 -0
  84. package/esm/packages/api-client/core/client.js.map +1 -0
  85. package/esm/packages/api-client/core/error.d.ts +6 -0
  86. package/esm/packages/api-client/core/error.js +9 -0
  87. package/esm/packages/api-client/core/error.js.map +1 -0
  88. package/esm/packages/api-client/core/index.d.ts +2 -0
  89. package/esm/packages/api-client/core/index.js +3 -0
  90. package/esm/packages/api-client/core/index.js.map +1 -0
  91. package/esm/packages/api-client/dtos/comment.d.ts +8 -0
  92. package/esm/packages/api-client/dtos/comment.js +2 -0
  93. package/esm/packages/api-client/dtos/comment.js.map +1 -0
  94. package/esm/packages/api-client/dtos/index.d.ts +1 -0
  95. package/esm/packages/api-client/dtos/index.js +2 -0
  96. package/esm/packages/api-client/dtos/index.js.map +1 -0
  97. package/esm/packages/api-client/index.d.ts +8 -0
  98. package/esm/packages/api-client/index.js +9 -0
  99. package/esm/packages/api-client/index.js.map +1 -0
  100. package/esm/packages/api-client/interfaces/adapter.d.ts +14 -0
  101. package/esm/packages/api-client/interfaces/adapter.js +2 -0
  102. package/esm/packages/api-client/interfaces/adapter.js.map +1 -0
  103. package/esm/packages/api-client/interfaces/client.d.ts +13 -0
  104. package/esm/packages/api-client/interfaces/client.js +2 -0
  105. package/esm/packages/api-client/interfaces/client.js.map +1 -0
  106. package/esm/packages/api-client/interfaces/controller.d.ts +4 -0
  107. package/esm/packages/api-client/interfaces/controller.js +2 -0
  108. package/esm/packages/api-client/interfaces/controller.js.map +1 -0
  109. package/esm/packages/api-client/interfaces/instance.d.ts +7 -0
  110. package/esm/packages/api-client/interfaces/instance.js +2 -0
  111. package/esm/packages/api-client/interfaces/instance.js.map +1 -0
  112. package/esm/packages/api-client/interfaces/options.d.ts +1 -0
  113. package/esm/packages/api-client/interfaces/options.js +2 -0
  114. package/esm/packages/api-client/interfaces/options.js.map +1 -0
  115. package/esm/packages/api-client/interfaces/params.d.ts +4 -0
  116. package/esm/packages/api-client/interfaces/params.js +2 -0
  117. package/esm/packages/api-client/interfaces/params.js.map +1 -0
  118. package/esm/packages/api-client/interfaces/request.d.ts +44 -0
  119. package/esm/packages/api-client/interfaces/request.js +2 -0
  120. package/esm/packages/api-client/interfaces/request.js.map +1 -0
  121. package/esm/packages/api-client/interfaces/types.d.ts +2 -0
  122. package/esm/packages/api-client/interfaces/types.js +2 -0
  123. package/esm/packages/api-client/interfaces/types.js.map +1 -0
  124. package/esm/packages/api-client/models/aggregate.d.ts +67 -0
  125. package/esm/packages/api-client/models/aggregate.js +6 -0
  126. package/esm/packages/api-client/models/aggregate.js.map +1 -0
  127. package/esm/packages/api-client/models/base.d.ts +40 -0
  128. package/esm/packages/api-client/models/base.js +2 -0
  129. package/esm/packages/api-client/models/base.js.map +1 -0
  130. package/esm/packages/api-client/models/category.d.ts +22 -0
  131. package/esm/packages/api-client/models/category.js +6 -0
  132. package/esm/packages/api-client/models/category.js.map +1 -0
  133. package/esm/packages/api-client/models/comment.d.ts +39 -0
  134. package/esm/packages/api-client/models/comment.js +13 -0
  135. package/esm/packages/api-client/models/comment.js.map +1 -0
  136. package/esm/packages/api-client/models/index.d.ts +16 -0
  137. package/esm/packages/api-client/models/index.js +17 -0
  138. package/esm/packages/api-client/models/index.js.map +1 -0
  139. package/esm/packages/api-client/models/link.d.ts +22 -0
  140. package/esm/packages/api-client/models/link.js +14 -0
  141. package/esm/packages/api-client/models/link.js.map +1 -0
  142. package/esm/packages/api-client/models/note.d.ts +38 -0
  143. package/esm/packages/api-client/models/note.js +2 -0
  144. package/esm/packages/api-client/models/note.js.map +1 -0
  145. package/esm/packages/api-client/models/page.d.ts +14 -0
  146. package/esm/packages/api-client/models/page.js +7 -0
  147. package/esm/packages/api-client/models/page.js.map +1 -0
  148. package/esm/packages/api-client/models/post.d.ts +17 -0
  149. package/esm/packages/api-client/models/post.js +2 -0
  150. package/esm/packages/api-client/models/post.js.map +1 -0
  151. package/esm/packages/api-client/models/project.d.ts +11 -0
  152. package/esm/packages/api-client/models/project.js +2 -0
  153. package/esm/packages/api-client/models/project.js.map +1 -0
  154. package/esm/packages/api-client/models/recently.d.ts +20 -0
  155. package/esm/packages/api-client/models/recently.js +7 -0
  156. package/esm/packages/api-client/models/recently.js.map +1 -0
  157. package/esm/packages/api-client/models/say.d.ts +6 -0
  158. package/esm/packages/api-client/models/say.js +2 -0
  159. package/esm/packages/api-client/models/say.js.map +1 -0
  160. package/esm/packages/api-client/models/setting.d.ts +66 -0
  161. package/esm/packages/api-client/models/setting.js +2 -0
  162. package/esm/packages/api-client/models/setting.js.map +1 -0
  163. package/esm/packages/api-client/models/snippet.d.ts +18 -0
  164. package/esm/packages/api-client/models/snippet.js +8 -0
  165. package/esm/packages/api-client/models/snippet.js.map +1 -0
  166. package/esm/packages/api-client/models/subscribe.d.ts +3 -0
  167. package/esm/packages/api-client/models/subscribe.js +2 -0
  168. package/esm/packages/api-client/models/subscribe.js.map +1 -0
  169. package/esm/packages/api-client/models/topic.d.ts +8 -0
  170. package/esm/packages/api-client/models/topic.js +2 -0
  171. package/esm/packages/api-client/models/topic.js.map +1 -0
  172. package/esm/packages/api-client/models/user.d.ts +21 -0
  173. package/esm/packages/api-client/models/user.js +2 -0
  174. package/esm/packages/api-client/models/user.js.map +1 -0
  175. package/esm/packages/api-client/tsup.config.d.ts +2 -0
  176. package/esm/packages/api-client/tsup.config.js +14 -0
  177. package/esm/packages/api-client/tsup.config.js.map +1 -0
  178. package/esm/packages/api-client/utils/auto-bind.d.ts +4 -0
  179. package/esm/packages/api-client/utils/auto-bind.js +36 -0
  180. package/esm/packages/api-client/utils/auto-bind.js.map +1 -0
  181. package/esm/packages/api-client/utils/camelcase-keys.d.ts +6 -0
  182. package/esm/packages/api-client/utils/camelcase-keys.js +23 -0
  183. package/esm/packages/api-client/utils/camelcase-keys.js.map +1 -0
  184. package/esm/packages/api-client/utils/index.d.ts +5 -0
  185. package/esm/packages/api-client/utils/index.js +43 -0
  186. package/esm/packages/api-client/utils/index.js.map +1 -0
  187. package/esm/packages/api-client/utils/path.d.ts +1 -0
  188. package/esm/packages/api-client/utils/path.js +7 -0
  189. package/esm/packages/api-client/utils/path.js.map +1 -0
  190. package/esm/packages/api-client/vitest.config.d.ts +2 -0
  191. package/esm/packages/api-client/vitest.config.js +15 -0
  192. package/esm/packages/api-client/vitest.config.js.map +1 -0
  193. package/package.json +2 -2
@@ -0,0 +1,37 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler } from '~/interfaces/request';
4
+ import type { SayModel } from '~/models/say';
5
+ import type { HTTPClient } from '../core';
6
+ import { BaseCrudController } from './base';
7
+ declare module '../core/client' {
8
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
9
+ say: SayController<ResponseWrapper>;
10
+ }
11
+ }
12
+ export declare class SayController<ResponseWrapper> extends BaseCrudController<SayModel, ResponseWrapper> implements IController {
13
+ protected client: HTTPClient;
14
+ base: string;
15
+ name: string;
16
+ constructor(client: HTTPClient);
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ /**
19
+ * 获取随机一条
20
+ */
21
+ getRandom(): import("~/interfaces/request").RequestProxyResult<{
22
+ data: SayModel | null;
23
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
24
+ [key: string]: any;
25
+ data: {
26
+ data: SayModel | null;
27
+ };
28
+ } : ResponseWrapper extends {
29
+ data: {
30
+ data: SayModel | null;
31
+ };
32
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
33
+ data: {
34
+ data: SayModel | null;
35
+ };
36
+ }>;
37
+ }
@@ -0,0 +1,21 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ import { BaseCrudController } from './base';
3
+ export class SayController extends BaseCrudController {
4
+ constructor(client) {
5
+ super(client);
6
+ this.client = client;
7
+ this.base = 'says';
8
+ this.name = 'say';
9
+ autoBind(this);
10
+ }
11
+ get proxy() {
12
+ return this.client.proxy(this.base);
13
+ }
14
+ /**
15
+ * 获取随机一条
16
+ */
17
+ getRandom() {
18
+ return this.proxy.random.get();
19
+ }
20
+ }
21
+ //# sourceMappingURL=say.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"say.js","sourceRoot":"","sources":["../../../../controllers/say.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAW3C,MAAM,OAAO,aACX,SAAQ,kBAA6C;IAMrD,YAAsB,MAAkB;QACtC,KAAK,CAAC,MAAM,CAAC,CAAA;QADO,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,MAAM,CAAA;QACb,SAAI,GAAG,KAAK,CAAA;QAIV,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAA6B,CAAA;IAC3D,CAAC;CACF"}
@@ -0,0 +1,87 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request';
4
+ import type { PaginateResult } from '~/models/base';
5
+ import type { NoteModel } from '~/models/note';
6
+ import type { PostModel } from '~/models/post';
7
+ import type { PageModel } from '..';
8
+ import type { HTTPClient } from '../core';
9
+ declare module '../core/client' {
10
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
11
+ search: SearchController<ResponseWrapper>;
12
+ }
13
+ }
14
+ export type SearchType = 'post' | 'note';
15
+ export type SearchOption = {
16
+ orderBy?: string;
17
+ order?: number;
18
+ rawAlgolia?: boolean;
19
+ };
20
+ export declare class SearchController<ResponseWrapper> implements IController {
21
+ private readonly client;
22
+ base: string;
23
+ name: string;
24
+ constructor(client: HTTPClient);
25
+ get proxy(): IRequestHandler<ResponseWrapper>;
26
+ search(type: 'note', keyword: string, options?: Omit<SearchOption, 'rawAlgolia'>): Promise<RequestProxyResult<PaginateResult<Pick<NoteModel, 'modified' | 'id' | 'title' | 'created' | 'nid'>>, ResponseWrapper>>;
27
+ search(type: 'post', keyword: string, options?: Omit<SearchOption, 'rawAlgolia'>): Promise<RequestProxyResult<PaginateResult<Pick<PostModel, 'modified' | 'id' | 'title' | 'created' | 'slug' | 'category'>>, ResponseWrapper>>;
28
+ /**
29
+ * 从 algolya 搜索
30
+ * https://www.algolia.com/doc/api-reference/api-methods/search/
31
+ * @param keyword
32
+ * @param options
33
+ * @returns
34
+ */
35
+ searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
36
+ type: 'post';
37
+ }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
38
+ type: 'note';
39
+ }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
40
+ type: 'page';
41
+ })> & {
42
+ /**
43
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
44
+ */
45
+ raw?: any;
46
+ }, ResponseWrapper>, ResponseWrapper, ResponseWrapper extends unknown ? {
47
+ [key: string]: any;
48
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
49
+ type: 'post';
50
+ }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
51
+ type: 'note';
52
+ }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
53
+ type: 'page';
54
+ })> & {
55
+ /**
56
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
57
+ */
58
+ raw?: any;
59
+ }, ResponseWrapper>;
60
+ } : ResponseWrapper extends {
61
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
62
+ type: 'post';
63
+ }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
64
+ type: 'note';
65
+ }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
66
+ type: 'page';
67
+ })> & {
68
+ /**
69
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
70
+ */
71
+ raw?: any;
72
+ }, ResponseWrapper>;
73
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
74
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
75
+ type: 'post';
76
+ }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
77
+ type: 'note';
78
+ }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
79
+ type: 'page';
80
+ })> & {
81
+ /**
82
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
83
+ */
84
+ raw?: any;
85
+ }, ResponseWrapper>;
86
+ }>;
87
+ }
@@ -0,0 +1,28 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ export class SearchController {
3
+ constructor(client) {
4
+ this.client = client;
5
+ this.base = 'search';
6
+ this.name = 'search';
7
+ autoBind(this);
8
+ }
9
+ get proxy() {
10
+ return this.client.proxy(this.base);
11
+ }
12
+ search(type, keyword, options = {}) {
13
+ return this.proxy(type).get({
14
+ params: { keyword, ...options },
15
+ });
16
+ }
17
+ /**
18
+ * 从 algolya 搜索
19
+ * https://www.algolia.com/doc/api-reference/api-methods/search/
20
+ * @param keyword
21
+ * @param options
22
+ * @returns
23
+ */
24
+ searchByAlgolia(keyword, options) {
25
+ return this.proxy('algolia').get({ params: { keyword, ...options } });
26
+ }
27
+ }
28
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../controllers/search.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAkB5C,MAAM,OAAO,gBAAgB;IAI3B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAH/C,SAAI,GAAG,QAAQ,CAAA;QACf,SAAI,GAAG,QAAQ,CAAA;QAGb,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;IA6BD,MAAM,CACJ,IAAgB,EAChB,OAAe,EACf,UAA4C,EAAE;QAE9C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YAC1B,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;SAChC,CAAC,CAAA;IACJ,CAAC;IACD;;;;;;OAMG;IACH,eAAe,CAAC,OAAe,EAAE,OAAsB;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAuB9B,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler } from '~/interfaces/request';
4
+ import type { HTTPClient } from '../core';
5
+ declare module '../core/client' {
6
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
+ serverless: ServerlessController<ResponseWrapper>;
8
+ }
9
+ }
10
+ export declare class ServerlessController<ResponseWrapper> implements IController {
11
+ protected client: HTTPClient;
12
+ base: string;
13
+ name: string;
14
+ constructor(client: HTTPClient);
15
+ get proxy(): IRequestHandler<ResponseWrapper>;
16
+ getByReferenceAndName<T = unknown>(reference: string, name: string): import("~/interfaces/request").RequestProxyResult<T, ResponseWrapper, ResponseWrapper extends unknown ? {
17
+ [key: string]: any;
18
+ data: T;
19
+ } : ResponseWrapper extends {
20
+ data: T;
21
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
22
+ data: T;
23
+ }>;
24
+ }
@@ -0,0 +1,16 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ export class ServerlessController {
3
+ constructor(client) {
4
+ this.client = client;
5
+ this.base = 'serverless';
6
+ this.name = 'serverless';
7
+ autoBind(this);
8
+ }
9
+ get proxy() {
10
+ return this.client.proxy(this.base);
11
+ }
12
+ getByReferenceAndName(reference, name) {
13
+ return this.proxy(reference)(name).get();
14
+ }
15
+ }
16
+ //# sourceMappingURL=severless.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"severless.js","sourceRoot":"","sources":["../../../../controllers/severless.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAW5C,MAAM,OAAO,oBAAoB;IAI/B,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,YAAY,CAAA;QACnB,SAAI,GAAG,YAAY,CAAA;QAGjB,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,qBAAqB,CAAc,SAAiB,EAAE,IAAY;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAK,CAAA;IAC7C,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler } from '~/interfaces/request';
4
+ import type { HTTPClient } from '../core';
5
+ declare module '../core/client' {
6
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
+ snippet: SnippetController<ResponseWrapper>;
8
+ }
9
+ }
10
+ export declare class SnippetController<ResponseWrapper> implements IController {
11
+ protected client: HTTPClient;
12
+ base: string;
13
+ name: string;
14
+ constructor(client: HTTPClient);
15
+ get proxy(): IRequestHandler<ResponseWrapper>;
16
+ getByReferenceAndName<T = unknown>(reference: string, name: string): import("~/interfaces/request").RequestProxyResult<T, ResponseWrapper, ResponseWrapper extends unknown ? {
17
+ [key: string]: any;
18
+ data: T;
19
+ } : ResponseWrapper extends {
20
+ data: T;
21
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
22
+ data: T;
23
+ }>;
24
+ }
@@ -0,0 +1,19 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ export class SnippetController {
3
+ constructor(client) {
4
+ this.client = client;
5
+ this.base = 'snippets';
6
+ this.name = 'snippet';
7
+ autoBind(this);
8
+ }
9
+ get proxy() {
10
+ return this.client.proxy(this.base);
11
+ }
12
+ // getById(id: string) {
13
+ // return this.proxy(id).get<Omit<SnippetModel, 'data'>>()
14
+ // }
15
+ getByReferenceAndName(reference, name) {
16
+ return this.proxy(reference)(name).get();
17
+ }
18
+ }
19
+ //# sourceMappingURL=snippet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../../controllers/snippet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAW5C,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,wBAAwB;IACxB,4DAA4D;IAC5D,IAAI;IAEJ,qBAAqB,CAAc,SAAiB,EAAE,IAAY;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAK,CAAA;IAC7C,CAAC;CACF"}
@@ -0,0 +1,64 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler } from '~/interfaces/request';
4
+ import type { SubscribeType } from '~/models/subscribe';
5
+ import type { HTTPClient } from '../core';
6
+ declare module '../core/client' {
7
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
+ subscribe: SubscribeController<ResponseWrapper>;
9
+ }
10
+ }
11
+ export declare class SubscribeController<ResponseWrapper> implements IController {
12
+ protected client: HTTPClient;
13
+ base: string;
14
+ name: string;
15
+ constructor(client: HTTPClient);
16
+ get proxy(): IRequestHandler<ResponseWrapper>;
17
+ /**
18
+ * 检查开启状态
19
+ */
20
+ check(): import("~/interfaces/request").RequestProxyResult<{
21
+ enable: boolean;
22
+ bitMap: Record<SubscribeType, number>;
23
+ allowBits: number[];
24
+ allowTypes: SubscribeType[];
25
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
26
+ [key: string]: any;
27
+ data: {
28
+ enable: boolean;
29
+ bitMap: Record<SubscribeType, number>;
30
+ allowBits: number[];
31
+ allowTypes: SubscribeType[];
32
+ };
33
+ } : ResponseWrapper extends {
34
+ data: {
35
+ enable: boolean;
36
+ bitMap: Record<SubscribeType, number>;
37
+ allowBits: number[];
38
+ allowTypes: SubscribeType[];
39
+ };
40
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
41
+ data: {
42
+ enable: boolean;
43
+ bitMap: Record<SubscribeType, number>;
44
+ allowBits: number[];
45
+ allowTypes: SubscribeType[];
46
+ };
47
+ }>;
48
+ subscribe(email: string, types: SubscribeType[]): import("~/interfaces/request").RequestProxyResult<never, ResponseWrapper, ResponseWrapper extends unknown ? {
49
+ [key: string]: any;
50
+ data: never;
51
+ } : ResponseWrapper extends {
52
+ data: never;
53
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
54
+ data: never;
55
+ }>;
56
+ unsubscribe(email: string, cancelToken: string): import("~/interfaces/request").RequestProxyResult<string, ResponseWrapper, ResponseWrapper extends unknown ? {
57
+ [key: string]: any;
58
+ data: string;
59
+ } : ResponseWrapper extends {
60
+ data: string;
61
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
62
+ data: string;
63
+ }>;
64
+ }
@@ -0,0 +1,35 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ export class SubscribeController {
3
+ constructor(client) {
4
+ this.client = client;
5
+ this.base = 'subscribe';
6
+ this.name = 'subscribe';
7
+ autoBind(this);
8
+ }
9
+ get proxy() {
10
+ return this.client.proxy(this.base);
11
+ }
12
+ /**
13
+ * 检查开启状态
14
+ */
15
+ check() {
16
+ return this.proxy.status.get();
17
+ }
18
+ subscribe(email, types) {
19
+ return this.proxy.post({
20
+ data: {
21
+ email,
22
+ types,
23
+ },
24
+ });
25
+ }
26
+ unsubscribe(email, cancelToken) {
27
+ return this.proxy.unsubscribe.get({
28
+ params: {
29
+ email,
30
+ cancelToken,
31
+ },
32
+ });
33
+ }
34
+ }
35
+ //# sourceMappingURL=subscribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../../controllers/subscribe.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAW5C,MAAM,OAAO,mBAAmB;IAI9B,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,WAAW,CAAA;QAClB,SAAI,GAAG,WAAW,CAAA;QAGhB,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAKxB,CAAA;IACN,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,KAAsB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAQ;YAC5B,IAAI,EAAE;gBACJ,KAAK;gBACL,KAAK;aACN;SACF,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,WAAmB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAS;YACxC,MAAM,EAAE;gBACN,KAAK;gBACL,WAAW;aACZ;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler } from '~/interfaces/request';
4
+ import type { TopicModel } from '~/models/topic';
5
+ import type { HTTPClient } from '../core';
6
+ import { BaseCrudController } from './base';
7
+ declare module '../core/client' {
8
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
9
+ topic: TopicController<ResponseWrapper>;
10
+ }
11
+ }
12
+ export declare class TopicController<ResponseWrapper> extends BaseCrudController<TopicModel, ResponseWrapper> implements IController {
13
+ protected client: HTTPClient;
14
+ base: string;
15
+ name: string;
16
+ constructor(client: HTTPClient);
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ getTopicBySlug(slug: string): import("~/interfaces/request").RequestProxyResult<TopicModel, ResponseWrapper, ResponseWrapper extends unknown ? {
19
+ [key: string]: any;
20
+ data: TopicModel;
21
+ } : ResponseWrapper extends {
22
+ data: TopicModel;
23
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
24
+ data: TopicModel;
25
+ }>;
26
+ }
@@ -0,0 +1,18 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ import { BaseCrudController } from './base';
3
+ export class TopicController extends BaseCrudController {
4
+ constructor(client) {
5
+ super(client);
6
+ this.client = client;
7
+ this.base = 'topics';
8
+ this.name = 'topic';
9
+ autoBind(this);
10
+ }
11
+ get proxy() {
12
+ return this.client.proxy(this.base);
13
+ }
14
+ getTopicBySlug(slug) {
15
+ return this.proxy.slug(slug).get();
16
+ }
17
+ }
18
+ //# sourceMappingURL=topic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../../controllers/topic.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAW3C,MAAM,OAAO,eACX,SAAQ,kBAA+C;IAMvD,YAAsB,MAAkB;QACtC,KAAK,CAAC,MAAM,CAAC,CAAA;QADO,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,QAAQ,CAAA;QACf,SAAI,GAAG,OAAO,CAAA;QAIZ,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAc,CAAA;IAChD,CAAC;CACF"}
@@ -0,0 +1,70 @@
1
+ import type { IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { IController } from '~/interfaces/controller';
3
+ import type { IRequestHandler } from '~/interfaces/request';
4
+ import type { TLogin, UserModel } from '~/models/user';
5
+ import type { HTTPClient } from '../core';
6
+ declare module '../core/client' {
7
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
+ user: UserController<ResponseWrapper>;
9
+ master: UserController<ResponseWrapper>;
10
+ }
11
+ }
12
+ export declare class UserController<ResponseWrapper> implements IController {
13
+ private readonly client;
14
+ constructor(client: HTTPClient);
15
+ base: string;
16
+ name: string[];
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ getMasterInfo(): import("~/interfaces/request").RequestProxyResult<UserModel, ResponseWrapper, ResponseWrapper extends unknown ? {
19
+ [key: string]: any;
20
+ data: UserModel;
21
+ } : ResponseWrapper extends {
22
+ data: UserModel;
23
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
24
+ data: UserModel;
25
+ }>;
26
+ login(username: string, password: string): import("~/interfaces/request").RequestProxyResult<TLogin, ResponseWrapper, ResponseWrapper extends unknown ? {
27
+ [key: string]: any;
28
+ data: TLogin;
29
+ } : ResponseWrapper extends {
30
+ data: TLogin;
31
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
32
+ data: TLogin;
33
+ }>;
34
+ loginWithToken(token?: string): import("~/interfaces/request").RequestProxyResult<{
35
+ token: string;
36
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
37
+ [key: string]: any;
38
+ data: {
39
+ token: string;
40
+ };
41
+ } : ResponseWrapper extends {
42
+ data: {
43
+ token: string;
44
+ };
45
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
46
+ data: {
47
+ token: string;
48
+ };
49
+ }>;
50
+ checkTokenValid(token: string): import("~/interfaces/request").RequestProxyResult<{
51
+ ok: number;
52
+ isGuest: boolean;
53
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
54
+ [key: string]: any;
55
+ data: {
56
+ ok: number;
57
+ isGuest: boolean;
58
+ };
59
+ } : ResponseWrapper extends {
60
+ data: {
61
+ ok: number;
62
+ isGuest: boolean;
63
+ };
64
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
65
+ data: {
66
+ ok: number;
67
+ isGuest: boolean;
68
+ };
69
+ }>;
70
+ }
@@ -0,0 +1,40 @@
1
+ import { autoBind } from '~/utils/auto-bind';
2
+ export class UserController {
3
+ constructor(client) {
4
+ this.client = client;
5
+ this.base = 'master';
6
+ this.name = ['user', 'master'];
7
+ autoBind(this);
8
+ }
9
+ get proxy() {
10
+ return this.client.proxy(this.base);
11
+ }
12
+ getMasterInfo() {
13
+ return this.proxy.get();
14
+ }
15
+ login(username, password) {
16
+ return this.proxy.login.post({
17
+ data: {
18
+ username,
19
+ password,
20
+ },
21
+ });
22
+ }
23
+ loginWithToken(token) {
24
+ return this.proxy.login.put({
25
+ params: token
26
+ ? {
27
+ token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
28
+ }
29
+ : undefined,
30
+ });
31
+ }
32
+ checkTokenValid(token) {
33
+ return this.proxy.check_logged.get({
34
+ params: {
35
+ token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
36
+ },
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../controllers/user.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAY5C,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,cAAc,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAoB;YAC7C,MAAM,EAAE,KAAK;gBACX,CAAC,CAAC;oBACE,KAAK,EAAE,UAAU,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;iBACnD;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAmC;YACnE,MAAM,EAAE;gBACN,KAAK,EAAE,UAAU,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;aACnD;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ import type { HTTPClient } from '.';
2
+ export declare function attachRequestMethod<T extends HTTPClient<any, any>>(target: T): void;
@@ -0,0 +1,36 @@
1
+ export function attachRequestMethod(target) {
2
+ Object.defineProperty(target, '$$get', {
3
+ value(url, options) {
4
+ // HINT: method get only accept search params;
5
+ const { params = {}, ...rest } = options;
6
+ const qs = handleSearchParams(params);
7
+ return target.instance.get(`${url}${qs ? `${`?${qs}`}` : ''}`, rest);
8
+ },
9
+ });
10
+ ['put', 'post', 'patch', 'delete'].forEach((method) => {
11
+ Object.defineProperty(target, `$$${method}`, {
12
+ value(path, options) {
13
+ return target.instance[method](path, options);
14
+ },
15
+ });
16
+ });
17
+ }
18
+ // FIXME: only support string value
19
+ function handleSearchParams(obj) {
20
+ if (!obj && typeof obj !== 'object') {
21
+ throw new TypeError('params must be object.');
22
+ }
23
+ if (obj instanceof URLSearchParams) {
24
+ return obj.toString();
25
+ }
26
+ const search = new URLSearchParams();
27
+ Object.entries(obj).forEach(([k, v]) => {
28
+ if (typeof v === 'undefined' ||
29
+ Object.prototype.toString.call(v) === '[object Null]') {
30
+ return;
31
+ }
32
+ search.set(k, v);
33
+ });
34
+ return search.toString();
35
+ }
36
+ //# sourceMappingURL=attach-request.js.map
@@ -0,0 +1 @@
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,CAAC,GAAW,EAAE,OAAa;YAC9B,8CAA8C;YAC9C,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;YACxC,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAErC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QACtE,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,KAAK,MAAM,EAAE,EAAE;YAC3C,KAAK,CAAC,IAAY,EAAE,OAAa;gBAC/B,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"}
@@ -0,0 +1,29 @@
1
+ import type { IAdaptorRequestResponseType, IRequestAdapter } from '~/interfaces/adapter';
2
+ import type { ClientOptions } from '~/interfaces/client';
3
+ import type { IController } from '~/interfaces/controller';
4
+ import type { IRequestHandler } from '~/interfaces/request';
5
+ import type { Class } from '~/interfaces/types';
6
+ export type { HTTPClient };
7
+ declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
+ private readonly _endpoint;
9
+ private _adaptor;
10
+ private options;
11
+ private readonly _proxy;
12
+ constructor(_endpoint: string, _adaptor: T, options?: Omit<ClientOptions, 'controllers'>);
13
+ private initGetClient;
14
+ injectControllers(...Controller: Class<IController>[]): void;
15
+ injectControllers(Controller: Class<IController>[]): void;
16
+ get endpoint(): string;
17
+ get instance(): T;
18
+ request(options: {
19
+ url: string;
20
+ method?: string;
21
+ data?: any;
22
+ params?: any;
23
+ }): Promise<IAdaptorRequestResponseType<any>>;
24
+ get proxy(): IRequestHandler<ResponseWrapper>;
25
+ private buildRoute;
26
+ }
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) => HTTPClient<T, ResponseWrapper>;