@mx-space/api-client 0.7.4 → 0.8.2

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 (167) hide show
  1. package/adaptors/axios.ts +2 -0
  2. package/adaptors/umi-request.ts +2 -1
  3. package/build/index.cjs.js +26 -16
  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 +26 -16
  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 +26 -16
  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 +1 -0
  16. package/controllers/base.ts +1 -0
  17. package/controllers/category.ts +2 -1
  18. package/controllers/comment.ts +1 -0
  19. package/controllers/link.ts +19 -0
  20. package/controllers/note.ts +1 -0
  21. package/controllers/page.ts +1 -0
  22. package/controllers/post.ts +1 -0
  23. package/controllers/project.ts +1 -0
  24. package/controllers/recently.ts +1 -0
  25. package/controllers/say.ts +1 -0
  26. package/controllers/search.ts +1 -0
  27. package/controllers/severless.ts +1 -0
  28. package/controllers/snippet.ts +1 -0
  29. package/controllers/user.ts +2 -1
  30. package/core/attach-request.ts +4 -4
  31. package/core/client.ts +7 -11
  32. package/coverage/clover.xml +144 -136
  33. package/coverage/coverage-final.json +5943 -30
  34. package/coverage/lcov-report/adaptors/axios.ts.html +71 -69
  35. package/coverage/lcov-report/adaptors/index.html +180 -115
  36. package/coverage/lcov-report/adaptors/umi-request.ts.html +72 -70
  37. package/coverage/lcov-report/auto-bind.ts.html +67 -68
  38. package/coverage/lcov-report/base.css +253 -123
  39. package/coverage/lcov-report/block-navigation.js +68 -70
  40. package/coverage/lcov-report/controllers/aggregate.ts.html +74 -72
  41. package/coverage/lcov-report/controllers/base.ts.html +75 -73
  42. package/coverage/lcov-report/controllers/category.ts.html +86 -84
  43. package/coverage/lcov-report/controllers/comment.ts.html +75 -73
  44. package/coverage/lcov-report/controllers/index.html +446 -311
  45. package/coverage/lcov-report/controllers/index.ts.html +71 -69
  46. package/coverage/lcov-report/controllers/link.ts.html +121 -74
  47. package/coverage/lcov-report/controllers/note.ts.html +74 -72
  48. package/coverage/lcov-report/controllers/page.ts.html +74 -72
  49. package/coverage/lcov-report/controllers/post.ts.html +74 -72
  50. package/coverage/lcov-report/controllers/project.ts.html +75 -73
  51. package/coverage/lcov-report/controllers/recently.ts.html +74 -72
  52. package/coverage/lcov-report/controllers/say.ts.html +75 -73
  53. package/coverage/lcov-report/controllers/search.ts.html +75 -73
  54. package/coverage/lcov-report/controllers/severless.ts.html +74 -72
  55. package/coverage/lcov-report/controllers/snippet.ts.html +74 -72
  56. package/coverage/lcov-report/controllers/user.ts.html +75 -73
  57. package/coverage/lcov-report/core/attach-request.ts.html +84 -82
  58. package/coverage/lcov-report/core/client.ts.html +110 -126
  59. package/coverage/lcov-report/core/error.ts.html +71 -69
  60. package/coverage/lcov-report/core/index.html +218 -143
  61. package/coverage/lcov-report/core/index.ts.html +71 -69
  62. package/coverage/lcov-report/index.html +256 -171
  63. package/coverage/lcov-report/index.ts.html +67 -68
  64. package/coverage/lcov-report/models/aggregate.ts.html +71 -69
  65. package/coverage/lcov-report/models/category.ts.html +71 -69
  66. package/coverage/lcov-report/models/index.html +180 -115
  67. package/coverage/lcov-report/prettify.css +101 -1
  68. package/coverage/lcov-report/prettify.js +1003 -1
  69. package/coverage/lcov-report/sorter.js +169 -174
  70. package/coverage/lcov-report/utils/auto-bind.ts.html +80 -78
  71. package/coverage/lcov-report/utils/index.html +199 -114
  72. package/coverage/lcov-report/utils/index.ts.html +73 -71
  73. package/coverage/lcov-report/utils/path.ts.html +105 -0
  74. package/coverage/lcov.info +260 -242
  75. package/esm/adaptors/axios.js.map +1 -1
  76. package/esm/adaptors/umi-request.js.map +1 -1
  77. package/esm/controllers/aggregate.js.map +1 -1
  78. package/esm/controllers/base.js.map +1 -1
  79. package/esm/controllers/category.js +1 -1
  80. package/esm/controllers/category.js.map +1 -1
  81. package/esm/controllers/comment.js.map +1 -1
  82. package/esm/controllers/link.d.ts +4 -0
  83. package/esm/controllers/link.js +9 -0
  84. package/esm/controllers/link.js.map +1 -1
  85. package/esm/controllers/note.js.map +1 -1
  86. package/esm/controllers/page.js.map +1 -1
  87. package/esm/controllers/post.js.map +1 -1
  88. package/esm/controllers/project.js.map +1 -1
  89. package/esm/controllers/recently.js.map +1 -1
  90. package/esm/controllers/say.js.map +1 -1
  91. package/esm/controllers/search.js.map +1 -1
  92. package/esm/controllers/severless.js.map +1 -1
  93. package/esm/controllers/snippet.js.map +1 -1
  94. package/esm/controllers/user.js +1 -1
  95. package/esm/controllers/user.js.map +1 -1
  96. package/esm/core/attach-request.js +4 -4
  97. package/esm/core/attach-request.js.map +1 -1
  98. package/esm/core/client.d.ts +0 -1
  99. package/esm/core/client.js +5 -10
  100. package/esm/core/client.js.map +1 -1
  101. package/esm/index.d.ts +1 -1
  102. package/esm/index.js.map +1 -1
  103. package/esm/models/link.d.ts +1 -0
  104. package/esm/models/snippet.js.map +1 -1
  105. package/esm/utils/path.d.ts +1 -0
  106. package/esm/utils/path.js +7 -0
  107. package/esm/utils/path.js.map +1 -0
  108. package/esm/vitest.config.d.ts +2 -0
  109. package/esm/vitest.config.js +11 -0
  110. package/esm/vitest.config.js.map +1 -0
  111. package/index.ts +2 -3
  112. package/interfaces/adapter.ts +1 -0
  113. package/interfaces/request.ts +3 -2
  114. package/lib/adaptors/axios.js.map +1 -1
  115. package/lib/adaptors/umi-request.js.map +1 -1
  116. package/lib/controllers/aggregate.js.map +1 -1
  117. package/lib/controllers/base.js.map +1 -1
  118. package/lib/controllers/category.js +1 -1
  119. package/lib/controllers/category.js.map +1 -1
  120. package/lib/controllers/comment.js.map +1 -1
  121. package/lib/controllers/link.d.ts +4 -0
  122. package/lib/controllers/link.js +9 -0
  123. package/lib/controllers/link.js.map +1 -1
  124. package/lib/controllers/note.js.map +1 -1
  125. package/lib/controllers/page.js.map +1 -1
  126. package/lib/controllers/post.js.map +1 -1
  127. package/lib/controllers/project.js.map +1 -1
  128. package/lib/controllers/recently.js.map +1 -1
  129. package/lib/controllers/say.js.map +1 -1
  130. package/lib/controllers/search.js.map +1 -1
  131. package/lib/controllers/severless.js.map +1 -1
  132. package/lib/controllers/snippet.js.map +1 -1
  133. package/lib/controllers/user.js +1 -1
  134. package/lib/controllers/user.js.map +1 -1
  135. package/lib/core/attach-request.js +4 -4
  136. package/lib/core/attach-request.js.map +1 -1
  137. package/lib/core/client.d.ts +0 -1
  138. package/lib/core/client.js +5 -10
  139. package/lib/core/client.js.map +1 -1
  140. package/lib/index.d.ts +1 -1
  141. package/lib/index.js.map +1 -1
  142. package/lib/models/link.d.ts +1 -0
  143. package/lib/models/snippet.js.map +1 -1
  144. package/lib/utils/path.d.ts +1 -0
  145. package/lib/utils/path.js +11 -0
  146. package/lib/utils/path.js.map +1 -0
  147. package/lib/vitest.config.d.ts +2 -0
  148. package/lib/vitest.config.js +16 -0
  149. package/lib/vitest.config.js.map +1 -0
  150. package/models/link.ts +1 -0
  151. package/models/snippet.ts +1 -0
  152. package/package.json +4 -5
  153. package/readme.md +3 -4
  154. package/test.d.ts +3 -0
  155. package/tsconfig.build.json +2 -4
  156. package/tsconfig.cjs.json +1 -1
  157. package/tsconfig.json +4 -15
  158. package/tsconfig.types.json +2 -5
  159. package/types/controllers/link.d.ts +4 -0
  160. package/types/core/client.d.ts +0 -1
  161. package/types/index.d.ts +1 -1
  162. package/types/models/link.d.ts +1 -0
  163. package/types/utils/path.d.ts +1 -0
  164. package/types/vitest.config.d.ts +2 -0
  165. package/utils/path.ts +6 -0
  166. package/vitest.config.ts +11 -0
  167. package/jest.config.js +0 -12
