package com.codepoetics.octarine.json.deserialisation;
import com.codepoetics.octarine.records.Valid;
import com.codepoetics.octarine.records.Validation;
import com.fasterxml.jackson.core.JsonParser;
import java.util.function.Function;
public final class Deserialisers {
private Deserialisers() {
}
public static final SafeDeserialiser<String> ofString = JsonParser::getValueAsString;
public static final SafeDeserialiser<Integer> ofInteger = JsonParser::getIntValue;
public static final SafeDeserialiser<Boolean> ofBoolean = JsonParser::getBooleanValue;
public static final SafeDeserialiser<Long> ofLong = JsonParser::getLongValue;
public static final SafeDeserialiser<Double> ofDouble = JsonParser::getDoubleValue;
public static <S> SafeDeserialiser<Valid<S>> ofValid(Function<JsonParser, ? extends Validation<S>> extractor) {
return parser -> extractor.apply(parser).get();
}
}