12345678910111213141516171819202122232425262728293031323334353637# 1 "src/lib/eliom_cookies_base.shared.ml"[@@@warning"-39"]typecookie=Ocsigen_cookie_map.cookie=|OSetoffloatoption(* exp date *)*string(* value *)*bool(* secure *)|OUnset[@@derivingjson]typecookie_array=(stringarray*(string*cookie)array)array[@@derivingjson][@@@warning"+39"](** changes to cookieset_to_json must be completed
by corresponding changes in cookieset_of_json *)letcookieset_to_jsonset=letcookietable_arrayset=letaddkeyvl=(key,v)::linArray.of_list(Ocsigen_cookie_map.Map_inner.foldaddset[])inletaddkeyvl=(Array.of_listkey,cookietable_arrayv)::linleta=Array.of_list(Ocsigen_cookie_map.Map_path.foldaddset[])inDeriving_Json.to_string[%json:cookie_array]aletcookieset_of_jsonjson=letarray=Deriving_Json.from_string[%json:cookie_array]jsoninletcookietable_arrayarray=Array.fold_left(funset(name,cookie)->Ocsigen_cookie_map.Map_inner.addnamecookieset)Ocsigen_cookie_map.Map_inner.emptyarrayinArray.fold_left(funset(path,cookietable)->letpath=Array.to_listpathinOcsigen_cookie_map.Map_path.addpath(cookietable_arraycookietable)set)Ocsigen_cookie_map.emptyarray