jasper
Types
pub type Indentation {
Spaces(Int)
Tab
Tabs(Int)
}
Constructors
-
Spaces(Int) -
Tab -
Tabs(Int)
pub type JsonObject =
Dict(String, JsonValue)
pub type JsonQuery {
Root
Key(query: JsonQuery, key: String)
KeyOr(query: JsonQuery, key: String, or: JsonValue)
Index(query: JsonQuery, index: Int)
IndexOr(query: JsonQuery, index: Int, or: JsonValue)
Filter(query: JsonQuery, predicate: fn(JsonValue) -> Bool)
Map(query: JsonQuery, mapping: fn(JsonValue) -> JsonValue)
MapKeys(query: JsonQuery, mapping: fn(String) -> String)
MapValues(
query: JsonQuery,
mapping: fn(String, JsonValue) -> JsonValue,
)
FilterMap(
query: JsonQuery,
mapping: fn(JsonValue) -> Result(JsonValue, Nil),
)
ForEach(query: JsonQuery)
ForEachOk(query: JsonQuery)
}
Constructors
-
Root -
Key(query: JsonQuery, key: String) -
KeyOr(query: JsonQuery, key: String, or: JsonValue) -
Index(query: JsonQuery, index: Int) -
IndexOr(query: JsonQuery, index: Int, or: JsonValue) -
Filter(query: JsonQuery, predicate: fn(JsonValue) -> Bool) -
Map(query: JsonQuery, mapping: fn(JsonValue) -> JsonValue) -
MapKeys(query: JsonQuery, mapping: fn(String) -> String) -
MapValues( query: JsonQuery, mapping: fn(String, JsonValue) -> JsonValue, ) -
FilterMap( query: JsonQuery, mapping: fn(JsonValue) -> Result(JsonValue, Nil), ) -
ForEach(query: JsonQuery) -
ForEachOk(query: JsonQuery)
pub type JsonQueryError {
UnexpectedType(JsonValue)
MissingObjectKey(JsonValue, key: String)
IndexOutOfBounds(JsonValue, index: Int)
}
Constructors
-
UnexpectedType(JsonValue) -
MissingObjectKey(JsonValue, key: String) -
IndexOutOfBounds(JsonValue, index: Int)
pub type JsonValue {
Object(JsonObject)
Array(JsonArray)
String(String)
Number(Float)
Boolean(Bool)
Null
}
Constructors
-
Object(JsonObject) -
Array(JsonArray) -
String(String) -
Number(Float) -
Boolean(Bool) -
Null
pub type ParseError {
UnexpectedToken(found: Char)
UnexpectedEndOfInput
}
Constructors
-
UnexpectedToken(found: Char) -
UnexpectedEndOfInput
Functions
pub fn parse_json(value: String) -> Result(JsonValue, ParseError)
pub fn parse_jsonl(
value: String,
) -> Result(List(JsonValue), ParseError)
pub fn parse_jsonl_all(
value: String,
) -> List(Result(JsonValue, ParseError))
pub fn parse_jsonl_valid(value: String) -> List(JsonValue)
pub fn query_json(
json: JsonValue,
query: JsonQuery,
) -> Result(JsonValue, JsonQueryError)
pub fn stringify_json(value: JsonValue) -> String
pub fn stringify_json_spaced(
value: JsonValue,
indentation: Indentation,
) -> String
pub fn stringify_jsonl(values: List(JsonValue)) -> String