fix!: remove ky

Signed-off-by: Innei <i@innei.in>
This commit is contained in:
Innei
2024-02-29 19:05:00 +08:00
parent e3f5d3398f
commit f9d612f748
4 changed files with 2 additions and 90 deletions

View File

@@ -1,9 +0,0 @@
import '../helpers/global-fetch'
import { defaultKyAdaptor } from '~/adaptors/ky'
import { testAdaptor } from '../helpers/adaptor-test'
describe('test ky adaptor', () => {
testAdaptor(defaultKyAdaptor)
})

View File

@@ -7,7 +7,7 @@ describe('test activity client', () => {
test('POST /like', async () => {
mockResponse('/activity/like', {}, 'post', {
type: 'Note',
type: 'note',
id: '11111111',
})

View File

@@ -1,78 +0,0 @@
import ky from 'ky'
import type { IRequestAdapter } from '~/interfaces/adapter'
import type { Options, ResponsePromise } from 'ky'
import type { KyInstance } from 'ky/distribution/types/ky'
// eslint-disable-next-line spaced-comment
const $http: KyInstance = /*#__PURE__*/ ky.create({})
// TODO post data not only json,
const getDataFromKyResponse = async (response: ResponsePromise) => {
const res = await response
const isJsonType = res.headers
.get('content-type')
?.includes('application/json')
const json = isJsonType ? await res.clone().json() : null
const result: Awaited<ResponsePromise> & {
data: any
} = {
...res,
data: json ?? (await res.clone().text()),
}
return result
}
export const createKyAdaptor = (ky: KyInstance) => {
const adaptor: IRequestAdapter<KyInstance, ResponsePromise> =
Object.preventExtensions({
get default() {
return ky
},
responseWrapper: {} as any as ResponsePromise,
get(url, options) {
return getDataFromKyResponse(ky.get(url, options))
},
async post(url, options) {
const data = options.data
delete options.data
const kyOptions: Options = {
...options,
json: data,
}
// FIXME https://github.com/sindresorhus/ky/issues/535
return getDataFromKyResponse(ky.post(url, kyOptions))
},
put(url, options) {
const data = options.data
delete options.data
const kyOptions: Options = {
...options,
json: data,
}
return getDataFromKyResponse(ky.put(url, kyOptions))
},
patch(url, options) {
const data = options.data
delete options.data
const kyOptions: Options = {
...options,
json: data,
}
return getDataFromKyResponse(ky.patch(url, kyOptions))
},
delete(url, options) {
return getDataFromKyResponse(ky.delete(url, options))
},
})
return adaptor
}
export const defaultKyAdaptor = createKyAdaptor($http)
// eslint-disable-next-line import/no-default-export
export default defaultKyAdaptor

View File

@@ -53,11 +53,10 @@
"cors": "2.8.5",
"express": "4.18.2",
"form-data": "4.0.0",
"ky": "1.2.1",
"lodash": "4.17.21",
"tsup": "8.0.2",
"umi-request": "1.4.0",
"vite": "^5.1.3",
"vitest": "^1.0.4"
}
}
}