Skip to content
1 viewer

rust 1,847,280 · typescript 232,434 · javascript 131,101 · python 19,227 · 6,362 files · digest 755e2ee30522 · built in 2.3 s · crystals off

cre8-app-view-lib-api view cargo crate

ViewNode grammar and view contracts (builders, patch / state / lifecycle / transport / wire, portable IR, SSR feed, workbench + live-status + comments recipes) — the half of cre8-app-view-lib that builds and describes a view tree without rendering it. Tree-only app crates depend on this leaf; every renderer stays in cre8-app-view-lib.

crates/cre8-app-view-lib-api · level 3 · 16,517 lines (12,969 code) · 26 files · 1,331 fns (255 tests) · cyclomatic Σ 1,932

3workspace deps
21direct dependents
218transitive dependents
14calls out
1,137calls in
1343call-graph weight
0.0%exact crystals

Neighbourhood

Left: crates that declare this one. Right: crates it declares (dev-dependencies included). Edge width grows with resolved calls.

normal dep · 17 callsnormal dep · 41 callsnormal dep · 18 callsnormal dep · 54 callsnormal dep · 30 callsnormal dep · 6 callsnormal dep · 0 callsnormal dep · 8 callsnormal dep · 5 calls · never namednormal dep · 0 callsnormal dep · 0 callsnormal dep · 20 callsnormal dep · 7 callsnormal dep · 39 calls · never namednormal dep · 8 callsnormal dep · 12 callsnormal dep · 11 calls · never namednormal dep · 0 calls · never namednormal dep · 818 callsnormal dep · 1 callsnormal dep · 3 callsnormal dep · 10 callsnormal dep · 42 callsnormal dep · 1 callsapp-view-lib-apiL3 · 12,969 linescre8-app-view-lib-apiapp-actionL7 · 2,574 linescre8-app-actionapp-adL11 · 6,321 linescre8-app-adapp-attentionL10 · 6,311 linescre8-app-attentionapp-audioL14 · 58,409 linescre8-app-audioapp-avatar-viewL4 · 630 linescre8-app-avatar-viewapp-ballotL18 · 7,091 linescre8-app-ballotapp-cliL13 · 3,200 linescre8-app-cliapp-coherenceL10 · 941 linescre8-app-coherenceapp-deviceL8 · 14,651 linescre8-app-deviceapp-emailL7 · 4,184 linescre8-app-emailapp-notificationL7 · 4,832 linescre8-app-notificationapp-projectL19 · 5,002 linescre8-app-projectapp-radioL16 · 10,706 linescre8-app-radioapp-saleL16 · 7,803 linescre8-app-saleapp-transportL9 · 16,843 linescre8-app-transportapp-truthL6 · 20,464 linescre8-app-truthapp-tvL17 · 19,696 linescre8-app-tvapp-validationL8 · 2,405 linescre8-app-validationapp-view-libL7 · 86,830 linescre8-app-view-libruntime-coreL2 · 747 linescre8-runtime-coreutil-view-htmlL0 · 1,660 linescre8-util-view-htmlwireL0 · 1,451 linescre8-wireapp-virtual-viewL8 · 1,282 linescre8-app-virtual-viewruntime-app-hostL7 · 451 linescre8-runtime-app-host

Files

