feat(tvix/eval): add builtins.stringLength
Fairly straightforward, only thing of note is that we coerce (weakly) to string here as well. Change-Id: I03b427e657e402f1f9eb0f795b689bbf5092aba1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6745 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
64d3efcc2c
commit
bd9cda2af7
3 changed files with 16 additions and 0 deletions
|
@ -234,6 +234,11 @@ fn pure_builtins() -> Vec<Builtin> {
|
|||
.collect::<Vec<Value>>();
|
||||
Ok(Value::List(NixList::construct(parts.len(), parts)))
|
||||
}),
|
||||
Builtin::new("stringLength", &[false], |args, vm| {
|
||||
// also forces the value
|
||||
let s = args[0].coerce_to_string(CoercionKind::Weak, vm)?;
|
||||
Ok(Value::Integer(s.as_str().len() as i64))
|
||||
}),
|
||||
Builtin::new(
|
||||
"sub",
|
||||
&[false, false],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue