Add model manager extension type.
All checks were successful
/ test (push) Successful in 40s

This commit is contained in:
Madeorsk 2025-06-29 16:41:14 +02:00
parent f238499f06
commit bf89dc00fe
Signed by: Madeorsk
GPG key ID: 677E51CA765BB79F

View file

@ -584,6 +584,19 @@ export class ModelManager<
}
}
/**
* A model manager extension is a mixin, building a new model manager class with extended capabilities.
* @see https://www.typescriptlang.org/docs/handbook/mixins.html
*/
export type ModelManagerExtension<
Extension extends object,
T extends object,
Shape extends ModelShape<T>,
Identifier extends IdentifierDefinition<T, Shape>,
> = (
modelManager: ModelManager<T, Shape, Identifier>,
) => ModelManager<T, Shape, Identifier> & Extension;
/**
* Define a new model.
* @param definition The model definition object.