mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2025-12-07 04:06:48 +01:00
0.7.1: log unresolved content in all cases
This commit is contained in:
parent
f33f331a48
commit
34295570a2
7 changed files with 70 additions and 39 deletions
|
|
@ -22,10 +22,17 @@ impl<A, B> Either<A, B> {
|
|||
try_from_expr!(<'a, E>: When<RenderBox<'a, E>>: |state, iter| {
|
||||
if let Some(Token { value: Value::Key("when"), .. }) = iter.peek() {
|
||||
let _ = iter.next().unwrap();
|
||||
|
||||
let condition = iter.next().expect("no condition specified");
|
||||
let content = iter.next().expect("no content specified");
|
||||
let condition = state.get(&condition.value).expect("no condition provided");
|
||||
let content = state.get_content(&content.value).expect("no content provided");
|
||||
|
||||
let content = iter.next().expect("no content specified");
|
||||
let content = if let Some(content) = state.get_content(&content.value) {
|
||||
content
|
||||
} else {
|
||||
panic!("no content corresponding to for {:?}", &content);
|
||||
};
|
||||
|
||||
return Some(Self(condition, content))
|
||||
}
|
||||
});
|
||||
|
|
@ -34,12 +41,24 @@ try_from_expr!(<'a, E>: When<RenderBox<'a, E>>: |state, iter| {
|
|||
try_from_expr!(<'a, E>: Either<RenderBox<'a, E>, RenderBox<'a, E>>: |state, iter| {
|
||||
if let Some(Token { value: Value::Key("either"), .. }) = iter.peek() {
|
||||
let _ = iter.next().unwrap();
|
||||
|
||||
let condition = iter.next().expect("no condition specified");
|
||||
let content = iter.next().expect("no content specified");
|
||||
let alternate = iter.next().expect("no alternate specified");
|
||||
let condition = state.get(&condition.value).expect("no condition provided");
|
||||
let content = state.get_content(&content.value).expect("no content provided");
|
||||
let alternate = state.get_content(&alternate.value).expect("no alternate provided");
|
||||
|
||||
let content = iter.next().expect("no content specified");
|
||||
let content = if let Some(content) = state.get_content(&content.value) {
|
||||
content
|
||||
} else {
|
||||
panic!("no content 1 corresponding to {:?}", &content);
|
||||
};
|
||||
|
||||
let alternate = iter.next().expect("no alternate specified");
|
||||
let alternate = if let Some(alternate) = state.get_content(&alternate.value) {
|
||||
alternate
|
||||
} else {
|
||||
panic!("no content 2 corresponding to {:?}", &alternate);
|
||||
};
|
||||
|
||||
return Some(Self(condition, content, alternate))
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue