@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.
- package/adaptors/axios.ts +2 -0
- package/adaptors/umi-request.ts +2 -1
- package/build/index.cjs.js +26 -16
- package/build/index.cjs.js.map +1 -1
- package/build/index.cjs.min.js +1 -1
- package/build/index.cjs.min.js.map +1 -1
- package/build/index.esm.js +26 -16
- package/build/index.esm.js.map +1 -1
- package/build/index.esm.min.js +1 -1
- package/build/index.esm.min.js.map +1 -1
- package/build/index.umd.js +26 -16
- package/build/index.umd.js.map +1 -1
- package/build/index.umd.min.js +1 -1
- package/build/index.umd.min.js.map +1 -1
- package/controllers/aggregate.ts +1 -0
- package/controllers/base.ts +1 -0
- package/controllers/category.ts +2 -1
- package/controllers/comment.ts +1 -0
- package/controllers/link.ts +19 -0
- package/controllers/note.ts +1 -0
- package/controllers/page.ts +1 -0
- package/controllers/post.ts +1 -0
- package/controllers/project.ts +1 -0
- package/controllers/recently.ts +1 -0
- package/controllers/say.ts +1 -0
- package/controllers/search.ts +1 -0
- package/controllers/severless.ts +1 -0
- package/controllers/snippet.ts +1 -0
- package/controllers/user.ts +2 -1
- package/core/attach-request.ts +4 -4
- package/core/client.ts +7 -11
- package/coverage/clover.xml +144 -136
- package/coverage/coverage-final.json +5943 -30
- package/coverage/lcov-report/adaptors/axios.ts.html +71 -69
- package/coverage/lcov-report/adaptors/index.html +180 -115
- package/coverage/lcov-report/adaptors/umi-request.ts.html +72 -70
- package/coverage/lcov-report/auto-bind.ts.html +67 -68
- package/coverage/lcov-report/base.css +253 -123
- package/coverage/lcov-report/block-navigation.js +68 -70
- package/coverage/lcov-report/controllers/aggregate.ts.html +74 -72
- package/coverage/lcov-report/controllers/base.ts.html +75 -73
- package/coverage/lcov-report/controllers/category.ts.html +86 -84
- package/coverage/lcov-report/controllers/comment.ts.html +75 -73
- package/coverage/lcov-report/controllers/index.html +446 -311
- package/coverage/lcov-report/controllers/index.ts.html +71 -69
- package/coverage/lcov-report/controllers/link.ts.html +121 -74
- package/coverage/lcov-report/controllers/note.ts.html +74 -72
- package/coverage/lcov-report/controllers/page.ts.html +74 -72
- package/coverage/lcov-report/controllers/post.ts.html +74 -72
- package/coverage/lcov-report/controllers/project.ts.html +75 -73
- package/coverage/lcov-report/controllers/recently.ts.html +74 -72
- package/coverage/lcov-report/controllers/say.ts.html +75 -73
- package/coverage/lcov-report/controllers/search.ts.html +75 -73
- package/coverage/lcov-report/controllers/severless.ts.html +74 -72
- package/coverage/lcov-report/controllers/snippet.ts.html +74 -72
- package/coverage/lcov-report/controllers/user.ts.html +75 -73
- package/coverage/lcov-report/core/attach-request.ts.html +84 -82
- package/coverage/lcov-report/core/client.ts.html +110 -126
- package/coverage/lcov-report/core/error.ts.html +71 -69
- package/coverage/lcov-report/core/index.html +218 -143
- package/coverage/lcov-report/core/index.ts.html +71 -69
- package/coverage/lcov-report/index.html +256 -171
- package/coverage/lcov-report/index.ts.html +67 -68
- package/coverage/lcov-report/models/aggregate.ts.html +71 -69
- package/coverage/lcov-report/models/category.ts.html +71 -69
- package/coverage/lcov-report/models/index.html +180 -115
- package/coverage/lcov-report/prettify.css +101 -1
- package/coverage/lcov-report/prettify.js +1003 -1
- package/coverage/lcov-report/sorter.js +169 -174
- package/coverage/lcov-report/utils/auto-bind.ts.html +80 -78
- package/coverage/lcov-report/utils/index.html +199 -114
- package/coverage/lcov-report/utils/index.ts.html +73 -71
- package/coverage/lcov-report/utils/path.ts.html +105 -0
- package/coverage/lcov.info +260 -242
- package/esm/adaptors/axios.js.map +1 -1
- package/esm/adaptors/umi-request.js.map +1 -1
- package/esm/controllers/aggregate.js.map +1 -1
- package/esm/controllers/base.js.map +1 -1
- package/esm/controllers/category.js +1 -1
- package/esm/controllers/category.js.map +1 -1
- package/esm/controllers/comment.js.map +1 -1
- package/esm/controllers/link.d.ts +4 -0
- package/esm/controllers/link.js +9 -0
- package/esm/controllers/link.js.map +1 -1
- package/esm/controllers/note.js.map +1 -1
- package/esm/controllers/page.js.map +1 -1
- package/esm/controllers/post.js.map +1 -1
- package/esm/controllers/project.js.map +1 -1
- package/esm/controllers/recently.js.map +1 -1
- package/esm/controllers/say.js.map +1 -1
- package/esm/controllers/search.js.map +1 -1
- package/esm/controllers/severless.js.map +1 -1
- package/esm/controllers/snippet.js.map +1 -1
- package/esm/controllers/user.js +1 -1
- package/esm/controllers/user.js.map +1 -1
- package/esm/core/attach-request.js +4 -4
- package/esm/core/attach-request.js.map +1 -1
- package/esm/core/client.d.ts +0 -1
- package/esm/core/client.js +5 -10
- package/esm/core/client.js.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js.map +1 -1
- package/esm/models/link.d.ts +1 -0
- package/esm/models/snippet.js.map +1 -1
- package/esm/utils/path.d.ts +1 -0
- package/esm/utils/path.js +7 -0
- package/esm/utils/path.js.map +1 -0
- package/esm/vitest.config.d.ts +2 -0
- package/esm/vitest.config.js +11 -0
- package/esm/vitest.config.js.map +1 -0
- package/index.ts +2 -3
- package/interfaces/adapter.ts +1 -0
- package/interfaces/request.ts +3 -2
- package/lib/adaptors/axios.js.map +1 -1
- package/lib/adaptors/umi-request.js.map +1 -1
- package/lib/controllers/aggregate.js.map +1 -1
- package/lib/controllers/base.js.map +1 -1
- package/lib/controllers/category.js +1 -1
- package/lib/controllers/category.js.map +1 -1
- package/lib/controllers/comment.js.map +1 -1
- package/lib/controllers/link.d.ts +4 -0
- package/lib/controllers/link.js +9 -0
- package/lib/controllers/link.js.map +1 -1
- package/lib/controllers/note.js.map +1 -1
- package/lib/controllers/page.js.map +1 -1
- package/lib/controllers/post.js.map +1 -1
- package/lib/controllers/project.js.map +1 -1
- package/lib/controllers/recently.js.map +1 -1
- package/lib/controllers/say.js.map +1 -1
- package/lib/controllers/search.js.map +1 -1
- package/lib/controllers/severless.js.map +1 -1
- package/lib/controllers/snippet.js.map +1 -1
- package/lib/controllers/user.js +1 -1
- package/lib/controllers/user.js.map +1 -1
- package/lib/core/attach-request.js +4 -4
- package/lib/core/attach-request.js.map +1 -1
- package/lib/core/client.d.ts +0 -1
- package/lib/core/client.js +5 -10
- package/lib/core/client.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models/link.d.ts +1 -0
- package/lib/models/snippet.js.map +1 -1
- package/lib/utils/path.d.ts +1 -0
- package/lib/utils/path.js +11 -0
- package/lib/utils/path.js.map +1 -0
- package/lib/vitest.config.d.ts +2 -0
- package/lib/vitest.config.js +16 -0
- package/lib/vitest.config.js.map +1 -0
- package/models/link.ts +1 -0
- package/models/snippet.ts +1 -0
- package/package.json +4 -5
- package/readme.md +3 -4
- package/test.d.ts +3 -0
- package/tsconfig.build.json +2 -4
- package/tsconfig.cjs.json +1 -1
- package/tsconfig.json +4 -15
- package/tsconfig.types.json +2 -5
- package/types/controllers/link.d.ts +4 -0
- package/types/core/client.d.ts +0 -1
- package/types/index.d.ts +1 -1
- package/types/models/link.d.ts +1 -0
- package/types/utils/path.d.ts +1 -0
- package/types/vitest.config.d.ts +2 -0
- package/utils/path.ts +6 -0
- package/vitest.config.ts +11 -0
- package/jest.config.js +0 -12
package/controllers/say.ts
CHANGED
|
@@ -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
|
|
package/controllers/search.ts
CHANGED
package/controllers/severless.ts
CHANGED
|
@@ -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' {
|
package/controllers/snippet.ts
CHANGED
|
@@ -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' {
|
package/controllers/user.ts
CHANGED
|
@@ -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:
|
|
48
|
+
token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
|
|
48
49
|
},
|
|
49
50
|
})
|
|
50
51
|
}
|
package/core/attach-request.ts
CHANGED
|
@@ -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
|
|
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(
|
|
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,
|
|
15
|
-
value
|
|
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)[
|
|
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.
|
|
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 :
|
|
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.
|
|
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 {
|