lowhigh
crates/cre8-app-view-lib-api/src/comments.rs · 224 lines · 13 fnscomments.rscrates/cre8-app-view-lib-api/src/lib.rs · 75 lines · 0 fnslib.rscrates/cre8-app-view-lib-api/src/live_status.rs · 180 lines · 25 fnslive_status.rscrates/cre8-app-view-lib-api/src/portable_ir.rs · 423 lines · 28 fnsportable_ir.rscrates/cre8-app-view-lib-api/src/renderer.rs · 398 lines · 32 fnsrenderer.rscrates/cre8-app-view-lib-api/src/ssr.rs · 283 lines · 35 fnsssr.rscrates/cre8-app-view-lib-api/src/ssr_data_source.rs · 444 lines · 40 fnsssr_data_source.rscrates/cre8-app-view-lib-api/src/view_lifecycle.rs · 264 lines · 31 fnsview_lifecyc…crates/cre8-app-view-lib-api/src/view_node/checkout.rs · 492 lines · 56 fnscheckout.rscrates/cre8-app-view-lib-api/src/view_node/display.rs · 1,426 lines · 174 fnsdisplay.rscrates/cre8-app-view-lib-api/src/view_node/feedback.rs · 346 lines · 42 fnsfeedback.rscrates/cre8-app-view-lib-api/src/view_node/forms.rs · 799 lines · 98 fnsforms.rscrates/cre8-app-view-lib-api/src/view_node/interaction.rs · 467 lines · 53 fnsinteraction.rscrates/cre8-app-view-lib-api/src/view_node/island.rs · 105 lines · 10 fnsisland.…crates/cre8-app-view-lib-api/src/view_node/layout.rs · 1,648 lines · 192 fnslayout.rscrates/cre8-app-view-lib-api/src/view_node/media.rs · 310 lines · 33 fnsmedia.rscrates/cre8-app-view-lib-api/src/view_node/mod.rs · 732 lines · 58 fnsmod.rscrates/cre8-app-view-lib-api/src/view_node/scene.rs · 893 lines · 83 fnsscene.rscrates/cre8-app-view-lib-api/src/view_node/sections.rs · 1,419 lines · 149 fnssections.rscrates/cre8-app-view-lib-api/src/view_output.rs · 547 lines · 22 fnsview_output.rscrates/cre8-app-view-lib-api/src/view_patch.rs · 389 lines · 50 fnsview_patch.rscrates/cre8-app-view-lib-api/src/view_payload.rs · 46 lines · 6 fnsview_pay…crates/cre8-app-view-lib-api/src/view_state.rs · 365 lines · 37 fnsview_state.rscrates/cre8-app-view-lib-api/src/view_transport.rs · 84 lines · 4 fnscrates/cre8-app-view-lib-api/src/view_wire.rs · 99 lines · 11 fnsview_w…crates/cre8-app-view-lib-api/src/workbench.rs · 511 lines · 49 fnsworkbench.rs

File call graph

Resolved calls between this crate's files, callers left of callees.

1 calls13 calls1 calls5 calls1 calls10 calls12 calls17 calls1 calls29 calls6 calls2 calls56 calls9 calls14 calls16 calls17 calls20 calls19 calls5 calls31 calls27 calls6 calls2 calls6 calls7 calls29 calls74 calls1 calls3 calls4 calls9 calls3 calls5 calls22 callsmod.rsview_nodecrates/cre8-app-view-lib-api/src/view_node/mod.rs · 411 call sites in/outdisplay.rsview_node::displaycrates/cre8-app-view-lib-api/src/view_node/display.rs · 108 call sites in/outsections.rsview_node::sectionscrates/cre8-app-view-lib-api/src/view_node/sections.rs · 74 call sites in/outforms.rsview_node::formscrates/cre8-app-view-lib-api/src/view_node/forms.rs · 56 call sites in/outssr_data_source.rsssr_data_sourcecrates/cre8-app-view-lib-api/src/ssr_data_source.rs · 47 call sites in/outworkbench.rsworkbenchcrates/cre8-app-view-lib-api/src/workbench.rs · 40 call sites in/outscene.rsview_node::scenecrates/cre8-app-view-lib-api/src/view_node/scene.rs · 39 call sites in/outlayout.rsview_node::layoutcrates/cre8-app-view-lib-api/src/view_node/layout.rs · 26 call sites in/outinteraction.rsview_node::interactioncrates/cre8-app-view-lib-api/src/view_node/interaction.rs · 22 call sites in/outmedia.rsview_node::mediacrates/cre8-app-view-lib-api/src/view_node/media.rs · 21 call sites in/outportable_ir.rsportable_ircrates/cre8-app-view-lib-api/src/portable_ir.rs · 19 call sites in/outisland.rsview_node::islandcrates/cre8-app-view-lib-api/src/view_node/island.rs · 17 call sites in/outlive_status.rslive_statuscrates/cre8-app-view-lib-api/src/live_status.rs · 16 call sites in/outcomments.rscommentscrates/cre8-app-view-lib-api/src/comments.rs · 15 call sites in/outview_patch.rsview_patchcrates/cre8-app-view-lib-api/src/view_patch.rs · 13 call sites in/outview_lifecycle.rsview_lifecyclecrates/cre8-app-view-lib-api/src/view_lifecycle.rs · 11 call sites in/outview_state.rsview_statecrates/cre8-app-view-lib-api/src/view_state.rs · 10 call sites in/outfeedback.rsview_node::feedbackcrates/cre8-app-view-lib-api/src/view_node/feedback.rs · 9 call sites in/outview_wire.rsview_wirecrates/cre8-app-view-lib-api/src/view_wire.rs · 9 call sites in/outcheckout.rsview_node::checkoutcrates/cre8-app-view-lib-api/src/view_node/checkout.rs · 2 call sites in/outview_output.rsview_outputcrates/cre8-app-view-lib-api/src/view_output.rs · 1 call sites in/out

