Adam Pippin
0265db1946
Rework expression parser to not solve on creation; re-add dependency solving for variables in expressions in variables block
3 years ago
Adam Pippin
8dd7b8d1f0
Re-add !expr function
3 years ago
Adam Pippin
706242074d
Allow !replace to accept a scalar
This is the default merge behaviour, but simplifies using !replace because passing in a var that happens to evaluate to a scalar won't cause an issue anymore
3 years ago
Adam Pippin
9e5adfb9ce
Bugfix: !if that creates cfn conditions properly replaces parent node
3 years ago
Adam Pippin
a3fe71526d
Bugfix: generating Fn::If without false caused error
3 years ago
Adam Pippin
41b26006ac
Cleanup + comments
3 years ago
Adam Pippin
22aa9e068f
Update fn::if to use new expression parser and generate conditions where appropriate
3 years ago
Adam Pippin
01b036b284
Move cfnpp code out from under engine namespace
3 years ago
Adam Pippin
6485b4f5a1
Add !expr function to allow inserting the result of evaluating an expression
3 years ago
Adam Pippin
07e9fc2a3a
Cleanup
3 years ago
Adam Pippin
497f23594e
Add basic !if function
3 years ago
Adam Pippin
1bb3e50cfb
Move cfnpp stuff into its own namespace
3 years ago
Adam Pippin
c0b4fd7dd3
Code cleanup
3 years ago
Adam Pippin
6ce8dec215
Add !var to use value of variable as value
3 years ago
Adam Pippin
de247299cd
Pass options in to compiler at construction instead of with each pass
We're going to use 'options' to also hold some mutated state, so let's just keep it simple
3 years ago