UNPKG

mobx-view-model

Version:
48 lines 2.96 kB
import { ViewModelsConfig } from '../config/index.js'; import { VMLazyComponent, VMComponent } from '../hoc/index.js'; import { Class, Maybe } from '../utils/types.js'; import { ViewModelStore } from './view-model.store.js'; import { ViewModelCreateConfig, ViewModelGenerateIdConfig, ViewModelLookup, ViewModelStoreConfig } from './view-model.store.types.js'; import { AnyViewModel, AnyViewModelSimple } from './view-model.types.js'; export declare class ViewModelStoreBase<VMBase extends AnyViewModel = AnyViewModel> implements ViewModelStore<VMBase> { protected config?: ViewModelStoreConfig | undefined; protected viewModels: Map<string, VMBase | AnyViewModelSimple>; protected linkedComponentVMClasses: Map<VMComponent<VMBase, any>, Class<VMBase>>; protected viewModelIdsByClasses: Map<Class<VMBase> | Class<AnyViewModelSimple>, string[]>; protected instanceAttachedCount: Map<string, number>; /** * It is temp heap which is needed to get access to view model instance before all initializations happens */ protected viewModelsTempHeap: Map<string, VMBase>; /** * Views waiting for mount */ protected mountingViews: Set<string>; /** * Views waiting for unmount */ protected unmountingViews: Set<string>; protected vmConfig: ViewModelsConfig; constructor(config?: ViewModelStoreConfig | undefined); get mountedViewsCount(): number; processCreateConfig<VM extends VMBase>(config: ViewModelCreateConfig<VM>): void; createViewModel<VM extends VMBase>(config: ViewModelCreateConfig<VM>): VM; generateViewModelId<VM extends VMBase>(config: ViewModelGenerateIdConfig<VM>): string; linkComponents(VM: Class<VMBase>, ...components: Maybe<VMComponent<VMBase, any> | VMLazyComponent<VMBase, any>>[]): void; unlinkComponents(...components: Maybe<VMComponent<VMBase, any> | VMLazyComponent<VMBase, any>>[]): void; getIds<T extends VMBase | AnyViewModelSimple>(vmLookup: Maybe<ViewModelLookup<T>>): string[]; getId<T extends VMBase | AnyViewModelSimple>(vmLookup: Maybe<ViewModelLookup<T>>): string | null; has<T extends VMBase | AnyViewModelSimple>(vmLookup: Maybe<ViewModelLookup<T>>): boolean; get<T extends VMBase | AnyViewModelSimple>(vmLookup: Maybe<ViewModelLookup<T>>): T | null; getAll<T extends VMBase | AnyViewModelSimple>(vmLookup: Maybe<ViewModelLookup<T>>): T[]; mount(model: VMBase | AnyViewModelSimple): Promise<void>; unmount(model: VMBase | AnyViewModelSimple): Promise<void>; protected attachVMConstructor(model: VMBase | AnyViewModelSimple): void; protected dettachVMConstructor(model: VMBase | AnyViewModelSimple): void; markToBeAttached(model: VMBase | AnyViewModelSimple): void; attach(model: VMBase | AnyViewModelSimple): Promise<void>; detach(id: string): Promise<void>; isAbleToRenderView(id: Maybe<string>): boolean; clean(): void; } //# sourceMappingURL=view-model.store.base.d.ts.map