diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1c1e03d..7d95608 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ dark-matter = "4.1.0-1.20.1-build.86" [libraries] fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version = "0.16.0" } fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version = "0.92.1+1.20.1" } -evalx = { group = "me.melontini", name = "evalex", version = "4.0.0-build.5" } +evalx = { group = "me.melontini", name = "evalex", version = "4.0.0-build.6" } mapping-io = { group = "net.fabricmc", name = "mapping-io", version = "0.6.1" } dark-matter-base = { group = "me.melontini", name = "dark-matter-base", version.ref = "dark-matter" } dark-matter-mixin = { group = "me.melontini", name = "dark-matter-mixin", version.ref = "dark-matter" } diff --git a/src/main/java/me/melontini/commander/impl/expression/extensions/convert/gson/GsonConverter.java b/src/main/java/me/melontini/commander/impl/expression/extensions/convert/gson/GsonConverter.java index e8ab43e..de451e7 100644 --- a/src/main/java/me/melontini/commander/impl/expression/extensions/convert/gson/GsonConverter.java +++ b/src/main/java/me/melontini/commander/impl/expression/extensions/convert/gson/GsonConverter.java @@ -14,34 +14,35 @@ import me.melontini.commander.impl.expression.extensions.ReflectiveValueConverte public class GsonConverter implements ConverterIfc { - @Override - public EvaluationValue convert(Object object, ExpressionConfiguration configuration) { - JsonElement element = (JsonElement) object; - if (element.isJsonNull()) return NullValue.of(); - - if (element.isJsonPrimitive()) { - JsonPrimitive primitive = element.getAsJsonPrimitive(); - if (primitive.isString()) return StringValue.of(primitive.getAsString()); - if (primitive.isBoolean()) return BooleanValue.of(primitive.getAsBoolean()); - if (primitive.isNumber()) return NumberValue.of(primitive.getAsBigDecimal()); - throw illegalArgument(object); - } - - if (element.isJsonArray()) { - JsonArray array = element.getAsJsonArray(); - return ArrayValue.of(new LazyListWrapper(array.asList(), configuration)); - } - - if (element.isJsonObject()) { - JsonObject jsonObject = element.getAsJsonObject(); - return StructureValue.of(Maps.transformValues(jsonObject.asMap(), ReflectiveValueConverter::convert)); - } - - throw illegalArgument(object); + @Override + public EvaluationValue convert(Object object, ExpressionConfiguration configuration) { + JsonElement element = (JsonElement) object; + if (element.isJsonNull()) return NullValue.of(); + + if (element.isJsonPrimitive()) { + JsonPrimitive primitive = element.getAsJsonPrimitive(); + if (primitive.isString()) return StringValue.of(primitive.getAsString()); + if (primitive.isBoolean()) return BooleanValue.of(primitive.getAsBoolean()); + if (primitive.isNumber()) return NumberValue.of(primitive.getAsBigDecimal()); + throw illegalArgument(object); } - @Override - public boolean canConvert(Object object) { - return object instanceof JsonElement; + if (element.isJsonArray()) { + JsonArray array = element.getAsJsonArray(); + return ArrayValue.of(new LazyListWrapper(array.asList(), configuration)); } + + if (element.isJsonObject()) { + JsonObject jsonObject = element.getAsJsonObject(); + return StructureValue.of( + Maps.transformValues(jsonObject.asMap(), ReflectiveValueConverter::convert)); + } + + throw illegalArgument(object); + } + + @Override + public boolean canConvert(Object object) { + return object instanceof JsonElement; + } }