UNPKG

vuex-easy-firestore

Version:

Easy coupling of firestore and a vuex module. 2-way sync with 0 boilerplate!

24 lines (23 loc) 1.45 kB
import { initializeApp } from 'firebase/app'; import { IEasyFirestoreModule } from './declarations'; import { arrayUnion, arrayRemove } from './utils/arrayHelpers'; import { increment } from './utils/incrementHelper'; export type { IPluginGetters } from './module/getters'; export type { IConfig } from './module/defaultConfig'; /** * Create vuex-easy-firestore modules. Add as single plugin to Vuex Store. * * @export * @param {(IEasyFirestoreModule | IEasyFirestoreModule[])} easyFirestoreModule A vuex-easy-firestore module (or array of modules) with proper configuration as per the documentation. * @param {{logging?: boolean, FirebaseDependency?: any}} extraConfig An object with `logging` and `FirebaseDependency` props. `logging` enables console logs for debugging. `FirebaseDependency` is the non-instanciated firebase class you can pass. (defaults to the firebase peer dependency) * @returns {*} */ declare function vuexEasyFirestore(easyFirestoreModule: IEasyFirestoreModule | IEasyFirestoreModule[], { logging, preventInitialDocInsertion, FirebaseDependency, enablePersistence, synchronizeTabs, }?: { logging?: boolean; preventInitialDocInsertion?: boolean; FirebaseDependency?: ReturnType<typeof initializeApp> | null; enablePersistence?: boolean; synchronizeTabs?: boolean; }): any; export { vuexEasyFirestore, arrayUnion, arrayRemove, increment }; export default vuexEasyFirestore;