mobx-keystone
Version:
A MobX powered state management solution based on data trees with first class support for TypeScript, snapshots, patches and much more
18 lines (16 loc) • 588 B
text/typescript
import type { AnyDataModel } from "../dataModel/BaseDataModel"
import type { AnyModel } from "../model/BaseModel"
import type { ModelClass } from "../modelShared/BaseModelShared"
import { getModelClassInitializers } from "../modelShared/modelClassInitializer"
export function applyModelInitializers(
modelClass: ModelClass<AnyModel | AnyDataModel>,
modelObj: any
) {
const initializers = getModelClassInitializers(modelClass)
if (initializers) {
const len = initializers.length
for (let i = 0; i < len; i++) {
initializers[i](modelObj)
}
}
}