UNPKG

model-vue-presenter

Version:
43 lines (41 loc) 1.49 kB
import { PresenterConfig, PresenterFactoryFunction, PresenterHookOutput, Props, View, ViewModelOverride } from './presenter-factory.types'; /** * @example * const useDocumentOverviewPresenter = presenterFactory(() => { * const state = reactive({ showSkeleton: false }) * * return { * viewModel: computed(() => { * return { * isPageSkeletonLoaderShown: state.showSkeleton * } * }) * } * }) * * const { presenter, viewModel } = useDocumentOverviewPresenter() */ export declare function presenterFactory<TPresenterOptions extends PresenterConfig, TProps extends Props = void, TView extends View = void>(presenterFactoryFunction: PresenterFactoryFunction<TProps, TView, TPresenterOptions>): { (props: TProps, view: TView): PresenterHookOutput<TPresenterOptions>; /** * @example * const wrapper = mount(DocumentOverview) * const { viewModel } = useDocumentOverviewPresenter.spy() * * expect(viewModel.value.amountOfClicks).toBe(0) * wrapper.find('button').trigger('click') * expect(viewModel.value.amountOfClicks).toBe(1) */ spy(): PresenterHookOutput<TPresenterOptions>; resetSpy(): void; /** * @example * useDocumentOverviewPresenter.mockViewModel((viewModel) => { * return { * ...viewModel, * showPageSkeletonLoader: true, * } * }) */ mockViewModel(viewModelOverrideFunction: ViewModelOverride<TPresenterOptions>): void; };