1#[derive(serde::Serialize, serde::Deserialize)]
9#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10pub struct ComponentData {
11 #[prost(string, tag = "1")]
14 pub template: ::prost::alloc::string::String,
15 #[prost(string, tag = "2")]
20 pub css: ::prost::alloc::string::String,
21 #[prost(string, tag = "3")]
30 pub css_href: ::prost::alloc::string::String,
31 #[prost(string, tag = "4")]
35 pub template_json: ::prost::alloc::string::String,
36 #[prost(string, tag = "5")]
39 pub template_functions: ::prost::alloc::string::String,
40 #[prost(string, repeated, tag = "6")]
47 pub hydration_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
48 #[prost(string, repeated, tag = "7")]
53 pub navigation_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
54 #[prost(enumeration = "StateProjectionMode", tag = "8")]
56 pub hydration_mode: i32,
57 #[prost(enumeration = "StateProjectionMode", optional, tag = "9")]
61 pub navigation_mode: ::core::option::Option<i32>,
62}
63#[derive(serde::Serialize, serde::Deserialize)]
65#[derive(Clone, PartialEq, ::prost::Message)]
66pub struct WebUiProtocol {
67 #[prost(map = "string, message", tag = "1")]
68 pub fragments: ::std::collections::HashMap<
69 ::prost::alloc::string::String,
70 FragmentList,
71 >,
72 #[prost(string, repeated, tag = "2")]
76 pub tokens: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
77 #[prost(map = "string, message", tag = "3")]
79 pub components: ::std::collections::HashMap<
80 ::prost::alloc::string::String,
81 ComponentData,
82 >,
83 #[prost(enumeration = "CssStrategy", tag = "4")]
86 pub css_strategy: i32,
87 #[prost(enumeration = "DomStrategy", tag = "5")]
90 pub dom_strategy: i32,
91 #[prost(enumeration = "InitialStateStrategy", tag = "6")]
94 pub initial_state_strategy: i32,
95 #[prost(string, repeated, tag = "7")]
108 pub module_preloads: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
109 #[prost(map = "string, message", tag = "8")]
113 pub streaming_boundaries: ::std::collections::HashMap<
114 ::prost::alloc::string::String,
115 StreamingBoundaryList,
116 >,
117}
118#[derive(serde::Serialize, serde::Deserialize)]
120#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
121pub struct StreamingBoundaryList {
122 #[prost(string, repeated, tag = "1")]
123 pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
124}
125#[derive(serde::Serialize, serde::Deserialize)]
127#[derive(Clone, PartialEq, ::prost::Message)]
128pub struct FragmentList {
129 #[prost(message, repeated, tag = "1")]
130 pub fragments: ::prost::alloc::vec::Vec<WebUiFragment>,
131}
132#[derive(serde::Serialize, serde::Deserialize)]
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct WebUiFragment {
136 #[prost(oneof = "web_ui_fragment::Fragment", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9")]
137 pub fragment: ::core::option::Option<web_ui_fragment::Fragment>,
138}
139pub mod web_ui_fragment {
141 #[derive(serde::Serialize, serde::Deserialize)]
142 #[derive(Clone, PartialEq, ::prost::Oneof)]
143 pub enum Fragment {
144 #[prost(message, tag = "1")]
145 Raw(super::WebUiFragmentRaw),
146 #[prost(message, tag = "2")]
147 Component(super::WebUiFragmentComponent),
148 #[prost(message, tag = "3")]
149 ForLoop(super::WebUiFragmentFor),
150 #[prost(message, tag = "4")]
151 Signal(super::WebUiFragmentSignal),
152 #[prost(message, tag = "5")]
153 IfCond(super::WebUiFragmentIf),
154 #[prost(message, tag = "6")]
155 Attribute(super::WebUiFragmentAttribute),
156 #[prost(message, tag = "7")]
157 Plugin(super::WebUiFragmentPlugin),
158 #[prost(message, tag = "8")]
159 Route(super::WebUiFragmentRoute),
160 #[prost(message, tag = "9")]
161 Outlet(super::WebUiFragmentOutlet),
162 }
163}
164#[derive(serde::Serialize, serde::Deserialize)]
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct WebUiFragmentRoute {
169 #[prost(string, tag = "1")]
170 pub path: ::prost::alloc::string::String,
171 #[prost(string, tag = "2")]
172 pub fragment_id: ::prost::alloc::string::String,
173 #[prost(bool, tag = "3")]
174 pub exact: bool,
175 #[prost(message, repeated, tag = "4")]
177 pub children: ::prost::alloc::vec::Vec<WebUiFragmentRoute>,
178 #[prost(string, tag = "5")]
181 pub allowed_query: ::prost::alloc::string::String,
182 #[prost(bool, tag = "6")]
185 pub keep_alive: bool,
186 #[prost(string, repeated, tag = "7")]
189 pub cache_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
190 #[prost(string, repeated, tag = "8")]
194 pub invalidates: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
195 #[prost(string, tag = "9")]
198 pub pending_component: ::prost::alloc::string::String,
199 #[prost(string, tag = "10")]
202 pub error_component: ::prost::alloc::string::String,
203}
204#[derive(serde::Serialize, serde::Deserialize)]
207#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
208pub struct WebUiFragmentOutlet {}
209#[derive(serde::Serialize, serde::Deserialize)]
213#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
214pub struct WebUiFragmentPlugin {
215 #[prost(bytes = "vec", tag = "1")]
216 pub data: ::prost::alloc::vec::Vec<u8>,
217}
218#[derive(serde::Serialize, serde::Deserialize)]
220#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
221pub struct WebUiFragmentRaw {
222 #[prost(string, tag = "1")]
223 pub value: ::prost::alloc::string::String,
224}
225#[derive(serde::Serialize, serde::Deserialize)]
227#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
228pub struct WebUiFragmentComponent {
229 #[prost(string, tag = "1")]
230 pub fragment_id: ::prost::alloc::string::String,
231}
232#[derive(serde::Serialize, serde::Deserialize)]
234#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
235pub struct WebUiFragmentFor {
236 #[prost(string, tag = "1")]
237 pub item: ::prost::alloc::string::String,
238 #[prost(string, tag = "2")]
239 pub collection: ::prost::alloc::string::String,
240 #[prost(string, tag = "3")]
241 pub fragment_id: ::prost::alloc::string::String,
242}
243#[derive(serde::Serialize, serde::Deserialize)]
245#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
246pub struct WebUiFragmentSignal {
247 #[prost(string, tag = "1")]
248 pub value: ::prost::alloc::string::String,
249 #[prost(bool, tag = "2")]
250 pub raw: bool,
251}
252#[derive(serde::Serialize, serde::Deserialize)]
254#[derive(Clone, PartialEq, ::prost::Message)]
255pub struct WebUiFragmentIf {
256 #[prost(message, optional, tag = "1")]
257 pub condition: ::core::option::Option<ConditionExpr>,
258 #[prost(string, tag = "2")]
259 pub fragment_id: ::prost::alloc::string::String,
260}
261#[derive(serde::Serialize, serde::Deserialize)]
263#[derive(Clone, PartialEq, ::prost::Message)]
264pub struct WebUiFragmentAttribute {
265 #[prost(string, tag = "1")]
266 pub name: ::prost::alloc::string::String,
267 #[prost(string, tag = "2")]
269 pub value: ::prost::alloc::string::String,
270 #[prost(string, tag = "3")]
272 pub template: ::prost::alloc::string::String,
273 #[prost(bool, tag = "4")]
275 pub complex: bool,
276 #[prost(bool, tag = "5")]
278 pub attr_start: bool,
279 #[prost(bool, tag = "6")]
281 pub attr_skip: bool,
282 #[prost(bool, tag = "7")]
284 pub raw_value: bool,
285 #[prost(message, optional, tag = "8")]
287 pub condition_tree: ::core::option::Option<ConditionExpr>,
288}
289#[derive(serde::Serialize, serde::Deserialize)]
291#[derive(Clone, PartialEq, ::prost::Message)]
292pub struct ConditionExpr {
293 #[prost(oneof = "condition_expr::Expr", tags = "1, 2, 3, 4")]
294 pub expr: ::core::option::Option<condition_expr::Expr>,
295}
296pub mod condition_expr {
298 #[derive(serde::Serialize, serde::Deserialize)]
299 #[derive(Clone, PartialEq, ::prost::Oneof)]
300 pub enum Expr {
301 #[prost(message, tag = "1")]
302 Predicate(super::Predicate),
303 #[prost(message, tag = "2")]
304 Not(::prost::alloc::boxed::Box<super::NotCondition>),
305 #[prost(message, tag = "3")]
306 Compound(::prost::alloc::boxed::Box<super::CompoundCondition>),
307 #[prost(message, tag = "4")]
308 Identifier(super::IdentifierCondition),
309 }
310}
311#[derive(serde::Serialize, serde::Deserialize)]
313#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
314pub struct Predicate {
315 #[prost(string, tag = "1")]
316 pub left: ::prost::alloc::string::String,
317 #[prost(enumeration = "ComparisonOperator", tag = "2")]
318 pub operator: i32,
319 #[prost(string, tag = "3")]
320 pub right: ::prost::alloc::string::String,
321}
322#[derive(serde::Serialize, serde::Deserialize)]
324#[derive(Clone, PartialEq, ::prost::Message)]
325pub struct NotCondition {
326 #[prost(message, optional, boxed, tag = "1")]
327 pub condition: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
328}
329#[derive(serde::Serialize, serde::Deserialize)]
331#[derive(Clone, PartialEq, ::prost::Message)]
332pub struct CompoundCondition {
333 #[prost(message, optional, boxed, tag = "1")]
334 pub left: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
335 #[prost(enumeration = "LogicalOperator", tag = "2")]
336 pub op: i32,
337 #[prost(message, optional, boxed, tag = "3")]
338 pub right: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
339}
340#[derive(serde::Serialize, serde::Deserialize)]
342#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
343pub struct IdentifierCondition {
344 #[prost(string, tag = "1")]
345 pub value: ::prost::alloc::string::String,
346}
347#[derive(serde::Serialize, serde::Deserialize)]
349#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
350#[repr(i32)]
351pub enum InitialStateStrategy {
352 Full = 0,
354 Components = 1,
356}
357impl InitialStateStrategy {
358 pub fn as_str_name(&self) -> &'static str {
363 match self {
364 Self::Full => "INITIAL_STATE_STRATEGY_FULL",
365 Self::Components => "INITIAL_STATE_STRATEGY_COMPONENTS",
366 }
367 }
368 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
370 match value {
371 "INITIAL_STATE_STRATEGY_FULL" => Some(Self::Full),
372 "INITIAL_STATE_STRATEGY_COMPONENTS" => Some(Self::Components),
373 _ => None,
374 }
375 }
376}
377#[derive(serde::Serialize, serde::Deserialize)]
379#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
380#[repr(i32)]
381pub enum StateProjectionMode {
382 None = 0,
384 Keys = 1,
386 All = 2,
388}
389impl StateProjectionMode {
390 pub fn as_str_name(&self) -> &'static str {
395 match self {
396 Self::None => "STATE_PROJECTION_MODE_NONE",
397 Self::Keys => "STATE_PROJECTION_MODE_KEYS",
398 Self::All => "STATE_PROJECTION_MODE_ALL",
399 }
400 }
401 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
403 match value {
404 "STATE_PROJECTION_MODE_NONE" => Some(Self::None),
405 "STATE_PROJECTION_MODE_KEYS" => Some(Self::Keys),
406 "STATE_PROJECTION_MODE_ALL" => Some(Self::All),
407 _ => None,
408 }
409 }
410}
411#[derive(serde::Serialize, serde::Deserialize)]
413#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
414#[repr(i32)]
415pub enum CssStrategy {
416 Link = 0,
417 Style = 1,
418 Module = 2,
419}
420impl CssStrategy {
421 pub fn as_str_name(&self) -> &'static str {
426 match self {
427 Self::Link => "CSS_STRATEGY_LINK",
428 Self::Style => "CSS_STRATEGY_STYLE",
429 Self::Module => "CSS_STRATEGY_MODULE",
430 }
431 }
432 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
434 match value {
435 "CSS_STRATEGY_LINK" => Some(Self::Link),
436 "CSS_STRATEGY_STYLE" => Some(Self::Style),
437 "CSS_STRATEGY_MODULE" => Some(Self::Module),
438 _ => None,
439 }
440 }
441}
442#[derive(serde::Serialize, serde::Deserialize)]
444#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
445#[repr(i32)]
446pub enum DomStrategy {
447 Shadow = 0,
448 Light = 1,
449}
450impl DomStrategy {
451 pub fn as_str_name(&self) -> &'static str {
456 match self {
457 Self::Shadow => "DOM_STRATEGY_SHADOW",
458 Self::Light => "DOM_STRATEGY_LIGHT",
459 }
460 }
461 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
463 match value {
464 "DOM_STRATEGY_SHADOW" => Some(Self::Shadow),
465 "DOM_STRATEGY_LIGHT" => Some(Self::Light),
466 _ => None,
467 }
468 }
469}
470#[derive(serde::Serialize, serde::Deserialize)]
471#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
472#[repr(i32)]
473pub enum LogicalOperator {
474 Unspecified = 0,
475 And = 1,
476 Or = 2,
477}
478impl LogicalOperator {
479 pub fn as_str_name(&self) -> &'static str {
484 match self {
485 Self::Unspecified => "LOGICAL_OPERATOR_UNSPECIFIED",
486 Self::And => "AND",
487 Self::Or => "OR",
488 }
489 }
490 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
492 match value {
493 "LOGICAL_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
494 "AND" => Some(Self::And),
495 "OR" => Some(Self::Or),
496 _ => None,
497 }
498 }
499}
500#[derive(serde::Serialize, serde::Deserialize)]
501#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
502#[repr(i32)]
503pub enum ComparisonOperator {
504 Unspecified = 0,
505 GreaterThan = 1,
506 LessThan = 2,
507 Equal = 3,
508 NotEqual = 4,
509 GreaterThanOrEqual = 5,
510 LessThanOrEqual = 6,
511}
512impl ComparisonOperator {
513 pub fn as_str_name(&self) -> &'static str {
518 match self {
519 Self::Unspecified => "COMPARISON_OPERATOR_UNSPECIFIED",
520 Self::GreaterThan => "GREATER_THAN",
521 Self::LessThan => "LESS_THAN",
522 Self::Equal => "EQUAL",
523 Self::NotEqual => "NOT_EQUAL",
524 Self::GreaterThanOrEqual => "GREATER_THAN_OR_EQUAL",
525 Self::LessThanOrEqual => "LESS_THAN_OR_EQUAL",
526 }
527 }
528 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
530 match value {
531 "COMPARISON_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
532 "GREATER_THAN" => Some(Self::GreaterThan),
533 "LESS_THAN" => Some(Self::LessThan),
534 "EQUAL" => Some(Self::Equal),
535 "NOT_EQUAL" => Some(Self::NotEqual),
536 "GREATER_THAN_OR_EQUAL" => Some(Self::GreaterThanOrEqual),
537 "LESS_THAN_OR_EQUAL" => Some(Self::LessThanOrEqual),
538 _ => None,
539 }
540 }
541}