Improve arg parsing

This commit is contained in:
2026-03-11 12:54:02 -07:00
parent 2af318c0ec
commit eea01616a3
19 changed files with 327 additions and 98 deletions

View File

@@ -97,7 +97,7 @@ impl PileValue {
for s in &query.segments {
match s {
PathSegment::Root => out = Some(self.clone()),
PathSegment::Field(field) => {
PathSegment::Field { name, args } => {
let e = match out.map(|x| x.object_extractor()) {
Some(e) => e,
None => {
@@ -106,7 +106,7 @@ impl PileValue {
}
};
out = e.field(field).await?;
out = e.field(name, args.as_deref()).await?;
}
PathSegment::Index(idx) => {
@@ -163,7 +163,7 @@ impl PileValue {
let keys = e.fields().await?;
let mut map = Map::new();
for k in &keys {
let v = match e.field(k).await? {
let v = match e.field(k, None).await? {
Some(x) => x,
None => continue,
};
@@ -216,7 +216,7 @@ impl PileValue {
let keys = e.fields().await?;
let mut map = Map::new();
for k in &keys {
let v = match e.field(k).await? {
let v = match e.field(k, None).await? {
Some(x) => x,
None => continue,
};