[
  {
    "namespace": "crossref",
    "description": "The crossref API.",
    "dependencies": ["simple_api"],
    "types": [
      {
        "id": "CrossrefType",
        "type": "object",
        "properties": {
          "testType": {
            "$ref": "simple_api.TestType",
            "optional": true
          }
        }
      }
    ],
    "functions": [
      {
        "name": "testTypeOptionalParam",
        "type": "function",
        "description": "Takes TestType as a param.",
        "parameters": [
          {
            "name": "testType",
            "$ref": "simple_api.TestType",
            "optional": true
          },
          {
            "name": "callback",
            "type": "function",
            "parameters": []
          }
        ]
      },
      {
        "name": "getTestType",
        "type": "function",
        "description": "Return a TestType.",
        "parameters": [
          {
            "name": "callback",
            "type": "function",
            "parameters": [
              {
                "name": "result",
                "$ref": "simple_api.TestType",
                "description": "A TestType."
              }
            ]
          }
        ]
      },
      {
        "name": "testTypeInObject",
        "type": "function",
        "description": "Takes an optional object with a TestType and a bool.",
        "parameters": [
          {
            "name": "paramObject",
            "type": "object",
            "properties": {
              "testType": {"$ref": "simple_api.TestType", "optional": true},
              "boolean": {"type": "boolean"}
            }
          },
          {
            "name": "callback",
            "type": "function",
            "parameters": []
          }
        ]
      }
    ]
  }
]