Heaviest functions

By call-graph weight (PageRank; 1.0 is the average function). 1,331 functions in all.

functionkindlinescyclomaticcallerscalleesweightcrystal
ViewNode::prop_strsrc/view_node/mod.rs:148method31274097.2
ViewNode::with_propsrc/view_node/mod.rs:93method41341087.8
ViewNode::newsrc/view_node/mod.rs:82method101137033.3
ViewNode::with_childsrc/view_node/mod.rs:123method41161027.9
ViewNode::from_jsonsrc/view_node/mod.rs:141method6145222.2
ViewStateEvent::togglesrc/view_state.rs:127method3125015.6
ViewChild::as_textsrc/view_node/mod.rs:71method8412012.9
behavior_contracts_are_consistentsrc/view_node/mod.rs:157fn32129.9
declared_child_nodes_are_validsrc/view_node/mod.rs:191fn123119.9
FormBuilder::success_redirect_fieldssrc/view_node/forms.rs:332method1112308.8
FieldDescriptor::ofsrc/view_node/forms.rs:108method181808.3
view_lifecycle_from_valuesrc/view_lifecycle.rs:152fn72407
view_state_from_valuesrc/view_state.rs:144fn72406.6
LiveStatusPanel::class_namesrc/live_status.rs:63method41706.3
LiveStatusPanel::live_kindsrc/live_status.rs:69method41706.3
ViewPatch::newsrc/view_patch.rs:155method1611406.3
portable_tree_matches_jsonsrc/portable_ir.rs:195fn197216.2
value_atsrc/ssr.rs:231fn72806.1
PortableViewIr::matches_treesrc/portable_ir.rs:169method31615.9
safe_json_numbers_equalsrc/portable_ir.rs:215fn117115.8
safe_integersrc/portable_ir.rs:227fn72105.4
workbench_live_status_htmlsrc/workbench.rs:306fn333305
LiveStatusPanel::snapshotsrc/live_status.rs:104method31614.9
ViewPatchFrame::newsrc/view_patch.rs:33method311604.8
ViewNode::prop_arraysrc/view_node/mod.rs:152method311504.8
state_contract_is_consistentsrc/view_node/mod.rs:161fn122114.7
lifecycle_contract_is_consistentsrc/view_node/mod.rs:174fn122114.7
ViewOutputRequest::require_treesrc/view_output.rs:98method133424.3
PortableViewIr::validatesrc/portable_ir.rs:91method57191454.1
render_template_tosrc/renderer.rs:74fn102323.9
empty_objectsrc/view_state.rs:294fn31303.6
TableBuilder::newsrc/view_node/display.rs:170method311803.5
render_templatesrc/renderer.rs:310fn61713.4
ViewOutputResolution::resolvesrc/view_output.rs:182method5911953.4
SsrFeed::newsrc/ssr.rs:79method31203.4
StatBuilder::newsrc/view_node/display.rs:538method31803.3
BannerBuilder::defaultsrc/view_node/display.rs:1417trait impl31103
BannerBuilder::newsrc/view_node/display.rs:1423method31413
FieldDescriptor::selectsrc/view_node/forms.rs:156method511613
ViewNode::with_childrensrc/view_node/mod.rs:128method811703

Outside the workspace

anyhow serde serde_json