@mx-space/api-client 0.10.12 → 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/adaptors/axios.ts +2 -1
  2. package/adaptors/ky.ts +74 -0
  3. package/adaptors/umi-request.ts +2 -1
  4. package/build/{index.cjs.js → index.cjs} +41 -18
  5. package/build/index.cjs.map +1 -0
  6. package/build/{index.esm.js → index.js} +41 -13
  7. package/build/index.js.map +1 -0
  8. package/build/index.min.cjs +2 -0
  9. package/build/index.min.cjs.map +1 -0
  10. package/build/index.min.js +2 -0
  11. package/build/index.min.js.map +1 -0
  12. package/build/index.umd.js +44 -19
  13. package/build/index.umd.js.map +1 -1
  14. package/build/index.umd.min.js +1 -1
  15. package/build/index.umd.min.js.map +1 -1
  16. package/controllers/user.ts +10 -0
  17. package/core/client.ts +9 -5
  18. package/esm/adaptors/axios.js +2 -1
  19. package/esm/adaptors/axios.js.map +1 -1
  20. package/esm/adaptors/ky.d.ts +22 -0
  21. package/esm/adaptors/ky.js +60 -0
  22. package/esm/adaptors/ky.js.map +1 -0
  23. package/esm/adaptors/umi-request.js +2 -1
  24. package/esm/adaptors/umi-request.js.map +1 -1
  25. package/esm/controllers/category.d.ts +14 -14
  26. package/esm/controllers/user.d.ts +16 -0
  27. package/esm/controllers/user.js +9 -0
  28. package/esm/controllers/user.js.map +1 -1
  29. package/esm/core/client.d.ts +1 -1
  30. package/esm/core/client.js +9 -4
  31. package/esm/core/client.js.map +1 -1
  32. package/esm/index.d.ts +1 -3
  33. package/esm/index.js +1 -6
  34. package/esm/index.js.map +1 -1
  35. package/esm/interfaces/client.d.ts +8 -4
  36. package/esm/models/base.d.ts +1 -1
  37. package/esm/models/comment.d.ts +1 -0
  38. package/esm/models/comment.js.map +1 -1
  39. package/esm/utils/camelcase-keys.d.ts +6 -0
  40. package/esm/utils/camelcase-keys.js +23 -0
  41. package/esm/utils/camelcase-keys.js.map +1 -0
  42. package/esm/vitest.config.js +1 -0
  43. package/esm/vitest.config.js.map +1 -1
  44. package/index.ts +1 -8
  45. package/interfaces/client.ts +6 -3
  46. package/lib/adaptors/axios.js +2 -1
  47. package/lib/adaptors/axios.js.map +1 -1
  48. package/lib/adaptors/ky.d.ts +22 -0
  49. package/lib/adaptors/ky.js +67 -0
  50. package/lib/adaptors/ky.js.map +1 -0
  51. package/lib/adaptors/umi-request.js +2 -1
  52. package/lib/adaptors/umi-request.js.map +1 -1
  53. package/lib/controllers/category.d.ts +14 -14
  54. package/lib/controllers/user.d.ts +16 -0
  55. package/lib/controllers/user.js +9 -0
  56. package/lib/controllers/user.js.map +1 -1
  57. package/lib/core/client.d.ts +1 -1
  58. package/lib/core/client.js +9 -7
  59. package/lib/core/client.js.map +1 -1
  60. package/lib/index.d.ts +1 -3
  61. package/lib/index.js +3 -11
  62. package/lib/index.js.map +1 -1
  63. package/lib/interfaces/client.d.ts +8 -4
  64. package/lib/models/base.d.ts +1 -1
  65. package/lib/models/comment.d.ts +1 -0
  66. package/lib/models/comment.js.map +1 -1
  67. package/lib/utils/camelcase-keys.d.ts +6 -0
  68. package/lib/utils/camelcase-keys.js +28 -0
  69. package/lib/utils/camelcase-keys.js.map +1 -0
  70. package/lib/vitest.config.js +1 -0
  71. package/lib/vitest.config.js.map +1 -1
  72. package/models/base.ts +1 -1
  73. package/models/comment.ts +2 -0
  74. package/package.json +20 -17
  75. package/readme.md +9 -0
  76. package/types/adaptors/ky.d.ts +22 -0
  77. package/types/controllers/category.d.ts +14 -14
  78. package/types/controllers/user.d.ts +16 -0
  79. package/types/core/client.d.ts +1 -1
  80. package/types/index.d.ts +1 -3
  81. package/types/interfaces/client.d.ts +8 -4
  82. package/types/models/base.d.ts +1 -1
  83. package/types/models/comment.d.ts +1 -0
  84. package/types/utils/camelcase-keys.d.ts +6 -0
  85. package/utils/camelcase-keys.ts +26 -0
  86. package/vitest.config.ts +3 -0
  87. package/build/index.cjs.js.map +0 -1
  88. package/build/index.cjs.min.js +0 -2
  89. package/build/index.cjs.min.js.map +0 -1
  90. package/build/index.esm.js.map +0 -1
  91. package/build/index.esm.min.js +0 -2
  92. package/build/index.esm.min.js.map +0 -1
