UNPKG

mobx-view-model

Version:
38 lines 1.86 kB
import { Class, Maybe, IsPartial } from 'yummies/utils/types'; import { CreateViewModelFactoryFn, GenerateViewModelIdFn } from '../config/index.js'; import { ViewModelSimple } from '../view-model/view-model-simple.js'; import { ViewModelCreateConfig } from '../view-model/view-model.store.types.js'; import { AnyViewModel } from '../view-model/view-model.types.js'; export interface UseCreateViewModelConfig<TViewModel extends AnyViewModel> extends Pick<ViewModelCreateConfig<TViewModel>, 'vmConfig' | 'config' | 'ctx' | 'component' | 'props'> { /** * Unique identifier for the view */ id?: Maybe<string>; /** * Function to generate an identifier for the view model */ generateId?: GenerateViewModelIdFn; /** * Function to create an instance of the VM class */ factory?: CreateViewModelFactoryFn<TViewModel>; } /** * Creates new instance of ViewModel * * [**Documentation**](https://js2me.github.io/mobx-view-model/react/api/use-create-view-model.html) */ export declare function useCreateViewModel<TViewModel extends AnyViewModel>(VM: Class<TViewModel>, ...args: IsPartial<TViewModel['payload']> extends true ? [ payload?: TViewModel['payload'], config?: UseCreateViewModelConfig<TViewModel> ] : [ payload: TViewModel['payload'], config?: UseCreateViewModelConfig<TViewModel> ]): TViewModel; /** * Creates new instance of ViewModelSimple * * [**Documentation**](https://js2me.github.io/mobx-view-model/react/api/use-create-view-model.html) */ export declare function useCreateViewModel<TViewModelSimple extends ViewModelSimple>(VM: Class<TViewModelSimple>, ...args: TViewModelSimple extends ViewModelSimple<infer TPayload> ? IsPartial<TPayload> extends true ? [payload?: TPayload] : [payload: TPayload] : []): TViewModelSimple; //# sourceMappingURL=use-create-view-model.d.ts.map