Current section

Files

Jump to
gleam_bson src bson types.gleam
Raw

src/bson/types.gleam

import bson/object_id.{ObjectId}
pub type Value {
Null
Str(String)
Integer(Int)
Double(Float)
Boolean(Bool)
Array(List(Value))
ObjectId(ObjectId)
Document(List(#(String, Value)))
}
pub type Kind {
Kind(code: BitString)
}
pub const double = Kind(code: <<0x01>>)
pub const string = Kind(code: <<0x02>>)
pub const document = Kind(code: <<0x03>>)
pub const array = Kind(code: <<0x04>>)
pub const binary = Kind(code: <<0x05>>)
pub const object_id = Kind(code: <<0x07>>)
pub const boolean = Kind(code: <<0x08>>)
pub const datetime = Kind(code: <<0x09>>)
pub const null = Kind(code: <<0x0A>>)
pub const regex = Kind(code: <<0x0B>>)
pub const js = Kind(code: <<0x0D>>)
pub const int32 = Kind(code: <<0x10>>)
pub const timestamp = Kind(code: <<0x11>>)
pub const int64 = Kind(code: <<0x12>>)
pub const decimal128 = Kind(code: <<0x13>>)
pub const min = Kind(code: <<0xFF>>)
pub const max = Kind(code: <<0x7F>>)
pub const int32_min = -2_147_483_648
pub const int32_max = 2_147_483_647
pub const int64_min = -9_223_372_036_854_775_808
pub const int64_max = 9_223_372_036_854_775_807