view env/lib/python3.7/site-packages/schema_salad/metaschema/typedsl_res.yml @ 0:26e78fe6e8c4 draft

"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
author shellac
date Sat, 02 May 2020 07:14:21 -0400
parents
children
line wrap: on
line source

- |
  ## Domain Specific Language for types

  Fields may be tagged `typeDSL: true` in `jsonldPredicate`.  If so, the field is expanded using the
  following micro-DSL for schema salad types:

  * If the type ends with a question mark `?`, the question mark is stripped off and the type is expanded to a union with `null`
  * If the type ends with square brackets `[]` it is expanded to an array with items of the preceeding type symbol
  * The type may end with both `[]?` to indicate it is an optional array.
  * Identifier resolution is applied after type DSL expansion.

  ### Type DSL example

  Given the following schema:

  ```
- $include: typedsl_res_schema.yml
- |
  ```

  Process the following example:

  ```
- $include: typedsl_res_src.yml
- |
  ```

  This becomes:

  ```
- $include: typedsl_res_proc.yml
- |
  ```