Initial commit

This commit is contained in:
AI
2026-05-03 07:26:12 +00:00
commit 776d374b59
57 changed files with 15968 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
import type {
ApiRequestOptions,
ExampleApi,
ExampleHealthResponse,
ExampleWelcomeResponse
} from '~/types/api'
interface CreateExampleApiOptions {
baseURL: string
timeoutMs: number
}
export function createExampleApi(options: CreateExampleApiOptions): ExampleApi {
const request = async <T>(path: string, requestOptions?: ApiRequestOptions) => {
return await $fetch<T>(path, {
baseURL: options.baseURL,
signal: requestOptions?.signal,
timeout: options.timeoutMs
})
}
return {
getHealth(options?: ApiRequestOptions): Promise<ExampleHealthResponse> {
return request<ExampleHealthResponse>('/health', options)
},
getWelcome(options?: ApiRequestOptions): Promise<ExampleWelcomeResponse> {
return request<ExampleWelcomeResponse>('/welcome', options)
}
}
}