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
TypeScript
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;