fix(muscript-gson): port over to new implementation
This commit is contained in:
parent
beaba5cb02
commit
4b44f9516d
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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.*;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue