fix(muscript-gson): port over to new implementation

This commit is contained in:
Johannes Frohnmeyer 2024-04-07 17:25:27 +02:00
parent beaba5cb02
commit 4b44f9516d
Signed by: Johannes
GPG Key ID: E76429612C2929F4
13 changed files with 35 additions and 27 deletions

View File

@ -5,10 +5,12 @@ plugins {
}
dependencies {
implementation(projects.muscript)
implementation(projects.muscriptDataAdditional)
implementation(projects.commonsSerializeGson)
testImplementation(libs.junit.jupiter.api)
testImplementation(projects.muscriptParser)
testImplementation(projects.muscriptRuntime)
testRuntimeOnly(libs.junit.jupiter.engine)
}
@ -27,5 +29,6 @@ tasks.javadoc {
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons/$version/raw", projects.commons)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize/$version/raw", projects.commonsSerialize)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize-gson/$version/raw", projects.commonsSerializeGson)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/muscript/$version/raw", projects.muscript)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/muscript-data-dynamic/$version/raw", projects.muscriptDataDynamic)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/muscript-data-additional/$version/raw", projects.muscriptDataAdditional)
}

View File

@ -1,9 +1,11 @@
package io.gitlab.jfronny.muscript.gson;
import io.gitlab.jfronny.commons.serialize.gson.api.v2.GsonHolders;
import io.gitlab.jfronny.muscript.data.Scope;
import io.gitlab.jfronny.muscript.data.dynamic.*;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.additional.context.Scope;
import io.gitlab.jfronny.muscript.data.dynamic.DList;
import io.gitlab.jfronny.muscript.data.dynamic.DString;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
public class GsonLib {
public static Scope addTo(Scope scope) {

View File

@ -4,8 +4,10 @@ import io.gitlab.jfronny.gson.GsonBuilder;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.muscript.data.additional.DDate;
import io.gitlab.jfronny.muscript.data.additional.DEnum;
import io.gitlab.jfronny.muscript.data.additional.DTime;
import io.gitlab.jfronny.muscript.data.dynamic.*;
import io.gitlab.jfronny.muscript.data.dynamic.additional.*;
import io.gitlab.jfronny.muscript.gson.impl.typed.*;
import io.gitlab.jfronny.muscript.gson.impl.typed.additional.*;

View File

@ -3,8 +3,8 @@ package io.gitlab.jfronny.muscript.gson.impl.typed;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.dynamic.DBool;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import java.io.IOException;

View File

@ -2,9 +2,9 @@ package io.gitlab.jfronny.muscript.gson.impl.typed;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.*;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.dynamic.DList;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import io.gitlab.jfronny.muscript.gson.impl.DynamicSerializer;
import java.io.IOException;

View File

@ -3,8 +3,8 @@ package io.gitlab.jfronny.muscript.gson.impl.typed;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.dynamic.DNumber;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import java.io.IOException;

View File

@ -2,9 +2,9 @@ package io.gitlab.jfronny.muscript.gson.impl.typed;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.*;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.dynamic.DObject;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import io.gitlab.jfronny.muscript.gson.impl.DynamicSerializer;
import java.io.IOException;

View File

@ -2,8 +2,8 @@ package io.gitlab.jfronny.muscript.gson.impl.typed;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.*;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.dynamic.DString;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import io.gitlab.jfronny.muscript.gson.impl.DynamicSerializer;
import java.io.IOException;

View File

@ -3,7 +3,7 @@ package io.gitlab.jfronny.muscript.gson.impl.typed.additional;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DDate;
import io.gitlab.jfronny.muscript.data.additional.DDate;
import java.io.IOException;
import java.time.LocalDate;

View File

@ -3,7 +3,7 @@ package io.gitlab.jfronny.muscript.gson.impl.typed.additional;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DEnum;
import io.gitlab.jfronny.muscript.data.additional.DEnum;
import java.io.IOException;

View File

@ -3,7 +3,7 @@ package io.gitlab.jfronny.muscript.gson.impl.typed.additional;
import io.gitlab.jfronny.gson.TypeAdapter;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DTime;
import io.gitlab.jfronny.muscript.data.additional.DTime;
import java.io.IOException;
import java.time.LocalTime;

View File

@ -1,7 +1,7 @@
module io.gitlab.jfronny.commons.muscript.gson {
requires io.gitlab.jfronny.gson;
requires io.gitlab.jfronny.commons.muscript;
requires io.gitlab.jfronny.commons.muscript.data.additional;
requires io.gitlab.jfronny.commons.serialize.gson;
requires io.gitlab.jfronny.commons.muscript.data;
exports io.gitlab.jfronny.muscript.gson;
// provides io.gitlab.jfronny.commons.serialize.gson.api.v2.GsonTransformer with io.gitlab.jfronny.muscript.gson.DynamicGsonTransformer;
}

View File

@ -1,19 +1,21 @@
package io.gitlab.jfronny.muscript.gson.test;
import io.gitlab.jfronny.commons.serialize.gson.api.v2.GsonHolders;
import io.gitlab.jfronny.muscript.compiler.MuScriptVersion;
import io.gitlab.jfronny.muscript.libs.StandardLib;
import io.gitlab.jfronny.muscript.compiler.Parser;
import io.gitlab.jfronny.muscript.data.Scope;
import io.gitlab.jfronny.muscript.core.MuScriptVersion;
import io.gitlab.jfronny.muscript.data.additional.DFinal;
import io.gitlab.jfronny.muscript.data.additional.context.Scope;
import io.gitlab.jfronny.muscript.data.additional.libs.StandardLib;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
import io.gitlab.jfronny.muscript.gson.GsonLib;
import io.gitlab.jfronny.muscript.parser.Parser;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Map;
import static io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal.of;
import static io.gitlab.jfronny.muscript.ast.context.ExprUtils.asDynamic;
import static io.gitlab.jfronny.muscript.data.additional.DFinal.of;
import static io.gitlab.jfronny.muscript.runtime.Runtime.evaluate;
import static org.junit.jupiter.api.Assertions.assertEquals;
class JsonTest {
@ -42,11 +44,10 @@ class JsonTest {
}
private Dynamic execute(String source, String... args) {
return Parser.parse(MuScriptVersion.DEFAULT, source)
.asDynamicExpr()
.get(createScope()
.set("args", DFinal.of(Arrays.stream(args).map(DFinal::of).toList()))
);
return evaluate(
asDynamic(Parser.parse(MuScriptVersion.DEFAULT, source)),
createScope().set("args", of(Arrays.stream(args).map(DFinal::of).toList()))
);
}
private String serialize(Object object) {