json.bend relies on unsafe/foreign
raw source on the hub · import 0x1cdf369e776ae78acfdfab21f9105842/json.bend as Json
1 import
import Base
Types
type Val source · line 5 · raw
Data
NullVal
Flag@on:Bool -> Val
Num@n:U32 -> Val
Str@s:String -> Val
Arr@xs:List<&2, Val> -> Val
Obj@m:Map<&2, Val> -> Val
type Next source · line 13 · raw
Data
Next@v:Val -> @rest:String -> Next
type Cut source · line 16 · raw
Data
Cut@s:String -> @rest:String -> Cut
Definitions
def is_ws source · line 19 · raw
@+c:U32 -> Bool
def skip_ws source · line 22 · raw
@s:String -> String
def digit source · line 29 · raw
@+c:U32 -> Bool
def parse.null.if source · line 32 · raw
@+s:String -> @ok:Bool -> Maybe<&2, Next>
def parse.null source · line 39 · raw
@+s:String -> Maybe<&2, Next>
def parse.true.if source · line 42 · raw
@+s:String -> @ok:Bool -> Maybe<&2, Next>
def parse.true source · line 49 · raw
@+s:String -> Maybe<&2, Next>
def parse.false.if source · line 52 · raw
@+s:String -> @ok:Bool -> Maybe<&2, Next>
def parse.false source · line 59 · raw
@+s:String -> Maybe<&2, Next>
def parse.num.go source · line 62 · raw
@s:String -> @+acc:U32 -> Next
def parse.num.start source · line 69 · raw
@c:U32 -> @t:String -> @ok:Bool -> Maybe<&2, Next>
def parse.num source · line 76 · raw
@s:String -> Maybe<&2, Next>
def parse.str.put source · line 83 · raw
@ch:Char -> @got:Maybe<&2, Cut> -> Maybe<&2, Cut>
def parse.str.val source · line 98 · raw
@got:Maybe<&2, Cut> -> Maybe<&2, Next>
def parse.str.q source · line 105 · raw
@t:String -> @quot:Bool -> Maybe<&2, Next>
def parse.str source · line 112 · raw
@s:String -> Maybe<&2, Next>
def parse.empty.arr source · line 119 · raw
@r:String -> @ok:Bool -> Maybe<&2, Next>
def parse.empty.obj source · line 126 · raw
@r:String -> @ok:Bool -> Maybe<&2, Next>
def parse.coll2 source · line 133 · raw
@r:String -> @arr:Bool -> @close_a:Bool -> @close_o:Bool -> Maybe<&2, Next>
def parse.coll1 source · line 140 · raw
@t:String -> @arr:Bool -> Maybe<&2, Next>
def parse.leaf9 source · line 147 · raw
@s:String -> @d:Bool -> Maybe<&2, Next>
def parse.leaf8 source · line 154 · raw
@s:String -> @q:Bool -> @d:Bool -> Maybe<&2, Next>
def parse.leaf7 source · line 161 · raw
@s:String -> @f:Bool -> @q:Bool -> @d:Bool -> Maybe<&2, Next>
def parse.leaf6 source · line 168 · raw
@s:String -> @tr:Bool -> @f:Bool -> @q:Bool -> @d:Bool -> Maybe<&2, Next>
def parse.leaf5 source · line 175 · raw
@s:String -> @n:Bool -> @tr:Bool -> @f:Bool -> @q:Bool -> @d:Bool -> Maybe<&2, Next>
def parse.leaf4o source · line 182 · raw
@+s:String -> @+c:U32 -> @t:String -> @obj:Bool -> Maybe<&2, Next>
def parse.leaf4 source · line 189 · raw
@+s:String -> @+c:U32 -> @t:String -> @arr:Bool -> @obj:Bool -> Maybe<&2, Next>
def parse.leaf source · line 196 · raw
@+s:String -> Maybe<&2, Next>
def parse.trail source · line 203 · raw
@v:Val -> @rest:String -> Maybe<&2, Val>
def parse.done source · line 210 · raw
@got:Maybe<&2, Next> -> Maybe<&2, Val>
def parse source · line 217 · raw
@s:String -> Maybe<&2, Val>
def get.hit source · line 220 · raw
@r:Pair(Map<&2, Val>, Bool) -> Bool
def get.some source · line 224 · raw
@r:Pair(Map<&2, Val>, Val) -> Maybe<&2, Val>
def get.has source · line 228 · raw
@+m:Map<&2, Val> -> @+k:String -> @hit:Bool -> Maybe<&2, Val>
def get.of source · line 235 · raw
@+m:Map<&2, Val> -> @+k:String -> Maybe<&2, Val>
def get source · line 238 · raw
@v:Val -> @k:String -> Maybe<&2, Val>
def esc.go source · line 253 · raw
@s:String -> @+acc:String -> String
def esc source · line 260 · raw
@s:String -> String
def encode source · line 263 · raw
@v:Val -> String
Unsafe
unsafe parse.str.go source · line 91 · raw
@s:String -> Maybe<&2, Cut>