diff options
author | Linnea Gräf <nea@nea.moe> | 2024-11-13 22:27:28 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-11-13 22:27:28 +0100 |
commit | 94e30f7ffbafcdd188d09d8c7bf7e4794b650018 (patch) | |
tree | 32ab5db9122a202282cfe6ae16821329dfa77552 /gson/src/main/java/moe | |
download | profunctor-codecs-java-94e30f7ffbafcdd188d09d8c7bf7e4794b650018.tar.gz profunctor-codecs-java-94e30f7ffbafcdd188d09d8c7bf7e4794b650018.tar.bz2 profunctor-codecs-java-94e30f7ffbafcdd188d09d8c7bf7e4794b650018.zip |
wip
Diffstat (limited to 'gson/src/main/java/moe')
-rw-r--r-- | gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java | 75 | ||||
-rw-r--r-- | gson/src/main/java/moe/nea/jcp/gson/package-info.java | 4 |
2 files changed, 79 insertions, 0 deletions
diff --git a/gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java b/gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java new file mode 100644 index 0000000..7d81b9f --- /dev/null +++ b/gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java @@ -0,0 +1,75 @@ +package moe.nea.jcp.gson; + +import com.google.gson.JsonElement; +import com.google.gson.JsonNull; +import moe.nea.pcj.JsonLikeError; +import moe.nea.pcj.JsonLikeOperations; +import moe.nea.pcj.ListBuilder; +import moe.nea.pcj.ListView; +import moe.nea.pcj.RecordBuilder; +import moe.nea.pcj.RecordView; +import moe.nea.pcj.Result; +import moe.nea.pcj.Unit; + +public class GsonOperations implements JsonLikeOperations<JsonElement> { + @Override + public JsonElement createNull(Unit value) { + return JsonNull.INSTANCE; + } + + @Override + public Result<Unit, ? extends JsonLikeError> getNull(JsonElement element) { + if (element.isJsonNull()) return Result.ok(Unit.INSTANCE); + return Result.fail(); + } + + @Override + public JsonElement createNumeric(Number value) { + return null; + } + + @Override + public Result<Number, ? extends JsonLikeError> getInt(JsonElement element) { + return null; + } + + @Override + public JsonElement createString(String value) { + return null; + } + + @Override + public Result<String, ? extends JsonLikeError> getString(JsonElement element) { + return null; + } + + @Override + public JsonElement createBoolean(boolean value) { + return null; + } + + @Override + public Result<Boolean, ? extends JsonLikeError> getBoolean(JsonElement jsonElement) { + return null; + } + + @Override + public RecordBuilder<? extends JsonElement, JsonElement> createObject() { + return null; + } + + @Override + public Result<RecordView<? extends JsonElement>, ? extends JsonLikeError> getObject(JsonElement jsonElement) { + return null; + } + + @Override + public ListBuilder<? extends JsonElement, JsonElement> createList() { + return null; + } + + @Override + public Result<ListView<? extends JsonElement>, ? extends JsonLikeError> getList(JsonElement jsonElement) { + return null; + } +} diff --git a/gson/src/main/java/moe/nea/jcp/gson/package-info.java b/gson/src/main/java/moe/nea/jcp/gson/package-info.java new file mode 100644 index 0000000..f6947c5 --- /dev/null +++ b/gson/src/main/java/moe/nea/jcp/gson/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package moe.nea.jcp.gson; + +import org.jspecify.annotations.NullMarked;
\ No newline at end of file |