{"decls":[{"kind":"export","names":["app.step_v1"]},{"body":["begin",["let","props",["std.web_ui.vdom.props_v1",["bytes.view_lit","{}"],["bytes.view_lit","[]"],["bytes.view_lit","{}"]]],["let","on",["std.web_ui.vdom.on_click_v1","target_json"]],["let","label",["std.web_ui.vdom.text_v1","target_json","label_json"]],["let","children",["std.web_ui.vdom.children1_v1",["bytes.view","label"]]],["std.web_ui.vdom.el_v1",["bytes.view_lit","\"button\""],"target_json",["bytes.view","props"],["bytes.view","on"],["bytes.view","children"]]],"kind":"defn","name":"app.button_v1","params":[{"name":"target_json","ty":"bytes_view"},{"name":"label_json","ty":"bytes_view"}],"result":"bytes"},{"body":["bytes.concat",["bytes.concat",["bytes.lit","["],"effect_json"],["bytes.lit","]"]],"kind":"defn","name":"app.effects1_v1","params":[{"name":"effect_json","ty":"bytes"}],"result":"bytes"},{"body":["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.lit","["],"a"],["bytes.lit",","]],"b"],["bytes.lit","]"]],"kind":"defn","name":"app.effects2_v1","params":[{"name":"a","ty":"bytes"},{"name":"b","ty":"bytes"}],"result":"bytes"},{"body":["begin",["let","value",["std.web_ui.runtime.dispatch_extract_canon_or_err_v1","dispatch_json","path"]],["if",["view.eq",["bytes.view","value"],["bytes.view_lit","ERR"]],["view.to_bytes","fallback_json"],"value"]],"kind":"defn","name":"app.extract_or_v1","params":[{"name":"dispatch_json","ty":"bytes_view"},{"name":"path","ty":"bytes_view"},{"name":"fallback_json","ty":"bytes_view"}],"result":"bytes"},{"body":["begin",["let","props",["std.web_ui.vdom.props_v1",["bytes.view_lit","{}"],["bytes.view_lit","[]"],["bytes.view_lit","{}"]]],["let","on",["std.web_ui.vdom.on_empty_v1"]],["let","label",["std.web_ui.vdom.text_v1",["bytes.view_lit","\"label\""],"label_json"]],["let","value",["std.web_ui.vdom.text_v1",["bytes.view_lit","\"value\""],"value_json"]],["let","children",["std.web_ui.vdom.children2_v1",["bytes.view","label"],["bytes.view","value"]]],["std.web_ui.vdom.el_v1",["bytes.view_lit","\"div\""],"key_json",["bytes.view","props"],["bytes.view","on"],["bytes.view","children"]]],"kind":"defn","name":"app.field_v1","params":[{"name":"key_json","ty":"bytes_view"},{"name":"label_json","ty":"bytes_view"},{"name":"value_json","ty":"bytes_view"}],"result":"bytes"},{"body":["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.concat",["bytes.lit","{\"route\":"],["view.to_bytes","route_json"]],["bytes.lit",",\"display\":"]],["view.to_bytes","display_json"]],["bytes.lit",",\"cache\":"]],["view.to_bytes","cache_json"]],["bytes.lit",",\"source\":"]],["view.to_bytes","source_json"]],["bytes.lit",",\"error\":"]],["view.to_bytes","error_json"]],["bytes.lit","}"]],"kind":"defn","name":"app.state_v1","params":[{"name":"route_json","ty":"bytes_view"},{"name":"display_json","ty":"bytes_view"},{"name":"cache_json","ty":"bytes_view"},{"name":"source_json","ty":"bytes_view"},{"name":"error_json","ty":"bytes_view"}],"result":"bytes"},{"body":["begin",["let","empty_json",["bytes.lit","\"\""]],["let","default_route_json",["bytes.lit","\"/\""]],["let","boot_source_json",["bytes.lit","\"boot\""]],["let","nav_source_json",["bytes.lit","\"nav\""]],["let","storage_source_json",["bytes.lit","\"storage\""]],["let","http_source_json",["bytes.lit","\"http\""]],["let","cache_key_json",["bytes.lit","\"app.cache\""]],["let","route_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","state.route"],["bytes.view","default_route_json"]]],["let","display_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","state.display"],["bytes.view","empty_json"]]],["let","cache_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","state.cache"],["bytes.view","empty_json"]]],["let","source_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","state.source"],["bytes.view","boot_source_json"]]],["let","error_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","state.error"],["bytes.view","empty_json"]]],["let","event_type_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","event.type"],["bytes.view_lit","\"init\""]]],["let","event_target_json",["app.extract_or_v1","dispatch_json",["bytes.view_lit","event.target"],["bytes.view","empty_json"]]],["let","href_json0",["std.web_ui.effects.nav.dispatch_href_canon_or_err_v1","dispatch_json"]],["let","nav_changed",["begin",["let","_x07_tmp_copy_decls_7_body_16_2",["view.to_bytes",["bytes.view","href_json0"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_16_2"],["bytes.view_lit","ERR"]],0,["if",["view.eq",["bytes.view","href_json0"],["bytes.view","route_json"]],0,1]]]],["let","status_json0",["std.web_ui.effects.http.dispatch_response_status_canon_or_err_v1","dispatch_json"]],["let","body_text_json0",["std.web_ui.effects.http.dispatch_response_body_text_canon_or_err_v1","dispatch_json"]],["let","status_present",["if",["view.eq",["bytes.view","status_json0"],["bytes.view_lit","ERR"]],0,1]],["let","body_text_present",["if",["view.eq",["bytes.view","body_text_json0"],["bytes.view_lit","ERR"]],0,1]],["let","http_present",["if","status_present",1,"body_text_present"]],["let","status_json",["if","status_present",["std.bytes.copy","status_json0"],["bytes.lit","0"]]],["let","body_text_json",["if","body_text_present",["std.bytes.copy","body_text_json0"],["bytes.lit","\"\""]]],["let","http_matches","http_present"],["let","storage_value_json0",["std.web_ui.effects.storage.dispatch_get_value_canon_or_err_v1","dispatch_json"]],["let","storage_present",["if",["view.eq",["bytes.view","storage_value_json0"],["bytes.view_lit","ERR"]],0,1]],["let","storage_set_ok_json0",["std.web_ui.effects.storage.dispatch_set_ok_canon_or_err_v1","dispatch_json"]],["let","storage_set_present",["if",["view.eq",["bytes.view","storage_set_ok_json0"],["bytes.view_lit","ERR"]],0,1]],["let","http_success",["if","http_matches",["begin",["let","_x07_tmp_copy_decls_7_body_22_2_2",["view.to_bytes",["bytes.view","status_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_22_2_2"],["bytes.view_lit","200"]],1,["if",["view.eq",["bytes.view","status_json"],["bytes.view_lit","201"]],1,0]]],0]],["let","storage_value_json",["if","storage_present","storage_value_json0",["bytes.lit","null"]]],["let","storage_value_cmp_json",["view.to_bytes",["bytes.view","storage_value_json"]]],["let","storage_value_display_json",["view.to_bytes",["bytes.view","storage_value_json"]]],["let","storage_value_cache_json",["view.to_bytes",["bytes.view","storage_value_json"]]],["let","storage_can_use",["if","http_matches",0,["if","storage_present",["if",["view.eq",["bytes.view","cache_json"],["bytes.view","empty_json"]],["if",["view.eq",["bytes.view","storage_value_cmp_json"],["bytes.view_lit","null"]],0,1],0],0]]],["let","handled_injection",["if","http_matches",1,["if","storage_can_use",1,["if","storage_set_present",1,["if","nav_changed",1,0]]]]],["let","next_route_json",["std.bytes.copy","route_json"]],["let","next_display_json",["std.bytes.copy","display_json"]],["let","next_cache_json",["std.bytes.copy","cache_json"]],["let","next_source_json",["std.bytes.copy","source_json"]],["let","next_error_json",["std.bytes.copy","error_json"]],["let","next_effects_json",["bytes.lit","[]"]],["if","nav_changed",["begin",["set","next_route_json","href_json0"],["set","next_source_json","nav_source_json"],0],0],["if","storage_can_use",["begin",["set","next_display_json","storage_value_display_json"],["set","next_cache_json","storage_value_cache_json"],["set","next_error_json",["bytes.lit","\"\""]],["set","next_source_json","storage_source_json"],0],0],["if","http_matches",["begin",["set","next_display_json",["std.bytes.copy","body_text_json"]],["if","http_success",["begin",["set","next_cache_json",["std.bytes.copy","body_text_json"]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects1_v1",["std.web_ui.effects.storage.set_v1",["bytes.view","cache_key_json"],["bytes.view","body_text_json"]]]],0],["begin",["set","next_error_json","body_text_json"],0]],["set","next_source_json","http_source_json"],0],0],["if","handled_injection",0,["begin",["let","_x07_tmp_copy_decls_7_body_39_3",["view.to_bytes",["bytes.view","event_type_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3"],["bytes.view_lit","\"init\""]],["begin",["set","next_source_json",["bytes.lit","\"req_init\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.storage.get_v1",["bytes.view","cache_key_json"]],["std.web_ui.effects.http.request_get_v1",["bytes.view_lit","\"req_init\""],["bytes.view_lit","\"/api/projects\""]]]],0],["if",["view.eq",["bytes.view","event_type_json"],["bytes.view_lit","\"click\""]],["begin",["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1"],["bytes.view_lit","\"refresh\""]],["begin",["set","next_source_json",["bytes.lit","\"req_refresh\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects1_v1",["std.web_ui.effects.http.request_get_v1",["bytes.view_lit","\"req_refresh\""],["bytes.view_lit","\"/api/projects\""]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3"],["bytes.view_lit","\"create\""]],["begin",["set","next_source_json",["bytes.lit","\"req_create\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects1_v1",["std.web_ui.effects.http.request_post_json_v1",["bytes.view_lit","\"req_create\""],["bytes.view_lit","\"/api/projects\""],["bytes.view_lit","{\"name\":\"Atlas\"}"]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3"],["bytes.view_lit","\"invalid-create\""]],["begin",["set","next_source_json",["bytes.lit","\"req_invalid_create\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects1_v1",["std.web_ui.effects.http.request_post_json_v1",["bytes.view_lit","\"req_invalid_create\""],["bytes.view_lit","\"/api/projects\""],["bytes.view_lit","{\"name\":\"\"}"]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3"],["bytes.view_lit","\"list\""]],["begin",["set","next_source_json",["bytes.lit","\"req_list\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.nav.push_v1",["bytes.view_lit","\"/projects\""]],["std.web_ui.effects.http.request_get_v1",["bytes.view_lit","\"req_list\""],["bytes.view_lit","\"/api/projects\""]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3"],["bytes.view_lit","\"detail\""]],["begin",["set","next_source_json",["bytes.lit","\"req_detail\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.nav.push_v1",["bytes.view_lit","\"/projects/proj_001\""]],["std.web_ui.effects.http.request_get_v1",["bytes.view_lit","\"req_detail\""],["bytes.view_lit","\"/api/projects/proj_001\""]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3_2_3"],["bytes.view_lit","\"item1\""]],["begin",["set","next_source_json",["bytes.lit","\"req_item1\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.nav.push_v1",["bytes.view_lit","\"/projects/proj_001/items/item_001\""]],["std.web_ui.effects.http.request_post_json_v1",["bytes.view_lit","\"req_item1\""],["bytes.view_lit","\"/api/projects/proj_001/items\""],["bytes.view_lit","{\"title\":\"Roadmap\"}"]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3_2_3_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3_2_3_2_3"],["bytes.view_lit","\"item2\""]],["begin",["set","next_source_json",["bytes.lit","\"req_item2\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.nav.push_v1",["bytes.view_lit","\"/projects/proj_001/items/item_002\""]],["std.web_ui.effects.http.request_post_json_v1",["bytes.view_lit","\"req_item2\""],["bytes.view_lit","\"/api/projects/proj_001/items\""],["bytes.view_lit","{\"title\":\"Budget notes\"}"]]]],0],["begin",["let","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3_2_3_2_3_2_3",["view.to_bytes",["bytes.view","event_target_json"]]],["if",["view.eq",["bytes.view","_x07_tmp_copy_decls_7_body_39_3_2_3_2_1_2_3_2_3_2_3_2_3_2_3_2_3_2_3"],["bytes.view_lit","\"invalid-item\""]],["begin",["set","next_source_json",["bytes.lit","\"req_invalid_item\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.nav.push_v1",["bytes.view_lit","\"/projects/proj_001/items/invalid\""]],["std.web_ui.effects.http.request_post_json_v1",["bytes.view_lit","\"req_invalid_item\""],["bytes.view_lit","\"/api/projects/proj_001/items\""],["bytes.view_lit","{\"x\":\"true\"}"]]]],0],["if",["view.eq",["bytes.view","event_target_json"],["bytes.view_lit","\"perf\""]],["begin",["set","next_source_json",["bytes.lit","\"req_perf\""]],["set","next_error_json",["bytes.lit","\"\""]],["set","next_effects_json",["app.effects2_v1",["std.web_ui.effects.nav.push_v1",["bytes.view_lit","\"/projects/proj_001/items/perf\""]],["std.web_ui.effects.http.request_post_json_v1",["bytes.view_lit","\"req_perf\""],["bytes.view_lit","\"/api/projects/proj_001/items\""],["bytes.view_lit","{\"title\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}"]]]],0],0]]]]]]]]]]]]]]]]],0],0]]]],["let","state_json",["app.state_v1",["bytes.view","next_route_json"],["bytes.view","next_display_json"],["bytes.view","next_cache_json"],["bytes.view","next_source_json"],["bytes.view","next_error_json"]]],["let","prev_ui_tree",["app.ui_tree_v1",["bytes.view","route_json"],["bytes.view","display_json"],["bytes.view","cache_json"],["bytes.view","source_json"],["bytes.view","error_json"]]],["let","ui_tree",["app.ui_tree_v1",["bytes.view","next_route_json"],["bytes.view","next_display_json"],["bytes.view","next_cache_json"],["bytes.view","next_source_json"],["bytes.view","next_error_json"]]],["let","patches",["std.web_ui.patch.diff_v1",["bytes.view","prev_ui_tree"],["bytes.view","ui_tree"]]],["std.web_ui.runtime.frame_v1",["bytes.view","state_json"],["bytes.view","ui_tree"],["bytes.view","patches"],["bytes.view","next_effects_json"],["bytes.view_lit","{}"]]],"kind":"defn","name":"app.step_v1","params":[{"name":"dispatch_json","ty":"bytes_view"}],"result":"bytes"},{"body":["begin",["let","button_refresh",["app.button_v1",["bytes.view_lit","\"refresh\""],["bytes.view_lit","\"refresh\""]]],["let","button_create",["app.button_v1",["bytes.view_lit","\"create\""],["bytes.view_lit","\"create\""]]],["let","button_invalid_create",["app.button_v1",["bytes.view_lit","\"invalid-create\""],["bytes.view_lit","\"invalid-create\""]]],["let","button_list",["app.button_v1",["bytes.view_lit","\"list\""],["bytes.view_lit","\"list\""]]],["let","button_detail",["app.button_v1",["bytes.view_lit","\"detail\""],["bytes.view_lit","\"detail\""]]],["let","button_item1",["app.button_v1",["bytes.view_lit","\"item1\""],["bytes.view_lit","\"item1\""]]],["let","button_item2",["app.button_v1",["bytes.view_lit","\"item2\""],["bytes.view_lit","\"item2\""]]],["let","button_invalid_item",["app.button_v1",["bytes.view_lit","\"invalid-item\""],["bytes.view_lit","\"invalid-item\""]]],["let","button_perf",["app.button_v1",["bytes.view_lit","\"perf\""],["bytes.view_lit","\"perf\""]]],["let","row1_children",["std.web_ui.vdom.children3_v1",["bytes.view","button_refresh"],["bytes.view","button_create"],["bytes.view","button_invalid_create"]]],["let","row1",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"row1\""],["bytes.view","row1_children"]]],["let","row2_children",["std.web_ui.vdom.children3_v1",["bytes.view","button_list"],["bytes.view","button_detail"],["bytes.view","button_item1"]]],["let","row2",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"row2\""],["bytes.view","row2_children"]]],["let","row3_children",["std.web_ui.vdom.children3_v1",["bytes.view","button_item2"],["bytes.view","button_invalid_item"],["bytes.view","button_perf"]]],["let","row3",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"row3\""],["bytes.view","row3_children"]]],["let","buttons_children",["std.web_ui.vdom.children3_v1",["bytes.view","row1"],["bytes.view","row2"],["bytes.view","row3"]]],["let","buttons_group",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"buttons_group\""],["bytes.view","buttons_children"]]],["let","field_route",["app.field_v1",["bytes.view_lit","\"route\""],["bytes.view_lit","\"route: \""],"route_json"]],["let","field_display",["app.field_v1",["bytes.view_lit","\"display\""],["bytes.view_lit","\"display: \""],"display_json"]],["let","field_cache",["app.field_v1",["bytes.view_lit","\"cache\""],["bytes.view_lit","\"cache: \""],"cache_json"]],["let","field_source",["app.field_v1",["bytes.view_lit","\"source\""],["bytes.view_lit","\"source: \""],"source_json"]],["let","field_error",["app.field_v1",["bytes.view_lit","\"error\""],["bytes.view_lit","\"error: \""],"error_json"]],["let","status_row1_children",["std.web_ui.vdom.children3_v1",["bytes.view","field_route"],["bytes.view","field_display"],["bytes.view","field_cache"]]],["let","status_row1",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"status_row1\""],["bytes.view","status_row1_children"]]],["let","status_row2_children",["std.web_ui.vdom.children2_v1",["bytes.view","field_source"],["bytes.view","field_error"]]],["let","status_row2",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"status_row2\""],["bytes.view","status_row2_children"]]],["let","status_children",["std.web_ui.vdom.children2_v1",["bytes.view","status_row1"],["bytes.view","status_row2"]]],["let","status_group",["std.web_ui.vdom.fragment_v1",["bytes.view_lit","\"status_group\""],["bytes.view","status_children"]]],["let","title_node",["std.web_ui.vdom.text_v1",["bytes.view_lit","\"title\""],["bytes.view_lit","\"frontend\""]]],["let","root_children",["std.web_ui.vdom.children3_v1",["bytes.view","title_node"],["bytes.view","buttons_group"],["bytes.view","status_group"]]],["let","root_props",["std.web_ui.vdom.props_v1",["bytes.view_lit","{}"],["bytes.view_lit","[]"],["bytes.view_lit","{}"]]],["let","root_on",["std.web_ui.vdom.on_empty_v1"]],["let","root_node",["std.web_ui.vdom.el_v1",["bytes.view_lit","\"div\""],["bytes.view_lit","\"root\""],["bytes.view","root_props"],["bytes.view","root_on"],["bytes.view","root_children"]]],["std.web_ui.vdom.tree_v1",["bytes.view","root_node"]]],"kind":"defn","name":"app.ui_tree_v1","params":[{"name":"route_json","ty":"bytes_view"},{"name":"display_json","ty":"bytes_view"},{"name":"cache_json","ty":"bytes_view"},{"name":"source_json","ty":"bytes_view"},{"name":"error_json","ty":"bytes_view"}],"result":"bytes"}],"imports":["std.bytes","std.web_ui.effects.http","std.web_ui.effects.nav","std.web_ui.effects.storage","std.web_ui.patch","std.web_ui.runtime","std.web_ui.vdom"],"kind":"module","module_id":"app","schema_version":"x07.x07ast@0.8.0"}
