diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-01-07 21:24:36 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-01-08 00:20:48 +0100 |
| commit | e74ae6ce70d4c6ca006613eadf07f920951789e3 (patch) | |
| tree | 0b9b2ddabf79dad8d55631780ee5d70afe7362d7 /src/eval/value.rs | |
| parent | 0b624390906e911bde325b487b2710b67c8205c8 (diff) | |
Make all nodes into classes
Diffstat (limited to 'src/eval/value.rs')
| -rw-r--r-- | src/eval/value.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/eval/value.rs b/src/eval/value.rs index 0995ab75..3b1ef3f7 100644 --- a/src/eval/value.rs +++ b/src/eval/value.rs @@ -397,7 +397,13 @@ primitive! { EcoString: "string", Str } primitive! { Array: "array", Array } primitive! { Dict: "dictionary", Dict } primitive! { Node: "template", Node } -primitive! { Function: "function", Func } +primitive! { Function: "function", + Func, + Class(v) => Function::new( + Some(v.name().clone()), + move |ctx, args| v.construct(ctx, args).map(Value::Node) + ) +} primitive! { Class: "class", Class } impl Cast<Value> for Value { |
