diff options
author | Simon Van Casteren <simonvancasteren@localhost.localdomain> | 2019-12-13 11:46:22 +0100 |
---|---|---|
committer | Simon Van Casteren <simonvancasteren@localhost.localdomain> | 2019-12-13 11:46:22 +0100 |
commit | 34bb8fae33a75868060838cda98bb46e0257ca0c (patch) | |
tree | c6c5c4dfbcc49444f14be479cf2d7e6501203878 /lib/ur/json.urs | |
parent | 870ce334b835614bab3f114b2aa57617f699c6be (diff) | |
parent | 2bca6e48c0ea8043c5300f4ebdefa5167e6472bf (diff) |
Merge remote-tracking branch 'origin/master' into typeOf
Diffstat (limited to 'lib/ur/json.urs')
-rw-r--r-- | lib/ur/json.urs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/ur/json.urs b/lib/ur/json.urs index b4bd6350..ad49a40f 100644 --- a/lib/ur/json.urs +++ b/lib/ur/json.urs @@ -13,10 +13,20 @@ val json_string : json string val json_int : json int val json_float : json float val json_bool : json bool +val json_time : json time val json_option : a ::: Type -> json a -> json (option a) val json_list : a ::: Type -> json a -> json (list a) +(* By the way, time formatting follows RFC 3339, and we expose the more + * primitive formatting functions here. *) +val rfc3339_out : time -> string +val rfc3339_in : string -> time + val json_record : ts ::: {Type} -> folder ts -> $(map json ts) -> $(map (fn _ => string) ts) -> json $ts +val json_record_withOptional : ts ::: {Type} -> ots ::: {Type} -> [ts ~ ots] + => folder ts -> $(map json ts) -> $(map (fn _ => string) ts) + -> folder ots -> $(map json ots) -> $(map (fn _ => string) ots) + -> json $(ts ++ map option ots) val json_variant : ts ::: {Type} -> folder ts -> $(map json ts) -> $(map (fn _ => string) ts) -> json (variant ts) val json_unit : json unit |