@devup-api/fetch 0.1.2 → 0.1.3
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/README.md +150 -9
- package/dist/api.d.ts +12 -12
- package/dist/api.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# @devup-api/fetch
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Provides fetch API for end users.
|
|
3
|
+
Type-safe API client built on top of fetch.
|
|
6
4
|
|
|
7
5
|
## Installation
|
|
8
6
|
|
|
@@ -12,13 +10,156 @@ npm install @devup-api/fetch
|
|
|
12
10
|
|
|
13
11
|
## Usage
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
### Create API Instance
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { createApi } from '@devup-api/fetch'
|
|
17
17
|
|
|
18
|
-
const
|
|
19
|
-
method: 'GET',
|
|
18
|
+
const api = createApi('https://api.example.com', {
|
|
20
19
|
headers: {
|
|
21
|
-
'Content-Type': 'application/json'
|
|
20
|
+
'Content-Type': 'application/json'
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Making Requests
|
|
26
|
+
|
|
27
|
+
#### GET Request
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
// Using operationId
|
|
31
|
+
const result = await api.get('getUsers', {
|
|
32
|
+
query: { page: 1, limit: 20 }
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
// Using path
|
|
36
|
+
const result = await api.get('/users/{id}', {
|
|
37
|
+
params: { id: '123' },
|
|
38
|
+
query: { include: 'posts' }
|
|
39
|
+
})
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### POST Request
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
const result = await api.post('createUser', {
|
|
46
|
+
body: {
|
|
47
|
+
name: 'John Doe',
|
|
48
|
+
email: 'john@example.com'
|
|
22
49
|
},
|
|
23
|
-
|
|
50
|
+
headers: {
|
|
51
|
+
Authorization: 'Bearer token'
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
#### PUT Request
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
const result = await api.put('updateUser', {
|
|
60
|
+
params: { id: '123' },
|
|
61
|
+
body: {
|
|
62
|
+
name: 'Jane Doe'
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### PATCH Request
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
const result = await api.patch('patchUser', {
|
|
71
|
+
params: { id: '123' },
|
|
72
|
+
body: {
|
|
73
|
+
name: 'Jane Doe'
|
|
74
|
+
}
|
|
75
|
+
})
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### DELETE Request
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
const result = await api.delete('deleteUser', {
|
|
82
|
+
params: { id: '123' }
|
|
83
|
+
})
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Response Handling
|
|
87
|
+
|
|
88
|
+
All methods return a promise that resolves to:
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
type DevupApiResponse<T, E> =
|
|
92
|
+
| { data: T; error?: undefined; response: Response }
|
|
93
|
+
| { data?: undefined; error: E; response: Response }
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Example:
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
const result = await api.get('getUser', { params: { id: '123' } })
|
|
100
|
+
|
|
101
|
+
if (result.data) {
|
|
102
|
+
// Success - result.data is fully typed based on your OpenAPI schema
|
|
103
|
+
console.log(result.data.name)
|
|
104
|
+
console.log(result.data.email)
|
|
105
|
+
} else if (result.error) {
|
|
106
|
+
// Error - result.error is typed based on your OpenAPI error schemas
|
|
107
|
+
console.error(result.error.message)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Access raw Response object
|
|
111
|
+
console.log(result.response.status)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Using Path Parameters
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
// Path parameters are automatically replaced
|
|
118
|
+
const result = await api.get('/users/{userId}/posts/{postId}', {
|
|
119
|
+
params: {
|
|
120
|
+
userId: '123',
|
|
121
|
+
postId: '456'
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
// URL becomes: /users/123/posts/456
|
|
24
125
|
```
|
|
126
|
+
|
|
127
|
+
### Using Query Parameters
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
const result = await api.get('/users', {
|
|
131
|
+
query: {
|
|
132
|
+
page: 1,
|
|
133
|
+
limit: 20,
|
|
134
|
+
sort: 'name'
|
|
135
|
+
}
|
|
136
|
+
})
|
|
137
|
+
// URL becomes: /users?page=1&limit=20&sort=name
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## API Methods
|
|
141
|
+
|
|
142
|
+
- `api.get(path, options)` - GET request
|
|
143
|
+
- `api.GET(path, options)` - GET request (uppercase alias)
|
|
144
|
+
- `api.post(path, options)` - POST request
|
|
145
|
+
- `api.POST(path, options)` - POST request (uppercase alias)
|
|
146
|
+
- `api.put(path, options)` - PUT request
|
|
147
|
+
- `api.PUT(path, options)` - PUT request (uppercase alias)
|
|
148
|
+
- `api.patch(path, options)` - PATCH request
|
|
149
|
+
- `api.PATCH(path, options)` - PATCH request (uppercase alias)
|
|
150
|
+
- `api.delete(path, options)` - DELETE request
|
|
151
|
+
- `api.DELETE(path, options)` - DELETE request (uppercase alias)
|
|
152
|
+
|
|
153
|
+
## Type Safety
|
|
154
|
+
|
|
155
|
+
All API methods are fully typed based on your OpenAPI schema:
|
|
156
|
+
|
|
157
|
+
- Path parameters are type-checked
|
|
158
|
+
- Request bodies are type-checked
|
|
159
|
+
- Query parameters are type-checked
|
|
160
|
+
- Response types are inferred automatically
|
|
161
|
+
- Error types are inferred automatically
|
|
162
|
+
|
|
163
|
+
## License
|
|
164
|
+
|
|
165
|
+
Apache 2.0
|
package/dist/api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Additional, DevupApiRequestInit, DevupApiStruct, DevupApiStructKey, DevupDeleteApiStruct, DevupDeleteApiStructKey, DevupGetApiStruct, DevupGetApiStructKey, DevupPatchApiStruct, DevupPatchApiStructKey, DevupPostApiStruct, DevupPostApiStructKey, DevupPutApiStruct, DevupPutApiStructKey, ExtractValue, RequiredOptions } from '@devup-api/core';
|
|
2
|
-
type DevupApiResponse<T, E =
|
|
2
|
+
type DevupApiResponse<T, E = any> = {
|
|
3
3
|
data: T;
|
|
4
4
|
error?: undefined;
|
|
5
5
|
response: Response;
|
|
@@ -12,17 +12,17 @@ export declare class DevupApi {
|
|
|
12
12
|
private baseUrl;
|
|
13
13
|
private defaultOptions;
|
|
14
14
|
constructor(baseUrl: string, defaultOptions?: DevupApiRequestInit);
|
|
15
|
-
get<T extends DevupGetApiStructKey, O extends Additional<T, DevupGetApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response' | 'error'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
16
|
-
GET<T extends DevupGetApiStructKey, O extends Additional<T, DevupGetApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
17
|
-
post<T extends DevupPostApiStructKey, O extends Additional<T, DevupPostApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
18
|
-
POST<T extends DevupPostApiStructKey, O extends Additional<T, DevupPostApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
19
|
-
put<T extends DevupPutApiStructKey, O extends Additional<T, DevupPutApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
20
|
-
PUT<T extends DevupPutApiStructKey, O extends Additional<T, DevupPutApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
21
|
-
delete<T extends DevupDeleteApiStructKey, O extends Additional<T, DevupDeleteApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
22
|
-
DELETE<T extends DevupDeleteApiStructKey, O extends Additional<T, DevupDeleteApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
23
|
-
patch<T extends DevupPatchApiStructKey, O extends Additional<T, DevupPatchApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
24
|
-
PATCH<T extends DevupPatchApiStructKey, O extends Additional<T, DevupPatchApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
25
|
-
request<T extends DevupApiStructKey, O extends Additional<T, DevupApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'
|
|
15
|
+
get<T extends DevupGetApiStructKey, O extends Additional<T, DevupGetApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response' | 'error'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
16
|
+
GET<T extends DevupGetApiStructKey, O extends Additional<T, DevupGetApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
17
|
+
post<T extends DevupPostApiStructKey, O extends Additional<T, DevupPostApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
18
|
+
POST<T extends DevupPostApiStructKey, O extends Additional<T, DevupPostApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
19
|
+
put<T extends DevupPutApiStructKey, O extends Additional<T, DevupPutApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
20
|
+
PUT<T extends DevupPutApiStructKey, O extends Additional<T, DevupPutApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
21
|
+
delete<T extends DevupDeleteApiStructKey, O extends Additional<T, DevupDeleteApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
22
|
+
DELETE<T extends DevupDeleteApiStructKey, O extends Additional<T, DevupDeleteApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
23
|
+
patch<T extends DevupPatchApiStructKey, O extends Additional<T, DevupPatchApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
24
|
+
PATCH<T extends DevupPatchApiStructKey, O extends Additional<T, DevupPatchApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
25
|
+
request<T extends DevupApiStructKey, O extends Additional<T, DevupApiStruct>>(path: T, ...options: [RequiredOptions<O>] extends [never] ? [options?: DevupApiRequestInit] : [options: DevupApiRequestInit & Omit<O, 'response'>]): Promise<DevupApiResponse<ExtractValue<O, 'response'>, ExtractValue<O, 'error'>>>;
|
|
26
26
|
setDefaultOptions(options: DevupApiRequestInit): void;
|
|
27
27
|
getBaseUrl(): string;
|
|
28
28
|
getDefaultOptions(): DevupApiRequestInit;
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAA;AAMxB,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAC5B;IACE,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;CACnB,GACD;IACE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAA;AAEL,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,cAAc,CAAqB;gBAE/B,OAAO,EAAE,MAAM,EAAE,cAAc,GAAE,mBAAwB;IAKrE,GAAG,CACD,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAE1C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,GACjE,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,GAAG,CACD,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAE1C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,IAAI,CACF,CAAC,SAAS,qBAAqB,EAC/B,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAE3C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,IAAI,CACF,CAAC,SAAS,qBAAqB,EAC/B,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAE3C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,GAAG,CACD,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAE1C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,GAAG,CACD,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAE1C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,MAAM,CACJ,CAAC,SAAS,uBAAuB,EACjC,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAE7C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,MAAM,CACJ,CAAC,SAAS,uBAAuB,EACjC,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAE7C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,KAAK,CACH,CAAC,SAAS,sBAAsB,EAChC,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAE5C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,KAAK,CACH,CAAC,SAAS,sBAAsB,EAChC,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAE5C,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAOD,OAAO,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,EAC1E,IAAI,EAAE,CAAC,EACP,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAC/B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GACvD,OAAO,CACR,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACxE;IAmCD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IAI9C,UAAU;IAIV,iBAAiB;CAGlB"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var{defineProperty:
|
|
1
|
+
var{defineProperty:U,getOwnPropertyNames:M,getOwnPropertyDescriptor:T}=Object,V=Object.prototype.hasOwnProperty,u=(f,c,g)=>{for(let P of M(c))if(!V.call(f,P)&&P!=="default")U(f,P,{get:()=>c[P],enumerable:!0});if(g){for(let P of M(c))if(!V.call(g,P)&&P!=="default")U(g,P,{get:()=>c[P],enumerable:!0});return g}};var I=new WeakMap,l=(f)=>{var c=I.get(f),g;if(c)return c;if(c=U({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")M(f).map((P)=>!V.call(c,P)&&U(c,P,{get:()=>f[P],enumerable:!(g=T(f,P))||g.enumerable}));return I.set(f,c),c};var R=(f,c)=>{for(var g in c)U(f,g,{get:c[g],enumerable:!0,configurable:!0,set:(P)=>c[g]=()=>P})};var _={};R(_,{createApi:()=>v});module.exports=l(_);u(_,require("@devup-api/core"),module.exports);var w={};R(w,{createApi:()=>v});async function $(f,c,g="json"){if(c.status===204||f.method==="HEAD"||c.headers.get("Content-Length")==="0")return c.ok?{data:void 0,response:c}:{error:void 0,response:c};if(c.ok){if(g==="stream")return{data:c.body,response:c};return{data:await c[g](),response:c}}let P=await c.text();try{P=JSON.parse(P)}catch{}return{error:P,response:c}}var m=JSON.parse(process.env.DEVUP_API_URL_MAP||"{}");function E(f){return m[f]||{method:"GET",url:f}}function L(f){if(f===null||typeof f!=="object")return!1;return Object.getPrototypeOf(f)===Object.prototype}function b(f,c,g){let P=`${f}${c}`;for(let[j,x]of Object.entries(g??{}))P=P.replace(`{${j}}`,x);return P}class D{baseUrl;defaultOptions;constructor(f,c={}){this.baseUrl=f.replace(/\/$/,""),this.defaultOptions=c}get(f,...c){return this.request(f,{method:"GET",...c[0]})}GET(f,...c){return this.request(f,{method:"GET",...c[0]})}post(f,...c){return this.request(f,{method:"POST",...c[0]})}POST(f,...c){return this.request(f,{method:"POST",...c[0]})}put(f,...c){return this.request(f,{method:"PUT",...c[0]})}PUT(f,...c){return this.request(f,{method:"PUT",...c[0]})}delete(f,...c){return this.request(f,{method:"DELETE",...c[0]})}DELETE(f,...c){return this.request(f,{method:"DELETE",...c[0]})}patch(f,...c){return this.request(f,{method:"PATCH",...c[0]})}PATCH(f,...c){return this.request(f,{method:"PATCH",...c[0]})}request(f,...c){let{method:g,url:P}=E(f),j={...this.defaultOptions,...c[0]},x={...j,method:j.method||g};if(x.body&&L(x.body))x.body=JSON.stringify(x.body);let A=new Request(b(this.baseUrl,P,x.params),x);return fetch(A).then((G)=>$(A,G))}setDefaultOptions(f){this.defaultOptions=f}getBaseUrl(){return this.baseUrl}getDefaultOptions(){return this.defaultOptions}}function v(f,c){return new D(f,c)}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"@devup-api/core";async function
|
|
1
|
+
export*from"@devup-api/core";async function u(f,c,x="json"){if(c.status===204||f.method==="HEAD"||c.headers.get("Content-Length")==="0")return c.ok?{data:void 0,response:c}:{error:void 0,response:c};if(c.ok){if(x==="stream")return{data:c.body,response:c};return{data:await c[x](),response:c}}let P=await c.text();try{P=JSON.parse(P)}catch{}return{error:P,response:c}}var A=JSON.parse(process.env.DEVUP_API_URL_MAP||"{}");function M(f){return A[f]||{method:"GET",url:f}}function V(f){if(f===null||typeof f!=="object")return!1;return Object.getPrototypeOf(f)===Object.prototype}function D(f,c,x){let P=`${f}${c}`;for(let[U,g]of Object.entries(x??{}))P=P.replace(`{${U}}`,g);return P}class _{baseUrl;defaultOptions;constructor(f,c={}){this.baseUrl=f.replace(/\/$/,""),this.defaultOptions=c}get(f,...c){return this.request(f,{method:"GET",...c[0]})}GET(f,...c){return this.request(f,{method:"GET",...c[0]})}post(f,...c){return this.request(f,{method:"POST",...c[0]})}POST(f,...c){return this.request(f,{method:"POST",...c[0]})}put(f,...c){return this.request(f,{method:"PUT",...c[0]})}PUT(f,...c){return this.request(f,{method:"PUT",...c[0]})}delete(f,...c){return this.request(f,{method:"DELETE",...c[0]})}DELETE(f,...c){return this.request(f,{method:"DELETE",...c[0]})}patch(f,...c){return this.request(f,{method:"PATCH",...c[0]})}PATCH(f,...c){return this.request(f,{method:"PATCH",...c[0]})}request(f,...c){let{method:x,url:P}=M(f),U={...this.defaultOptions,...c[0]},g={...U,method:U.method||x};if(g.body&&V(g.body))g.body=JSON.stringify(g.body);let j=new Request(D(this.baseUrl,P,g.params),g);return fetch(j).then((v)=>u(j,v))}setDefaultOptions(f){this.defaultOptions=f}getBaseUrl(){return this.baseUrl}getDefaultOptions(){return this.defaultOptions}}function I(f,c){return new _(f,c)}export{I as createApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devup-api/fetch",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@devup-api/core": "0.1.
|
|
23
|
+
"@devup-api/core": "0.1.3"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^24.10",
|