mobx-keystone
Version:
A MobX powered state management solution based on data trees with first class support for TypeScript, snapshots, patches and much more
34 lines (30 loc) • 823 B
text/typescript
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")
/**
* @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]
}
/**
* @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
}