#[derive(serde::Serialize, serde::Deserialize)]
#[serde(deny_unknown_fields)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ComponentData {
#[prost(string, tag = "1")]
pub template: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub css: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub css_href: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub template_json: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub template_functions: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "6")]
pub hydration_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "7")]
pub navigation_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "StateProjectionMode", tag = "8")]
pub hydration_mode: i32,
#[prost(enumeration = "StateProjectionMode", optional, tag = "9")]
pub navigation_mode: ::core::option::Option<i32>,
#[prost(bool, tag = "10")]
pub uses_shadow_dom: bool,
#[prost(enumeration = "ComponentWorkPolicy", tag = "11")]
pub work_policy: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ComponentAssetStylePreload {
#[prost(string, tag = "1")]
pub root: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub style_hrefs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(deny_unknown_fields)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebUiProtocol {
#[prost(map = "string, message", tag = "1")]
pub fragments: ::std::collections::HashMap<
::prost::alloc::string::String,
FragmentList,
>,
#[prost(string, repeated, tag = "2")]
pub tokens: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, message", tag = "3")]
pub components: ::std::collections::HashMap<
::prost::alloc::string::String,
ComponentData,
>,
#[prost(enumeration = "CssStrategy", tag = "4")]
pub css_strategy: i32,
#[prost(enumeration = "InitialStateStrategy", tag = "6")]
pub initial_state_strategy: i32,
#[prost(string, repeated, tag = "7")]
pub module_preloads: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "9")]
pub component_render_css: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "10")]
pub style_closures: ::std::collections::HashMap<
::prost::alloc::string::String,
ComponentStyleClosure,
>,
#[prost(message, repeated, tag = "11")]
pub style_chunks: ::prost::alloc::vec::Vec<StyleChunk>,
#[prost(message, repeated, tag = "12")]
pub component_asset_style_preloads: ::prost::alloc::vec::Vec<
ComponentAssetStylePreload,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ComponentStyleClosure {
#[prost(string, repeated, tag = "1")]
pub component_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, repeated, tag = "2")]
pub style_chunks: ::prost::alloc::vec::Vec<u32>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StyleChunk {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub css: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub css_href: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub component_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FragmentList {
#[prost(message, repeated, tag = "1")]
pub fragments: ::prost::alloc::vec::Vec<WebUiFragment>,
#[prost(bool, tag = "2")]
pub contains_boundary: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebUiFragment {
#[prost(oneof = "web_ui_fragment::Fragment", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
pub fragment: ::core::option::Option<web_ui_fragment::Fragment>,
}
pub mod web_ui_fragment {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Fragment {
#[prost(message, tag = "1")]
Raw(super::WebUiFragmentRaw),
#[prost(message, tag = "2")]
Component(super::WebUiFragmentComponent),
#[prost(message, tag = "3")]
ForLoop(super::WebUiFragmentFor),
#[prost(message, tag = "4")]
Signal(super::WebUiFragmentSignal),
#[prost(message, tag = "5")]
IfCond(super::WebUiFragmentIf),
#[prost(message, tag = "6")]
Attribute(super::WebUiFragmentAttribute),
#[prost(message, tag = "7")]
Plugin(super::WebUiFragmentPlugin),
#[prost(message, tag = "8")]
Route(super::WebUiFragmentRoute),
#[prost(message, tag = "9")]
Outlet(super::WebUiFragmentOutlet),
#[prost(message, tag = "10")]
Boundary(super::WebUiFragmentBoundary),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentBoundary {
#[prost(uint32, tag = "1")]
pub declaration_id: u32,
#[prost(string, tag = "2")]
pub owner_fragment_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "4")]
pub key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, tag = "6")]
pub may_repeat: bool,
#[prost(enumeration = "BoundaryPhase", tag = "7")]
pub phase: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebUiFragmentRoute {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub fragment_id: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub exact: bool,
#[prost(message, repeated, tag = "4")]
pub children: ::prost::alloc::vec::Vec<WebUiFragmentRoute>,
#[prost(string, tag = "5")]
pub allowed_query: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub keep_alive: bool,
#[prost(string, repeated, tag = "7")]
pub cache_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "8")]
pub invalidates: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "9")]
pub pending_component: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub error_component: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub content_fragment_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentOutlet {}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentPlugin {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentRaw {
#[prost(string, tag = "1")]
pub value: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentComponent {
#[prost(string, tag = "1")]
pub fragment_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentFor {
#[prost(string, tag = "1")]
pub item: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub collection: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub fragment_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebUiFragmentSignal {
#[prost(string, tag = "1")]
pub value: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub raw: bool,
#[prost(bool, tag = "3")]
pub raw_text_context: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebUiFragmentIf {
#[prost(message, optional, tag = "1")]
pub condition: ::core::option::Option<ConditionExpr>,
#[prost(string, tag = "2")]
pub fragment_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebUiFragmentAttribute {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub template: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub complex: bool,
#[prost(bool, tag = "5")]
pub attr_start: bool,
#[prost(bool, tag = "6")]
pub attr_skip: bool,
#[prost(bool, tag = "7")]
pub raw_value: bool,
#[prost(message, optional, tag = "8")]
pub condition_tree: ::core::option::Option<ConditionExpr>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConditionExpr {
#[prost(oneof = "condition_expr::Expr", tags = "1, 2, 3, 4")]
pub expr: ::core::option::Option<condition_expr::Expr>,
}
pub mod condition_expr {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Expr {
#[prost(message, tag = "1")]
Predicate(super::Predicate),
#[prost(message, tag = "2")]
Not(::prost::alloc::boxed::Box<super::NotCondition>),
#[prost(message, tag = "3")]
Compound(::prost::alloc::boxed::Box<super::CompoundCondition>),
#[prost(message, tag = "4")]
Identifier(super::IdentifierCondition),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Predicate {
#[prost(string, tag = "1")]
pub left: ::prost::alloc::string::String,
#[prost(enumeration = "ComparisonOperator", tag = "2")]
pub operator: i32,
#[prost(string, tag = "3")]
pub right: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotCondition {
#[prost(message, optional, boxed, tag = "1")]
pub condition: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompoundCondition {
#[prost(message, optional, boxed, tag = "1")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
#[prost(enumeration = "LogicalOperator", tag = "2")]
pub op: i32,
#[prost(message, optional, boxed, tag = "3")]
pub right: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IdentifierCondition {
#[prost(string, tag = "1")]
pub value: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComponentWorkPolicy {
Eager = 0,
LazyHydration = 1,
LazyRender = 2,
Interaction = 3,
LazyRenderInteraction = 4,
}
impl ComponentWorkPolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Eager => "COMPONENT_WORK_POLICY_EAGER",
Self::LazyHydration => "COMPONENT_WORK_POLICY_LAZY_HYDRATION",
Self::LazyRender => "COMPONENT_WORK_POLICY_LAZY_RENDER",
Self::Interaction => "COMPONENT_WORK_POLICY_INTERACTION",
Self::LazyRenderInteraction => {
"COMPONENT_WORK_POLICY_LAZY_RENDER_INTERACTION"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPONENT_WORK_POLICY_EAGER" => Some(Self::Eager),
"COMPONENT_WORK_POLICY_LAZY_HYDRATION" => Some(Self::LazyHydration),
"COMPONENT_WORK_POLICY_LAZY_RENDER" => Some(Self::LazyRender),
"COMPONENT_WORK_POLICY_INTERACTION" => Some(Self::Interaction),
"COMPONENT_WORK_POLICY_LAZY_RENDER_INTERACTION" => {
Some(Self::LazyRenderInteraction)
}
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InitialStateStrategy {
Full = 0,
Components = 1,
}
impl InitialStateStrategy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Full => "INITIAL_STATE_STRATEGY_FULL",
Self::Components => "INITIAL_STATE_STRATEGY_COMPONENTS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INITIAL_STATE_STRATEGY_FULL" => Some(Self::Full),
"INITIAL_STATE_STRATEGY_COMPONENTS" => Some(Self::Components),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StateProjectionMode {
None = 0,
Keys = 1,
All = 2,
}
impl StateProjectionMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "STATE_PROJECTION_MODE_NONE",
Self::Keys => "STATE_PROJECTION_MODE_KEYS",
Self::All => "STATE_PROJECTION_MODE_ALL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_PROJECTION_MODE_NONE" => Some(Self::None),
"STATE_PROJECTION_MODE_KEYS" => Some(Self::Keys),
"STATE_PROJECTION_MODE_ALL" => Some(Self::All),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CssStrategy {
Link = 0,
Style = 1,
Module = 2,
}
impl CssStrategy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Link => "CSS_STRATEGY_LINK",
Self::Style => "CSS_STRATEGY_STYLE",
Self::Module => "CSS_STRATEGY_MODULE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CSS_STRATEGY_LINK" => Some(Self::Link),
"CSS_STRATEGY_STYLE" => Some(Self::Style),
"CSS_STRATEGY_MODULE" => Some(Self::Module),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BoundaryPhase {
Start = 0,
End = 1,
}
impl BoundaryPhase {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Start => "BOUNDARY_PHASE_START",
Self::End => "BOUNDARY_PHASE_END",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BOUNDARY_PHASE_START" => Some(Self::Start),
"BOUNDARY_PHASE_END" => Some(Self::End),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LogicalOperator {
Unspecified = 0,
And = 1,
Or = 2,
}
impl LogicalOperator {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "LOGICAL_OPERATOR_UNSPECIFIED",
Self::And => "AND",
Self::Or => "OR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LOGICAL_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
"AND" => Some(Self::And),
"OR" => Some(Self::Or),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComparisonOperator {
Unspecified = 0,
GreaterThan = 1,
LessThan = 2,
Equal = 3,
NotEqual = 4,
GreaterThanOrEqual = 5,
LessThanOrEqual = 6,
}
impl ComparisonOperator {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPARISON_OPERATOR_UNSPECIFIED",
Self::GreaterThan => "GREATER_THAN",
Self::LessThan => "LESS_THAN",
Self::Equal => "EQUAL",
Self::NotEqual => "NOT_EQUAL",
Self::GreaterThanOrEqual => "GREATER_THAN_OR_EQUAL",
Self::LessThanOrEqual => "LESS_THAN_OR_EQUAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPARISON_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
"GREATER_THAN" => Some(Self::GreaterThan),
"LESS_THAN" => Some(Self::LessThan),
"EQUAL" => Some(Self::Equal),
"NOT_EQUAL" => Some(Self::NotEqual),
"GREATER_THAN_OR_EQUAL" => Some(Self::GreaterThanOrEqual),
"LESS_THAN_OR_EQUAL" => Some(Self::LessThanOrEqual),
_ => None,
}
}
}