Current section

Files

Jump to
bison src bison.gleam
Raw

src/bison.gleam

import gleam/result
import gleam/dynamic
import bison/encoder
import bison/decoder
pub fn encode(doc) {
encoder.encode(doc)
}
pub fn decode(binary) {
decoder.decode(binary)
}
pub fn strict_decode(binary, decoder) {
use doc <- result.then(
decoder.decode(binary)
|> result.replace_error([dynamic.DecodeError("BSON", "bit array", [])]),
)
doc
|> dynamic.from
|> decoder
}