123456789101112131415161718192021222324252627282930313233343536 |
- let Prelude = ../lib/prelude.dhall
- let Types = ../types/package.dhall
- let JSON = Prelude.JSON
- let catOptionals
- : ∀(T : Type) → List (Optional T) → List T
- = λ(T : Type) →
- λ(ts : List (Optional T)) →
- List/fold
- (Optional T)
- ts
- (List T)
- ( λ(t : Optional T) →
- λ(acc : List T) →
- Prelude.List.concat T [ Prelude.Optional.toList T t, acc ]
- )
- ([] : List T)
- let catOptionalJSONs =
- λ(js : List (Optional JSON.Type)) → JSON.array (catOptionals JSON.Type js)
- let render
- : List Types.ResourceType → JSON.Type
- = λ(rs : List Types.ResourceType) →
- catOptionalJSONs
- ( Prelude.List.map
- Types.ResourceType
- (Optional JSON.Type)
- ./resourceType.dhall
- rs
- )
- in render
|