{
  "$comment": "Explicitly disallow these parameters when non-File type is detected.\nOtherwise, validate their schema definitions according to what is permitted.\n",
  "description": "Parameters that are only valid when 'type' or 'items' evaluates to 'File'.",
  "else": {
    "not": {
      "properties": {
        "format": {},
        "loadContents": {},
        "secondaryFiles": {},
        "streamable": {}
      }
    },
    "x-jsonld-extra-terms": {
      "loadContents": "https://w3id.org/cwl/cwl#loadContents",
      "streamable": "https://w3id.org/cwl/cwl#FieldBase/streamable"
    }
  },
  "if": {
    "oneOf": [
      {
        "$comment": "Single required or optional 'File'.",
        "properties": {
          "type": {
            "enum": [
              "File",
              "File?",
              "File[]",
              "File[]?"
            ]
          }
        }
      },
      {
        "$comment": "Array of required or optional 'File'.",
        "items": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "enum": [
                    "File",
                    "File?"
                  ]
                }
              }
            },
            {
              "contains": {
                "properties": {
                  "type": {
                    "enum": [
                      "File",
                      "File?"
                    ]
                  }
                }
              },
              "type": "array"
            }
          ]
        },
        "type": "array"
      }
    ]
  },
  "then": {
    "$ref": "https://ogcincubator.github.io/bblocks-cwl/build/annotated/cwl/v1_2_1/CWLFileOnlyParameters/schema.json",
    "x-jsonld-extra-terms": {
      "loadContents": "https://w3id.org/cwl/cwl#loadContents",
      "streamable": "https://w3id.org/cwl/cwl#FieldBase/streamable"
    }
  },
  "type": "object",
  "x-jsonld-extra-terms": {
    "loadContents": "https://w3id.org/cwl/cwl#loadContents",
    "streamable": "https://w3id.org/cwl/cwl#FieldBase/streamable"
  },
  "x-jsonld-prefixes": {
    "cwl": "https://w3id.org/cwl/cwl#"
  }
}