Skip to content
1 viewer

rust 1,961,941 · typescript 233,850 · javascript 141,145 · python 22,871 · 6,801 files · digest 6d882eacc8db · built in 12.5 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,523 lines (12,973 code) · 26 files · 1,332 fns (255 tests) · cyclomatic Σ 1,933

3workspace deps
21direct dependents
223transitive dependents
14calls out
1,173calls in
1376call-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 · 16 calls · source referencenormal dep · 42 calls · source referencenormal dep · 21 calls · source referencenormal dep · 32 calls · source referencenormal dep · 30 calls · source referencenormal dep · 6 calls · source referencenormal dep · 0 calls · source referencenormal dep · 8 calls · source referencenormal dep · 5 calls · incomplete scannormal dep · 2 calls · source referencenormal dep · 0 calls · source referencenormal dep · 16 calls · incomplete scannormal dep · 7 calls · source referencenormal dep · 44 calls · incomplete scannormal dep · 8 calls · source referencenormal dep · 12 calls · source referencenormal dep · 27 calls · incomplete scannormal dep · 0 calls · incomplete scannormal dep · 852 calls · source referencenormal dep · 1 calls · source referencenormal dep · 3 calls · source referencenormal dep · 10 calls · source referencenormal dep · 42 calls · source referencenormal dep · 3 calls · source referenceapp-view-lib-apiL3 · 12,973 linescre8-app-view-lib-apiapp-actionL8 · 3,135 linescre8-app-actionapp-adL12 · 6,401 linescre8-app-adapp-attentionL11 · 6,383 linescre8-app-attentionapp-audioL15 · 54,316 linescre8-app-audioapp-avatar-viewL4 · 630 linescre8-app-avatar-viewapp-ballotL19 · 7,101 linescre8-app-ballotapp-cliL14 · 3,200 linescre8-app-cliapp-coherenceL11 · 973 linescre8-app-coherenceapp-deviceL9 · 14,646 linescre8-app-deviceapp-emailL9 · 4,612 linescre8-app-emailapp-notificationL8 · 4,832 linescre8-app-notificationapp-projectL20 · 5,066 linescre8-app-projectapp-radioL17 · 10,687 linescre8-app-radioapp-saleL17 · 10,391 linescre8-app-saleapp-transportL10 · 16,931 linescre8-app-transportapp-truthL7 · 20,485 linescre8-app-truthapp-tvL18 · 24,131 linescre8-app-tvapp-validationL9 · 2,405 linescre8-app-validationapp-view-libL8 · 89,193 linescre8-app-view-libruntime-coreL2 · 747 linescre8-runtime-coreutil-view-htmlL0 · 1,660 linescre8-util-view-htmlwireL0 · 1,451 linescre8-wireapp-virtual-viewL9 · 1,319 linescre8-app-virtual-viewruntime-app-hostL8 · 437 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/form.rs · 803 lines · 99 fnsform.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/section.rs · 1,419 lines · 149 fnssection.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/outsection.rsview_node::sectioncrates/cre8-app-view-lib-api/src/view_node/section.rs · 74 call sites in/outform.rsview_node::formcrates/cre8-app-view-lib-api/src/view_node/form.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,332 functions in all.

functionkindlinescyclomaticcallerscalleesweightcrystal
ViewNode::with_propsrc/view_node/mod.rs:93method413460114
ViewNode::prop_strsrc/view_node/mod.rs:148method31277098.7
ViewNode::newsrc/view_node/mod.rs:82method101139033.2
ViewNode::with_childsrc/view_node/mod.rs:123method41162029.6
ViewNode::from_jsonsrc/view_node/mod.rs:141method6146222.5
ViewStateEvent::togglesrc/view_state.rs:127method3126015.9
ViewChild::as_textsrc/view_node/mod.rs:71method8412013.2
behavior_contracts_are_consistentsrc/view_node/mod.rs:157fn321210.1
declared_child_nodes_are_validsrc/view_node/mod.rs:191fn1231110.1
FormBuilder::success_redirect_fieldssrc/view_node/form.rs:338method1112409.2
FieldDescriptor::ofsrc/view_node/form.rs:110method181909.1
view_lifecycle_from_valuesrc/view_lifecycle.rs:152fn72407
view_state_from_valuesrc/view_state.rs:144fn72406.6
ViewPatch::newsrc/view_patch.rs:155method1611406.3
value_atsrc/ssr.rs:231fn72806
portable_tree_matches_jsonsrc/portable_ir.rs:195fn197216
LiveStatusPanel::class_namesrc/live_status.rs:63method41706
LiveStatusPanel::live_kindsrc/live_status.rs:69method41706
PortableViewIr::matches_treesrc/portable_ir.rs:169method31615.7
safe_json_numbers_equalsrc/portable_ir.rs:215fn117115.6
ViewPatchFrame::newsrc/view_patch.rs:33method311605.4
safe_integersrc/portable_ir.rs:227fn72105.3
workbench_live_status_htmlsrc/workbench.rs:306fn333305.2
LiveStatusPanel::snapshotsrc/live_status.rs:104method31615.1
ViewNode::prop_arraysrc/view_node/mod.rs:152method311604.9
state_contract_is_consistentsrc/view_node/mod.rs:161fn122114.8
lifecycle_contract_is_consistentsrc/view_node/mod.rs:174fn122114.8
ViewOutputRequest::require_treesrc/view_output.rs:98method133424.3
PortableViewIr::validatesrc/portable_ir.rs:91method57191454.2
render_template_tosrc/renderer.rs:74fn102323.9
empty_objectsrc/view_state.rs:294fn31303.6
render_templatesrc/renderer.rs:310fn61713.4
ViewOutputResolution::resolvesrc/view_output.rs:182method5911953.4
SsrFeed::newsrc/ssr.rs:79method31203.3
StatBuilder::newsrc/view_node/display.rs:538method31803.3
FieldDescriptor::selectsrc/view_node/form.rs:162method511813.3
FormBuilder::propsrc/view_node/form.rs:351method41303.1
ViewNode::with_childrensrc/view_node/mod.rs:128method811803.1
TableBuilder::newsrc/view_node/display.rs:170method311703
BannerBuilder::defaultsrc/view_node/display.rs:1417trait impl31103

Outside the workspace

anyhow serde serde_json