// ArrayOf creates an array type from its element type. The result can be used anywhere a type can. // Examples: // // var Bottle = Type("bottle", func() { // Attribute("name") // }) // // var Bottles = ArrayOf(Bottle) // // Action("update", func() { // Params(func() { // Param("ids", ArrayOf(Integer)) // }) // Payload(ArrayOf(Bottle)) // Equivalent to Payload(Bottles) // }) // // If you are looking to return a collection of elements in a Response // clause, refer to CollectionOf. ArrayOf creates a type, where // CollectionOf creates a media type. func ArrayOf(t design.DataType) *design.Array { at := design.AttributeDefinition{Type: t} if ds, ok := t.(design.DataStructure); ok { at.APIVersions = ds.Definition().APIVersions } return &design.Array{ElemType: &at} }