chamesu
Version:
This package contains all packages of the chat application.
55 lines (44 loc) • 1.48 kB
text/typescript
/*
* Copyright (c) 2022.
* Author Peter Placzek (tada5hi)
* For the full copyright and license information,
* view the LICENSE file that was distributed with this source code.
*/
import {Context} from "@nuxt/types";
import {Inject} from "@nuxt/types/app";
import BaseStorage from "~/modules/storage";
import AuthStorage from "~/modules/auth/storage";
import AppStorage from "~/modules/app/storage";
declare module 'vue/types/vue' {
// this.$myInjectedFunction inside Vue components
interface Vue {
$warehouse: BaseStorage,
$authWarehouse: BaseStorage
}
}
declare module '@nuxt/types' {
// nuxtContext.app.$myInjectedFunction inside asyncData, fetch, plugins, middleware, nuxtServerInit
interface NuxtAppOptions {
$warehouse: BaseStorage,
$authWarehouse: BaseStorage
}
// nuxtContext.$myInjectedFunction
interface Context {
$warehouse: BaseStorage,
$authWarehouse: BaseStorage
}
}
declare module 'vuex/types/index' {
// this.$myInjectedFunction inside Vuex stores
interface Store<S> {
$warehouse: BaseStorage,
$authWarehouse: BaseStorage
}
}
export default (ctx : Context, inject : Inject) => {
const appWarehouse = new AppStorage(ctx);
inject('warehouse', appWarehouse);
//--------------------------------------------------------------------
const authWarehouse = new AuthStorage(ctx);
inject('authWarehouse', authWarehouse);
};