From 074d3267164127e7231be58ac703f0ac466f2189 Mon Sep 17 00:00:00 2001 From: Eric Tuvesson Date: Fri, 23 Jan 2026 23:31:46 +0100 Subject: [PATCH] fix: Change "dynamicports" in "nodelibrary.json" output to be simpler --- .../src/editor/src/models/projectmodel.ts | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/noodl-editor/src/editor/src/models/projectmodel.ts b/packages/noodl-editor/src/editor/src/models/projectmodel.ts index 349cced..1e5186f 100644 --- a/packages/noodl-editor/src/editor/src/models/projectmodel.ts +++ b/packages/noodl-editor/src/editor/src/models/projectmodel.ts @@ -1167,6 +1167,24 @@ EventDispatcher.instance.on( null ); +function mapNodeType(value) { + const dto = { ...value }; + + if (value.dynamicports) { + dto.dynamicports = value.dynamicports.map((rule) => { + if (['conditionalports/basic', 'conditionalports/extended'].includes(rule.name)) { + return { + condition: rule.condition, + inputs: rule.ports.map((port) => port.name) + }; + } + return rule; + }); + } + + return dto; +} + NodeLibrary.instance.on('libraryUpdated', () => { const library = NodeLibrary.instance.library; @@ -1177,7 +1195,7 @@ NodeLibrary.instance.on('libraryUpdated', () => { const compactLibrary = { typecasts: library.typecasts, dynamicports: library.dynamicports, - nodetypes: library.nodetypes, + nodetypes: library.nodetypes.map(mapNodeType), // NOTE: Let's save the node index for now, most likely this is something we will just ignore. nodeIndex: library.nodeIndex, projectsettings: library.projectsettings