From bf89dc00fefc01dec039ca6ea7fb1d460b0f7906 Mon Sep 17 00:00:00 2001 From: Madeorsk Date: Sun, 29 Jun 2025 16:41:14 +0200 Subject: [PATCH] Add model manager extension type. --- src/model/model.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/model/model.ts b/src/model/model.ts index 4c3b3d4..fc1d5bb 100644 --- a/src/model/model.ts +++ b/src/model/model.ts @@ -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, + Identifier extends IdentifierDefinition, +> = ( + modelManager: ModelManager, +) => ModelManager & Extension; + /** * Define a new model. * @param definition The model definition object.