Skip to main content

Type alias: ExtendableModel<D, I>

ExtendableModel<D, I>: object & Model<D, I>

Model class which can be configured or extended.

Type declaration

configure()

Parameters

config: ModelConfig

override?: boolean

Returns

ExtendableModel<D, ModelInstance<D>>

extend()

Type parameters

ND extends object = object

Parameters

rawDefinition?: ND & ThisType <ModelInstance<D & UnionToIntersection<object | { [K in (...)]: (...) }[keyof ...]> & OmitNever<{ [K in string | number | symbol]: (...)[(...)] extends ModelComposable<(...)> ? never : (...)[(...)] }>>>

Returns

ExtendableModel<D & UnionToIntersection<object | { [K in string | number | symbol]: ModelParsedDefinition<(...)>[K] extends ModelComposable<CD> ? ModelFlattenDefinition<CD> : never }[keyof ND]> & OmitNever<{ [K in string | number | symbol]: ModelParsedDefinition<ND>[K] extends ModelComposable<any> ? never : ModelParsedDefinition<ND>[K] }>, ModelInstance<D & UnionToIntersection<object | { [K in string | number | symbol]: (...)[(...)] extends ModelComposable<(...)> ? ModelFlattenDefinition<(...)> : never }[keyof ND]> & OmitNever<{ [K in string | number | symbol]: ModelParsedDefinition<ND>[K] extends ModelComposable<any> ? never : ModelParsedDefinition<ND>[K] }>>>

Type parameters

D extends object = any

I extends ModelInstance<D> = any

Source

packages/core/src/model/types.ts:317