useApi.ts 446 B

123456789101112131415161718
  1. import { useNuxtApp } from '#app'
  2. import type { IApiInstance } from '~/plugins/api.client'
  3. export function useApi() {
  4. const { $api } = useNuxtApp()
  5. function checkModule<T extends keyof IApiInstance>(moduleName: T): IApiInstance[T] {
  6. if (!$api?.[moduleName]) {
  7. throw new Error(`Модуль ${moduleName} не инициализирован`)
  8. }
  9. return $api[moduleName]
  10. }
  11. return {
  12. api: $api,
  13. checkModule,
  14. }
  15. }