~/bend-docscommunity

src/json.bend relies on unsafe/foreign

raw source on the hub · import 0x600981079d65a285d008308db02b846c/src/json.bend as Json

1 import
import Base

Types

type Json source · line 4 · raw

Data

Numbers contain decimal tokens; native effects validate syntax and range.

type ParseResult source · line 12 · raw

Data

type EncodeResult source · line 66 · raw

Data

Definitions

def lookup_step source · line 19 · raw

@found:Bool -> @value:Json -> @rest:(@_:Unit -> Maybe<&1, Json>) -> Maybe<&1, Json>

def lookup source · line 26 · raw

@+key:String -> @entries:List<&2, Sigma<&2, &2, String, _ => Json>> -> Maybe<&1, Json>

def field source · line 33 · raw

@key:String -> @value:Json -> Maybe<&1, Json>

def as_string source · line 40 · raw

@value:Json -> Maybe<&1, String>

def object source · line 48 · raw

@entries:List<&2, Sigma<&2, &2, String, _ => Json>> -> Json

Builders preserve list order. Duplicate object keys are rejected on encoding.

def array source · line 51 · raw

@items:List<&2, Json> -> Json

def string source · line 54 · raw

@text:String -> Json

def boolean source · line 57 · raw

@value:Bool -> Json

def null source · line 60 · raw

Json

def u32 source · line 63 · raw

@value:U32 -> Json

def Json.stringify source · line 73 · raw

@value:Json -> IO(EncodeResult)

Effects (foreign code)

effect Json.parse source · line 16 · raw

@text:String -> IO(ParseResult)

foreign: src/effects/json.c

effect Json.stringify_with_limit source · line 70 · raw

@value:Json -> @max_bytes:U32 -> IO(EncodeResult)

foreign: src/effects/json.c