UNPKG

mobx-keystone

Version:

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

25 lines (23 loc) 765 B
import type { AnyDataModel } from "../dataModel/BaseDataModel" import { isDataModelClass } from "../dataModel/utils" import type { AnyModel } from "../model/BaseModel" import { isModelClass } from "../model/utils" import { failure } from "../utils" import type { ModelClass } from "./BaseModelShared" /** * @internal * * Asserts something is actually a class or data model. * * @param model * @param argName */ export function assertIsClassOrDataModelClass( model: unknown, argName: string, customErrMsg = "must be a class or data model class" ): asserts model is ModelClass<AnyModel> | ModelClass<AnyDataModel> { if (!(isModelClass(model) || isDataModelClass(model))) { throw failure(`${argName} ${customErrMsg}`) } }