OxL Reference

method Decoder.beginMap

The reader of beginMap(len) / endMap(): the number of entries; each entry is a key followed by a value.

Example:

oxl✓ checked in CI
use std.ser { Codec, Encoder, Decoder, Schema, encode, decode, hex, EncodeError, DecodeError }

fn readCounts(r: &var Decoder) -> Map<str, i64> | DecodeError {
  let n = r.beginMap()?
  var out: Map<str, i64> = Map.new()
  var i = 0
  while i < n {
    let k = r.readStr()?
    let v = r.readI64()?
    out.insert(k, v)
    i += 1
  }
  r.endMap()
  out
}
var fn beginMap() -> usize | DecodeError

Since. 1.0.0-beta

Returns

usize

Errors

  • DecodeError @error
  • `DecodeError.Malformed` when the next value is not a map (the default does this: a format that reads maps implements it).

Effects

none declared (pure unless the body says otherwise)

Defined in: std/ser/ser.oxl:1807

See also