From ee0d120bbdc2c0bceb3829a2a4c3e4ca05d51e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=8F=8A=E8=90=8D=28=E7=B5=AE=E9=BB=8E=29?= Date: Wed, 7 Jun 2023 17:20:28 +0800 Subject: [PATCH] feat: add config.customPluginTransducer to debugger plugins (#2147) --- packages/designer/src/plugin/plugin-manager.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/plugin/plugin-manager.ts b/packages/designer/src/plugin/plugin-manager.ts index 071bfa9d1..f30ccdc8f 100644 --- a/packages/designer/src/plugin/plugin-manager.ts +++ b/packages/designer/src/plugin/plugin-manager.ts @@ -83,7 +83,10 @@ export class LowCodePluginManager implements ILowCodePluginManager { } const ctx = this._getLowCodePluginContext({ pluginName, meta }); const customFilterValidOptions = engineConfig.get('customPluginFilterOptions', filterValidOptions); - const config = pluginModel(ctx, customFilterValidOptions(options, preferenceDeclaration!)); + const pluginTransducer = engineConfig.get('customPluginTransducer', null); + const newOptions = customFilterValidOptions(options, preferenceDeclaration!); + const newPluginModel = pluginTransducer ? await pluginTransducer(pluginModel, ctx, newOptions) : pluginModel; + const config = newPluginModel(ctx, newOptions); // compat the legacy way to declare pluginName // @ts-ignore pluginName = pluginName || config.name;