Files
directus/packages/shared/src/composables/use-system.ts
Nicola Krumschmidt af0a197a99 Make registered extensions accessible from extensions (#10849)
* Add extensions system provide and useExtensions composable

* Expose useExtensions through extensions-sdk
2022-01-05 10:33:52 -05:00

29 lines
819 B
TypeScript

import { inject } from 'vue';
import { AxiosInstance } from 'axios';
import { API_INJECT, EXTENSIONS_INJECT, STORES_INJECT } from '../constants';
import { AppExtensionConfigs } from '../types';
export function useStores(): Record<string, any> {
const stores = inject<Record<string, any>>(STORES_INJECT);
if (!stores) throw new Error('[useStores]: The stores could not be found.');
return stores;
}
export function useApi(): AxiosInstance {
const api = inject<AxiosInstance>(API_INJECT);
if (!api) throw new Error('[useApi]: The api could not be found.');
return api;
}
export function useExtensions(): AppExtensionConfigs {
const extensions = inject<AppExtensionConfigs>(EXTENSIONS_INJECT);
if (!extensions) throw new Error('[useExtensions]: The extensions could not be found.');
return extensions;
}