@@ -38,7 +38,14 @@ export declare class CategoryController<ResponseWrapper> implements IController
38
38
  data: CategoryWithChildrenModel;
39
39
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
40
40
  data: CategoryWithChildrenModel;
41
- }) extends unknown ? {
41
+ }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
42
+ [key: string]: any;
43
+ data: CategoryWithChildrenModel;
44
+ } : ResponseWrapper extends {
45
+ data: CategoryWithChildrenModel;
46
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
47
+ data: CategoryWithChildrenModel;
48
+ }) ? T_1 extends unknown ? {
42
49
  type: CategoryType;
43
50
  count: number;
44
51
  slug: string;
@@ -46,14 +53,7 @@ export declare class CategoryController<ResponseWrapper> implements IController
46
53
  created: string;
47
54
  id: string;
48
55
  children: Pick<PostModel, "id" | "created" | "modified" | "title" | "slug">[];
49
- } : ResponseWrapper extends unknown ? {
50
- [key: string]: any;
51
- data: CategoryWithChildrenModel;
52
- } : ResponseWrapper extends {
53
- data: CategoryWithChildrenModel;
54
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
55
- data: CategoryWithChildrenModel;
56
- };
56
+ } : T_1 : never : never;
57
57
  } : ResponseWrapper;
58
58
  $request: {
59
59
  [k: string]: string;
@@ -85,10 +85,7 @@ export declare class CategoryController<ResponseWrapper> implements IController
85
85
  tag: string;
86
86
  data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
87
87
  };
88
- }) extends unknown ? {
89
- tag: string;
90
- data: Pick<PostModel, "id" | "category" | "created" | "title" | "slug">[];
91
- } : ResponseWrapper extends unknown ? {
88
+ }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
92
89
  [key: string]: any;
93
90
  data: {
94
91
  tag: string;
@@ -104,7 +101,10 @@ export declare class CategoryController<ResponseWrapper> implements IController
104
101
  tag: string;
105
102
  data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
106
103
  };
107
- };
104
+ }) ? T_1 extends unknown ? {
105
+ tag: string;
106
+ data: Pick<PostModel, "id" | "category" | "created" | "title" | "slug">[];
107
+ } : T_1 : never : never;
108
108
  } : ResponseWrapper;
109
109
  $request: {
110
110
  [k: string]: string;
@@ -31,6 +31,22 @@ export declare class UserController<ResponseWrapper> implements IController {
31
31
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
32
32
  data: TLogin;
33
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
+ }>;
34
50
  checkTokenValid(token: string): import("../interfaces/request").RequestProxyResult<{
35
51
  ok: number;
36
52
  isGuest: boolean;
@@ -20,6 +20,15 @@ export class UserController {
20
20
  },
21
21
  });
