resourceTypes.dhall 882 B

123456789101112131415161718192021222324252627282930313233343536
  1. let Prelude = ../lib/prelude.dhall
  2. let Types = ../types/package.dhall
  3. let JSON = Prelude.JSON
  4. let catOptionals
  5. : ∀(T : Type) → List (Optional T) → List T
  6. = λ(T : Type) →
  7. λ(ts : List (Optional T)) →
  8. List/fold
  9. (Optional T)
  10. ts
  11. (List T)
  12. ( λ(t : Optional T) →
  13. λ(acc : List T) →
  14. Prelude.List.concat T [ Prelude.Optional.toList T t, acc ]
  15. )
  16. ([] : List T)
  17. let catOptionalJSONs =
  18. λ(js : List (Optional JSON.Type)) → JSON.array (catOptionals JSON.Type js)
  19. let render
  20. : List Types.ResourceType → JSON.Type
  21. = λ(rs : List Types.ResourceType) →
  22. catOptionalJSONs
  23. ( Prelude.List.map
  24. Types.ResourceType
  25. (Optional JSON.Type)
  26. ./resourceType.dhall
  27. rs
  28. )
  29. in render