mobx-keystone
Version:
A MobX powered state management solution based on data trees with first class support for TypeScript, snapshots, patches and much more
31 lines (26 loc) • 644 B
text/typescript
import type { AnyDataModel } from "../dataModel/BaseDataModel"
import type { AnyModel } from "../model/BaseModel"
import type { ModelClass } from "./BaseModelShared"
/**
* @internal
*/
export interface ModelInfo {
name: string
class: ModelClass<AnyModel | AnyDataModel>
}
/**
* @internal
*/
export const modelInfoByName: {
[name: string]: ModelInfo
} = {}
/**
* @internal
*/
export const modelInfoByClass = new WeakMap<ModelClass<AnyModel | AnyDataModel>, ModelInfo>()
/**
* @internal
*/
export function getModelInfoForName(name: string): ModelInfo | undefined {
return modelInfoByName[name]
}