UNPKG

mobx-keystone-mindreframer

Version:

A MobX powered state management solution based on data trees with first class support for Typescript, snapshots, patches and much more

36 lines (32 loc) 845 B
import type { AnyDataModel } from "../dataModel/BaseDataModel" import type { AnyModel } from "../model/BaseModel" import type { ModelClass } from "./BaseModelShared" import type { ModelProps } from "./prop" const modelPropertiesSymbol = Symbol("modelProperties") /** * @ignore * @internal * * Gets the info related to a model class properties. * * @param modelClass */ export function getInternalModelClassPropsInfo( modelClass: ModelClass<AnyModel | AnyDataModel> ): ModelProps { return (modelClass as any)[modelPropertiesSymbol] } /** * @ignore * @internal * * Sets the info related to a model class properties. * * @param modelClass */ export function setInternalModelClassPropsInfo( modelClass: ModelClass<AnyModel | AnyDataModel>, props: ModelProps ): void { ;(modelClass as any)[modelPropertiesSymbol] = props }