How to define an array of a type in an external file in Raml?
Asked Answered
C

1

6

If I have a file defining a Datatype SimpleDuple, and in another file defining another datatype called DiscreetFilter I want to have a property values to be an array of SimpleDuple how would I use include there?

Consider the files for SimpleDuple:

#%RAML 1.0 DataType
type: object
properties:
  id: string
  name: string

And the other definition where I want to make a property be an array of SimpleDuples in the values property (but I had to use an inline definition).

#%RAML 1.0 DataType
type: object
properties:
  field: string
  name: string
  type: { enum: [ discreet ] }

  # Ideally this property would use an include
  # in some way to express the equivalent of SimpleDuple[]
  values: 
    type: array
    properties:
      id: string
      name: string

If those two types where on the same file I'd set the values property to SimpleDuple[]. If it wasn't an array I'd put the include as the value of the values property.

But how do I use an include and an array at the same time instead of using the inline definition I used in the copied code?

Calysta answered 19/1, 2016 at 20:34 Comment(0)
A
18

You should be able to do the following:

chapter.raml

#%RAML 1.0 DataType

type: object
properties:
  name: string

storyboard.raml

#%RAML 1.0 DataType

type: object
properties:
  name: string
  chapters:
    type: array
    items: !include chapter.raml

Hope that helps?!

Aesthesia answered 19/1, 2016 at 21:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.