From 38f5764683573b21d8967a554c1929729fc812ab Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Tue, 15 Apr 2025 16:08:51 +0200 Subject: [PATCH] [FIX] order the inputs in typescript generation --- pom.xml | 2 +- .../typescript/TsClassElement.java | 36 +++++++++++-------- version.txt | 2 +- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index cbf8962..b146092 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.atria-soft archidata - 0.27.1-SNAPSHOT + 0.27.2 Wrapper to manage a simple interface for REST project to bind MySQL, SQLite or mongoDB. https://github.com/kangaroo-and-rabbit/archidata diff --git a/src/org/kar/archidata/externalRestApi/typescript/TsClassElement.java b/src/org/kar/archidata/externalRestApi/typescript/TsClassElement.java index 1cf1d25..a89c0cd 100644 --- a/src/org/kar/archidata/externalRestApi/typescript/TsClassElement.java +++ b/src/org/kar/archidata/externalRestApi/typescript/TsClassElement.java @@ -8,8 +8,10 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import java.util.TreeMap; import org.kar.archidata.externalRestApi.model.ClassEnumModel; import org.kar.archidata.externalRestApi.model.ClassListModel; @@ -181,9 +183,10 @@ public class TsClassElement { public String generateImports(final Set depModels, final TsClassElementGroup tsGroup) throws IOException { final Set typeScriptModelAlreadyImported = new HashSet<>(); + final Map mapOutput = new TreeMap<>(); - final StringBuilder out = new StringBuilder(); for (final ClassModel depModel : depModels) { + final StringBuilder inputStream = new StringBuilder(); final TsClassElement tsModel = tsGroup.find(depModel); if (typeScriptModelAlreadyImported.contains(tsModel)) { LOGGER.trace("Model alredy imported for typescript"); @@ -191,30 +194,35 @@ public class TsClassElement { } typeScriptModelAlreadyImported.add(tsModel); if (tsModel.nativeType != DefinedPosition.NATIVE) { - out.append("import {"); + inputStream.append("import {"); if (tsModel.nativeType != DefinedPosition.NORMAL || tsModel.models.get(0).getApiGenerationMode().read()) { - out.append(tsModel.zodName); + inputStream.append(tsModel.zodName); } if (tsModel.nativeType == DefinedPosition.NORMAL && tsModel.models.get(0).getApiGenerationMode().update()) { - out.append(", "); - out.append(tsModel.zodName); - out.append(MODEL_TYPE_UPDATE); - out.append(" "); + inputStream.append(", "); + inputStream.append(tsModel.zodName); + inputStream.append(MODEL_TYPE_UPDATE); + inputStream.append(" "); } if (tsModel.nativeType == DefinedPosition.NORMAL && tsModel.models.get(0).getApiGenerationMode().create()) { - out.append(", "); - out.append(tsModel.zodName); - out.append(MODEL_TYPE_CREATE); - out.append(" "); + inputStream.append(", "); + inputStream.append(tsModel.zodName); + inputStream.append(MODEL_TYPE_CREATE); + inputStream.append(" "); } - out.append("} from \"./"); - out.append(tsModel.fileName); - out.append("\";\n"); + inputStream.append("} from \"./"); + inputStream.append(tsModel.fileName); + inputStream.append("\";\n"); + mapOutput.put(tsModel.fileName.toString().toLowerCase(), inputStream.toString()); } } + final StringBuilder out = new StringBuilder(); + for (final Entry elem : mapOutput.entrySet()) { + out.append(elem.getValue()); + } return out.toString(); } diff --git a/version.txt b/version.txt index 6584678..3edc695 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.27.1-dev +0.27.2