Purescript-payload: How to combine specs?

Hi! Let’s say I have multiple specs because they are in different domains or because of different versions, for example:

type IdParam
  = { id :: Int }

type UserResponse
  = { user :: User }

type UsersResponse
  = { users :: Array User }

specV1 ::
  Spec
    { getUser ::
        GET "/v1/user/<id>"
          { params :: IdParam
          , response :: UserResponse
          }
    }
specV1 = Spec

specV2 ::
  Spec
    { listUsers ::
        GET "/v2/users"
          { response :: UsersResponse }
    }
specV2 = Spec

spec :: ???
spec = Spec

Does somebody know how to combine them?

1 Like