Skip to content

Pipeline runner: dotted access into a forEach item ($param:"item.field") (child of #94) #114

Description

@serge-ivo

Gap found by the #94 capstone ("GAP #2" in lead-finder.test.ts).

Problem. resolveInputValue exposes the current forEach item ONLY as the whole object via {$param:"item"}. There is no way to read a field of it — {$param:"item.lat"} falls through to scope.params["item.lat"] (undefined). So a forEach body can't plug item.lat/item.lng into a Places request body, nor item.websiteUri into an http_reachable url.

Evidence. resolveInputValue({$param:"item.lat"}, {…, item:{lat:-33.9}})undefined (asserted). {$param:"item"} → the whole {lat:…} works.

Consequence. Blocks BOTH per-cell grid search (needs item.lat/item.lng in the request body) and per-record reachability (needs item.websiteUri).

Proposed fix. In resolveInputValue, when obj.$param starts with item. and scope.item !== undefined, read the dotted remainder off scope.item (reuse the existing readPath). i.e. $param:"item" → whole item; $param:"item.lat"readPath(scope.item,"lat"). One-line-ish, backward compatible.

Part of #94.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions