inParallelStep.dhall 764 B

1234567891011121314151617181920212223242526272829
  1. let Types = ../types/package.dhall
  2. let Prelude = ../lib/prelude.dhall
  3. let JSON = Prelude.JSON
  4. let RenderOptional = ./optionals/package.dhall
  5. let renderSteps = λ(steps : List JSON.Type) → JSON.array steps
  6. let renderConfig =
  7. λ(config : Types.InParallelConfig JSON.Type) →
  8. JSON.object
  9. ( toMap
  10. { steps = JSON.array config.steps
  11. , limit = RenderOptional.natural config.limit
  12. , fail_fast = RenderOptional.bool config.fail_fast
  13. }
  14. )
  15. let render
  16. : Types.InParallelStep JSON.Type → Types.JSONObject
  17. = λ(p : Types.InParallelStep JSON.Type) →
  18. toMap
  19. { in_parallel = merge { Steps = renderSteps, Config = renderConfig } p
  20. }
  21. in render