diff options
author | Linnea Gräf <nea@nea.moe> | 2024-11-14 01:35:24 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-11-14 01:35:24 +0100 |
commit | ed8eb00566a5e3b7f2d5564d7977a4b3ec8fe5b3 (patch) | |
tree | 9f8418ce1f27634a5a5f37a07f57c45379584d87 /src/main/java/moe/nea/pcj/json/JsonLikeOperations.java | |
parent | 94e30f7ffbafcdd188d09d8c7bf7e4794b650018 (diff) | |
download | profunctor-codecs-java-ed8eb00566a5e3b7f2d5564d7977a4b3ec8fe5b3.tar.gz profunctor-codecs-java-ed8eb00566a5e3b7f2d5564d7977a4b3ec8fe5b3.tar.bz2 profunctor-codecs-java-ed8eb00566a5e3b7f2d5564d7977a4b3ec8fe5b3.zip |
wip
Diffstat (limited to 'src/main/java/moe/nea/pcj/json/JsonLikeOperations.java')
-rw-r--r-- | src/main/java/moe/nea/pcj/json/JsonLikeOperations.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/pcj/json/JsonLikeOperations.java b/src/main/java/moe/nea/pcj/json/JsonLikeOperations.java new file mode 100644 index 0000000..7bb0162 --- /dev/null +++ b/src/main/java/moe/nea/pcj/json/JsonLikeOperations.java @@ -0,0 +1,32 @@ +package moe.nea.pcj.json; + +import moe.nea.pcj.Operation; +import moe.nea.pcj.Result; +import moe.nea.pcj.Unit; + +public interface JsonLikeOperations<Format> extends Operation<Format> { + + Format createNull(Unit value); + + Result<Unit, ? extends JsonLikeError> getNull(Format element); + + Format createNumeric(Number value); + + Result<Number, ? extends JsonLikeError> getNumeric(Format element); + + Format createString(String value); + + Result<String, ? extends JsonLikeError> getString(Format element); + + Format createBoolean(boolean value); + + Result<Boolean, ? extends JsonLikeError> getBoolean(Format format); + + RecordBuilder<Format> createObject(); + + Result<? extends RecordView<Format>, ? extends JsonLikeError> getObject(Format format); + + ListBuilder<Format, Format> createList(); + + Result<? extends ListView<Format>, ? extends JsonLikeError> getList(Format format); +} |