22
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
+ }
23
32
  checkTokenValid(token) {
24
33
  return this.proxy.check_logged.get({
25
34
  params: {
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../controllers/user.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAc5C,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,UAAU,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;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;AAc5C,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"}
@@ -26,4 +26,4 @@ declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWr
26
26
  }
27
27
  export declare function createClient<T extends IRequestAdapter>(adapter: T): <ResponseWrapper = T extends {
28
28
  responseWrapper: infer Type;
29
- } ? Type extends undefined ? unknown : Type : unknown>(endpoint: string, options?: ClientOptions | undefined) => HTTPClient<T, ResponseWrapper>;
29
+ } ? Type extends undefined ? unknown : Type : unknown>(endpoint: string, options?: ClientOptions) => HTTPClient<T, ResponseWrapper>;
@@ -1,5 +1,5 @@
1
- import camelcaseKeys from 'camelcase-keys';
2
1
  import { isPlainObject } from '../utils';
2
+ import { camelcaseKeys } from '../utils/camelcase-keys';
3
3
  import { resolveFullPath } from '../utils/path';
4
4
  import { allContollerNames } from '../controllers';
5
5
  import { attachRequestMethod } from './attach-request';
@@ -14,6 +14,8 @@ class HTTPClient {
14
14
  .replace(/\/*$/, '')
15
15
  .replace('localhost', '127.0.0.1');
16
16
  this._proxy = this.buildRoute(this)();
17
+ options.transformResponse =
18
+ options.transformResponse || ((data) => camelcaseKeys(data));
17
19
  this.initGetClient();
18
20
  attachRequestMethod(this);
19
21
  }
@@ -123,14 +125,17 @@ class HTTPClient {
123
125
  message = errorInfo.message || message;
124
126
  code = errorInfo.code || code;
125
127
  }
126
- throw new RequestError(message, code, url, e);
128
+ throw that.options.customThrowResponseError
129
+ ? that.options.customThrowResponseError(e)
130
+ : new RequestError(message, code, url, e);
127
131
  }
128
132
  const data = res.data;
129
133
  if (!data) {
130
134
  return null;
131
135
  }
132
- const transform = Array.isArray(data) || isPlainObject(data)
133
- ? camelcaseKeys(data, { deep: true })
136
+ const transform = (Array.isArray(data) || isPlainObject(data)) &&
137
+ that.options.transformResponse
138
+ ? that.options.transformResponse(data)
134
139
  : data;
135
140
  if (transform && typeof transform === 'object') {
136
141
  Object.defineProperty(transform, '$raw', {
@@ -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,7 +1,5 @@
1
- import _camelcaseKeys from 'camelcase-keys';
2
1
  export * from './controllers';
3
2
  export { createClient, RequestError } from './core';
4
3
  export type { HTTPClient } from './core';
5
4
  export * from './models';
6
- export declare const camelcaseKeysDeep: (obj: any) => any;
7
- export declare const camelcaseKeys: typeof _camelcaseKeys;
5
+ export { camelcaseKeys as simpleCamelcaseKeys } from './utils/camelcase-keys';
package/esm/index.js CHANGED
@@ -1,10 +1,5 @@
1
- import _camelcaseKeys from 'camelcase-keys';
2
1
  export * from './controllers';
3
2
  export { createClient, RequestError } from './core';
4
3
  export * from './models';
5
- // export helper lib
6
- export const camelcaseKeysDeep = (obj) => {
7
- return camelcaseKeys(obj, { deep: true });
8
- };
9
- export const camelcaseKeys = _camelcaseKeys;
4
+ export { camelcaseKeys as simpleCamelcaseKeys } from './utils/camelcase-keys';
10
5
  //# sourceMappingURL=index.js.map
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,YAAY,EAAE,MAAM,QAAQ,CAAA;AAEnD,cAAc,UAAU,CAAA;AACxB,oBAAoB;AACpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC5C,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAEnD,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -1,9 +1,13 @@
1
1
  import type { IController } from './controller';
2
2
  import type { Class } from './types';
3
- export declare type ClientOptions = {
4
- controllers?: Class<IController>[];
5
- getCodeMessageFromException?: <T = Error>(error: T) => {
3
+ interface IClientOptions {
4
+ controllers: Class<IController>[];
5
+ getCodeMessageFromException: <T = Error>(error: T) => {
6
6
  message?: string | undefined | null;
7
7
  code?: number | undefined | null;
8
8
  };
9
- };
9
+ customThrowResponseError: <T extends Error = Error>(err: any) => T;
10
+ transformResponse: <T = any>(data: any) => T;
11
+ }
12
+ export declare type ClientOptions = Partial<IClientOptions>;
13
+ export {};
@@ -34,5 +34,5 @@ export interface TextBaseModel extends BaseCommentIndexModel {
34
34
  text: string;
35
35
  images?: Image[];
36
36
  modified: string | null;
37
- meta?: Record<string, string>;
37
+ meta?: Record<string, any>;
38
38
  }
@@ -21,6 +21,7 @@ export interface CommentModel extends BaseModel {
21
21
  avatar: string;
22
22
  parent?: CommentModel | string;
23
23
  children: CommentModel[];
24
+ isWhispers?: boolean;
24
25
  }
25
26
  export interface CommentRef {
26
27
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../models/comment.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;AACf,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AA2BD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mDAAM,CAAA;IACN,+CAAI,CAAA;IACJ,+CAAI,CAAA;AACN,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../models/comment.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;AACf,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AA6BD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mDAAM,CAAA;IACN,+CAAI,CAAA;IACJ,+CAAI,CAAA;AACN,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A simple camelCase function that only handles strings, but not handling symbol, date, or other complex case.
3
+ * If you need to handle more complex cases, please use camelcase-keys package.
4
+ */
5
+ export declare const camelcaseKeys: <T = any>(obj: any) => T;
6
+ export declare function camelcase(str: string): string;
@@ -0,0 +1,23 @@
1
+ import { isPlainObject } from '.';
2
+ /**
3
+ * A simple camelCase function that only handles strings, but not handling symbol, date, or other complex case.
4
+ * If you need to handle more complex cases, please use camelcase-keys package.
5
+ */
6
+ export const camelcaseKeys = (obj) => {
7
+ if (Array.isArray(obj)) {
8
+ return obj.map((x) => camelcaseKeys(x));
9
+ }
10
+ if (isPlainObject(obj)) {
11
+ return Object.keys(obj).reduce((result, key) => {
12
+ result[camelcase(key)] = camelcaseKeys(obj[key]);
13
+ return result;
14
+ }, {});
15
+ }
16
+ return obj;
17
+ };
18
+ export function camelcase(str) {
19
+ return str.replace(/([-_][a-z])/gi, ($1) => {
20
+ return $1.toUpperCase().replace('-', '').replace('_', '');
21
+ });
22
+ }
23
+ //# sourceMappingURL=camelcase-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camelcase-keys.js","sourceRoot":"","sources":["../../utils/camelcase-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAEjC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAU,GAAQ,EAAK,EAAE;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAQ,CAAA;KAC/C;IAED,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAChD,OAAO,MAAM,CAAA;QACf,CAAC,EAAE,EAAE,CAAQ,CAAA;KACd;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;QACzC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -6,6 +6,7 @@ export default defineConfig({
6
6
  globals: true,
7
7
  include: ['__tests__/**/*.(spec|test).ts'],
8
8
  },
9
+ // @ts-ignore
9
10
  plugins: [tsPath()],
10
11
  });
11
12
  //# sourceMappingURL=vitest.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,oDAAoD;AACpD,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,+BAA+B,CAAC;KAC3C;IACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;CACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,oDAAoD;AACpD,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QAEb,OAAO,EAAE,CAAC,+BAA+B,CAAC;KAC3C;IAED,aAAa;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;CACpB,CAAC,CAAA"}
package/index.ts CHANGED
@@ -1,12 +1,5 @@
1
- import _camelcaseKeys from 'camelcase-keys'
2
-
3
1
  export * from './controllers'
4
2
  export { createClient, RequestError } from './core'
5
3
  export type { HTTPClient } from './core'
6
4
  export * from './models'
7
- // export helper lib
8
- export const camelcaseKeysDeep = (obj: any) => {
9
- return camelcaseKeys(obj, { deep: true })
10
- }
11
-
12
- export const camelcaseKeys = _camelcaseKeys
5
+ export { camelcaseKeys as simpleCamelcaseKeys } from './utils/camelcase-keys'
@@ -1,12 +1,15 @@
1
1
  import type { IController } from './controller'
2
2
  import type { Class } from './types'
3
3
 
4
- export type ClientOptions = {
5
- controllers?: Class<IController>[]
6
- getCodeMessageFromException?: <T = Error>(
4
+ interface IClientOptions {
5
+ controllers: Class<IController>[]
6
+ getCodeMessageFromException: <T = Error>(
7
7
  error: T,
8
8
  ) => {
9
9
  message?: string | undefined | null
10
10
  code?: number | undefined | null
11
11
  }
12
+ customThrowResponseError: <T extends Error = Error>(err: any) => T
13
+ transformResponse: <T = any>(data: any) => T
12
14
  }
15
+ export type ClientOptions = Partial<IClientOptions>
@@ -5,7 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.axiosAdaptor = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
- const $http = axios_1.default.create({});
8
+ // eslint-disable-next-line spaced-comment
9
+ const $http = /*#__PURE__*/ axios_1.default.create({});
9
10
  // ignore axios `method` declare not assignable to `Method`
10
11
  exports.axiosAdaptor = Object.preventExtensions({
11
12
  get default() {
@@ -1 +1 @@
1
- {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../adaptors/axios.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AAIzB,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
+ {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../adaptors/axios.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AAIzB,0CAA0C;AAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,eAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAE5C,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"}
@@ -0,0 +1,22 @@
1
+ import type { ResponsePromise } from 'ky';
2
+ import type { KyInstance } from 'ky/distribution/types/ky';
3
+ export declare const createKyAdaptor: (ky: KyInstance) => Readonly<{
4
+ responseWrapper: ResponsePromise;
5
+ } & {
6
+ default: KyInstance;
7
+ get<P = unknown>(url: string, options?: Omit<import("../interfaces/instance").RequestOptions, "data"> | undefined): import("../interfaces/adapter").IAdaptorRequestResponseType<P>;
8
+ post<P_1 = unknown>(url: string, options: Partial<import("../interfaces/instance").RequestOptions>): import("../interfaces/adapter").IAdaptorRequestResponseType<P_1>;
9
+ patch<P_2 = unknown>(url: string, options: Partial<import("../interfaces/instance").RequestOptions>): import("../interfaces/adapter").IAdaptorRequestResponseType<P_2>;
10
+ delete<P_3 = unknown>(url: string, options?: Omit<import("../interfaces/instance").RequestOptions, "data"> | undefined): import("../interfaces/adapter").IAdaptorRequestResponseType<P_3>;
11
+ put<P_4 = unknown>(url: string, options: Partial<import("../interfaces/instance").RequestOptions>): import("../interfaces/adapter").IAdaptorRequestResponseType<P_4>;
12
+ }>;
13
+ export declare const defaultKyAdaptor: Readonly<{
14
+ responseWrapper: ResponsePromise;
15
+ } & {
16
+ default: KyInstance;
17
+ get<P = unknown>(url: string, options?: Omit<import("../interfaces/instance").RequestOptions, "data"> | undefined): import("../interfaces/adapter").IAdaptorRequestResponseType<P>;
18
+ post<P_1 = unknown>(url: string, options: Partial<import("../interfaces/instance").RequestOptions>): import("../interfaces/adapter").IAdaptorRequestResponseType<P_1>;
19
+ patch<P_2 = unknown>(url: string, options: Partial<import("../interfaces/instance").RequestOptions>): import("../interfaces/adapter").IAdaptorRequestResponseType<P_2>;
20
+ delete<P_3 = unknown>(url: string, options?: Omit<import("../interfaces/instance").RequestOptions, "data"> | undefined): import("../interfaces/adapter").IAdaptorRequestResponseType<P_3>;
21
+ put<P_4 = unknown>(url: string, options: Partial<import("../interfaces/instance").RequestOptions>): import("../interfaces/adapter").IAdaptorRequestResponseType<P_4>;
22
+ }>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.defaultKyAdaptor = exports.createKyAdaptor = void 0;
7
+ const ky_1 = __importDefault(require("ky"));
8
+ // eslint-disable-next-line spaced-comment
9
+ const $http = /*#__PURE__*/ ky_1.default.create({});
10
+ // TODO post data not only json,
11
+ const getDataFromKyResponse = async (response) => {
12
+ const res = await response;
13
+ const isJsonType = res.headers
14
+ .get('content-type')
15
+ ?.includes('application/json');
16
+ const json = isJsonType ? await res.clone().json() : null;
17
+ const result = {
18
+ ...res,
19
+ data: json ?? (await res.clone().text()),
20
+ };
21
+ return result;
22
+ };
23
+ const createKyAdaptor = (ky) => {
24
+ const adaptor = Object.preventExtensions({
25
+ get default() {
26
+ return ky;
27
+ },
28
+ responseWrapper: {},
29
+ get(url, options) {
30
+ return getDataFromKyResponse(ky.get(url, options));
31
+ },
32
+ post(url, options) {
33
+ const data = options.data;
34
+ delete options.data;
35
+ const kyOptions = {
36
+ ...options,
37
+ json: data,
38
+ };
39
+ return getDataFromKyResponse(ky.post(url, kyOptions));
40
+ },
41
+ put(url, options) {
42
+ const data = options.data;
43
+ delete options.data;
44
+ const kyOptions = {
45
+ ...options,
46
+ json: data,
47
+ };
48
+ return getDataFromKyResponse(ky.put(url, kyOptions));
49
+ },
50
+ patch(url, options) {
51
+ const data = options.data;
52
+ delete options.data;
53
+ const kyOptions = {
54
+ ...options,
55
+ json: data,
56
+ };
57
+ return getDataFromKyResponse(ky.patch(url, kyOptions));
58
+ },
59
+ delete(url, options) {
60
+ return getDataFromKyResponse(ky.delete(url, options));
61
+ },
62
+ });
63
+ return adaptor;
64
+ };
65
+ exports.createKyAdaptor = createKyAdaptor;
66
+ exports.defaultKyAdaptor = (0, exports.createKyAdaptor)($http);
67
+ //# sourceMappingURL=ky.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ky.js","sourceRoot":"","sources":["../../adaptors/ky.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAMnB,0CAA0C;AAC1C,MAAM,KAAK,GAAe,aAAa,CAAC,YAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AACrD,gCAAgC;AAChC,MAAM,qBAAqB,GAAG,KAAK,EAAE,QAAyB,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAA;IAE1B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO;SAC3B,GAAG,CAAC,cAAc,CAAC;QACpB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzD,MAAM,MAAM,GAER;QACF,GAAG,GAAG;QACN,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;KACzC,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAEM,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE;IAChD,MAAM,OAAO,GACX,MAAM,CAAC,iBAAiB,CAAC;QACvB,IAAI,OAAO;YACT,OAAO,EAAE,CAAA;QACX,CAAC;QAED,eAAe,EAAE,EAA4B;QAC7C,GAAG,CAAC,GAAG,EAAE,OAAO;YACd,OAAO,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,OAAO;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YACzB,OAAO,OAAO,CAAC,IAAI,CAAA;YACnB,MAAM,SAAS,GAAY;gBACzB,GAAG,OAAO;gBACV,IAAI,EAAE,IAAI;aACX,CAAA;YAED,OAAO,qBAAqB,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,OAAO;YACd,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YACzB,OAAO,OAAO,CAAC,IAAI,CAAA;YACnB,MAAM,SAAS,GAAY;gBACzB,GAAG,OAAO;gBACV,IAAI,EAAE,IAAI;aACX,CAAA;YACD,OAAO,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACtD,CAAC;QAED,KAAK,CAAC,GAAG,EAAE,OAAO;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YACzB,OAAO,OAAO,CAAC,IAAI,CAAA;YACnB,MAAM,SAAS,GAAY;gBACzB,GAAG,OAAO;gBACV,IAAI,EAAE,IAAI;aACX,CAAA;YACD,OAAO,qBAAqB,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACxD,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,OAAO;YACjB,OAAO,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;QACvD,CAAC;KACF,CAAC,CAAA;IACJ,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA7CY,QAAA,eAAe,mBA6C3B;AAEY,QAAA,gBAAgB,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAA"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.umiAdaptor = void 0;
4
4
  const umi_request_1 = require("umi-request");
5
- const $http = (0, umi_request_1.extend)({
5
+ // eslint-disable-next-line spaced-comment
6
+ const $http = /*#__PURE__*/ (0, umi_request_1.extend)({
6
7
  getResponse: true,
7
8
  requestType: 'json',
8
9
  responseType: 'json',
@@ -1 +1 @@
1
- {"version":3,"file":"umi-request.js","sourceRoot":"","sources":["../../adaptors/umi-request.ts"],"names":[],"mappings":";;;AACA,6CAAoC;AAIpC,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"}
1
+ {"version":3,"file":"umi-request.js","sourceRoot":"","sources":["../../adaptors/umi-request.ts"],"names":[],"mappings":";;;AACA,6CAAoC;AAIpC,0CAA0C;AAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAA,oBAAM,EAAC;IACjC,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"}
@@ -38,7 +38,14 @@ export declare class CategoryController<ResponseWrapper> implements IController
38
38
  data: CategoryWithChildrenModel;
39
39
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
40
40
  data: CategoryWithChildrenModel;
41
- }) extends unknown ? {
41
+ }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
42
+ [key: string]: any;
43
+ data: CategoryWithChildrenModel;
44
+ } : ResponseWrapper extends {
45
+ data: CategoryWithChildrenModel;
46
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
47
+ data: CategoryWithChildrenModel;
48
+ }) ? T_1 extends unknown ? {
42
49
  type: CategoryType;
43
50
  count: number;
44
51
  slug: string;
@@ -46,14 +53,7 @@ export declare class CategoryController<ResponseWrapper> implements IController
46
53
  created: string;
47
54
  id: string;
48
55
  children: Pick<PostModel, "id" | "created" | "modified" | "title" | "slug">[];
49
- } : ResponseWrapper extends unknown ? {
50
- [key: string]: any;
51
- data: CategoryWithChildrenModel;
52
- } : ResponseWrapper extends {
53
- data: CategoryWithChildrenModel;
54
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
55
- data: CategoryWithChildrenModel;
56
- };
56
+ } : T_1 : never : never;
57
57
  } : ResponseWrapper;
58
58
  $request: {
59
59
  [k: string]: string;
@@ -85,10 +85,7 @@ export declare class CategoryController<ResponseWrapper> implements IController
85
85
  tag: string;
86
86
  data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
87
87
  };
88
- }) extends unknown ? {
89
- tag: string;
90
- data: Pick<PostModel, "id" | "category" | "created" | "title" | "slug">[];
91
- } : ResponseWrapper extends unknown ? {
88
+ }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
92
89
  [key: string]: any;
93
90
  data: {
94
91
  tag: string;
@@ -104,7 +101,10 @@ export declare class CategoryController<ResponseWrapper> implements IController
104
101
  tag: string;
105
102
  data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
106
103
  };
107
- };
104
+ }) ? T_1 extends unknown ? {
105
+ tag: string;
106
+ data: Pick<PostModel, "id" | "category" | "created" | "title" | "slug">[];
107
+ } : T_1 : never : never;
108
108
  } : ResponseWrapper;