@@ -3,6 +3,7 @@ import { IController } from '~/interfaces/controller'
3
3
  import { IRequestHandler } from '~/interfaces/request'
4
4
  import { SayModel } from '~/models/say'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
+
6
7
  import { HTTPClient } from '../core'
7
8
  import { BaseCrudController } from './base'
8
9
 
@@ -5,6 +5,7 @@ import { PaginateResult } from '~/models/base'
5
5
  import { NoteModel } from '~/models/note'
6
6
  import { PostModel } from '~/models/post'
7
7
  import { autoBind } from '~/utils/auto-bind'
8
+
8
9
  import { PageModel } from '..'
9
10
  import { HTTPClient } from '../core'
10
11
 
@@ -2,6 +2,7 @@ import { IRequestAdapter } from '~/interfaces/adapter'
2
2
  import { IController } from '~/interfaces/controller'
3
3
  import { IRequestHandler } from '~/interfaces/request'
4
4
  import { autoBind } from '~/utils/auto-bind'
5
+
5
6
  import { HTTPClient } from '../core'
6
7
 
7
8
  declare module '../core/client' {
@@ -3,6 +3,7 @@ import { IController } from '~/interfaces/controller'
3
3
  import { IRequestHandler } from '~/interfaces/request'
4
4
  import { SnippetModel } from '~/models/snippet'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
+
6
7
  import { HTTPClient } from '../core'
7
8
 
8
9
  declare module '../core/client' {
@@ -3,6 +3,7 @@ import { IController } from '~/interfaces/controller'
3
3
  import { IRequestHandler } from '~/interfaces/request'
4
4
  import { TLogin, UserModel } from '~/models/user'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
+
6
7
  import { HTTPClient } from '../core'
7
8
 
8
9
  declare module '../core/client' {
@@ -44,7 +45,7 @@ export class UserController<ResponseWrapper> implements IController {
44
45
  checkTokenValid(token: string) {
45
46
  return this.proxy.check_logged.get<{ ok: number; isGuest: boolean }>({
46
47
  params: {
47
- token: 'bearer ' + token.replace(/^Bearer\s/i, ''),
48
+ token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
48
49
  },
49
50
  })
50
51
  }
@@ -2,17 +2,17 @@ import type { HTTPClient } from '.'
2
2
 
3
3
  export function attachRequestMethod<T extends HTTPClient<any, any>>(target: T) {
4
4
  Object.defineProperty(target, '$$get', {
5
- value: function (url: string, options?: any) {
5
+ value(url: string, options?: any) {
6
6
  // HINT: method get only accept search params;
7
7
  const { params = {} } = options
8
8
  const qs = handleSearchParams(params)
9
9
 
10
- return target.instance.get(url + `${qs ? `${'?' + qs}` : ''}`)
10
+ return target.instance.get(`${url}${qs ? `${`?${qs}`}` : ''}`)
11
11
  },
12
12
  })
13
13
  ;(['put', 'post', 'patch', 'delete'] as const).forEach((method) => {
14
- Object.defineProperty(target, '$$' + method, {
15
- value: function (path: string, options?: any) {
14
+ Object.defineProperty(target, `$$${method}`, {
15
+ value(path: string, options?: any) {
16
16
  return target.instance[method](path, options)
17
17
  },
18
18
  })
package/core/client.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import camelcaseKeys from 'camelcase-keys'
2
+
2
3
  import {
3
4
  IAdaptorRequestResponseType,
4
5
  IRequestAdapter,
@@ -9,6 +10,8 @@ import { RequestOptions } from '~/interfaces/instance'
9
10
  import { IRequestHandler, Method } from '~/interfaces/request'
10
11
  import { Class } from '~/interfaces/types'
11
12
  import { isPlainObject } from '~/utils'
13
+ import { resolveFullPath } from '~/utils/path'
14
+
12
15
  import { allContollerNames } from '../controllers'
13
16
  import { attachRequestMethod } from './attach-request'
14
17
  import { RequestError } from './error'
@@ -93,7 +96,7 @@ class HTTPClient<
93
96
  data?: any
94
97
  params?: any
95
98
  }) {
96
- return (this as any)['$$' + String(options.method || 'get').toLowerCase()](
99
+ return (this as any)[`$$${String(options.method || 'get').toLowerCase()}`](
97
100
  options.url,
98
101
  options,
99
102
  ) as Promise<IAdaptorRequestResponseType<any>>
@@ -103,13 +106,6 @@ class HTTPClient<
103
106
  return this._proxy
104
107
  }
105
108
 
106
- private resolveFullPath(path: string) {
107
- if (!path.startsWith('/')) {
108
- path = '/' + path
109
- }
110
- return `${this.endpoint}${path}`
111
- }
112
-
113
109
  private buildRoute(manager: this): () => IRequestHandler<ResponseWrapper> {
114
110
  // eslint-disable-next-line @typescript-eslint/no-empty-function
115
111
  const noop = () => {}
@@ -132,18 +128,18 @@ class HTTPClient<
132
128
  if (reflectors.includes(name))
133
129
  return (withBase?: boolean) => {
134
130
  if (withBase) {
135
- const path = that.resolveFullPath(route.join('/'))
131
+ const path = resolveFullPath(that.endpoint, route.join('/'))
136
132
  route.length = 0
137
133
  return path
138
134
  } else {
139
135
  const path = route.join('/')
140
136
  route.length = 0
141
- return path.startsWith('/') ? path : '/' + path
137
+ return path.startsWith('/') ? path : `/${path}`
142
138
  }
143
139
  }
144
140
  if (methods.includes(name)) {
145
141
  return async (options: RequestOptions) => {
146
- const url = that.resolveFullPath(route.join('/'))
142
+ const url = resolveFullPath(that.endpoint, route.join('/'))
147
143
  route.length = 0
148
144
  let res: Record<string, any> & { data: any }
149
145
  try {