Files
flowgraph/tasks/component-map.md

1.4 KiB

id, name, status, depends_on, scope, risk, impact, level
id name status depends_on scope risk impact level
component/map Implement <Map> ujsx component completed
schema/edge-attrs
setup/project-init
narrow low component implementation

Description

Implement the Map ujsx component function. Represents mapping over an array — creates one child instance per array item. Structurally equivalent to a dynamically-generated Parallel group.

Acceptance Criteria

  • src/component/map.ts exports Map component function
  • Map produces UElement with type: "map"
  • Props: over: Signal<unknown[]> | unknown[] | ((results: Record<string, CallResult>) => unknown[]) (required), as: string (required), children: UNode (required — template rendered per item)
  • The as prop names the variable each item is bound to
  • Aggregate completion semantics: all mapped nodes must reach satisfying terminal state for Map to be "completed"; any failed/aborted child makes Map failed/aborted
  • Re-exported from src/component/index.ts
  • Unit tests: correct UElement shape with each over form (static, function), as prop preserved

References

  • docs/architecture/workflow-templates.md — Map component, aggregate completion semantics, edge type
  • docs/architecture/reactive-execution.md — Map reactive behavior, maxConcurrency interaction

Notes

To be filled by implementation agent

Summary

To be filled on completion