summaryrefslogtreecommitdiff
path: root/library/src/compute/data.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-06-26 13:57:21 +0200
committerLaurenz <laurmaedje@gmail.com>2023-06-27 18:40:17 +0200
commit7b92bd7c340d9f9c094ed2fa57912049317d9b20 (patch)
treeb91399526ba94d87309d09d864df2935dd7a4d0a /library/src/compute/data.rs
parent9c7f31870b4e1bf37df79ebbe1df9a56df83d878 (diff)
Basic package management
Diffstat (limited to 'library/src/compute/data.rs')
-rw-r--r--library/src/compute/data.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/library/src/compute/data.rs b/library/src/compute/data.rs
index 1d6bec60..6e3a298e 100644
--- a/library/src/compute/data.rs
+++ b/library/src/compute/data.rs
@@ -25,8 +25,8 @@ pub fn read(
vm: &mut Vm,
) -> SourceResult<Str> {
let Spanned { v: path, span } = path;
- let path = vm.locate(&path).at(span)?;
- let data = vm.world().file(&path).at(span)?;
+ let id = vm.location().join(&path).at(span)?;
+ let data = vm.world().file(id).at(span)?;
let text = std::str::from_utf8(&data)
.map_err(|_| "file is not valid utf-8")
.at(span)?;
@@ -66,8 +66,8 @@ pub fn csv(
vm: &mut Vm,
) -> SourceResult<Array> {
let Spanned { v: path, span } = path;
- let path = vm.locate(&path).at(span)?;
- let data = vm.world().file(&path).at(span)?;
+ let id = vm.location().join(&path).at(span)?;
+ let data = vm.world().file(id).at(span)?;
let mut builder = csv::ReaderBuilder::new();
builder.has_headers(false);
@@ -177,8 +177,8 @@ pub fn json(
vm: &mut Vm,
) -> SourceResult<Value> {
let Spanned { v: path, span } = path;
- let path = vm.locate(&path).at(span)?;
- let data = vm.world().file(&path).at(span)?;
+ let id = vm.location().join(&path).at(span)?;
+ let data = vm.world().file(id).at(span)?;
let value: serde_json::Value =
serde_json::from_slice(&data).map_err(format_json_error).at(span)?;
Ok(convert_json(value))
@@ -243,8 +243,8 @@ pub fn toml(
vm: &mut Vm,
) -> SourceResult<Value> {
let Spanned { v: path, span } = path;
- let path = vm.locate(&path).at(span)?;
- let data = vm.world().file(&path).at(span)?;
+ let id = vm.location().join(&path).at(span)?;
+ let data = vm.world().file(id).at(span)?;
let raw = std::str::from_utf8(&data)
.map_err(|_| "file is not valid utf-8")
@@ -352,8 +352,8 @@ pub fn yaml(
vm: &mut Vm,
) -> SourceResult<Value> {
let Spanned { v: path, span } = path;
- let path = vm.locate(&path).at(span)?;
- let data = vm.world().file(&path).at(span)?;
+ let id = vm.location().join(&path).at(span)?;
+ let data = vm.world().file(id).at(span)?;
let value: serde_yaml::Value =
serde_yaml::from_slice(&data).map_err(format_yaml_error).at(span)?;
Ok(convert_yaml(value))
@@ -455,8 +455,8 @@ pub fn xml(
vm: &mut Vm,
) -> SourceResult<Value> {
let Spanned { v: path, span } = path;
- let path = vm.locate(&path).at(span)?;
- let data = vm.world().file(&path).at(span)?;
+ let id = vm.location().join(&path).at(span)?;
+ let data = vm.world().file(id).at(span)?;
let text = std::str::from_utf8(&data).map_err(FileError::from).at(span)?;
let document = roxmltree::Document::parse(text).map_err(format_xml_error).at(span)?;
Ok(convert_xml(document.root()))