summaryrefslogtreecommitdiff
path: root/library/src/meta/query.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-05-11 11:27:00 +0200
committerLaurenz <laurmaedje@gmail.com>2023-05-11 11:27:00 +0200
commit2f0b5eeae09bd880e4552bb83e44d9cd32571c58 (patch)
tree6989d423e6bb614b3224be53140e4d649033aeac /library/src/meta/query.rs
parent47dff3765de863554ca296448555599fc50d4a8a (diff)
More efficient introspection
Switches from a mutable locator to one based on tracked chains and optimizes query performance.
Diffstat (limited to 'library/src/meta/query.rs')
-rw-r--r--library/src/meta/query.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/library/src/meta/query.rs b/library/src/meta/query.rs
index 9488a964..4db658d7 100644
--- a/library/src/meta/query.rs
+++ b/library/src/meta/query.rs
@@ -122,7 +122,12 @@ pub fn query(
location: Location,
) -> Value {
let _ = location;
- vm.vt.introspector.query(&target.0).into()
+ let vec = vm.vt.introspector.query(&target.0);
+ Value::Array(
+ vec.into_iter()
+ .map(|elem| Value::Content(elem.into_inner()))
+ .collect(),
+ )
}
/// Turns a value into a selector. The following values are accepted: