UNPKG

vuex-class-modules

Version:

Typescript class decorators for class-style vuex modules.

42 lines (41 loc) 1.37 kB
import { Store } from "vuex"; import { VuexModule } from "./VuexModule"; export interface ModuleOptions { generateMutationSetters?: boolean; } export interface RegisterOptions { store: Store<any>; name: string; } export interface IVuexModule extends Dictionary<any> { __options: RegisterOptions; } export interface IModulePrototype { __mutations?: Dictionary<(payload?: any) => void>; __actions?: Dictionary<(payload?: any) => Promise<void>>; } export declare type ModulePrototype = IModulePrototype & Function; declare type Dictionary<T> = { [k: string]: T; }; interface ModuleDefinition { state: Dictionary<any>; moduleRefs: Dictionary<VuexModule>; getters: Dictionary<() => void>; mutations: Dictionary<(payload?: any) => void>; actions: Dictionary<(payload?: any) => Promise<void>>; localFunctions: Dictionary<(...args: any[]) => any>; } export declare class VuexClassModuleFactory { moduleOptions: ModuleOptions; instance: IVuexModule; registerOptions: RegisterOptions; definition: ModuleDefinition; constructor(classModule: ModulePrototype, instance: IVuexModule, moduleOptions: ModuleOptions); private init; registerVuexModule(): void; buildAccessor(): any; private buildThisProxy; private getMutationSetterName; } export {};