feat(tvix/eval): Implement builtins.readFile
Change-Id: If3fd0b087009a2bfbad8bb7aca0aa20de906eb12 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6921 Tested-by: BuildkiteCI Reviewed-by: Adam Joseph <adam@westernsemico.com> Reviewed-by: kanepyork <rikingcoding@gmail.com> Autosubmit: grfn <grfn@gws.fyi> Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
		
							parent
							
								
									1f84d90811
								
							
						
					
					
						commit
						9669fa8ff1
					
				
					 4 changed files with 16 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1,7 +1,8 @@
 | 
			
		|||
use std::{
 | 
			
		||||
    cell::RefCell,
 | 
			
		||||
    collections::{BTreeMap, HashMap},
 | 
			
		||||
    io,
 | 
			
		||||
    fs::File,
 | 
			
		||||
    io::{self, Read},
 | 
			
		||||
    rc::Rc,
 | 
			
		||||
    time::{SystemTime, UNIX_EPOCH},
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -52,6 +53,11 @@ fn impure_builtins() -> Vec<Builtin> {
 | 
			
		|||
            }
 | 
			
		||||
            Ok(Value::attrs(NixAttrs::from_map(res)))
 | 
			
		||||
        }),
 | 
			
		||||
        Builtin::new("readFile", &[true], |args: Vec<Value>, vm: &mut VM| {
 | 
			
		||||
            let mut buf = String::new();
 | 
			
		||||
            File::open(&super::coerce_value_to_path(&args[0], vm)?)?.read_to_string(&mut buf)?;
 | 
			
		||||
            Ok(buf.into())
 | 
			
		||||
        }),
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue