Function: composeMixins()
Call Signature
function composeMixins<M>(...mixins): ApplyMixins<typeof MixinEmptyBase, M>;
Composes several model mixins without an explicit base model class.
An implicit empty base (Model({})) is used. Useful for bundling mixins to reuse across
multiple concrete classes:
const ProductBase = composeMixins(countableMixin, producerMixin)
@model("myApp/Product")
class Product extends ExtendedModel(ProductBase, {}) {}
Type Parameters
| Type Parameter | Description |
|---|---|
M extends readonly ModelMixin<any, any, any>[] | Mixin tuple type. |
Parameters
| Parameter | Type | Description |
|---|---|---|
...mixins | M & ValidateMixins<typeof MixinEmptyBase, M> | Mixins to apply. |
Returns
ApplyMixins<typeof MixinEmptyBase, M>
A model class with all mixin additions applied over an empty base.
Call Signature
function composeMixins<B, M>(base, ...mixins): ApplyMixins<B, M>;
Composes several model mixins over a base model class.
Type Parameters
| Type Parameter | Description |
|---|---|
B extends ModelClass<AnyModel> | Base model class. |
M extends readonly ModelMixin<any, any, any>[] | Mixin tuple type. |
Parameters
| Parameter | Type | Description |
|---|---|---|
base | B | Base model class. |
...mixins | M & ValidateMixins<B, M> | Mixins to apply. |
Returns
ApplyMixins<B, M>
A model class with all mixin additions applied.