109
109
  $request: {
110
110
  [k: string]: string;
@@ -31,6 +31,22 @@ export declare class UserController<ResponseWrapper> implements IController {
31
31
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
32
32
  data: TLogin;
33
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
+ }>;
34
50
  checkTokenValid(token: string): import("../interfaces/request").RequestProxyResult<{
35
51
  ok: number;
36
52
  isGuest: boolean;
@@ -23,6 +23,15 @@ class UserController {
23
23
  },
24
24
  });
25
25
  }
26
+ loginWithToken(token) {
27
+ return this.proxy.login.put({
28
+ params: token
29
+ ? {
30
+ token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
31
+ }
32
+ : undefined,
33
+ });
34
+ }
26
35
  checkTokenValid(token) {
27
36
  return this.proxy.check_logged.get({
28
37
  params: {
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../controllers/user.ts"],"names":[],"mappings":";;;AAIA,iDAA4C;AAc5C,MAAa,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,IAAA,oBAAQ,EAAC,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,UAAU,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;aACnD;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAjCD,wCAiCC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../controllers/user.ts"],"names":[],"mappings":";;;AAIA,iDAA4C;AAc5C,MAAa,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,IAAA,oBAAQ,EAAC,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;AA3CD,wCA2CC"}
@@ -26,4 +26,4 @@ declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWr
26
26
  }
27
27
  export declare function createClient<T extends IRequestAdapter>(adapter: T): <ResponseWrapper = T extends {
28
28
  responseWrapper: infer Type;
29
- } ? Type extends undefined ? unknown : Type : unknown>(endpoint: string, options?: ClientOptions | undefined) => HTTPClient<T, ResponseWrapper>;
29
+ } ? Type extends undefined ? unknown : Type : unknown>(endpoint: string, options?: ClientOptions) => HTTPClient<T, ResponseWrapper>;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.createClient = void 0;
7
- const camelcase_keys_1 = __importDefault(require("camelcase-keys"));
8
4
  const utils_1 = require("../utils");
5
+ const camelcase_keys_1 = require("../utils/camelcase-keys");
9
6
  const path_1 = require("../utils/path");
10
7
  const controllers_1 = require("../controllers");
11
8
  const attach_request_1 = require("./attach-request");
@@ -20,6 +17,8 @@ class HTTPClient {
20
17
  .replace(/\/*$/, '')
21
18
  .replace('localhost', '127.0.0.1');
22
19
  this._proxy = this.buildRoute(this)();
20
+ options.transformResponse =
21
+ options.transformResponse || ((data) => (0, camelcase_keys_1.camelcaseKeys)(data));
23
22
  this.initGetClient();
24
23
  (0, attach_request_1.attachRequestMethod)(this);
25
24
  }
@@ -129,14 +128,17 @@ class HTTPClient {
129
128
  message = errorInfo.message || message;
130
129
  code = errorInfo.code || code;
131
130
  }
132
- throw new error_1.RequestError(message, code, url, e);
131
+ throw that.options.customThrowResponseError
132
+ ? that.options.customThrowResponseError(e)
133
+ : new error_1.RequestError(message, code, url, e);
133
134
  }
134
135
  const data = res.data;
135
136
  if (!data) {
136
137
  return null;
137
138
  }
138
- const transform = Array.isArray(data) || (0, utils_1.isPlainObject)(data)
139
- ? (0, camelcase_keys_1.default)(data, { deep: true })
139
+ const transform = (Array.isArray(data) || (0, utils_1.isPlainObject)(data)) &&
140
+ that.options.transformResponse
141
+ ? that.options.transformResponse(data)
140
142
  : data;
141
143
  if (transform && typeof transform === 'object') {
142
144
  Object.defineProperty(transform, '$raw', {