summaryrefslogtreecommitdiff
path: root/gson/src/main
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-11-13 22:27:28 +0100
committerLinnea Gräf <nea@nea.moe>2024-11-13 22:27:28 +0100
commit94e30f7ffbafcdd188d09d8c7bf7e4794b650018 (patch)
tree32ab5db9122a202282cfe6ae16821329dfa77552 /gson/src/main
downloadprofunctor-codecs-java-94e30f7ffbafcdd188d09d8c7bf7e4794b650018.tar.gz
profunctor-codecs-java-94e30f7ffbafcdd188d09d8c7bf7e4794b650018.tar.bz2
profunctor-codecs-java-94e30f7ffbafcdd188d09d8c7bf7e4794b650018.zip
wip
Diffstat (limited to 'gson/src/main')
-rw-r--r--gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java75
-rw-r--r--gson/src/main/java/moe/nea/jcp/gson/package-info.java4
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