diff options
| author | Laurenz <laurmaedje@gmail.com> | 2023-05-11 11:27:00 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2023-05-11 11:27:00 +0200 |
| commit | 2f0b5eeae09bd880e4552bb83e44d9cd32571c58 (patch) | |
| tree | 6989d423e6bb614b3224be53140e4d649033aeac /library/src/meta/query.rs | |
| parent | 47dff3765de863554ca296448555599fc50d4a8a (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.rs | 7 |
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: |
