-
Notifications
You must be signed in to change notification settings - Fork 35
/
$api.ts
133 lines (130 loc) · 10.2 KB
/
$api.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/* eslint-disable */
import { AspidaClient, optionToRequest } from 'aspida'
import * as ApiTypes from './@types'
import * as apiUtils from './@utils'
import { Methods as Methods0 } from './index'
import { Methods as Methods1 } from './v1.1/2/_hogeId@HogeId/entries.json'
import { Methods as Methods2 } from './v1.1/2/_hogeId@HogeId/test-4/index'
import { Methods as Methods3 } from './v1.1/2/_hogeId@HogeId/test-4/_fugaId'
import { Methods as Methods4 } from './v1.1/2/_hogeId@HogeId/test-4/fuga aa'
import { Methods as Methods5 } from './v1.1/3.1'
import { Methods as Methods6 } from './v1.1/users/_userId@number'
import { Methods as Methods7 } from './v2.0/index'
const api = (client: AspidaClient, baseURL?: string) => {
const prefix = (baseURL === undefined ? '' : baseURL).replace(/\/$/, '')
return {
v1_1: {
$2: {
_hogeId: (val0: ApiTypes.HogeId) => ({
entries_json: {
get: () =>
client.fetch<Methods1['get']['resData']>(`${prefix}/v1.1/2/${val0}/entries.json`, 'GET').json(),
$get: async () =>
(await client.fetch<Methods1['get']['resData']>(`${prefix}/v1.1/2/${val0}/entries.json`, 'GET').json()).data
},
test_4: {
_fugaId: (val1: number | string) => ({
get: (option?: { query?: Methods3['get']['query'] }) =>
client.fetch<Methods3['get']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'GET', option).json(),
$get: async (option?: { query?: Methods3['get']['query'] }) =>
(await client.fetch<Methods3['get']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'GET', option).json()).data,
post: (option: { data?: Methods3['post']['reqData'], query: Methods3['post']['query'] }) =>
client.fetch<Methods3['post']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'POST', optionToRequest(option)).json(),
$post: async (option: { data?: Methods3['post']['reqData'], query: Methods3['post']['query'] }) =>
(await client.fetch<Methods3['post']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'POST', optionToRequest(option)).json()).data,
put: (option: { query: Methods3['put']['query'] }) =>
client.fetch<Methods3['put']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'PUT', option).json(),
$put: async (option: { query: Methods3['put']['query'] }) =>
(await client.fetch<Methods3['put']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'PUT', option).json()).data,
delete: (option: { query: Methods3['delete']['query'] }) =>
client.fetch<Methods3['delete']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'DELETE', option).json(),
$delete: async (option: { query: Methods3['delete']['query'] }) =>
(await client.fetch<Methods3['delete']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/${val1}`, 'DELETE', option).json()).data
}),
fuga_aa: {
get: (option: { query: Methods4['get']['query'] }) =>
client.fetch<Methods4['get']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'GET', option).json(),
$get: async (option: { query: Methods4['get']['query'] }) =>
(await client.fetch<Methods4['get']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'GET', option).json()).data,
post: (option: { data?: Methods4['post']['reqData'], query: Methods4['post']['query'] }) =>
client.fetch<Methods4['post']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'POST', optionToRequest(option)).json(),
$post: async (option: { data?: Methods4['post']['reqData'], query: Methods4['post']['query'] }) =>
(await client.fetch<Methods4['post']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'POST', optionToRequest(option)).json()).data,
put: (option: { query: Methods4['put']['query'] }) =>
client.fetch<Methods4['put']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'PUT', option).json(),
$put: async (option: { query: Methods4['put']['query'] }) =>
(await client.fetch<Methods4['put']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'PUT', option).json()).data,
delete: (option: { data: Methods4['delete']['reqData'], query: Methods4['delete']['query'] }) =>
client.fetch<Methods4['delete']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'DELETE', optionToRequest(option)).json(),
$delete: async (option: { data: Methods4['delete']['reqData'], query: Methods4['delete']['query'] }) =>
(await client.fetch<Methods4['delete']['resData']>(`${prefix}/v1.1/2/${val0}/test-4/fuga aa`, 'DELETE', optionToRequest(option)).json()).data
},
get: (option: { query: Methods2['get']['query'] }) =>
client.fetch<void>(`${prefix}/v1.1/2/${val0}/test-4`, 'GET', option).send(),
$get: async (option: { query: Methods2['get']['query'] }) =>
(await client.fetch<void>(`${prefix}/v1.1/2/${val0}/test-4`, 'GET', option).send()).data,
post: (option?: { data?: Methods2['post']['reqData'], query?: Methods2['post']['query'] }) =>
client.fetch<void>(`${prefix}/v1.1/2/${val0}/test-4`, 'POST', !option ? undefined : optionToRequest(option)).send(),
$post: async (option?: { data?: Methods2['post']['reqData'], query?: Methods2['post']['query'] }) =>
(await client.fetch<void>(`${prefix}/v1.1/2/${val0}/test-4`, 'POST', !option ? undefined : optionToRequest(option)).send()).data,
put: (option?: { query?: Methods2['put']['query'] }) =>
client.fetch<Methods2['put']['resData']>(`${prefix}/v1.1/2/${val0}/test-4`, 'PUT', option).json(),
$put: async (option?: { query?: Methods2['put']['query'] }) =>
(await client.fetch<Methods2['put']['resData']>(`${prefix}/v1.1/2/${val0}/test-4`, 'PUT', option).json()).data,
delete: (option: { query: Methods2['delete']['query'] }) =>
client.fetch<Methods2['delete']['resData']>(`${prefix}/v1.1/2/${val0}/test-4`, 'DELETE', option).json(),
$delete: async (option: { query: Methods2['delete']['query'] }) =>
(await client.fetch<Methods2['delete']['resData']>(`${prefix}/v1.1/2/${val0}/test-4`, 'DELETE', option).json()).data
}
})
},
$3_1: {
get: (option: { query?: Methods5['get']['query'], headers: Methods5['get']['reqHeaders'] }) =>
client.fetch<Methods5['get']['resData']>(`${prefix}/v1.1/3.1`, 'GET', option).json(),
$get: async (option: { query?: Methods5['get']['query'], headers: Methods5['get']['reqHeaders'] }) =>
(await client.fetch<Methods5['get']['resData']>(`${prefix}/v1.1/3.1`, 'GET', option).json()).data,
post: (option: { data?: Methods5['post']['reqData'], query: Methods5['post']['query'] }) =>
client.fetch<Methods5['post']['resData']>(`${prefix}/v1.1/3.1`, 'POST', optionToRequest(option, 'URLSearchParams')).json(),
$post: async (option: { data?: Methods5['post']['reqData'], query: Methods5['post']['query'] }) =>
(await client.fetch<Methods5['post']['resData']>(`${prefix}/v1.1/3.1`, 'POST', optionToRequest(option, 'URLSearchParams')).json()).data
},
users: {
_userId: (val2: number) => ({
get: (option: { query: Methods6['get']['query'], headers: Methods6['get']['reqHeaders'] }) =>
client.fetch<Methods6['get']['resData']>(`${prefix}/v1.1/users/${val2}`, 'GET', option).json(),
$get: async (option: { query: Methods6['get']['query'], headers: Methods6['get']['reqHeaders'] }) =>
(await client.fetch<Methods6['get']['resData']>(`${prefix}/v1.1/users/${val2}`, 'GET', option).json()).data,
post: (option: { query: Methods6['post']['query'] }) =>
client.fetch<Methods6['post']['resData']>(`${prefix}/v1.1/users/${val2}`, 'POST', option).json(),
$post: async (option: { query: Methods6['post']['query'] }) =>
(await client.fetch<Methods6['post']['resData']>(`${prefix}/v1.1/users/${val2}`, 'POST', option).json()).data
})
}
},
v2_0: {
get: (option: { data: Methods7['get']['reqData'], query: Methods7['get']['query'], headers: Methods7['get']['reqHeaders'] }) =>
client.fetch<Methods7['get']['resData'], Methods7['get']['resHeaders']>(`${prefix}/v2.0`, 'GET', optionToRequest(option, 'FormData')).json(),
$get: async (option: { data: Methods7['get']['reqData'], query: Methods7['get']['query'], headers: Methods7['get']['reqHeaders'] }) =>
(await client.fetch<Methods7['get']['resData'], Methods7['get']['resHeaders']>(`${prefix}/v2.0`, 'GET', optionToRequest(option, 'FormData')).json()).data
},
get: (option: { query: Methods0['get']['query'] }) =>
client.fetch<Methods0['get']['resData']>(`${prefix}/`, 'GET', option).formData(),
$get: async (option: { query: Methods0['get']['query'] }) =>
(await client.fetch<Methods0['get']['resData']>(`${prefix}/`, 'GET', option).formData()).data,
post: (option: { data?: Methods0['post']['reqData'], query: Methods0['post']['query'] }) =>
client.fetch<Methods0['post']['resData']>(`${prefix}/`, 'POST', optionToRequest(option)).arrayBuffer(),
$post: async (option: { data?: Methods0['post']['reqData'], query: Methods0['post']['query'] }) =>
(await client.fetch<Methods0['post']['resData']>(`${prefix}/`, 'POST', optionToRequest(option)).arrayBuffer()).data,
put: (option: { query: Methods0['put']['query'] }) =>
client.fetch<Methods0['put']['resData']>(`${prefix}/`, 'PUT', option).text(),
$put: async (option: { query: Methods0['put']['query'] }) =>
(await client.fetch<Methods0['put']['resData']>(`${prefix}/`, 'PUT', option).text()).data,
delete: (option: { query: Methods0['delete']['query'] }) =>
client.fetch<Methods0['delete']['resData']>(`${prefix}/`, 'DELETE', option).blob(),
$delete: async (option: { query: Methods0['delete']['query'] }) =>
(await client.fetch<Methods0['delete']['resData']>(`${prefix}/`, 'DELETE', option).blob()).data
}
}
export { ApiTypes, apiUtils }
export type ApiInstance = ReturnType<typeof api>
export default api