// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Use Source attribute only 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 1,
          "line": 18,
        },
        "start": Position {
          "column": 0,
          "line": 6,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 29,
                  "line": 1,
                  "offset": 28,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This Vue Component is a test",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "message": "could not determine @name for hierarchy",
      },
    ],
    "examples": Array [],
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 5,
      },
      "start": Position {
        "column": 0,
        "line": 2,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "",
    "namespace": "",
    "params": Array [],
    "path": Array [
      Object {
        "kind": undefined,
        "name": "",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 21,
                      "line": 1,
                      "offset": 20,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "vue-tested component",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 21,
                  "line": 1,
                  "offset": 20,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "vue-tested",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "vue-tested component",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "vue-tested",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 5,
          "line": 16,
        },
        "start": Position {
          "column": 4,
          "line": 13,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is a number",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": SourceLocation {
      "end": Position {
        "column": 7,
        "line": 12,
      },
      "start": Position {
        "column": 4,
        "line": 10,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "myNumber",
    "namespace": "myNumber",
    "params": Array [],
    "path": Array [
      Object {
        "kind": undefined,
        "name": "myNumber",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`Vue file 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 1,
          "line": 19,
        },
        "start": Position {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 29,
                  "line": 1,
                  "offset": 28,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This Vue Component is a test",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 6,
      },
      "start": Position {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "vue.input",
    "namespace": "vue.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": undefined,
        "name": "vue.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 21,
                      "line": 1,
                      "offset": 20,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "vue-tested component",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 21,
                  "line": 1,
                  "offset": 20,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "vue-tested",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "vue-tested component",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "vue-tested",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 3,
          "line": 17,
        },
        "start": Position {
          "column": 2,
          "line": 14,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is a number",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": SourceLocation {
      "end": Position {
        "column": 5,
        "line": 13,
      },
      "start": Position {
        "column": 2,
        "line": 11,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "myNumber",
    "namespace": "myNumber",
    "params": Array [],
    "path": Array [
      Object {
        "kind": undefined,
        "name": "myNumber",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`Vue file 2`] = `Array []`;

exports[`config 1`] = `
"<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## MyClass

This is my class, a demo thing.

### Properties

-   \`howMany\` **[number][1]** how many things it contains

### getFoo

Get the number 42

#### Parameters

-   \`getIt\` **[boolean][2]** whether to get the number

Returns **[number][1]** forty-two

### getUndefined

Get undefined

Returns **[undefined][3]** does not return anything.

## Hello

World


[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number

[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean

[3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined
"
`;

exports[`config with nested sections 1`] = `
"<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## Alpha




### third

This function is third

### first

This function is first

### first

forgot a memberof here... sure hope that doesn't crash anything!

## Bravo

Contains a subsection!


### Charlie

Second is in here


#### second

This class has some members

##### foo

second::foo

###### Parameters

-   \`pork\`  

##### bar

second::bar

###### Parameters

-   \`beans\`  
-   \`rice\`  

## AClass

### second

shares a name with a top level item referenced in the TOC... sure hope
that doesn't crash anything!
"
`;

exports[`external modules option 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 1,
          "line": 10,
        },
        "start": Position {
          "column": 0,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "I am in ",
            },
            Object {
              "position": Position {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
              },
              "type": "inlineCode",
              "value": "external.input.js",
            },
            Object {
              "position": Position {
                "end": Object {
                  "column": 29,
                  "line": 1,
                  "offset": 28,
                },
                "indent": Array [],
                "start": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
              },
              "type": "text",
              "value": ".",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 7,
      },
      "start": Position {
        "column": 0,
        "line": 5,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 2,
          "line": 10,
        },
        "start": Position {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 6,
      },
      "start": Position {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "main",
    "namespace": "main",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "main",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 2,
          "line": 8,
        },
        "start": Position {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 4,
      },
      "start": Position {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "index",
    "namespace": "index",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "index",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "return",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`git option 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "github": Object {
        "path": "[github]",
        "url": "[github]",
      },
      "loc": SourceLocation {
        "end": Position {
          "column": 2,
          "line": 8,
        },
        "start": Position {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 4,
      },
      "start": Position {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "simple.input",
    "namespace": "simple.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "simple.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`git option 2`] = `
"<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## simple.input

[\\\\[github\\\\]:5-8][1]

This function returns the number one.

Returns **[number][2]** numberone

[1]: [github] \\"Source code on GitHub\\"

[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
"
`;

exports[`highlightAuto md output 1`] = `
"<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## multilanguage.input

**Extends Foo, Bar**

This function returns the number one.

### Examples

\`\`\`js
var myFoo = new Foo('[data-foo]');
myFoo.foo(42);
\`\`\`

\`\`\`html
<p data-foo>Data-Foo Element in the dom</p>
\`\`\`

\`\`\`css
[data-foo] {
   background-color: red;
}
\`\`\`

-   Throws **[Error][1]** if you give it something
-   Throws **[TypeError][2]** if you give it something else

Returns **[Number][3]** numberone

[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error

[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypeError

[3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
"
`;

exports[`html nested.input.js 1`] = `
"<!doctype html>
<html>
<head>
  <meta charset='utf-8' />
  <title> | Documentation</title>
  <meta name='description' content='a documentation generator'>
  <meta name='viewport' content='width=device-width,initial-scale=1'>
  <link href='assets/bass.css' rel='stylesheet' />
  <link href='assets/style.css' rel='stylesheet' />
  <link href='assets/github.css' rel='stylesheet' />
  <link href='assets/split.css' rel='stylesheet' />
</head>
<body class='documentation m0'>
    <div class='flex'>
      <div id='split-left' class='overflow-auto fs0 height-viewport-100'>
        <div class='py1 px2'>
          <h3 class='mb0 no-anchor'>documentation</h3>
          <div class='mb1'></div>
          <input
            placeholder='Filter'
            id='filter-input'
            class='col12 block input'
            type='text' />
          <div id='toc'>
            <ul class='list-reset h5 py1-ul'>
              
                
                <li><a
                  href='#klass'
                  class=\\" toggle-sibling\\">
                  Klass
                  <span class='icon'>▸</span>
                </a>
                
                <div class='toggle-target display-none'>
                  
                  <ul class='list-reset py1-ul pl1'>
                    <li class='h5'><span>Static members</span></li>
                    
                      <li><a
                        href='#klassisclass'
                        class='regular pre-open'>
                        .isClass
                      </a></li>
                    
                      <li><a
                        href='#klassisweird'
                        class='regular pre-open'>
                        .isWeird
                      </a></li>
                    
                      <li><a
                        href='#klassisbuffer'
                        class='regular pre-open'>
                        .isBuffer
                      </a></li>
                    
                      <li><a
                        href='#klassisarrayofbuffers'
                        class='regular pre-open'>
                        .isArrayOfBuffers
                      </a></li>
                    
                      <li><a
                        href='#klassmagic_number'
                        class='regular pre-open'>
                        .MAGIC_NUMBER
                      </a></li>
                    
                    </ul>
                  
                  
                    <ul class='list-reset py1-ul pl1'>
                      <li class='h5'><span>Instance members</span></li>
                      
                      <li><a
                        href='#klassgetfoo'
                        class='regular pre-open'>
                        #getFoo
                      </a></li>
                      
                      <li><a
                        href='#klasswithoptions'
                        class='regular pre-open'>
                        #withOptions
                      </a></li>
                      
                      <li><a
                        href='#klasswithdeepoptions'
                        class='regular pre-open'>
                        #withDeepOptions
                      </a></li>
                      
                    </ul>
                  
                  
                  
                    <ul class='list-reset py1-ul pl1'>
                      <li class='h5'>Events</li>
                      
                        <li><a
                          href='#klasseventevent'
                          class='regular pre-open'>
                          ⓔ event
                        </a></li>
                      
                    </ul>
                  
                </div>
                
                </li>
              
                
                <li><a
                  href='#customerror'
                  class=\\"\\">
                  CustomError
                  
                </a>
                
                </li>
              
                
                <li><a
                  href='#bar'
                  class=\\"\\">
                  bar
                  
                </a>
                
                </li>
              
                
                <li><a
                  href='#bar'
                  class=\\"\\">
                  bar
                  
                </a>
                
                </li>
              
                
                <li><a
                  href='#bar'
                  class=\\"\\">
                  bar
                  
                </a>
                
                </li>
              
                
                <li><a
                  href='#foo'
                  class=\\" toggle-sibling\\">
                  Foo
                  <span class='icon'>▸</span>
                </a>
                
                <div class='toggle-target display-none'>
                  
                  
                    <ul class='list-reset py1-ul pl1'>
                      <li class='h5'><span>Instance members</span></li>
                      
                      <li><a
                        href='#foobar'
                        class='regular pre-open'>
                        #bar
                      </a></li>
                      
                    </ul>
                  
                  
                  
                </div>
                
                </li>
              
                
                <li><a
                  href='#customstreams'
                  class=\\" toggle-sibling\\">
                  customStreams
                  <span class='icon'>▸</span>
                </a>
                
                <div class='toggle-target display-none'>
                  
                  <ul class='list-reset py1-ul pl1'>
                    <li class='h5'><span>Static members</span></li>
                    
                      <li><a
                        href='#customstreamspassthrough'
                        class='regular pre-open'>
                        .passthrough
                      </a></li>
                    
                    </ul>
                  
                  
                  
                  
                </div>
                
                </li>
              
            </ul>
          </div>
          <div class='mt1 h6 quiet'>
            <a href='https://documentation.js.org/reading-documentation.html'>Need help reading this?</a>
          </div>
        </div>
      </div>
      <div id='split-right' class='relative overflow-auto height-viewport-100'>
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='klass'>
      Klass
    </h3>
    
    
  </div>
  

  <p>Creates a new Klass</p>

    <div class='pre p1 fill-light mt0'>new Klass(foo: any)</div>
  
  
    <p>
      Extends
      
        <a href=\\"https://nodejs.org/api/stream.html#stream_class_stream_writable\\">Stream.Writable</a>
      
    </p>
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>foo</span> <code class='quiet'>(any)</code>
	    
          </div>
          
        </div>
      
    </div>
  

  

  

  

  

  
    <div class='py1 quiet mt1 prose-big'>Static Members</div>
    <div class=\\"clearfix\\">
  
    <div class='border-bottom' id='klassisclass'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>isClass(other, also)</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>Decide whether an object is a Klass instance
This is a [klasssic]<a href=\\"#klass\\">Klass</a>
This is a [link to something that does not exist]<a href=\\"DoesNot\\">DoesNot</a></p>

    <div class='pre p1 fill-light mt0'>isClass(other: <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a>, also: any): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\">boolean</a></div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>other</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a>)</code>
	    
          </div>
          
        </div>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>also</span> <code class='quiet'>(any)</code>
	    
          </div>
          
        </div>
      
    </div>
  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\">boolean</a></code>:
        whether the other thing is a Klass

      
    
  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
    <div class='border-bottom' id='klassisweird'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>isWeird(other)</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>A function that triggers the case where the autolinker doesn't find
the referenced class type</p>

    <div class='pre p1 fill-light mt0'>isWeird(other: Weird): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\">boolean</a></div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>other</span> <code class='quiet'>(Weird)</code>
	    
          </div>
          
        </div>
      
    </div>
  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\">boolean</a></code>:
        whether the other thing is a Klass

      
    
  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
    <div class='border-bottom' id='klassisbuffer'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>isBuffer(buf, size)</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>This method takes a Buffer object that will be linked to nodejs.org</p>

    <div class='pre p1 fill-light mt0'>isBuffer(buf: (<a href=\\"https://nodejs.org/api/buffer.html\\">Buffer</a> | <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a>), size: <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a>): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\">boolean</a></div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>buf</span> <code class='quiet'>((<a href=\\"https://nodejs.org/api/buffer.html\\">Buffer</a> | <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a>))</code>
	    
          </div>
          
        </div>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>size</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a>
            = <code>0</code>)</code>
	    size

          </div>
          
        </div>
      
    </div>
  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\">boolean</a></code>:
        whether the other thing is a Klass

      
    
  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
    <div class='border-bottom' id='klassisarrayofbuffers'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>isArrayOfBuffers(buffers)</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>This method takes an array of buffers and counts them</p>

    <div class='pre p1 fill-light mt0'>isArrayOfBuffers(buffers: <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array\\">Array</a>&#x3C;<a href=\\"https://nodejs.org/api/buffer.html\\">Buffer</a>>): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a></div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>buffers</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array\\">Array</a>&#x3C;<a href=\\"https://nodejs.org/api/buffer.html\\">Buffer</a>>)</code>
	    some buffers

          </div>
          
        </div>
      
    </div>
  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a></code>:
        how many

      
    
  

  

  
    <div class='py1 quiet mt1 prose-big'>Example</div>
    
      
      <pre class='p1 overflow-auto round fill-light'><span class=\\"hljs-keyword\\">var</span> k = <span class=\\"hljs-keyword\\">new</span> Klass();
k.isArrayOfBuffers();</pre>
    
  

  

  

  

  
</section>

      </div>
    </div>
  
    <div class='border-bottom' id='klassmagic_number'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>MAGIC_NUMBER</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>A magic number that identifies this Klass.</p>

    <div class='pre p1 fill-light mt0'>MAGIC_NUMBER</div>
  
  

  
  
  
  
  
  

  

  

  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
</div>

  

  
    <div class='py1 quiet mt1 prose-big'>Instance Members</div>
    <div class=\\"clearfix\\">
  
    <div class='border-bottom' id='klassgetfoo'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>getFoo()</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>Get this Klass's foo</p>

    <div class='pre p1 fill-light mt0'>getFoo(): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">Number</a></div>
  
  

  
  
  
  
  
  

  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">Number</a></code>:
        foo

      
    
  

  

  
    <div class='py1 quiet mt1 prose-big'>Example</div>
    
      <p><p>this shows you how to getFoo</p>
</p>
      <pre class='p1 overflow-auto round fill-light'><span class=\\"hljs-keyword\\">var</span> x = foo.getFoo();</pre>
    
  

  

  

  

  
</section>

      </div>
    </div>
  
    <div class='border-bottom' id='klasswithoptions'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>withOptions(options, otherOptions)</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>A function with an options parameter</p>

    <div class='pre p1 fill-light mt0'>withOptions(options: <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a>, otherOptions: <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a>?)</div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>options</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a>)</code>
	    
          </div>
          
          <table class='mt1 mb2 fixed-table h5 col-12'>
            <colgroup>
              <col width='30%' />
              <col width='70%' />
            </colgroup>
            <thead>
              <tr class='bold fill-light'>
                <th>Name</th>
                <th>Description</th>
              </tr>
            </thead>
            <tbody class='mt1'>
              
                <tr>
  <td class='break-word'><span class='code bold'>options.foo</span> <code class='quiet'><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a></code>
  </td>
  <td class='break-word'><span></span></td>
</tr>


              
                <tr>
  <td class='break-word'><span class='code bold'>options.bar</span> <code class='quiet'><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a></code>
  </td>
  <td class='break-word'><span></span></td>
</tr>


              
            </tbody>
          </table>
          
        </div>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>otherOptions</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a>?)</code>
	    
          </div>
          
        </div>
      
    </div>
  

  

  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
    <div class='border-bottom' id='klasswithdeepoptions'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>withDeepOptions(options)</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>A function with a deep options parameter</p>

    <div class='pre p1 fill-light mt0'>withDeepOptions(options: <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a>)</div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>options</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a>)</code>
	    
          </div>
          
          <table class='mt1 mb2 fixed-table h5 col-12'>
            <colgroup>
              <col width='30%' />
              <col width='70%' />
            </colgroup>
            <thead>
              <tr class='bold fill-light'>
                <th>Name</th>
                <th>Description</th>
              </tr>
            </thead>
            <tbody class='mt1'>
              
                <tr>
  <td class='break-word'><span class='code bold'>options.foo</span> <code class='quiet'><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a></code>
  </td>
  <td class='break-word'><span></span></td>
</tr>


              
                <tr>
  <td class='break-word'><span class='code bold'>options.bar</span> <code class='quiet'><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">Object</a></code>
  </td>
  <td class='break-word'><span></span></td>
</tr>

  
    <tr>
  <td class='break-word'><span class='code bold'>options.bar.buz</span> <code class='quiet'><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a></code>
  </td>
  <td class='break-word'><span></span></td>
</tr>


  


              
            </tbody>
          </table>
          
        </div>
      
    </div>
  

  

  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
</div>

  

  

  
    <div class='py1 quiet mt1 prose-big'>Events</div>
    <div class=\\"clearfix\\">
  
    <div class='border-bottom' id='klasseventevent'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>event</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>Klass event</p>

    <div class='pre p1 fill-light mt0'>event</div>
  
  

  
  
  
  
  
  

  

  

  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
</div>

  
</section>

          
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='customerror'>
      CustomError
    </h3>
    
    
  </div>
  

  <p>a typedef with nested properties</p>

    <div class='pre p1 fill-light mt0'>CustomError</div>
  
  

  
  
  
  
  
  

  

  
    <div class='py1 quiet mt1 prose-big'>Properties</div>
    <div>
      
        <div class='space-bottom0'>
          <span class='code bold'>error</span> <code class='quiet'>(<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object\\">object</a>)</code>
          : An error

          
            <ul>
              
                <li><code>error.code</code> <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a>
                  
                  <p>The error's code</p>
</li>
              
                <li><code>error.description</code> <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\\">string</a>
                  
                  <p>The error's description</p>
</li>
              
            </ul>
          
        </div>
      
    </div>
  

  

  

  

  

  

  

  
</section>

          
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='bar'>
      bar
    </h3>
    
    
  </div>
  

  <p>Get an instance of <a href=\\"#klass\\">Klass</a>. Will make
a <a href=\\"#klass\\">klass instance multiword</a>,
like a <a href=\\"#klass\\">klass</a></p>

    <div class='pre p1 fill-light mt0'>bar(): <a href=\\"#klass\\">Klass</a></div>
  
  

  
  
  
  
  
  

  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"#klass\\">Klass</a></code>:
        that class

      
    
  

  

  

  

  

  

  
</section>

          
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='bar'>
      bar
    </h3>
    
    
  </div>
  

  <p>Rest property function</p>

    <div class='pre p1 fill-light mt0'>bar(toys: ...<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">Number</a>): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined\\">undefined</a></div>
  
  

  
  
  
  
  
  

  
    <div class='py1 quiet mt1 prose-big'>Parameters</div>
    <div class='prose'>
      
        <div class='space-bottom0'>
          <div>
            <span class='code bold'>toys</span> <code class='quiet'>(...<a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">Number</a>)</code>
	    
          </div>
          
        </div>
      
    </div>
  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined\\">undefined</a></code>:
        nothing

      
    
  

  

  

  

  

  

  
</section>

          
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='bar'>
      bar
    </h3>
    
    
  </div>
  

  <p>Get an instance of <a href=\\"#klass\\">Klass</a>. Will make
a <a href=\\"#klass\\">klass instance multiword</a>,
like a <a href=\\"#klass\\">klass</a>. This needs a <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\\">number</a> input.</p>

    <div class='pre p1 fill-light mt0'>bar(): <a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined\\">undefined</a></div>
  
  

  
  
  
  
  
  

  

  

  
    
      <div class='py1 quiet mt1 prose-big'>Returns</div>
      <code><a href=\\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined\\">undefined</a></code>:
        nothing

      
    
  

  

  

  

  

  

  
</section>

          
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='foo'>
      Foo
    </h3>
    
    
  </div>
  

  <p>This is Foo</p>

    <div class='pre p1 fill-light mt0'>new Foo()</div>
  
  

  
  
  
  
  
  

  

  

  

  

  

  

  
    <div class='py1 quiet mt1 prose-big'>Instance Members</div>
    <div class=\\"clearfix\\">
  
    <div class='border-bottom' id='foobar'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>bar</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>This is bar</p>

    <div class='pre p1 fill-light mt0'>bar</div>
  
  

  
  
  
  
  
  

  

  

  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
</div>

  

  

  
</section>

          
        
          
          <section class='p2 mb2 clearfix bg-white minishadow'>

  
  <div class='clearfix'>
    
    <h3 class='fl m0' id='customstreams'>
      customStreams
    </h3>
    
    
  </div>
  

  <p>I am the container of stream types</p>

    <div class='pre p1 fill-light mt0'>customStreams</div>
  
  

  
  
  
  
  
  

  

  

  

  

  

  
    <div class='py1 quiet mt1 prose-big'>Static Members</div>
    <div class=\\"clearfix\\">
  
    <div class='border-bottom' id='customstreamspassthrough'>
      <div class=\\"clearfix small pointer toggle-sibling\\">
        <div class=\\"py1 contain\\">
            <a class='icon pin-right py1 dark-link caret-right'>▸</a>
            <span class='code strong strong truncate'>new passthrough()</span>
        </div>
      </div>
      <div class=\\"clearfix display-none toggle-target\\">
        <section class='p2 mb2 clearfix bg-white minishadow'>

  

  <p>I am a passthrough stream that belongs to customStreams</p>

    <div class='pre p1 fill-light mt0'>new passthrough()</div>
  
  

  
  
  
  
  
  

  

  

  

  

  

  

  

  

  
</section>

      </div>
    </div>
  
</div>

  

  

  

  
</section>

          
        
      </div>
    </div>
  <script src='assets/anchor.js'></script>
  <script src='assets/split.js'></script>
  <script src='assets/site.js'></script>
</body>
</html>
"
`;

exports[`multi-file input 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 1,
          "line": 13,
        },
        "start": Position {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 43,
                  "line": 1,
                  "offset": 42,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number plus two.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 43,
              "line": 1,
              "offset": 42,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 43,
          "line": 1,
          "offset": 42,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [
      Object {
        "description": "var result = returnTwo(4);
// result is 6",
      },
    ],
    "kind": "function",
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 9,
      },
      "start": Position {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "returnTwo",
    "namespace": "returnTwo",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 11,
                      "line": 1,
                      "offset": 10,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the number",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 11,
                  "line": 1,
                  "offset": 10,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 3,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "returnTwo",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numbertwo",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the number",
        "lineNumber": 3,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "numbertwo",
        "lineNumber": 4,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "var result = returnTwo(4);
// result is 6",
        "lineNumber": 5,
        "title": "example",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": SourceLocation {
        "end": Position {
          "column": 2,
          "line": 8,
        },
        "start": Position {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": SourceLocation {
      "end": Position {
        "column": 3,
        "line": 4,
      },
      "start": Position {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "simple.input",
    "namespace": "simple.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "simple.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs boolean-literal-type.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 2,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 1,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f",
    "namespace": "f",
    "params": Array [
      Object {
        "lineNumber": 2,
        "name": "t",
        "title": "param",
        "type": Object {
          "type": "BooleanLiteralType",
          "value": true,
        },
      },
      Object {
        "lineNumber": 2,
        "name": "f",
        "title": "param",
        "type": Object {
          "type": "BooleanLiteralType",
          "value": false,
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "title": "returns",
        "type": Object {
          "elements": Array [
            Object {
              "type": "BooleanLiteralType",
              "value": true,
            },
            Object {
              "type": "BooleanLiteralType",
              "value": false,
            },
          ],
          "type": "ArrayType",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs boolean-literal-type.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs boolean-literal-type.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "t",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "inlineCode",
                      "value": "true",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "f",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "inlineCode",
                      "value": "false",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "[",
            },
            Object {
              "type": "inlineCode",
              "value": "true",
            },
            Object {
              "type": "text",
              "value": ", ",
            },
            Object {
              "type": "inlineCode",
              "value": "false",
            },
            Object {
              "type": "text",
              "value": "]",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
      ],
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs class.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 8,
        },
        "start": Object {
          "column": 0,
          "line": 6,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 32,
                  "line": 1,
                  "offset": 31,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is my class, a demo thing.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 2,
                "line": 17,
              },
              "start": Object {
                "column": 0,
                "line": 15,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 18,
                        "line": 1,
                        "offset": 17,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "Get the number 42",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 18,
                    "line": 1,
                    "offset": 17,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 18,
                "line": 1,
                "offset": 17,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 3,
              "line": 14,
            },
            "start": Object {
              "column": 0,
              "line": 10,
            },
          },
          "memberof": "MyClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "getFoo",
          "namespace": "MyClass#getFoo",
          "params": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 26,
                            "line": 1,
                            "offset": 25,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "whether to get the number",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 26,
                        "line": 1,
                        "offset": 25,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 26,
                    "line": 1,
                    "offset": 25,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "lineNumber": 2,
              "name": "getIt",
              "title": "param",
              "type": Object {
                "name": "boolean",
                "type": "NameExpression",
              },
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "MyClass",
            },
            Object {
              "kind": "function",
              "name": "getFoo",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 10,
                            "line": 1,
                            "offset": 9,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "forty-two",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 10,
                        "line": 1,
                        "offset": 9,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 10,
                    "line": 1,
                    "offset": 9,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "title": "returns",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "whether to get the number",
              "lineNumber": 2,
              "name": "getIt",
              "title": "param",
              "type": Object {
                "name": "boolean",
                "type": "NameExpression",
              },
            },
            Object {
              "description": "forty-two",
              "lineNumber": 3,
              "title": "returns",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 47,
                "line": 23,
              },
              "start": Object {
                "column": 0,
                "line": 23,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 14,
                        "line": 1,
                        "offset": 13,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "Get undefined",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 14,
                    "line": 1,
                    "offset": 13,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 14,
                "line": 1,
                "offset": 13,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 3,
              "line": 22,
            },
            "start": Object {
              "column": 0,
              "line": 19,
            },
          },
          "memberof": "MyClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "getUndefined",
          "namespace": "MyClass#getUndefined",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "MyClass",
            },
            Object {
              "kind": "function",
              "name": "getUndefined",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 26,
                            "line": 1,
                            "offset": 25,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "does not return anything.",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 26,
                        "line": 1,
                        "offset": 25,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 26,
                    "line": 1,
                    "offset": 25,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "title": "returns",
              "type": Object {
                "type": "UndefinedLiteral",
              },
            },
          ],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "does not return anything.",
              "lineNumber": 2,
              "title": "returns",
              "type": Object {
                "type": "UndefinedLiteral",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "MyClass",
    "namespace": "MyClass",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "MyClass",
      },
    ],
    "properties": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 28,
                      "line": 1,
                      "offset": 27,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "how many things it contains",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 3,
        "name": "howMany",
        "title": "property",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "MyClass",
        "title": "class",
        "type": null,
      },
      Object {
        "description": "how many things it contains",
        "lineNumber": 3,
        "name": "howMany",
        "title": "property",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs class.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs class.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "MyClass",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is my class, a demo thing.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Properties",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "howMany",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 28,
                          "line": 1,
                          "offset": 27,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "how many things it contains",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 28,
                      "line": 1,
                      "offset": 27,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getFoo",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 18,
              "line": 1,
              "offset": 17,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Get the number 42",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 18,
          "line": 1,
          "offset": 17,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "getIt",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "boolean",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 26,
                          "line": 1,
                          "offset": 25,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "whether to get the number",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 26,
                      "line": 1,
                      "offset": 25,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "forty-two",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getUndefined",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Get undefined",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 14,
          "line": 1,
          "offset": 13,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "undefined",
                },
              ],
              "identifier": "3",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 26,
                  "line": 1,
                  "offset": 25,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "does not return anything.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 26,
              "line": 1,
              "offset": 25,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined",
    },
  ],
  "type": "root",
}
`;

exports[`outputs default-export-function.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 5,
        },
        "start": Object {
          "column": 0,
          "line": 2,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "i am foo",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 9,
          "line": 1,
          "offset": 8,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 15,
        "line": 1,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "default-export-function.input",
    "namespace": "default-export-function.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "default-export-function.input",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 22,
          "line": 4,
        },
        "start": Object {
          "column": 2,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 15,
                  "line": 1,
                  "offset": 14,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "i am foo's son",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 15,
              "line": 1,
              "offset": 14,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 15,
          "line": 1,
          "offset": 14,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "commentLineNumber": 0,
        "message": "@memberof reference to default-export-function.input not found",
      },
    ],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 23,
        "line": 3,
      },
      "start": Object {
        "column": 2,
        "line": 3,
      },
    },
    "memberof": "default-export-function.input",
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "bar",
    "namespace": ".bar",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "bar",
        "scope": "static",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "scope": "static",
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs default-export-function.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs default-export-function.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "default-export-function.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "i am foo",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 9,
          "line": 1,
          "offset": 8,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "bar",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 15,
              "line": 1,
              "offset": 14,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "i am foo's son",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 15,
          "line": 1,
          "offset": 14,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs document-exported.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 3,
        },
        "start": Object {
          "column": 0,
          "line": 1,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 1,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 14,
                "line": 2,
              },
              "start": Object {
                "column": 2,
                "line": 2,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 14,
              "line": 2,
            },
            "start": Object {
              "column": 2,
              "line": 2,
            },
          },
          "memberof": "z",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "zMethod",
          "namespace": "z#zMethod",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "z",
            },
            Object {
              "kind": "function",
              "name": "zMethod",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "z",
    "namespace": "z",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "z",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 28,
          "line": 1,
        },
        "start": Object {
          "column": 0,
          "line": 1,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 28,
        "line": 1,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "x",
    "namespace": "x",
    "params": Array [
      Object {
        "lineNumber": 1,
        "name": "yparam",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "x",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 11,
        },
        "start": Object {
          "column": 0,
          "line": 3,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 1,
        "line": 11,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 18,
                "line": 5,
              },
              "start": Object {
                "column": 2,
                "line": 5,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 18,
              "line": 5,
            },
            "start": Object {
              "column": 2,
              "line": 5,
            },
          },
          "memberof": "Class",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "classMethod",
          "namespace": "Class#classMethod",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Class",
            },
            Object {
              "kind": "function",
              "name": "classMethod",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 22,
                "line": 6,
              },
              "start": Object {
                "column": 2,
                "line": 6,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 22,
              "line": 6,
            },
            "start": Object {
              "column": 2,
              "line": 6,
            },
          },
          "memberof": "Class",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "classGetter",
          "namespace": "Class#classGetter",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Class",
            },
            Object {
              "kind": "member",
              "name": "classGetter",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 23,
                "line": 7,
              },
              "start": Object {
                "column": 2,
                "line": 7,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 23,
              "line": 7,
            },
            "start": Object {
              "column": 2,
              "line": 7,
            },
          },
          "memberof": "Class",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "classSetter",
          "namespace": "Class#classSetter",
          "params": Array [
            Object {
              "lineNumber": 7,
              "name": "v",
              "title": "param",
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Class",
            },
            Object {
              "kind": "member",
              "name": "classSetter",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 26,
                "line": 8,
              },
              "start": Object {
                "column": 2,
                "line": 8,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 26,
              "line": 8,
            },
            "start": Object {
              "column": 2,
              "line": 8,
            },
          },
          "memberof": "Class",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "staticMethod",
          "namespace": "Class.staticMethod",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Class",
            },
            Object {
              "kind": "function",
              "name": "staticMethod",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 30,
                "line": 9,
              },
              "start": Object {
                "column": 2,
                "line": 9,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 30,
              "line": 9,
            },
            "start": Object {
              "column": 2,
              "line": 9,
            },
          },
          "memberof": "Class",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "staticGetter",
          "namespace": "Class.staticGetter",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Class",
            },
            Object {
              "kind": "member",
              "name": "staticGetter",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 31,
                "line": 10,
              },
              "start": Object {
                "column": 2,
                "line": 10,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 31,
              "line": 10,
            },
            "start": Object {
              "column": 2,
              "line": 10,
            },
          },
          "memberof": "Class",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "staticSetter",
          "namespace": "Class.staticSetter",
          "params": Array [
            Object {
              "lineNumber": 10,
              "name": "v",
              "title": "param",
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Class",
            },
            Object {
              "kind": "member",
              "name": "staticSetter",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "Class",
    "namespace": "Class",
    "params": Array [
      Object {
        "lineNumber": 4,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Class",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 25,
          "line": 3,
        },
        "start": Object {
          "column": 0,
          "line": 3,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 25,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "T5",
    "namespace": "T5",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "T5",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "name": "boolean",
      "type": "NameExpression",
    },
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 18,
          "line": 5,
        },
        "start": Object {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 18,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 5,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "y2Default",
    "namespace": "y2Default",
    "params": Array [],
    "path": Array [
      Object {
        "name": "y2Default",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 31,
          "line": 8,
        },
        "start": Object {
          "column": 0,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 18,
                  "line": 1,
                  "offset": 17,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Description of y3",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 18,
              "line": 1,
              "offset": 17,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 18,
          "line": 1,
          "offset": 17,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 24,
        "line": 7,
      },
      "start": Object {
        "column": 0,
        "line": 7,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "y4",
    "namespace": "y4",
    "params": Array [
      Object {
        "lineNumber": 8,
        "name": "p",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "y4",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "title": "returns",
        "type": Object {
          "type": "VoidLiteral",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 19,
        },
        "start": Object {
          "column": 0,
          "line": 13,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 2,
        "line": 19,
      },
      "start": Object {
        "column": 0,
        "line": 13,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 13,
                "line": 14,
              },
              "start": Object {
                "column": 2,
                "line": 14,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 13,
              "line": 14,
            },
            "start": Object {
              "column": 2,
              "line": 14,
            },
          },
          "memberof": "object",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "method",
          "namespace": "object.method",
          "params": Array [],
          "path": Array [
            Object {
              "name": "object",
            },
            Object {
              "kind": "function",
              "name": "method",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 17,
                "line": 15,
              },
              "start": Object {
                "column": 2,
                "line": 15,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 17,
              "line": 15,
            },
            "start": Object {
              "column": 2,
              "line": 15,
            },
          },
          "memberof": "object",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "getter",
          "namespace": "object.getter",
          "params": Array [],
          "path": Array [
            Object {
              "name": "object",
            },
            Object {
              "kind": "member",
              "name": "getter",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 18,
                "line": 16,
              },
              "start": Object {
                "column": 2,
                "line": 16,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 18,
              "line": 16,
            },
            "start": Object {
              "column": 2,
              "line": 16,
            },
          },
          "memberof": "object",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "setter",
          "namespace": "object.setter",
          "params": Array [
            Object {
              "lineNumber": 16,
              "name": "v",
              "title": "param",
            },
          ],
          "path": Array [
            Object {
              "name": "object",
            },
            Object {
              "kind": "member",
              "name": "setter",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 10,
                "line": 17,
              },
              "start": Object {
                "column": 2,
                "line": 17,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "loc": Object {
            "end": Object {
              "column": 10,
              "line": 17,
            },
            "start": Object {
              "column": 2,
              "line": 17,
            },
          },
          "memberof": "object",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "prop",
          "namespace": "object.prop",
          "params": Array [],
          "path": Array [
            Object {
              "name": "object",
            },
            Object {
              "name": "prop",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 21,
                "line": 18,
              },
              "start": Object {
                "column": 2,
                "line": 18,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 21,
              "line": 18,
            },
            "start": Object {
              "column": 2,
              "line": 18,
            },
          },
          "memberof": "object",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "func",
          "namespace": "object.func",
          "params": Array [],
          "path": Array [
            Object {
              "name": "object",
            },
            Object {
              "kind": "function",
              "name": "func",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "object",
    "namespace": "object",
    "params": Array [],
    "path": Array [
      Object {
        "name": "object",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 16,
          "line": 55,
        },
        "start": Object {
          "column": 0,
          "line": 55,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 16,
        "line": 55,
      },
      "start": Object {
        "column": 0,
        "line": 55,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f1",
    "namespace": "f1",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f1",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 16,
          "line": 56,
        },
        "start": Object {
          "column": 0,
          "line": 56,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 16,
        "line": 56,
      },
      "start": Object {
        "column": 0,
        "line": 56,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f3",
    "namespace": "f3",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f3",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 23,
          "line": 60,
        },
        "start": Object {
          "column": 0,
          "line": 60,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 23,
        "line": 60,
      },
      "start": Object {
        "column": 0,
        "line": 60,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "T",
    "namespace": "T",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "T",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "name": "number",
      "type": "NameExpression",
    },
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 17,
          "line": 61,
        },
        "start": Object {
          "column": 0,
          "line": 61,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 17,
        "line": 61,
      },
      "start": Object {
        "column": 0,
        "line": 61,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "T2",
    "namespace": "T2",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "T2",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "name": "string",
      "type": "NameExpression",
    },
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 17,
          "line": 62,
        },
        "start": Object {
          "column": 0,
          "line": 62,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 17,
        "line": 62,
      },
      "start": Object {
        "column": 0,
        "line": 62,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "T4",
    "namespace": "T4",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "T4",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "name": "string",
      "type": "NameExpression",
    },
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 34,
          "line": 68,
        },
        "start": Object {
          "column": 0,
          "line": 68,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 34,
        "line": 68,
      },
      "start": Object {
        "column": 0,
        "line": 68,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f4",
    "namespace": "f4",
    "params": Array [
      Object {
        "lineNumber": 68,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "X",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f4",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 74,
        },
        "start": Object {
          "column": 0,
          "line": 72,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 2,
        "line": 74,
      },
      "start": Object {
        "column": 0,
        "line": 72,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 10,
                "line": 73,
              },
              "start": Object {
                "column": 2,
                "line": 73,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 10,
              "line": 73,
            },
            "start": Object {
              "column": 2,
              "line": 73,
            },
          },
          "memberof": "o1",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "om1",
          "namespace": "o1.om1",
          "params": Array [],
          "path": Array [
            Object {
              "name": "o1",
            },
            Object {
              "kind": "function",
              "name": "om1",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "o1",
    "namespace": "o1",
    "params": Array [],
    "path": Array [
      Object {
        "name": "o1",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 4,
          "line": 80,
        },
        "start": Object {
          "column": 0,
          "line": 77,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 11,
                  "line": 1,
                  "offset": 10,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "f5 comment",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 11,
          "line": 1,
          "offset": 10,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 17,
        "line": 76,
      },
      "start": Object {
        "column": 0,
        "line": 76,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f5",
    "namespace": "f5",
    "params": Array [
      Object {
        "lineNumber": 77,
        "name": "y",
        "title": "param",
        "type": Object {
          "name": "Y",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f5",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 3,
          "line": 80,
        },
        "start": Object {
          "column": 2,
          "line": 78,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 80,
      },
      "start": Object {
        "column": 2,
        "line": 78,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 12,
                "line": 79,
              },
              "start": Object {
                "column": 4,
                "line": 79,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 12,
              "line": 79,
            },
            "start": Object {
              "column": 4,
              "line": 79,
            },
          },
          "memberof": "o2",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "om2",
          "namespace": "o2.om2",
          "params": Array [],
          "path": Array [
            Object {
              "name": "o2",
            },
            Object {
              "kind": "function",
              "name": "om2",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "o2",
    "namespace": "o2",
    "params": Array [],
    "path": Array [
      Object {
        "name": "o2",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs document-exported.input.js markdown 1`] = `"[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]"`;

exports[`outputs document-exported.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "z",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "zMethod",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "x",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "yparam",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Class",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "classMethod",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "classGetter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "classSetter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "v",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "staticMethod",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "staticGetter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "staticSetter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "v",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "T5",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "boolean",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "y2Default",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "y4",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 18,
              "line": 1,
              "offset": 17,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Description of y3",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 18,
          "line": 1,
          "offset": 17,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "p",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "void",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "object",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "method",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "setter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "v",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "prop",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "func",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f1",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f3",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "T",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "number",
            },
          ],
          "identifier": "3",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "T2",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "T4",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f4",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "X",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "o1",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "om1",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f5",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "f5 comment",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 11,
          "line": 1,
          "offset": 10,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "y",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "Y",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "o2",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "om2",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs document-exported-export-default-object.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 5,
        },
        "start": Object {
          "column": 0,
          "line": 3,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 2,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "document-exported-export-default-object.input",
    "namespace": "document-exported-export-default-object.input",
    "params": Array [],
    "path": Array [
      Object {
        "name": "document-exported-export-default-object.input",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 7,
          "line": 4,
        },
        "start": Object {
          "column": 2,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [
      Object {
        "commentLineNumber": 0,
        "message": "@memberof reference to document-exported-export-default-object.input not found",
      },
    ],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 7,
        "line": 4,
      },
      "start": Object {
        "column": 2,
        "line": 4,
      },
    },
    "memberof": "document-exported-export-default-object.input",
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "x",
    "namespace": ".x",
    "params": Array [],
    "path": Array [
      Object {
        "name": "x",
        "scope": "static",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "scope": "static",
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs document-exported-export-default-object.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs document-exported-export-default-object.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "document-exported-export-default-object.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "x",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
  ],
  "type": "root",
}
`;

exports[`outputs document-exported-export-default-value.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 18,
          "line": 3,
        },
        "start": Object {
          "column": 0,
          "line": 3,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 18,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "document-exported-export-default-value.input",
    "namespace": "document-exported-export-default-value.input",
    "params": Array [],
    "path": Array [
      Object {
        "name": "document-exported-export-default-value.input",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs document-exported-export-default-value.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs document-exported-export-default-value.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "document-exported-export-default-value.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
  ],
  "type": "root",
}
`;

exports[`outputs es6.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 10,
          "line": 9,
        },
        "start": Object {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 33,
                  "line": 2,
                  "offset": 88,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function destructures with defaults. It should not
have any parameter descriptions.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 33,
              "line": 2,
              "offset": 88,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 33,
          "line": 2,
          "offset": 88,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 4,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "destructure",
    "namespace": "destructure",
    "params": Array [
      Object {
        "anonymous": true,
        "default": "{}",
        "name": "$0",
        "properties": Array [
          Object {
            "default": "[]",
            "lineNumber": 6,
            "name": "$0.phoneNumbers",
            "title": "param",
          },
          Object {
            "default": "[]",
            "lineNumber": 7,
            "name": "$0.emailAddresses",
            "title": "param",
          },
          Object {
            "lineNumber": 8,
            "name": "$0.params",
            "title": "param",
            "type": Object {
              "type": "RestType",
            },
          },
        ],
        "title": "param",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "destructure",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 34,
          "line": 16,
        },
        "start": Object {
          "column": 0,
          "line": 16,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 27,
                  "line": 1,
                  "offset": 26,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Similar, but with an array",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 27,
          "line": 1,
          "offset": 26,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [
      Object {
        "description": "destructure([1, 2, 3])",
      },
    ],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 15,
      },
      "start": Object {
        "column": 0,
        "line": 11,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "destructure",
    "namespace": "destructure",
    "params": Array [
      Object {
        "anonymous": true,
        "name": "$0",
        "properties": Array [
          Object {
            "lineNumber": 16,
            "name": "$0.0",
            "title": "param",
          },
          Object {
            "lineNumber": 16,
            "name": "$0.1",
            "title": "param",
          },
          Object {
            "lineNumber": 16,
            "name": "$0.2",
            "title": "param",
          },
        ],
        "title": "param",
        "type": Object {
          "name": "Array",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "destructure",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "destructure([1, 2, 3])",
        "lineNumber": 2,
        "title": "example",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 31,
          "line": 23,
        },
        "start": Object {
          "column": 0,
          "line": 23,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 22,
      },
      "start": Object {
        "column": 0,
        "line": 18,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "multiply",
    "namespace": "multiply",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 20,
                      "line": 1,
                      "offset": 19,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "an array of numbers",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 20,
                  "line": 1,
                  "offset": 19,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 20,
              "line": 1,
              "offset": 19,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "a",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "Number",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
      Object {
        "lineNumber": 23,
        "name": "b",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "multiply",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "an array of numbers",
        "lineNumber": 2,
        "name": "a",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "Number",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
      Object {
        "description": "numberone",
        "lineNumber": 3,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 75,
        },
        "start": Object {
          "column": 0,
          "line": 36,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 15,
                  "line": 1,
                  "offset": 14,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is a sink",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 15,
              "line": 1,
              "offset": 14,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 15,
          "line": 1,
          "offset": 14,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [
      Object {
        "description": "@abc
class A {
  @bind
  say() {}
}",
      },
    ],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 35,
      },
      "start": Object {
        "column": 0,
        "line": 25,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 18,
                "line": 45,
              },
              "start": Object {
                "column": 2,
                "line": 45,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 32,
                        "line": 1,
                        "offset": 31,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This is a property of the sink.",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 32,
                    "line": 1,
                    "offset": 31,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 32,
                "line": 1,
                "offset": 31,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 44,
            },
            "start": Object {
              "column": 2,
              "line": 42,
            },
          },
          "memberof": "Sink",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "staticProp",
          "namespace": "Sink#staticProp",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Sink",
            },
            Object {
              "kind": "member",
              "name": "staticProp",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 52,
              },
              "start": Object {
                "column": 2,
                "line": 50,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 12,
                        "line": 1,
                        "offset": 11,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "Is it empty",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 12,
                    "line": 1,
                    "offset": 11,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 12,
                "line": 1,
                "offset": 11,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 49,
            },
            "start": Object {
              "column": 2,
              "line": 47,
            },
          },
          "memberof": "Sink",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "empty",
          "namespace": "Sink#empty",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Sink",
            },
            Object {
              "kind": "function",
              "name": "empty",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 4,
                "line": 59,
              },
              "start": Object {
                "column": 2,
                "line": 57,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 39,
                        "line": 1,
                        "offset": 38,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This uses the class property transform",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 39,
                    "line": 1,
                    "offset": 38,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 39,
                "line": 1,
                "offset": 38,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 56,
            },
            "start": Object {
              "column": 2,
              "line": 54,
            },
          },
          "memberof": "Sink",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "classprop",
          "namespace": "Sink#classprop",
          "params": Array [
            Object {
              "lineNumber": 57,
              "name": "a",
              "title": "param",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Sink",
            },
            Object {
              "kind": "member",
              "name": "classprop",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "title": "returns",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 74,
              },
              "start": Object {
                "column": 2,
                "line": 72,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 15,
                        "line": 2,
                        "offset": 63,
                      },
                      "indent": Array [
                        1,
                      ],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This is a getter method: it should be documented
as a property.",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 15,
                    "line": 2,
                    "offset": 63,
                  },
                  "indent": Array [
                    1,
                  ],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 15,
                "line": 2,
                "offset": 63,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 71,
            },
            "start": Object {
              "column": 2,
              "line": 68,
            },
          },
          "memberof": "Sink",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "aGetter",
          "namespace": "Sink#aGetter",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Sink",
            },
            Object {
              "kind": "member",
              "name": "aGetter",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 66,
              },
              "start": Object {
                "column": 2,
                "line": 64,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 23,
                        "line": 1,
                        "offset": 22,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This method says hello",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 23,
                    "line": 1,
                    "offset": 22,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 23,
                "line": 1,
                "offset": 22,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 63,
            },
            "start": Object {
              "column": 2,
              "line": 61,
            },
          },
          "memberof": "Sink",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "hello",
          "namespace": "Sink.hello",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Sink",
            },
            Object {
              "kind": "function",
              "name": "hello",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "Sink",
    "namespace": "Sink",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 24,
                      "line": 1,
                      "offset": 23,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the height of the thing",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 24,
                  "line": 1,
                  "offset": 23,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 24,
              "line": 1,
              "offset": 23,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "height",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the width of the thing",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 3,
        "name": "width",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Sink",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the height of the thing",
        "lineNumber": 2,
        "name": "height",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "the width of the thing",
        "lineNumber": 3,
        "name": "width",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "@abc
class A {
  @bind
  say() {}
}",
        "lineNumber": 4,
        "title": "example",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 25,
          "line": 82,
        },
        "start": Object {
          "column": 0,
          "line": 82,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 61,
                  "line": 1,
                  "offset": 60,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This method returns a basket. The type should not be linked.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 61,
              "line": 1,
              "offset": 60,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 61,
          "line": 1,
          "offset": 60,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 81,
      },
      "start": Object {
        "column": 0,
        "line": 77,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "makeABasket",
    "namespace": "makeABasket",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "makeABasket",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 9,
                      "line": 1,
                      "offset": 8,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "a basket",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Basket",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "a basket",
        "lineNumber": 3,
        "title": "returns",
        "type": Object {
          "name": "Basket",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 23,
          "line": 90,
        },
        "start": Object {
          "column": 0,
          "line": 90,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This method returns a ",
            },
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "sink",
                },
              ],
              "jsdoc": true,
              "position": Object {
                "end": Object {
                  "column": 40,
                  "line": 1,
                  "offset": 39,
                },
                "indent": Array [],
                "start": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
              },
              "title": null,
              "type": "link",
              "url": "Sink",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 12,
                  "line": 2,
                  "offset": 79,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 40,
                  "line": 1,
                  "offset": 39,
                },
              },
              "type": "text",
              "value": ". The type should be linked.
It takes a ",
            },
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "jsdoc": true,
              "position": Object {
                "end": Object {
                  "column": 26,
                  "line": 2,
                  "offset": 93,
                },
                "indent": Array [],
                "start": Object {
                  "column": 12,
                  "line": 2,
                  "offset": 79,
                },
              },
              "title": null,
              "type": "link",
              "url": "number",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 55,
                  "line": 2,
                  "offset": 122,
                },
                "indent": Array [],
                "start": Object {
                  "column": 26,
                  "line": 2,
                  "offset": 93,
                },
              },
              "type": "text",
              "value": " which should also be linked.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 55,
              "line": 2,
              "offset": 122,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 55,
          "line": 2,
          "offset": 122,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 89,
      },
      "start": Object {
        "column": 0,
        "line": 84,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "makeASink",
    "namespace": "makeASink",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "makeASink",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 7,
                      "line": 1,
                      "offset": 6,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "a sink",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 7,
                  "line": 1,
                  "offset": 6,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 7,
              "line": 1,
              "offset": 6,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Sink",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "a sink",
        "lineNumber": 4,
        "title": "returns",
        "type": Object {
          "name": "Sink",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 43,
          "line": 95,
        },
        "start": Object {
          "column": 0,
          "line": 95,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 32,
                  "line": 1,
                  "offset": 31,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function takes rest params",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 94,
      },
      "start": Object {
        "column": 0,
        "line": 92,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "functionWithRest",
    "namespace": "functionWithRest",
    "params": Array [
      Object {
        "lineNumber": 95,
        "name": "someParams",
        "title": "param",
        "type": Object {
          "type": "RestType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "functionWithRest",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 107,
        },
        "start": Object {
          "column": 0,
          "line": 100,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 29,
                  "line": 1,
                  "offset": 28,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "So does this one, with types",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 99,
      },
      "start": Object {
        "column": 0,
        "line": 97,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "functionWithRestAndType",
    "namespace": "functionWithRestAndType",
    "params": Array [
      Object {
        "lineNumber": 100,
        "name": "someParams",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "type": "RestType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "functionWithRestAndType",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 23,
          "line": 114,
        },
        "start": Object {
          "column": 0,
          "line": 114,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 24,
                  "line": 1,
                  "offset": 23,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is an async method",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 24,
              "line": 1,
              "offset": 23,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 24,
          "line": 1,
          "offset": 23,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 113,
      },
      "start": Object {
        "column": 0,
        "line": 111,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 36,
          "line": 122,
        },
        "start": Object {
          "column": 0,
          "line": 122,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 121,
      },
      "start": Object {
        "column": 0,
        "line": 118,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "es6.input",
    "namespace": "es6.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "es6.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 129,
        },
        "start": Object {
          "column": 0,
          "line": 127,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 53,
                  "line": 1,
                  "offset": 52,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This tests our support of optional parameters in ES6",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 53,
              "line": 1,
              "offset": 52,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 53,
          "line": 1,
          "offset": 52,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 126,
      },
      "start": Object {
        "column": 0,
        "line": 124,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "veryImportantTransform",
    "namespace": "veryImportantTransform",
    "params": Array [
      Object {
        "default": "'bar'",
        "lineNumber": 127,
        "name": "foo",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "veryImportantTransform",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "access": "protected",
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 26,
          "line": 143,
        },
        "start": Object {
          "column": 0,
          "line": 143,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 21,
                  "line": 1,
                  "offset": 20,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "A protected function",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 21,
          "line": 1,
          "offset": 20,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 142,
      },
      "start": Object {
        "column": 0,
        "line": 139,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "iAmProtected",
    "namespace": "iAmProtected",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "iAmProtected",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "title": "protected",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "access": "public",
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 23,
          "line": 149,
        },
        "start": Object {
          "column": 0,
          "line": 149,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 18,
                  "line": 1,
                  "offset": 17,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "A public function",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 18,
              "line": 1,
              "offset": 17,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 18,
          "line": 1,
          "offset": 17,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 148,
      },
      "start": Object {
        "column": 0,
        "line": 145,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "iAmPublic",
    "namespace": "iAmPublic",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "iAmPublic",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "title": "public",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 42,
          "line": 160,
        },
        "start": Object {
          "column": 0,
          "line": 160,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 20,
                  "line": 1,
                  "offset": 19,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is re-exported",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 20,
              "line": 1,
              "offset": 19,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 20,
          "line": 1,
          "offset": 19,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 159,
      },
      "start": Object {
        "column": 0,
        "line": 157,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "execute",
    "namespace": "execute",
    "params": Array [],
    "path": Array [
      Object {
        "name": "execute",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 169,
        },
        "start": Object {
          "column": 0,
          "line": 163,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 26,
                  "line": 1,
                  "offset": 25,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Regression check for #498",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 26,
              "line": 1,
              "offset": 25,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 26,
          "line": 1,
          "offset": 25,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 32,
        "line": 162,
      },
      "start": Object {
        "column": 0,
        "line": 162,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "isArrayEqualWith",
    "namespace": "isArrayEqualWith",
    "params": Array [
      Object {
        "lineNumber": 164,
        "name": "array1",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "T",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
      Object {
        "lineNumber": 165,
        "name": "array2",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "T",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
      Object {
        "default": "(a:T,b:T):boolean=>a===b",
        "lineNumber": 166,
        "name": "compareFunction",
        "title": "param",
        "type": Object {
          "params": Array [
            Object {
              "expression": Object {
                "name": "T",
                "type": "NameExpression",
              },
              "name": "a",
              "type": "ParameterType",
            },
            Object {
              "expression": Object {
                "name": "T",
                "type": "NameExpression",
              },
              "name": "b",
              "type": "ParameterType",
            },
          ],
          "result": Object {
            "name": "boolean",
            "type": "NameExpression",
          },
          "type": "FunctionType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "isArrayEqualWith",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "title": "returns",
        "type": Object {
          "name": "boolean",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 174,
        },
        "start": Object {
          "column": 0,
          "line": 172,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 26,
                  "line": 1,
                  "offset": 25,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Regression check for #749",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 26,
              "line": 1,
              "offset": 25,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 26,
          "line": 1,
          "offset": 25,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 32,
        "line": 171,
      },
      "start": Object {
        "column": 0,
        "line": 171,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "paramWithMemberType",
    "namespace": "paramWithMemberType",
    "params": Array [
      Object {
        "lineNumber": 172,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "atype.property",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "paramWithMemberType",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "title": "returns",
        "type": Object {
          "name": "boolean",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs es6.input.js markdown 1`] = `"[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]"`;

exports[`outputs es6.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "destructure",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 33,
              "line": 2,
              "offset": 88,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function destructures with defaults. It should not
have any parameter descriptions.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 33,
          "line": 2,
          "offset": 88,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "$0",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "{}",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$0.phoneNumbers",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": " (optional, default ",
                            },
                            Object {
                              "type": "inlineCode",
                              "value": "[]",
                            },
                            Object {
                              "type": "text",
                              "value": ")",
                            },
                          ],
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$0.emailAddresses",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": " (optional, default ",
                            },
                            Object {
                              "type": "inlineCode",
                              "value": "[]",
                            },
                            Object {
                              "type": "text",
                              "value": ")",
                            },
                          ],
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$0.params",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": "...",
                            },
                            Object {
                              "type": "text",
                              "value": "any",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "destructure",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Similar, but with an array",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 27,
          "line": 1,
          "offset": 26,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "$0",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$0.0",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$0.1",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$0.2",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Examples",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "lang": "javascript",
      "type": "code",
      "value": "destructure([1, 2, 3])",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "multiply",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "<",
                    },
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Number",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": ">",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 20,
                          "line": 1,
                          "offset": 19,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "an array of numbers",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 20,
                      "line": 1,
                      "offset": 19,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "b",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Number",
                },
              ],
              "identifier": "3",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Sink",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 15,
              "line": 1,
              "offset": 14,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is a sink",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 15,
          "line": 1,
          "offset": 14,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "height",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 24,
                          "line": 1,
                          "offset": 23,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the height of the thing",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 24,
                      "line": 1,
                      "offset": 23,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "width",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 23,
                          "line": 1,
                          "offset": 22,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the width of the thing",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Examples",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "lang": "javascript",
      "type": "code",
      "value": "@abc
class A {
  @bind
  say() {}
}",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "staticProp",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is a property of the sink.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "empty",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Is it empty",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "classprop",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 39,
              "line": 1,
              "offset": 38,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This uses the class property transform",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 39,
          "line": 1,
          "offset": 38,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "string",
                },
              ],
              "identifier": "4",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "aGetter",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 15,
              "line": 2,
              "offset": 63,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is a getter method: it should be documented
as a property.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 15,
          "line": 2,
          "offset": 63,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "hello",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This method says hello",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "makeABasket",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 61,
              "line": 1,
              "offset": 60,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This method returns a basket. The type should not be linked.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 61,
          "line": 1,
          "offset": 60,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Basket",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "a basket",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "makeASink",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This method returns a ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "sink",
            },
          ],
          "identifier": "5",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 12,
              "line": 2,
              "offset": 79,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 40,
              "line": 1,
              "offset": 39,
            },
          },
          "type": "text",
          "value": ". The type should be linked.
It takes a ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "number",
            },
          ],
          "identifier": "6",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 55,
              "line": 2,
              "offset": 122,
            },
            "indent": Array [],
            "start": Object {
              "column": 26,
              "line": 2,
              "offset": 93,
            },
          },
          "type": "text",
          "value": " which should also be linked.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 55,
          "line": 2,
          "offset": 122,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Sink",
                },
              ],
              "identifier": "7",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 7,
                  "line": 1,
                  "offset": 6,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "a sink",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 7,
              "line": 1,
              "offset": 6,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "functionWithRest",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function takes rest params",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "someParams",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "...",
                    },
                    Object {
                      "type": "text",
                      "value": "any",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "functionWithRestAndType",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "So does this one, with types",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "someParams",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "...",
                    },
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 24,
              "line": 1,
              "offset": 23,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is an async method",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 24,
          "line": 1,
          "offset": 23,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "es6.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Number",
                },
              ],
              "identifier": "3",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "veryImportantTransform",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 53,
              "line": 1,
              "offset": 52,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This tests our support of optional parameters in ES6",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 53,
          "line": 1,
          "offset": 52,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "foo",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "'bar'",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "iAmProtected",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "A protected function",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 21,
          "line": 1,
          "offset": 20,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "iAmPublic",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 18,
              "line": 1,
              "offset": 17,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "A public function",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 18,
          "line": 1,
          "offset": 17,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "execute",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 20,
              "line": 1,
              "offset": 19,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is re-exported",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 20,
          "line": 1,
          "offset": 19,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "isArrayEqualWith",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 26,
              "line": 1,
              "offset": 25,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Regression check for #498",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 26,
          "line": 1,
          "offset": 25,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "array1",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "<",
                    },
                    Object {
                      "type": "text",
                      "value": "T",
                    },
                    Object {
                      "type": "text",
                      "value": ">",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "array2",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "<",
                    },
                    Object {
                      "type": "text",
                      "value": "T",
                    },
                    Object {
                      "type": "text",
                      "value": ">",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "compareFunction",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "function (",
                    },
                    Object {
                      "type": "text",
                      "value": "a: ",
                    },
                    Object {
                      "type": "text",
                      "value": "T",
                    },
                    Object {
                      "type": "text",
                      "value": ", ",
                    },
                    Object {
                      "type": "text",
                      "value": "b: ",
                    },
                    Object {
                      "type": "text",
                      "value": "T",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                    Object {
                      "type": "text",
                      "value": ": ",
                    },
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "boolean",
                        },
                      ],
                      "identifier": "8",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "(a:T,b:T):boolean=>a===b",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "boolean",
                },
              ],
              "identifier": "8",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "paramWithMemberType",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 26,
              "line": 1,
              "offset": 25,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Regression check for #749",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 26,
          "line": 1,
          "offset": 25,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "atype.property",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "boolean",
                },
              ],
              "identifier": "8",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "4",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "5",
      "title": null,
      "type": "definition",
      "url": "#sink",
    },
    Object {
      "identifier": "6",
      "title": null,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "7",
      "title": undefined,
      "type": "definition",
      "url": "#sink",
    },
    Object {
      "identifier": "8",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    },
  ],
  "type": "root",
}
`;

exports[`outputs es6.input.js no markdown TOC 1`] = `"[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]"`;

exports[`outputs es6-class.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [
      Object {
        "name": "React.Component",
        "title": "augments",
      },
    ],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 36,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 46,
                  "line": 1,
                  "offset": 45,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is my component. This is from issue #458",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 46,
              "line": 1,
              "offset": 45,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 46,
          "line": 1,
          "offset": 45,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Foo",
    "namespace": "Foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 18,
        },
        "start": Object {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Does nothing. This is from issue #556",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 9,
      },
      "start": Object {
        "column": 0,
        "line": 6,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 18,
                "line": 16,
              },
              "start": Object {
                "column": 4,
                "line": 16,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 19,
                        "line": 1,
                        "offset": 18,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "A useless property",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 19,
                    "line": 1,
                    "offset": 18,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 19,
                "line": 1,
                "offset": 18,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "loc": Object {
            "end": Object {
              "column": 7,
              "line": 15,
            },
            "start": Object {
              "column": 4,
              "line": 12,
            },
          },
          "memberof": "Bar",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "bar",
          "namespace": "Bar#bar",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Bar",
            },
            Object {
              "name": "bar",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": null,
              "lineNumber": 2,
              "title": "type",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
          "type": Object {
            "name": "string",
            "type": "NameExpression",
          },
        },
      ],
      "static": Array [],
    },
    "name": "Bar",
    "namespace": "Bar",
    "params": Array [
      Object {
        "lineNumber": 2,
        "name": "str",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Bar",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "str",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 25,
        },
        "start": Object {
          "column": 0,
          "line": 23,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 54,
                  "line": 1,
                  "offset": 53,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This class has fully inferred constructor parameters.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 54,
              "line": 1,
              "offset": 53,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 54,
          "line": 1,
          "offset": 53,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 22,
      },
      "start": Object {
        "column": 0,
        "line": 20,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Baz",
    "namespace": "Baz",
    "params": Array [
      Object {
        "lineNumber": 24,
        "name": "n",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "lineNumber": 24,
        "name": "l",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "string",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Baz",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs es6-class.input.js markdown 1`] = `"[object Object],[object Object],[object Object]"`;

exports[`outputs es6-class.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Extends ",
            },
            Object {
              "type": "text",
              "value": "React.Component",
            },
          ],
          "type": "strong",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 46,
              "line": 1,
              "offset": 45,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is my component. This is from issue #458",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 46,
          "line": 1,
          "offset": 45,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Bar",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Does nothing. This is from issue #556",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "str",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "bar",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "A useless property",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 19,
          "line": 1,
          "offset": 18,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Baz",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 54,
              "line": 1,
              "offset": 53,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This class has fully inferred constructor parameters.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 54,
          "line": 1,
          "offset": 53,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "n",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "l",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "<",
                    },
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": ">",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array",
    },
  ],
  "type": "root",
}
`;

exports[`outputs es6-class-property.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 25,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is for issue 906.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 11,
              },
              "start": Object {
                "column": 2,
                "line": 9,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 31,
                        "line": 1,
                        "offset": 30,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This is a read-write property.",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 31,
                    "line": 1,
                    "offset": 30,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 31,
                "line": 1,
                "offset": 30,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 8,
            },
            "start": Object {
              "column": 2,
              "line": 5,
            },
          },
          "memberof": "Issue906",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "readWriteProp",
          "namespace": "Issue906#readWriteProp",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Issue906",
            },
            Object {
              "kind": "member",
              "name": "readWriteProp",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": null,
              "lineNumber": 2,
              "title": "type",
              "type": Object {
                "name": "boolean",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
          "type": Object {
            "name": "boolean",
            "type": "NameExpression",
          },
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 24,
              },
              "start": Object {
                "column": 2,
                "line": 22,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 30,
                        "line": 1,
                        "offset": 29,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This is a read-only property.",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 30,
                    "line": 1,
                    "offset": 29,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 30,
                "line": 1,
                "offset": 29,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "member",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 21,
            },
            "start": Object {
              "column": 2,
              "line": 17,
            },
          },
          "memberof": "Issue906",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "readOnlyProp",
          "namespace": "Issue906#readOnlyProp",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Issue906",
            },
            Object {
              "kind": "member",
              "name": "readOnlyProp",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "readonly": true,
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": null,
              "lineNumber": 2,
              "title": "type",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
            Object {
              "description": null,
              "lineNumber": 3,
              "title": "readonly",
            },
          ],
          "throws": Array [],
          "todos": Array [],
          "type": Object {
            "name": "string",
            "type": "NameExpression",
          },
        },
      ],
      "static": Array [],
    },
    "name": "Issue906",
    "namespace": "Issue906",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Issue906",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs es6-class-property.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs es6-class-property.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Issue906",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is for issue 906.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "readWriteProp",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 31,
              "line": 1,
              "offset": 30,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is a read-write property.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 31,
          "line": 1,
          "offset": 30,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "boolean",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "readOnlyProp",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 30,
              "line": 1,
              "offset": 29,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is a read-only property.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 30,
          "line": 1,
          "offset": 29,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
  ],
  "type": "root",
}
`;

exports[`outputs es6-default2.input.js JSON 1`] = `
Array [
  Object {
    "access": "public",
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 39,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "es6-default2.input",
    "namespace": "es6-default2.input",
    "params": Array [
      Object {
        "lineNumber": 4,
        "name": "thisIsTheArgument",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "es6-default2.input",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 1,
        "title": "public",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs es6-default2.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs es6-default2.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "es6-default2.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "thisIsTheArgument",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
  ],
  "type": "root",
}
`;

exports[`outputs es6-import.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 41,
          "line": 14,
        },
        "start": Object {
          "column": 0,
          "line": 14,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 13,
      },
      "start": Object {
        "column": 0,
        "line": 10,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "multiplyTwice",
    "namespace": "multiplyTwice",
    "params": Array [
      Object {
        "lineNumber": 14,
        "name": "a",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "multiplyTwice",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 18,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 34,
                  "line": 1,
                  "offset": 33,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is the default export frogs!",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 34,
              "line": 1,
              "offset": 33,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 34,
          "line": 1,
          "offset": 33,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "es6-ext",
    "namespace": "es6-ext",
    "params": Array [],
    "path": Array [
      Object {
        "name": "es6-ext",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 8,
        },
        "start": Object {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 4,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "simple.input",
    "namespace": "simple.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "simple.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs es6-import.input.js markdown 1`] = `"[object Object],[object Object],[object Object]"`;

exports[`outputs es6-import.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "multiplyTwice",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "es6-ext",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 34,
              "line": 1,
              "offset": 33,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is the default export frogs!",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 34,
          "line": 1,
          "offset": 33,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "simple.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs event.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 0,
          "line": 9,
        },
        "start": Object {
          "column": 0,
          "line": 1,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 12,
                  "line": 1,
                  "offset": 11,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Mouse event",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "event",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 8,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Map#mousemove",
    "namespace": ".event:Map#mousemove",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "event",
        "name": "Map#mousemove",
      },
    ],
    "properties": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 32,
                      "line": 1,
                      "offset": 31,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the pixel location of the event",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 32,
                  "line": 1,
                  "offset": 31,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 5,
        "name": "point",
        "title": "property",
        "type": Object {
          "name": "Point",
          "type": "NameExpression",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the original DOM event",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 6,
        "name": "originalEvent",
        "title": "property",
        "type": Object {
          "name": "Event",
          "type": "NameExpression",
        },
      },
    ],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "Map#mousemove",
        "lineNumber": 3,
        "title": "event",
      },
      Object {
        "description": null,
        "lineNumber": 4,
        "title": "type",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "the pixel location of the event",
        "lineNumber": 5,
        "name": "point",
        "title": "property",
        "type": Object {
          "name": "Point",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "the original DOM event",
        "lineNumber": 6,
        "name": "originalEvent",
        "title": "property",
        "type": Object {
          "name": "Event",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "name": "Object",
      "type": "NameExpression",
    },
  },
]
`;

exports[`outputs event.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs event.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Map#mousemove",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Mouse event",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Object",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Properties",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "point",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "Point",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 32,
                          "line": 1,
                          "offset": 31,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the pixel location of the event",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 32,
                      "line": 1,
                      "offset": 31,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "originalEvent",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Event",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 23,
                          "line": 1,
                          "offset": 22,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the original DOM event",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/API/Event",
    },
  ],
  "type": "root",
}
`;

exports[`outputs example-caption.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [
      Object {
        "caption": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 28,
                      "line": 1,
                      "offset": 27,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "demonstrates how to run foo",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "description": "foo(1);",
      },
    ],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "caption": "demonstrates how to run foo",
        "description": "foo(1);",
        "lineNumber": 3,
        "title": "example",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs example-caption.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs example-caption.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Examples",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Position {
                    "end": Object {
                      "column": 28,
                      "line": 1,
                      "offset": 27,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "demonstrates how to run foo",
                },
              ],
              "position": Position {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "lang": "javascript",
      "type": "code",
      "value": "foo(1);",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs external.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "I am in ",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
              },
              "type": "inlineCode",
              "value": "external.input.js",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 29,
                  "line": 1,
                  "offset": 28,
                },
                "indent": Array [],
                "start": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
              },
              "type": "text",
              "value": ".",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 7,
      },
      "start": Object {
        "column": 0,
        "line": 5,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs external.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs external.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "I am in ",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
          },
          "type": "inlineCode",
          "value": "external.input.js",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
          },
          "type": "text",
          "value": ".",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs factory.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 18,
        },
        "start": Object {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 24,
                  "line": 1,
                  "offset": 23,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "an area chart generator",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 24,
              "line": 1,
              "offset": 23,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 24,
          "line": 1,
          "offset": 23,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 4,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "area",
    "namespace": "area",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "area",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 6,
                      "line": 1,
                      "offset": 5,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "chart",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 6,
                  "line": 1,
                  "offset": 5,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 6,
              "line": 1,
              "offset": 5,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "area",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "chart",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "area",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 37,
          "line": 9,
        },
        "start": Object {
          "column": 2,
          "line": 9,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 5,
        "line": 8,
      },
      "start": Object {
        "column": 2,
        "line": 6,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "area",
    "namespace": "area",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "area",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 1,
        "name": "area",
        "title": "class",
        "type": null,
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 30,
          "line": 15,
        },
        "start": Object {
          "column": 2,
          "line": 15,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 21,
                  "line": 1,
                  "offset": 20,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Sets the chart data.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 21,
          "line": 1,
          "offset": 20,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "commentLineNumber": 0,
        "message": "@memberof reference to chart not found",
      },
    ],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 5,
        "line": 14,
      },
      "start": Object {
        "column": 2,
        "line": 11,
      },
    },
    "memberof": "chart",
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "data",
    "namespace": ".data",
    "params": Array [
      Object {
        "lineNumber": 15,
        "name": "_",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "data",
        "scope": "static",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "scope": "static",
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": null,
        "title": "function",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs factory.input.js markdown 1`] = `"[object Object],[object Object],[object Object]"`;

exports[`outputs factory.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "area",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 24,
              "line": 1,
              "offset": 23,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "an area chart generator",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 24,
          "line": 1,
          "offset": 23,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "area",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 6,
                  "line": 1,
                  "offset": 5,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "chart",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 6,
              "line": 1,
              "offset": 5,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "area",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "data",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Sets the chart data.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 21,
          "line": 1,
          "offset": 20,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "_",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "#area",
    },
  ],
  "type": "root",
}
`;

exports[`outputs flow-optional-chaining.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 32,
          "line": 6,
        },
        "start": Object {
          "column": 0,
          "line": 6,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 6,
                  "line": 1,
                  "offset": 5,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "value",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 6,
              "line": 1,
              "offset": 5,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 6,
          "line": 1,
          "offset": 5,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "constant",
    "loc": Object {
      "end": Object {
        "column": 12,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 5,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "value",
    "namespace": "value",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "constant",
        "name": "value",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs flow-optional-chaining.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs flow-optional-chaining.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "value",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 6,
              "line": 1,
              "offset": 5,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "value",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 6,
          "line": 1,
          "offset": 5,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs flow-unnamed-params.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 25,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 3,
                  "line": 1,
                  "offset": 2,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "x2",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 3,
              "line": 1,
              "offset": 2,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 3,
          "line": 1,
          "offset": 2,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 9,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 6,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "x2",
    "namespace": "x2",
    "params": Array [],
    "path": Array [
      Object {
        "name": "x2",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "params": Array [
        Object {
          "expression": Object {
            "name": "T",
            "type": "NameExpression",
          },
          "name": "a",
          "type": "ParameterType",
        },
      ],
      "result": Object {
        "name": "string",
        "type": "NameExpression",
      },
      "type": "FunctionType",
    },
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 39,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 2,
                  "line": 1,
                  "offset": 1,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "T",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 2,
              "line": 1,
              "offset": 1,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 2,
          "line": 1,
          "offset": 1,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 8,
        "line": 9,
      },
      "start": Object {
        "column": 0,
        "line": 9,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "T",
    "namespace": "T",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "T",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "params": Array [
        Object {
          "expression": Object {
            "applications": Array [
              Object {
                "name": "string",
                "type": "NameExpression",
              },
            ],
            "expression": Object {
              "name": "Array",
              "type": "NameExpression",
            },
            "type": "TypeApplication",
          },
          "name": "",
          "type": "ParameterType",
        },
      ],
      "result": Object {
        "fields": Array [
          Object {
            "key": "num",
            "type": "FieldType",
            "value": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
        ],
        "type": "RecordType",
      },
      "type": "FunctionType",
    },
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 43,
          "line": 13,
        },
        "start": Object {
          "column": 0,
          "line": 13,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 3,
                  "line": 1,
                  "offset": 2,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "T2",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 3,
              "line": 1,
              "offset": 2,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 3,
          "line": 1,
          "offset": 2,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 9,
        "line": 12,
      },
      "start": Object {
        "column": 0,
        "line": 12,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "T2",
    "namespace": "T2",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "T2",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "params": Array [
        Object {
          "expression": Object {
            "applications": Array [
              Object {
                "name": "string",
                "type": "NameExpression",
              },
            ],
            "expression": Object {
              "name": "Array",
              "type": "NameExpression",
            },
            "type": "TypeApplication",
          },
          "name": "a",
          "type": "ParameterType",
        },
      ],
      "result": Object {
        "fields": Array [
          Object {
            "key": "num",
            "type": "FieldType",
            "value": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
        ],
        "type": "RecordType",
      },
      "type": "FunctionType",
    },
  },
]
`;

exports[`outputs flow-unnamed-params.input.js markdown 1`] = `"[object Object],[object Object],[object Object]"`;

exports[`outputs flow-unnamed-params.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "x2",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 3,
              "line": 1,
              "offset": 2,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "x2",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 3,
          "line": 1,
          "offset": 2,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "type": "text",
          "value": "function (",
        },
        Object {
          "type": "text",
          "value": "a: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "T",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": ")",
        },
        Object {
          "type": "text",
          "value": ": ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "T",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 2,
              "line": 1,
              "offset": 1,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "T",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 2,
          "line": 1,
          "offset": 1,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "type": "text",
          "value": "function (",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Array",
            },
          ],
          "identifier": "3",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": "<",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": ">",
        },
        Object {
          "type": "text",
          "value": ")",
        },
        Object {
          "type": "text",
          "value": ": ",
        },
        Object {
          "type": "text",
          "value": "{",
        },
        Object {
          "type": "text",
          "value": "num: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "number",
            },
          ],
          "identifier": "4",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": "}",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "T2",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 3,
              "line": 1,
              "offset": 2,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "T2",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 3,
          "line": 1,
          "offset": 2,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "type": "text",
          "value": "function (",
        },
        Object {
          "type": "text",
          "value": "a: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Array",
            },
          ],
          "identifier": "3",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": "<",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": ">",
        },
        Object {
          "type": "text",
          "value": ")",
        },
        Object {
          "type": "text",
          "value": ": ",
        },
        Object {
          "type": "text",
          "value": "{",
        },
        Object {
          "type": "text",
          "value": "num: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "number",
            },
          ],
          "identifier": "4",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": "}",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "#t",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array",
    },
    Object {
      "identifier": "4",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs infer-private.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 14,
        },
        "start": Object {
          "column": 0,
          "line": 9,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 14,
                  "line": 1,
                  "offset": 13,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "C description",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 14,
          "line": 1,
          "offset": 13,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 20,
        "line": 8,
      },
      "start": Object {
        "column": 0,
        "line": 8,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 11,
              },
              "start": Object {
                "column": 2,
                "line": 11,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 14,
                        "line": 1,
                        "offset": 13,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "m description",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 14,
                    "line": 1,
                    "offset": 13,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 14,
                "line": 1,
                "offset": 13,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 22,
              "line": 10,
            },
            "start": Object {
              "column": 2,
              "line": 10,
            },
          },
          "memberof": "C",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "m",
          "namespace": "C#m",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "C",
            },
            Object {
              "kind": "function",
              "name": "m",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "C",
    "namespace": "C",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "C",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs infer-private.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs infer-private.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "C",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "C description",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 14,
          "line": 1,
          "offset": 13,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "m",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "m description",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 14,
          "line": 1,
          "offset": 13,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs inheritance.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [
      Object {
        "name": "Array",
        "title": "augments",
      },
    ],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 6,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 41,
                  "line": 1,
                  "offset": 40,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "With ES6, built-in types are extensible!",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 41,
              "line": 1,
              "offset": 40,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 41,
          "line": 1,
          "offset": 40,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "SpecialArray",
    "namespace": "SpecialArray",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "SpecialArray",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 42,
          "line": 9,
        },
        "start": Object {
          "column": 0,
          "line": 9,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 17,
        "line": 8,
      },
      "start": Object {
        "column": 0,
        "line": 8,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Foo",
    "namespace": "Foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 0,
        "name": "Foo",
        "title": "class",
        "type": null,
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs inheritance.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs inheritance.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "SpecialArray",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Extends ",
            },
            Object {
              "type": "text",
              "value": "Array",
            },
          ],
          "type": "strong",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 41,
              "line": 1,
              "offset": 40,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "With ES6, built-in types are extensible!",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 41,
          "line": 1,
          "offset": 40,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
  ],
  "type": "root",
}
`;

exports[`outputs inline-link.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 8,
        },
        "start": Object {
          "column": 0,
          "line": 6,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 21,
                  "line": 1,
                  "offset": 20,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Adds one to a number",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 21,
          "line": 1,
          "offset": 20,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "addOne",
    "namespace": "addOne",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the input",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "addOne",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 11,
                      "line": 1,
                      "offset": 10,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the output",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 11,
                  "line": 1,
                  "offset": 10,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the input",
        "lineNumber": 2,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "the output",
        "lineNumber": 3,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 23,
        },
        "start": Object {
          "column": 0,
          "line": 21,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 1,
                  "line": 2,
                  "offset": 60,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one. Internally, this uses
",
            },
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "addOne",
                },
              ],
              "jsdoc": true,
              "position": Object {
                "end": Object {
                  "column": 15,
                  "line": 2,
                  "offset": 74,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 2,
                  "offset": 60,
                },
              },
              "title": null,
              "type": "link",
              "url": "addOne",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 1,
                  "line": 3,
                  "offset": 109,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 15,
                  "line": 2,
                  "offset": 74,
                },
              },
              "type": "text",
              "value": " to do the math. This demonstrates
",
            },
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Addition",
                },
              ],
              "jsdoc": true,
              "position": Object {
                "end": Object {
                  "column": 56,
                  "line": 3,
                  "offset": 164,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 3,
                  "offset": 109,
                },
              },
              "title": null,
              "type": "link",
              "url": "https://en.wikipedia.org/wiki/Addition",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 5,
                  "line": 4,
                  "offset": 169,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 56,
                  "line": 3,
                  "offset": 164,
                },
              },
              "type": "text",
              "value": "
and ",
            },
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "https://en.wikipedia.org/wiki/Addition",
                },
              ],
              "jsdoc": true,
              "position": Object {
                "end": Object {
                  "column": 51,
                  "line": 4,
                  "offset": 215,
                },
                "indent": Array [],
                "start": Object {
                  "column": 5,
                  "line": 4,
                  "offset": 169,
                },
              },
              "title": null,
              "type": "link",
              "url": "https://en.wikipedia.org/wiki/Addition",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 51,
              "line": 4,
              "offset": 215,
            },
            "indent": Array [
              1,
              1,
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 30,
                  "line": 6,
                  "offset": 246,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 6,
                  "offset": 217,
                },
              },
              "type": "text",
              "value": "This link refers to nothing: ",
            },
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "nothing",
                },
              ],
              "jsdoc": true,
              "position": Object {
                "end": Object {
                  "column": 45,
                  "line": 6,
                  "offset": 261,
                },
                "indent": Array [],
                "start": Object {
                  "column": 30,
                  "line": 6,
                  "offset": 246,
                },
              },
              "title": null,
              "type": "link",
              "url": "nothing",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 45,
              "line": 6,
              "offset": 261,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 6,
              "offset": 217,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 45,
          "line": 6,
          "offset": 261,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 20,
      },
      "start": Object {
        "column": 0,
        "line": 10,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "inline-link.input",
    "namespace": "inline-link.input",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the input",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 8,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "inline-link.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the input",
        "lineNumber": 8,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "numberone",
        "lineNumber": 9,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs inline-link.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs inline-link.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "addOne",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Adds one to a number",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 21,
          "line": 1,
          "offset": 20,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 10,
                          "line": 1,
                          "offset": 9,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the input",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 11,
                  "line": 1,
                  "offset": 10,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "the output",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "inline-link.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 1,
              "line": 2,
              "offset": 60,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one. Internally, this uses
",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "addOne",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 1,
              "line": 3,
              "offset": 109,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 15,
              "line": 2,
              "offset": 74,
            },
          },
          "type": "text",
          "value": " to do the math. This demonstrates
",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Addition",
            },
          ],
          "identifier": "3",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 5,
              "line": 4,
              "offset": 169,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 56,
              "line": 3,
              "offset": 164,
            },
          },
          "type": "text",
          "value": "
and ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "https://en.wikipedia.org/wiki/Addition",
            },
          ],
          "identifier": "3",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 51,
          "line": 4,
          "offset": 215,
        },
        "indent": Array [
          1,
          1,
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 30,
              "line": 6,
              "offset": 246,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 6,
              "offset": 217,
            },
          },
          "type": "text",
          "value": "This link refers to nothing: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "nothing",
            },
          ],
          "identifier": "4",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 45,
          "line": 6,
          "offset": 261,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 6,
          "offset": 217,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 10,
                          "line": 1,
                          "offset": 9,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the input",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": null,
      "type": "definition",
      "url": "#addone",
    },
    Object {
      "identifier": "3",
      "title": null,
      "type": "definition",
      "url": "https://en.wikipedia.org/wiki/Addition",
    },
    Object {
      "identifier": "4",
      "title": null,
      "type": "definition",
      "url": "nothing",
    },
  ],
  "type": "root",
}
`;

exports[`outputs interface.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [
      Object {
        "name": "Bar",
        "title": "extends",
      },
      Object {
        "name": "Baz",
        "title": "extends",
      },
    ],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 22,
                  "line": 1,
                  "offset": 21,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is my interface.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 22,
              "line": 1,
              "offset": 21,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 22,
          "line": 1,
          "offset": 21,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "interface",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Foo",
    "namespace": "Foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "interface",
        "name": "Foo",
      },
    ],
    "properties": Array [
      Object {
        "lineNumber": 5,
        "name": "prop1",
        "title": "property",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "lineNumber": 6,
        "name": "prop2",
        "title": "property",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
    ],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs interface.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs interface.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Extends ",
            },
            Object {
              "type": "text",
              "value": "Bar, Baz",
            },
          ],
          "type": "strong",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 22,
              "line": 1,
              "offset": 21,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is my interface.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 22,
          "line": 1,
          "offset": 21,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Properties",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "prop1",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "prop2",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
  ],
  "type": "root",
}
`;

exports[`outputs internal.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "I am in ",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
              },
              "type": "inlineCode",
              "value": "external.input.js",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 29,
                  "line": 1,
                  "offset": 28,
                },
                "indent": Array [],
                "start": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
              },
              "type": "text",
              "value": ".",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 7,
      },
      "start": Object {
        "column": 0,
        "line": 5,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs internal.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs internal.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "I am in ",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
          },
          "type": "inlineCode",
          "value": "external.input.js",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 1,
              "offset": 28,
            },
            "indent": Array [],
            "start": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
          },
          "type": "text",
          "value": ".",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 29,
          "line": 1,
          "offset": 28,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs lends.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [
      Object {
        "description": null,
        "lineNumber": 3,
        "name": "Augmented",
        "title": "augments",
        "type": null,
      },
    ],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 28,
        },
        "start": Object {
          "column": 0,
          "line": 6,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 19,
                  "line": 1,
                  "offset": 18,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "A neat layout view",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 19,
          "line": 1,
          "offset": 18,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 20,
                "line": 10,
              },
              "start": Object {
                "column": 4,
                "line": 10,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 9,
                        "line": 1,
                        "offset": 8,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "My field",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 9,
                    "line": 1,
                    "offset": 8,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 9,
                "line": 1,
                "offset": 8,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "loc": Object {
            "end": Object {
              "column": 19,
              "line": 9,
            },
            "start": Object {
              "column": 4,
              "line": 9,
            },
          },
          "memberof": "TheClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "my-field",
          "namespace": "TheClass#my-field",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "TheClass",
            },
            Object {
              "name": "my-field",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 5,
                "line": 18,
              },
              "start": Object {
                "column": 4,
                "line": 16,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 17,
                        "line": 1,
                        "offset": 16,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "My neat function",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 17,
                    "line": 1,
                    "offset": 16,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 17,
                "line": 1,
                "offset": 16,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 7,
              "line": 15,
            },
            "start": Object {
              "column": 4,
              "line": 11,
            },
          },
          "memberof": "TheClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "foo",
          "namespace": "TheClass#foo",
          "params": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 10,
                            "line": 1,
                            "offset": 9,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "your word",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 10,
                        "line": 1,
                        "offset": 9,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 10,
                    "line": 1,
                    "offset": 9,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "lineNumber": 2,
              "name": "word",
              "title": "param",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "TheClass",
            },
            Object {
              "kind": "function",
              "name": "foo",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 25,
                            "line": 1,
                            "offset": 24,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "your word but one better",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 25,
                        "line": 1,
                        "offset": 24,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 25,
                    "line": 1,
                    "offset": 24,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "title": "returns",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "your word",
              "lineNumber": 2,
              "name": "word",
              "title": "param",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
            Object {
              "description": "your word but one better",
              "lineNumber": 3,
              "title": "returns",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 5,
                "line": 26,
              },
              "start": Object {
                "column": 4,
                "line": 24,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 17,
                        "line": 1,
                        "offset": 16,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "My neat function",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 17,
                    "line": 1,
                    "offset": 16,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 17,
                "line": 1,
                "offset": 16,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 7,
              "line": 23,
            },
            "start": Object {
              "column": 4,
              "line": 19,
            },
          },
          "memberof": "TheClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "bar",
          "namespace": "TheClass#bar",
          "params": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 10,
                            "line": 1,
                            "offset": 9,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "your word",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 10,
                        "line": 1,
                        "offset": 9,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 10,
                    "line": 1,
                    "offset": 9,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "lineNumber": 2,
              "name": "word",
              "title": "param",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "TheClass",
            },
            Object {
              "kind": "function",
              "name": "bar",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 25,
                            "line": 1,
                            "offset": 24,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "your word but one better",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 25,
                        "line": 1,
                        "offset": 24,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 25,
                    "line": 1,
                    "offset": 24,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "title": "returns",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "your word",
              "lineNumber": 2,
              "name": "word",
              "title": "param",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
            Object {
              "description": "your word but one better",
              "lineNumber": 3,
              "title": "returns",
              "type": Object {
                "name": "string",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "TheClass",
    "namespace": "TheClass",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "TheClass",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "TheClass",
        "title": "class",
        "type": null,
      },
      Object {
        "description": null,
        "lineNumber": 3,
        "name": "Augmented",
        "title": "augments",
        "type": null,
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs lends.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs lends.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "TheClass",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Extends ",
            },
            Object {
              "type": "text",
              "value": "Augmented",
            },
          ],
          "type": "strong",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "A neat layout view",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 19,
          "line": 1,
          "offset": 18,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "my-field",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 9,
              "line": 1,
              "offset": 8,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "My field",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 9,
          "line": 1,
          "offset": 8,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "My neat function",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "word",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 10,
                          "line": 1,
                          "offset": 9,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "your word",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "string",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 25,
                  "line": 1,
                  "offset": 24,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "your word but one better",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 25,
              "line": 1,
              "offset": 24,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "bar",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "My neat function",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "word",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 10,
                          "line": 1,
                          "offset": 9,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "your word",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "string",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 25,
                  "line": 1,
                  "offset": 24,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "your word but one better",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 25,
              "line": 1,
              "offset": 24,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
  ],
  "type": "root",
}
`;

exports[`outputs literal_types.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 16,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f",
    "namespace": "f",
    "params": Array [
      Object {
        "lineNumber": 1,
        "name": "x",
        "title": "param",
        "type": Object {
          "elements": Array [
            Object {
              "type": "StringLiteralType",
              "value": "a",
            },
            Object {
              "type": "StringLiteralType",
              "value": "b",
            },
            Object {
              "type": "StringLiteralType",
              "value": "",
            },
            Object {
              "type": "NumericLiteralType",
              "value": 0,
            },
            Object {
              "type": "NumericLiteralType",
              "value": -42,
            },
            Object {
              "type": "NumericLiteralType",
              "value": 3.14,
            },
          ],
          "type": "UnionType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 1,
        "name": "x",
        "title": "param",
        "type": Object {
          "elements": Array [
            Object {
              "type": "StringLiteralType",
              "value": "a",
            },
            Object {
              "type": "StringLiteralType",
              "value": "b",
            },
            Object {
              "type": "StringLiteralType",
              "value": "",
            },
            Object {
              "type": "NumericLiteralType",
              "value": 0,
            },
            Object {
              "type": "NumericLiteralType",
              "value": -42,
            },
            Object {
              "type": "NumericLiteralType",
              "value": 3.14,
            },
          ],
          "type": "UnionType",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 49,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 6,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "g",
    "namespace": "g",
    "params": Array [
      Object {
        "lineNumber": 7,
        "name": "x",
        "title": "param",
        "type": Object {
          "elements": Array [
            Object {
              "type": "StringLiteralType",
              "value": "a",
            },
            Object {
              "type": "StringLiteralType",
              "value": "b",
            },
            Object {
              "type": "StringLiteralType",
              "value": "",
            },
            Object {
              "type": "NumericLiteralType",
              "value": 0,
            },
            Object {
              "type": "NumericLiteralType",
              "value": -42,
            },
            Object {
              "type": "NumericLiteralType",
              "value": 3.14,
            },
          ],
          "type": "UnionType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "g",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs literal_types.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs literal_types.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "(",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "\\"a\\"",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "\\"b\\"",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "\\"\\"",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "0",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "-42",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "3.14",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "g",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "(",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "\\"a\\"",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "\\"b\\"",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "\\"\\"",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "0",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "-42",
                    },
                    Object {
                      "type": "text",
                      "value": " | ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "3.14",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
  ],
  "type": "root",
}
`;

exports[`outputs memberedclass.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 28,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 32,
                  "line": 1,
                  "offset": 31,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is my class, a demo thing.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "commentLineNumber": 4,
        "message": "@memberof reference to com.Test not found",
      },
    ],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "memberof": "com.Test",
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 20,
              },
              "start": Object {
                "column": 2,
                "line": 18,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 18,
                        "line": 1,
                        "offset": 17,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "Get the number 42",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 18,
                    "line": 1,
                    "offset": 17,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 18,
                "line": 1,
                "offset": 17,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 7,
              "line": 17,
            },
            "start": Object {
              "column": 2,
              "line": 12,
            },
          },
          "memberof": "com.Test.MyClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "getFoo",
          "namespace": "MyClass#getFoo",
          "params": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 26,
                            "line": 1,
                            "offset": 25,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "whether to get the number",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 26,
                        "line": 1,
                        "offset": 25,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 26,
                    "line": 1,
                    "offset": 25,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "lineNumber": 3,
              "name": "getIt",
              "title": "param",
              "type": Object {
                "name": "boolean",
                "type": "NameExpression",
              },
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "MyClass",
            },
            Object {
              "kind": "function",
              "name": "getFoo",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 10,
                            "line": 1,
                            "offset": 9,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "forty-two",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 10,
                        "line": 1,
                        "offset": 9,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 10,
                    "line": 1,
                    "offset": 9,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "title": "returns",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "whether to get the number",
              "lineNumber": 3,
              "name": "getIt",
              "title": "param",
              "type": Object {
                "name": "boolean",
                "type": "NameExpression",
              },
            },
            Object {
              "description": "forty-two",
              "lineNumber": 4,
              "title": "returns",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 26,
                "line": 27,
              },
              "start": Object {
                "column": 2,
                "line": 27,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 14,
                        "line": 1,
                        "offset": 13,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "Get undefined",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 14,
                    "line": 1,
                    "offset": 13,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 14,
                "line": 1,
                "offset": 13,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 7,
              "line": 26,
            },
            "start": Object {
              "column": 2,
              "line": 22,
            },
          },
          "memberof": "com.Test.MyClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "getUndefined",
          "namespace": "MyClass.getUndefined",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "MyClass",
            },
            Object {
              "kind": "function",
              "name": "getUndefined",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 26,
                            "line": 1,
                            "offset": 25,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "does not return anything.",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 26,
                        "line": 1,
                        "offset": 25,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 26,
                    "line": 1,
                    "offset": 25,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "title": "returns",
              "type": Object {
                "type": "UndefinedLiteral",
              },
            },
          ],
          "scope": "static",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "does not return anything.",
              "lineNumber": 3,
              "title": "returns",
              "type": Object {
                "type": "UndefinedLiteral",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "MyClass",
    "namespace": "MyClass",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "MyClass",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 3,
        "name": "MyClass",
        "title": "class",
        "type": null,
      },
      Object {
        "description": "com.Test",
        "lineNumber": 4,
        "title": "memberof",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs memberedclass.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs memberedclass.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "MyClass",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 32,
              "line": 1,
              "offset": 31,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is my class, a demo thing.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 32,
          "line": 1,
          "offset": 31,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getFoo",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 18,
              "line": 1,
              "offset": 17,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Get the number 42",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 18,
          "line": 1,
          "offset": 17,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "getIt",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "boolean",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 26,
                          "line": 1,
                          "offset": 25,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "whether to get the number",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 26,
                      "line": 1,
                      "offset": 25,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "2",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "forty-two",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getUndefined",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Get undefined",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 14,
          "line": 1,
          "offset": 13,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "undefined",
                },
              ],
              "identifier": "3",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 26,
                  "line": 1,
                  "offset": 25,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "does not return anything.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 26,
              "line": 1,
              "offset": 25,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined",
    },
  ],
  "type": "root",
}
`;

exports[`outputs merge-infered-type.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 9,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Add five to ",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 16,
                  "line": 1,
                  "offset": 15,
                },
                "indent": Array [],
                "start": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
              },
              "type": "inlineCode",
              "value": "x",
            },
            Object {
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 16,
                  "line": 1,
                  "offset": 15,
                },
              },
              "type": "text",
              "value": ".",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "addFive",
    "namespace": "addFive",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 27,
                      "line": 1,
                      "offset": 26,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The number to add five to.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 27,
                  "line": 1,
                  "offset": 26,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 3,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "addFive",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 13,
                      "line": 1,
                      "offset": 12,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "x plus five.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "The number to add five to.",
        "lineNumber": 3,
        "name": "x",
        "title": "param",
        "type": null,
      },
      Object {
        "description": "x plus five.",
        "lineNumber": 4,
        "title": "returns",
        "type": null,
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs merge-infered-type.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs merge-infered-type.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "addFive",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Add five to ",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 16,
              "line": 1,
              "offset": 15,
            },
            "indent": Array [],
            "start": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
          },
          "type": "inlineCode",
          "value": "x",
        },
        Object {
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 16,
              "line": 1,
              "offset": 15,
            },
          },
          "type": "text",
          "value": ".",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 27,
                          "line": 1,
                          "offset": 26,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The number to add five to.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 27,
                      "line": 1,
                      "offset": 26,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "x plus five.",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs meta.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 16,
        },
        "start": Object {
          "column": 0,
          "line": 13,
        },
      },
    },
    "copyright": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 14,
                  "line": 1,
                  "offset": 13,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Tom MacWright",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 14,
          "line": 1,
          "offset": 13,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "license": "BSD",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 12,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "meta.input",
    "namespace": "meta.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "meta.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [
      Object {
        "children": Array [
          Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "type": "text",
                    "value": "github",
                  },
                ],
                "jsdoc": true,
                "position": Object {
                  "end": Object {
                    "column": 34,
                    "line": 1,
                    "offset": 33,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "title": null,
                "type": "link",
                "url": "http://github.com/",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 34,
                "line": 1,
                "offset": 33,
              },
              "indent": Array [],
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "paragraph",
          },
        ],
        "position": Object {
          "end": Object {
            "column": 34,
            "line": 1,
            "offset": 33,
          },
          "start": Object {
            "column": 1,
            "line": 1,
            "offset": 0,
          },
        },
        "type": "root",
      },
      Object {
        "children": Array [
          Object {
            "children": Array [
              Object {
                "position": Object {
                  "end": Object {
                    "column": 9,
                    "line": 1,
                    "offset": 8,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "text",
                "value": "TestCase",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 9,
                "line": 1,
                "offset": 8,
              },
              "indent": Array [],
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "paragraph",
          },
        ],
        "position": Object {
          "end": Object {
            "column": 9,
            "line": 1,
            "offset": 8,
          },
          "start": Object {
            "column": 1,
            "line": 1,
            "offset": 0,
          },
        },
        "type": "root",
      },
      Object {
        "children": Array [
          Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 15,
                        "line": 1,
                        "offset": 14,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 2,
                        "line": 1,
                        "offset": 1,
                      },
                    },
                    "type": "text",
                    "value": "markdown link",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 33,
                    "line": 1,
                    "offset": 32,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "title": null,
                "type": "link",
                "url": "http://foo.com/",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 33,
                "line": 1,
                "offset": 32,
              },
              "indent": Array [],
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "paragraph",
          },
        ],
        "position": Object {
          "end": Object {
            "column": 33,
            "line": 1,
            "offset": 32,
          },
          "start": Object {
            "column": 1,
            "line": 1,
            "offset": 0,
          },
        },
        "type": "root",
      },
    ],
    "since": "2.0.0",
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "This function returns the number one.",
        "lineNumber": 3,
        "title": "description",
      },
      Object {
        "description": "{@link http://github.com/|github}",
        "lineNumber": 4,
        "title": "see",
      },
      Object {
        "description": "TestCase",
        "lineNumber": 5,
        "title": "see",
      },
      Object {
        "description": "[markdown link](http://foo.com/)",
        "lineNumber": 6,
        "title": "see",
      },
      Object {
        "description": "1.0.0",
        "lineNumber": 7,
        "title": "version",
      },
      Object {
        "description": "2.0.0",
        "lineNumber": 8,
        "title": "since",
      },
      Object {
        "description": "Tom MacWright",
        "lineNumber": 9,
        "title": "copyright",
      },
      Object {
        "description": "BSD",
        "lineNumber": 10,
        "title": "license",
      },
    ],
    "throws": Array [],
    "todos": Array [],
    "version": "1.0.0",
  },
]
`;

exports[`outputs meta.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs meta.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "meta.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "See: ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "github",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 34,
                      "line": 1,
                      "offset": 33,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "strong",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "See: ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 9,
                          "line": 1,
                          "offset": 8,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "TestCase",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 9,
                      "line": 1,
                      "offset": 8,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "strong",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "See: ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "position": Position {
                            "end": Object {
                              "column": 15,
                              "line": 1,
                              "offset": 14,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 2,
                              "line": 1,
                              "offset": 1,
                            },
                          },
                          "type": "text",
                          "value": "markdown link",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 33,
                      "line": 1,
                      "offset": 32,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "strong",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "3",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Meta",
        },
      ],
      "type": "strong",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "version",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": ": ",
                },
                Object {
                  "type": "text",
                  "value": "1.0.0",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "since",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": ": ",
                },
                Object {
                  "type": "text",
                  "value": "2.0.0",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "copyright",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": ": ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "position": Position {
                            "end": Object {
                              "column": 14,
                              "line": 1,
                              "offset": 13,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "text",
                          "value": "Tom MacWright",
                        },
                      ],
                      "position": Position {
                        "end": Object {
                          "column": 14,
                          "line": 1,
                          "offset": 13,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "paragraph",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 14,
                      "line": 1,
                      "offset": 13,
                    },
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "root",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": "license",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": ": ",
                },
                Object {
                  "type": "text",
                  "value": "BSD",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": null,
      "type": "definition",
      "url": "http://github.com/",
    },
    Object {
      "identifier": "2",
      "title": null,
      "type": "definition",
      "url": "http://foo.com/",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs multisignature.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 19,
        },
        "start": Object {
          "column": 0,
          "line": 13,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Get the time",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 13,
          "line": 1,
          "offset": 12,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "getTheTime",
    "namespace": "getTheTime",
    "params": Array [
      Object {
        "lineNumber": 13,
        "name": "time",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "getTheTime",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the current date",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Date",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the current date",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "Date",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 19,
        },
        "start": Object {
          "column": 0,
          "line": 13,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Set the time",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 13,
          "line": 1,
          "offset": 12,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 12,
      },
      "start": Object {
        "column": 0,
        "line": 8,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "getTheTime",
    "namespace": "getTheTime",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the current time",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "time",
        "title": "param",
        "type": Object {
          "name": "Date",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "getTheTime",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 8,
                      "line": 1,
                      "offset": 7,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "nothing",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 8,
                  "line": 1,
                  "offset": 7,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 8,
              "line": 1,
              "offset": 7,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "type": "UndefinedLiteral",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the current time",
        "lineNumber": 2,
        "name": "time",
        "title": "param",
        "type": Object {
          "name": "Date",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "nothing",
        "lineNumber": 3,
        "title": "returns",
        "type": Object {
          "type": "UndefinedLiteral",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs multisignature.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs multisignature.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getTheTime",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Get the time",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 13,
          "line": 1,
          "offset": 12,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "time",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Date",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "the current date",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "getTheTime",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Set the time",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 13,
          "line": 1,
          "offset": 12,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "time",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Date",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the current time",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "undefined",
                },
              ],
              "identifier": "2",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 8,
                  "line": 1,
                  "offset": 7,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "nothing",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 8,
              "line": 1,
              "offset": 7,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined",
    },
  ],
  "type": "root",
}
`;

exports[`outputs nearby_params.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 3,
          "line": 13,
        },
        "start": Object {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 73,
                  "line": 1,
                  "offset": 72,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Attempt to establish a cookie-based session in exchange for credentials.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 73,
              "line": 1,
              "offset": 72,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 73,
          "line": 1,
          "offset": 72,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 9,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "sessions.create",
    "namespace": "sessions.create",
    "params": Array [
      Object {
        "lineNumber": 3,
        "name": "credentials",
        "properties": Array [
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 34,
                          "line": 1,
                          "offset": 33,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Login username. Also accepted as ",
                    },
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 44,
                          "line": 1,
                          "offset": 43,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 34,
                          "line": 1,
                          "offset": 33,
                        },
                      },
                      "type": "inlineCode",
                      "value": "username",
                    },
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 48,
                          "line": 1,
                          "offset": 47,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 44,
                          "line": 1,
                          "offset": 43,
                        },
                      },
                      "type": "text",
                      "value": " or ",
                    },
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 55,
                          "line": 1,
                          "offset": 54,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 48,
                          "line": 1,
                          "offset": 47,
                        },
                      },
                      "type": "inlineCode",
                      "value": "email",
                    },
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 56,
                          "line": 1,
                          "offset": 55,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 55,
                          "line": 1,
                          "offset": 54,
                        },
                      },
                      "type": "text",
                      "value": ".",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 56,
                      "line": 1,
                      "offset": 55,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 56,
                  "line": 1,
                  "offset": 55,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 4,
            "name": "credentials.name",
            "title": "param",
            "type": Object {
              "name": "string",
              "type": "NameExpression",
            },
          },
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 15,
                          "line": 1,
                          "offset": 14,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Login password",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 15,
                      "line": 1,
                      "offset": 14,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 15,
                  "line": 1,
                  "offset": 14,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 5,
            "name": "credentials.password",
            "title": "param",
            "type": Object {
              "name": "string",
              "type": "NameExpression",
            },
          },
        ],
        "title": "param",
        "type": Object {
          "name": "object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 13,
                      "line": 1,
                      "offset": 12,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "Gets passed ",
                },
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 41,
                      "line": 1,
                      "offset": 40,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 13,
                      "line": 1,
                      "offset": 12,
                    },
                  },
                  "type": "inlineCode",
                  "value": "(err, { success:Boolean })",
                },
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 42,
                      "line": 1,
                      "offset": 41,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 41,
                      "line": 1,
                      "offset": 40,
                    },
                  },
                  "type": "text",
                  "value": ".",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 42,
                  "line": 1,
                  "offset": 41,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 42,
              "line": 1,
              "offset": 41,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 6,
        "name": "callback",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "function",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "sessions.create",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 58,
                      "line": 1,
                      "offset": 57,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "promise, to be resolved on success or rejected on failure",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 58,
                  "line": 1,
                  "offset": 57,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 58,
              "line": 1,
              "offset": 57,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Promise",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 1,
        "name": null,
        "title": "function",
      },
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "sessions.create",
        "title": "name",
      },
      Object {
        "description": null,
        "lineNumber": 3,
        "name": "credentials",
        "title": "param",
        "type": Object {
          "name": "object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "Login username. Also accepted as \`username\` or \`email\`.",
        "lineNumber": 4,
        "name": "credentials.name",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "Login password",
        "lineNumber": 5,
        "name": "credentials.password",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "Gets passed \`(err, { success:Boolean })\`.",
        "lineNumber": 6,
        "name": "callback",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "function",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "description": "promise, to be resolved on success or rejected on failure",
        "lineNumber": 7,
        "title": "returns",
        "type": Object {
          "name": "Promise",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs nearby_params.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs nearby_params.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "sessions.create",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 73,
              "line": 1,
              "offset": 72,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Attempt to establish a cookie-based session in exchange for credentials.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 73,
          "line": 1,
          "offset": 72,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "credentials",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "object",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "credentials.name",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "string",
                                },
                              ],
                              "identifier": "2",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 34,
                                  "line": 1,
                                  "offset": 33,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "Login username. Also accepted as ",
                            },
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 44,
                                  "line": 1,
                                  "offset": 43,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 34,
                                  "line": 1,
                                  "offset": 33,
                                },
                              },
                              "type": "inlineCode",
                              "value": "username",
                            },
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 48,
                                  "line": 1,
                                  "offset": 47,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 44,
                                  "line": 1,
                                  "offset": 43,
                                },
                              },
                              "type": "text",
                              "value": " or ",
                            },
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 55,
                                  "line": 1,
                                  "offset": 54,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 48,
                                  "line": 1,
                                  "offset": 47,
                                },
                              },
                              "type": "inlineCode",
                              "value": "email",
                            },
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 56,
                                  "line": 1,
                                  "offset": 55,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 55,
                                  "line": 1,
                                  "offset": 54,
                                },
                              },
                              "type": "text",
                              "value": ".",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 56,
                              "line": 1,
                              "offset": 55,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "credentials.password",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "string",
                                },
                              ],
                              "identifier": "2",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 15,
                                  "line": 1,
                                  "offset": 14,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "Login password",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 15,
                              "line": 1,
                              "offset": 14,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "callback",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "function",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "?",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 13,
                          "line": 1,
                          "offset": 12,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Gets passed ",
                    },
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 41,
                          "line": 1,
                          "offset": 40,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 13,
                          "line": 1,
                          "offset": 12,
                        },
                      },
                      "type": "inlineCode",
                      "value": "(err, { success:Boolean })",
                    },
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 42,
                          "line": 1,
                          "offset": 41,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 41,
                          "line": 1,
                          "offset": 40,
                        },
                      },
                      "type": "text",
                      "value": ".",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 42,
                      "line": 1,
                      "offset": 41,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Promise",
                },
              ],
              "identifier": "4",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 58,
                  "line": 1,
                  "offset": 57,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "promise, to be resolved on success or rejected on failure",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 58,
              "line": 1,
              "offset": 57,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function",
    },
    Object {
      "identifier": "4",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise",
    },
  ],
  "type": "root",
}
`;

exports[`outputs nest_params.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 32,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 51,
                      "line": 1,
                      "offset": 50,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The employees who are responsible for the project.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 51,
                  "line": 1,
                  "offset": 50,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 51,
              "line": 1,
              "offset": 50,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 1,
        "name": "employees",
        "properties": Array [
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 25,
                          "line": 1,
                          "offset": 24,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The name of an employee.",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 25,
                      "line": 1,
                      "offset": 24,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 25,
                  "line": 1,
                  "offset": 24,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 2,
            "name": "employees[].name",
            "title": "param",
            "type": Object {
              "name": "string",
              "type": "NameExpression",
            },
          },
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 27,
                          "line": 1,
                          "offset": 26,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The employee's department.",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 27,
                      "line": 1,
                      "offset": 26,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 27,
                  "line": 1,
                  "offset": 26,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 3,
            "name": "employees[].department",
            "title": "param",
            "type": Object {
              "name": "string",
              "type": "NameExpression",
            },
          },
        ],
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "Object",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
      Object {
        "default": "minion",
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 21,
                      "line": 1,
                      "offset": 20,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The employee's type.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 21,
                  "line": 1,
                  "offset": 20,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 21,
              "line": 1,
              "offset": 20,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 4,
        "name": "type",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "The employees who are responsible for the project.",
        "lineNumber": 1,
        "name": "employees",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "Object",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
      Object {
        "description": "The name of an employee.",
        "lineNumber": 2,
        "name": "employees[].name",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "The employee's department.",
        "lineNumber": 3,
        "name": "employees[].department",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
      Object {
        "default": "minion",
        "description": "The employee's type.",
        "lineNumber": 4,
        "name": "type",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "string",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 32,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 19,
      },
      "start": Object {
        "column": 0,
        "line": 9,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 13,
                      "line": 1,
                      "offset": 12,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "some options",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "options",
        "properties": Array [
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 9,
                          "line": 1,
                          "offset": 8,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "how much",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 9,
                      "line": 1,
                      "offset": 8,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 9,
                  "line": 1,
                  "offset": 8,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 3,
            "name": "options.much",
            "title": "param",
            "type": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
        ],
        "title": "param",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 15,
                      "line": 1,
                      "offset": 14,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "something else",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 15,
                  "line": 1,
                  "offset": 14,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 15,
              "line": 1,
              "offset": 14,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 4,
        "name": "bar",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "name": "foo",
      },
    ],
    "properties": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the current time",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 5,
        "name": "theTime",
        "properties": Array [
          Object {
            "lineNumber": 6,
            "name": "theTime.hours",
            "title": "property",
            "type": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
          Object {
            "lineNumber": 7,
            "name": "theTime.minutes",
            "title": "property",
            "type": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
          Object {
            "lineNumber": 8,
            "name": "theTime.seconds",
            "title": "property",
            "type": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
        ],
        "title": "property",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
    ],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 19,
                      "line": 1,
                      "offset": 18,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "foo something else",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 19,
                  "line": 1,
                  "offset": 18,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 1,
        "name": "foo",
        "title": "name",
      },
      Object {
        "description": "some options",
        "lineNumber": 2,
        "name": "options",
        "title": "param",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "how much",
        "lineNumber": 3,
        "name": "options.much",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "something else",
        "lineNumber": 4,
        "name": "bar",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "the current time",
        "lineNumber": 5,
        "name": "theTime",
        "title": "property",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": null,
        "lineNumber": 6,
        "name": "theTime.hours",
        "title": "property",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": null,
        "lineNumber": 7,
        "name": "theTime.minutes",
        "title": "property",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": null,
        "lineNumber": 8,
        "name": "theTime.seconds",
        "title": "property",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "foo something else",
        "lineNumber": 9,
        "title": "returns",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs nest_params.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs nest_params.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "employees",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "<",
                    },
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": ">",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 51,
                          "line": 1,
                          "offset": 50,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The employees who are responsible for the project.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 51,
                      "line": 1,
                      "offset": 50,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "employees[].name",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "string",
                                },
                              ],
                              "identifier": "3",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 25,
                                  "line": 1,
                                  "offset": 24,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "The name of an employee.",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 25,
                              "line": 1,
                              "offset": 24,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "employees[].department",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "string",
                                },
                              ],
                              "identifier": "3",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 27,
                                  "line": 1,
                                  "offset": 26,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "The employee's department.",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 27,
                              "line": 1,
                              "offset": 26,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "type",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 21,
                          "line": 1,
                          "offset": 20,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The employee's type.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 21,
                      "line": 1,
                      "offset": 20,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "minion",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "options",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 13,
                          "line": 1,
                          "offset": 12,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "some options",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 13,
                      "line": 1,
                      "offset": 12,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.much",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "4",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 9,
                                  "line": 1,
                                  "offset": 8,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "how much",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 9,
                              "line": 1,
                              "offset": 8,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "bar",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "4",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 15,
                          "line": 1,
                          "offset": 14,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "something else",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 15,
                      "line": 1,
                      "offset": 14,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Properties",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "theTime",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the current time",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "theTime.hours",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "4",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "theTime.minutes",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "4",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "theTime.seconds",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "4",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Object",
                },
              ],
              "identifier": "2",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 19,
                  "line": 1,
                  "offset": 18,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "foo something else",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "4",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs newline-in-description.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 0,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 1,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 12,
                  "line": 1,
                  "offset": 11,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "A function.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "message": "could not determine @name for hierarchy",
      },
    ],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "namespace": "",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 34,
                      "line": 3,
                      "offset": 132,
                    },
                    "indent": Array [
                      1,
                      1,
                    ],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The input to the function.
I should be able to continue the description on a new line, and have it
still work in the markdown table.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 34,
                  "line": 3,
                  "offset": 132,
                },
                "indent": Array [
                  1,
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 34,
              "line": 3,
              "offset": 132,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "The input to the function.
I should be able to continue the description on a new line, and have it
still work in the markdown table.",
        "lineNumber": 2,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs newline-in-description.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs newline-in-description.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "A function.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 34,
                          "line": 3,
                          "offset": 132,
                        },
                        "indent": Array [
                          1,
                          1,
                        ],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The input to the function.
I should be able to continue the description on a new line, and have it
still work in the markdown table.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 34,
                      "line": 3,
                      "offset": 132,
                    },
                    "indent": Array [
                      1,
                      1,
                    ],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs no-name.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 0,
          "line": 5,
        },
        "start": Object {
          "column": 0,
          "line": 1,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 13,
                  "line": 1,
                  "offset": 12,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Set the time",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 13,
          "line": 1,
          "offset": 12,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "message": "could not determine @name for hierarchy",
      },
    ],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 4,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "namespace": "",
    "params": Array [
      Object {
        "lineNumber": 2,
        "name": "bar",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "bar",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs no-name.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs no-name.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 13,
              "line": 1,
              "offset": 12,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Set the time",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 13,
          "line": 1,
          "offset": 12,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "bar",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs optional-record-field-type.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 5,
        },
        "start": Object {
          "column": 0,
          "line": 2,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 1,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Record",
    "namespace": "Record",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "Record",
      },
    ],
    "properties": Array [
      Object {
        "lineNumber": 3,
        "name": "opt",
        "title": "property",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "lineNumber": 4,
        "name": "req",
        "title": "property",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
    ],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "fields": Array [
        Object {
          "key": "opt",
          "type": "FieldType",
          "value": Object {
            "expression": Object {
              "name": "number",
              "type": "NameExpression",
            },
            "type": "OptionalType",
          },
        },
        Object {
          "key": "req",
          "type": "FieldType",
          "value": Object {
            "name": "string",
            "type": "NameExpression",
          },
        },
      ],
      "type": "RecordType",
    },
  },
]
`;

exports[`outputs optional-record-field-type.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs optional-record-field-type.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Record",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "type": "text",
          "value": "{",
        },
        Object {
          "type": "text",
          "value": "opt: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "number",
            },
          ],
          "identifier": "1",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": "?",
        },
        Object {
          "type": "text",
          "value": ", ",
        },
        Object {
          "type": "text",
          "value": "req: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "string",
            },
          ],
          "identifier": "2",
          "referenceType": "full",
          "type": "linkReference",
        },
        Object {
          "type": "text",
          "value": "}",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Properties",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "opt",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "?",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "req",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
  ],
  "type": "root",
}
`;

exports[`outputs params.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 4,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "addThem",
    "namespace": "addThem",
    "params": Array [
      Object {
        "lineNumber": 5,
        "name": "a",
        "title": "param",
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the second param",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 2,
        "name": "b",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "lineNumber": 5,
        "name": "c",
        "title": "param",
      },
      Object {
        "anonymous": true,
        "name": "$3",
        "properties": Array [
          Object {
            "lineNumber": 5,
            "name": "$3.d",
            "title": "param",
          },
          Object {
            "lineNumber": 5,
            "name": "$3.e",
            "title": "param",
          },
          Object {
            "lineNumber": 5,
            "name": "$3.f",
            "title": "param",
          },
        ],
        "title": "param",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "addThem",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the second param",
        "lineNumber": 2,
        "name": "b",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 16,
        },
        "start": Object {
          "column": 0,
          "line": 14,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 42,
                  "line": 1,
                  "offset": 41,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This method has partially inferred params",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 42,
              "line": 1,
              "offset": 41,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 42,
          "line": 1,
          "offset": 41,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 13,
      },
      "start": Object {
        "column": 0,
        "line": 9,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "fishesAndFoxes",
    "namespace": "fishesAndFoxes",
    "params": Array [
      Object {
        "lineNumber": 2,
        "name": "options",
        "properties": Array [
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 24,
                          "line": 1,
                          "offset": 23,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "number of kinds of fish",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 24,
                      "line": 1,
                      "offset": 23,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 24,
                  "line": 1,
                  "offset": 23,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 3,
            "name": "options.fishes",
            "title": "param",
            "type": Object {
              "name": "String",
              "type": "NameExpression",
            },
          },
          Object {
            "lineNumber": 14,
            "name": "options.foxes",
            "title": "param",
          },
        ],
        "title": "param",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "fishesAndFoxes",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "options",
        "title": "param",
        "type": Object {
          "name": "Object",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "number of kinds of fish",
        "lineNumber": 3,
        "name": "options.fishes",
        "title": "param",
        "type": Object {
          "name": "String",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 24,
        },
        "start": Object {
          "column": 0,
          "line": 22,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 68,
                  "line": 1,
                  "offset": 67,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This method has a type in the description and a default in the code",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 68,
              "line": 1,
              "offset": 67,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 68,
          "line": 1,
          "offset": 67,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 21,
      },
      "start": Object {
        "column": 0,
        "line": 18,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "withDefault",
    "namespace": "withDefault",
    "params": Array [
      Object {
        "default": "2",
        "lineNumber": 2,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "withDefault",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 35,
        },
        "start": Object {
          "column": 0,
          "line": 29,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This is foo's documentation",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 28,
          "line": 1,
          "offset": 27,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 28,
      },
      "start": Object {
        "column": 0,
        "line": 26,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 14,
                "line": 34,
              },
              "start": Object {
                "column": 2,
                "line": 34,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 11,
                        "line": 1,
                        "offset": 10,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "The method",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 11,
                    "line": 1,
                    "offset": 10,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 11,
                "line": 1,
                "offset": 10,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 33,
            },
            "start": Object {
              "column": 2,
              "line": 30,
            },
          },
          "memberof": "Foo",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "method",
          "namespace": "Foo#method",
          "params": Array [
            Object {
              "description": Object {
                "children": Array [
                  Object {
                    "children": Array [
                      Object {
                        "position": Object {
                          "end": Object {
                            "column": 16,
                            "line": 1,
                            "offset": 15,
                          },
                          "indent": Array [],
                          "start": Object {
                            "column": 1,
                            "line": 1,
                            "offset": 0,
                          },
                        },
                        "type": "text",
                        "value": "Param to method",
                      },
                    ],
                    "position": Object {
                      "end": Object {
                        "column": 16,
                        "line": 1,
                        "offset": 15,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "paragraph",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 16,
                    "line": 1,
                    "offset": 15,
                  },
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "root",
              },
              "lineNumber": 2,
              "name": "x",
              "title": "param",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Foo",
            },
            Object {
              "kind": "function",
              "name": "method",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [
            Object {
              "description": "Param to method",
              "lineNumber": 2,
              "name": "x",
              "title": "param",
              "type": Object {
                "name": "number",
                "type": "NameExpression",
              },
            },
          ],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "Foo",
    "namespace": "Foo",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 47,
        },
        "start": Object {
          "column": 0,
          "line": 40,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 19,
                  "line": 1,
                  "offset": 18,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Traditional object",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 19,
          "line": 1,
          "offset": 18,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 39,
      },
      "start": Object {
        "column": 0,
        "line": 37,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 3,
                "line": 46,
              },
              "start": Object {
                "column": 2,
                "line": 44,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 39,
                        "line": 1,
                        "offset": 38,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "This method should acquire the param x",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 39,
                    "line": 1,
                    "offset": 38,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 39,
                "line": 1,
                "offset": 38,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 43,
            },
            "start": Object {
              "column": 2,
              "line": 41,
            },
          },
          "memberof": "TraditionalObject",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "traditionalMethod",
          "namespace": "TraditionalObject.traditionalMethod",
          "params": Array [
            Object {
              "lineNumber": 44,
              "name": "x",
              "title": "param",
            },
          ],
          "path": Array [
            Object {
              "name": "TraditionalObject",
            },
            Object {
              "kind": "function",
              "name": "traditionalMethod",
              "scope": "static",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "static",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
    },
    "name": "TraditionalObject",
    "namespace": "TraditionalObject",
    "params": Array [],
    "path": Array [
      Object {
        "name": "TraditionalObject",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 22,
          "line": 61,
        },
        "start": Object {
          "column": 0,
          "line": 61,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 27,
                  "line": 1,
                  "offset": 26,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Represents an IPv6 address",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 47,
                  "line": 3,
                  "offset": 74,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 3,
                  "offset": 28,
                },
              },
              "type": "text",
              "value": "This tests  our support of optional parameters",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 47,
              "line": 3,
              "offset": 74,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 3,
              "offset": 28,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 47,
          "line": 3,
          "offset": 74,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [
      Object {
        "description": "var address = new Address6('2001::/32');",
      },
    ],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 60,
      },
      "start": Object {
        "column": 0,
        "line": 49,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Address6",
    "namespace": "Address6",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "An IPv6 address string",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 5,
        "name": "address",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
      Object {
        "default": "8",
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 25,
                      "line": 1,
                      "offset": 24,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "How many octets to parse",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 25,
                  "line": 1,
                  "offset": 24,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 25,
              "line": 1,
              "offset": 24,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 6,
        "name": "groups",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "A third argument",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 7,
        "name": "third",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "prefix": true,
          "type": "NullableType",
        },
      },
      Object {
        "default": "[1]",
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 22,
                      "line": 1,
                      "offset": 21,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "to properly be parsed",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 22,
                  "line": 1,
                  "offset": 21,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 22,
              "line": 1,
              "offset": 21,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 8,
        "name": "foo",
        "title": "param",
        "type": Object {
          "name": "Array",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Address6",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 4,
        "name": "Address6",
        "title": "class",
        "type": null,
      },
      Object {
        "description": "An IPv6 address string",
        "lineNumber": 5,
        "name": "address",
        "title": "param",
        "type": Object {
          "name": "string",
          "type": "NameExpression",
        },
      },
      Object {
        "default": "8",
        "description": "How many octets to parse",
        "lineNumber": 6,
        "name": "groups",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "description": "A third argument",
        "lineNumber": 7,
        "name": "third",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "prefix": true,
          "type": "NullableType",
        },
      },
      Object {
        "default": "[1]",
        "description": "to properly be parsed",
        "lineNumber": 8,
        "name": "foo",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "description": "var address = new Address6('2001::/32');",
        "lineNumber": 9,
        "title": "example",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 77,
        },
        "start": Object {
          "column": 0,
          "line": 75,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 62,
                  "line": 1,
                  "offset": 61,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Create a GeoJSON data source instance given an options object",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 62,
              "line": 1,
              "offset": 61,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 44,
                  "line": 3,
                  "offset": 106,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 3,
                  "offset": 63,
                },
              },
              "type": "text",
              "value": "This tests our support of nested parameters",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 44,
              "line": 3,
              "offset": 106,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 3,
              "offset": 63,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 44,
          "line": 3,
          "offset": 106,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 74,
      },
      "start": Object {
        "column": 0,
        "line": 63,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "GeoJSONSource",
    "namespace": "GeoJSONSource",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "optional options",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 5,
        "name": "options",
        "properties": Array [
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 57,
                          "line": 2,
                          "offset": 92,
                        },
                        "indent": Array [
                          1,
                        ],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "A GeoJSON data object or URL to it.
The latter is preferable in case of large GeoJSON files.",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 57,
                      "line": 2,
                      "offset": 92,
                    },
                    "indent": Array [
                      1,
                    ],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 57,
                  "line": 2,
                  "offset": 92,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 6,
            "name": "options.data",
            "title": "param",
            "type": Object {
              "elements": Array [
                Object {
                  "name": "Object",
                  "type": "NameExpression",
                },
                Object {
                  "name": "string",
                  "type": "NameExpression",
                },
              ],
              "type": "UnionType",
            },
          },
          Object {
            "default": "14",
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 36,
                          "line": 1,
                          "offset": 35,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Maximum zoom to preserve detail at.",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 36,
                      "line": 1,
                      "offset": 35,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 36,
                  "line": 1,
                  "offset": 35,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 8,
            "name": "options.maxzoom",
            "title": "param",
            "type": Object {
              "name": "number",
              "type": "NameExpression",
            },
          },
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 26,
                          "line": 1,
                          "offset": 25,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Tile buffer on each side.",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 26,
                      "line": 1,
                      "offset": 25,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 26,
                  "line": 1,
                  "offset": 25,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 9,
            "name": "options.buffer",
            "title": "param",
            "type": Object {
              "expression": Object {
                "name": "number",
                "type": "NameExpression",
              },
              "type": "OptionalType",
            },
          },
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 49,
                          "line": 1,
                          "offset": 48,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Simplification tolerance (higher means simpler).",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 49,
                      "line": 1,
                      "offset": 48,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 49,
                  "line": 1,
                  "offset": 48,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 10,
            "name": "options.tolerance",
            "title": "param",
            "type": Object {
              "expression": Object {
                "name": "number",
                "type": "NameExpression",
              },
              "type": "OptionalType",
            },
          },
        ],
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "Object",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "GeoJSONSource",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 4,
        "name": "GeoJSONSource",
        "title": "class",
        "type": null,
      },
      Object {
        "description": "optional options",
        "lineNumber": 5,
        "name": "options",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "Object",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "description": "A GeoJSON data object or URL to it.
The latter is preferable in case of large GeoJSON files.",
        "lineNumber": 6,
        "name": "options.data",
        "title": "param",
        "type": Object {
          "elements": Array [
            Object {
              "name": "Object",
              "type": "NameExpression",
            },
            Object {
              "name": "string",
              "type": "NameExpression",
            },
          ],
          "type": "UnionType",
        },
      },
      Object {
        "default": "14",
        "description": "Maximum zoom to preserve detail at.",
        "lineNumber": 8,
        "name": "options.maxzoom",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "description": "Tile buffer on each side.",
        "lineNumber": 9,
        "name": "options.buffer",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
      Object {
        "description": "Simplification tolerance (higher means simpler).",
        "lineNumber": 10,
        "name": "options.tolerance",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "number",
            "type": "NameExpression",
          },
          "type": "OptionalType",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 37,
          "line": 87,
        },
        "start": Object {
          "column": 0,
          "line": 87,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 26,
                  "line": 2,
                  "offset": 100,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This tests our support for parameters with explicit types but with default
values specified in code.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 26,
              "line": 2,
              "offset": 100,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 26,
          "line": 2,
          "offset": 100,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "constant",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 86,
      },
      "start": Object {
        "column": 0,
        "line": 79,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "myfunc",
    "namespace": "myfunc",
    "params": Array [
      Object {
        "default": "123",
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 12,
                      "line": 1,
                      "offset": 11,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "an argument",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 12,
                  "line": 1,
                  "offset": 11,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 4,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "constant",
        "name": "myfunc",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 5,
                      "line": 1,
                      "offset": 4,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "some",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 5,
                  "line": 1,
                  "offset": 4,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 5,
              "line": 1,
              "offset": 4,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "an argument",
        "lineNumber": 4,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "some",
        "lineNumber": 6,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 97,
        },
        "start": Object {
          "column": 0,
          "line": 95,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 57,
                  "line": 2,
                  "offset": 125,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This tests our support of JSDoc param tags without type information,
or any type information we could infer from annotations.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 57,
              "line": 2,
              "offset": 125,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 57,
          "line": 2,
          "offset": 125,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 94,
      },
      "start": Object {
        "column": 0,
        "line": 89,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": "foo",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "An IPv6 address string",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 4,
        "name": "address",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "foo",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "An IPv6 address string",
        "lineNumber": 4,
        "name": "address",
        "title": "param",
        "type": null,
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 111,
        },
        "start": Object {
          "column": 0,
          "line": 109,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 35,
                  "line": 2,
                  "offset": 85,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This tests our support for iterator rest inside an
iterator destructure (RestElement)",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 35,
              "line": 2,
              "offset": 85,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 35,
          "line": 2,
          "offset": 85,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 108,
      },
      "start": Object {
        "column": 0,
        "line": 99,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "rotate",
    "namespace": "rotate",
    "params": Array [
      Object {
        "lineNumber": 4,
        "name": "input",
        "properties": Array [
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "head of iterator",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 5,
            "name": "input.0",
            "title": "param",
            "type": Object {
              "name": "any",
              "type": "NameExpression",
            },
          },
          Object {
            "description": Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "position": Object {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "body of iterator",
                    },
                  ],
                  "position": Object {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "root",
            },
            "lineNumber": 6,
            "name": "input.xs",
            "title": "param",
            "type": Object {
              "expression": Object {
                "name": "any",
                "type": "NameExpression",
              },
              "type": "RestType",
            },
          },
        ],
        "title": "param",
        "type": Object {
          "name": "Array",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "rotate",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 49,
                      "line": 1,
                      "offset": 48,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "rotated such that the last element was the first",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 49,
                  "line": 1,
                  "offset": 48,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 49,
              "line": 1,
              "offset": 48,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "applications": Array [
            Object {
              "name": "any",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 4,
        "name": "input",
        "title": "param",
        "type": Object {
          "name": "Array",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "head of iterator",
        "lineNumber": 5,
        "name": "input.0",
        "title": "param",
        "type": Object {
          "name": "any",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "body of iterator",
        "lineNumber": 6,
        "name": "input.xs",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "any",
            "type": "NameExpression",
          },
          "type": "RestType",
        },
      },
      Object {
        "description": "rotated such that the last element was the first",
        "lineNumber": 8,
        "title": "returns",
        "type": Object {
          "applications": Array [
            Object {
              "name": "any",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs params.input.js markdown 1`] = `"[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]"`;

exports[`outputs params.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "addThem",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "b",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the second param",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "c",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "$3",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$3.d",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$3.e",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "$3.f",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "fishesAndFoxes",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 42,
              "line": 1,
              "offset": 41,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This method has partially inferred params",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 42,
          "line": 1,
          "offset": 41,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "options",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.fishes",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "String",
                                },
                              ],
                              "identifier": "3",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 24,
                                  "line": 1,
                                  "offset": 23,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "number of kinds of fish",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 24,
                              "line": 1,
                              "offset": 23,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.foxes",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "withDefault",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 68,
              "line": 1,
              "offset": 67,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This method has a type in the description and a default in the code",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 68,
          "line": 1,
          "offset": 67,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "2",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This is foo's documentation",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 28,
          "line": 1,
          "offset": 27,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "method",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "The method",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 11,
          "line": 1,
          "offset": 10,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 16,
                          "line": 1,
                          "offset": 15,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "Param to method",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 16,
                      "line": 1,
                      "offset": 15,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "TraditionalObject",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 19,
              "line": 1,
              "offset": 18,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Traditional object",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 19,
          "line": 1,
          "offset": 18,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "traditionalMethod",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 39,
              "line": 1,
              "offset": 38,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This method should acquire the param x",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 39,
          "line": 1,
          "offset": 38,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Address6",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Represents an IPv6 address",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 27,
          "line": 1,
          "offset": 26,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 47,
              "line": 3,
              "offset": 74,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 3,
              "offset": 28,
            },
          },
          "type": "text",
          "value": "This tests  our support of optional parameters",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 47,
          "line": 3,
          "offset": 74,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 3,
          "offset": 28,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "address",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "3",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 23,
                          "line": 1,
                          "offset": 22,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "An IPv6 address string",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "groups",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 25,
                          "line": 1,
                          "offset": 24,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "How many octets to parse",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 25,
                      "line": 1,
                      "offset": 24,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "8",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "third",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "?",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "A third argument",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "foo",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "4",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 22,
                          "line": 1,
                          "offset": 21,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "to properly be parsed",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 22,
                      "line": 1,
                      "offset": 21,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "[1]",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Examples",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "lang": "javascript",
      "type": "code",
      "value": "var address = new Address6('2001::/32');",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "GeoJSONSource",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 62,
              "line": 1,
              "offset": 61,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Create a GeoJSON data source instance given an options object",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 62,
          "line": 1,
          "offset": 61,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 44,
              "line": 3,
              "offset": 106,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 3,
              "offset": 63,
            },
          },
          "type": "text",
          "value": "This tests our support of nested parameters",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 44,
          "line": 3,
          "offset": 106,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 3,
          "offset": 63,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "options",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Object",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "?",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 17,
                          "line": 1,
                          "offset": 16,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "optional options",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 17,
                      "line": 1,
                      "offset": 16,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.data",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": "(",
                            },
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "Object",
                                },
                              ],
                              "identifier": "2",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                            Object {
                              "type": "text",
                              "value": " | ",
                            },
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "string",
                                },
                              ],
                              "identifier": "3",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                            Object {
                              "type": "text",
                              "value": ")",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 57,
                                  "line": 2,
                                  "offset": 92,
                                },
                                "indent": Array [
                                  1,
                                ],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "A GeoJSON data object or URL to it.
The latter is preferable in case of large GeoJSON files.",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 57,
                              "line": 2,
                              "offset": 92,
                            },
                            "indent": Array [
                              1,
                            ],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.maxzoom",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "1",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 36,
                                  "line": 1,
                                  "offset": 35,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "Maximum zoom to preserve detail at.",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 36,
                              "line": 1,
                              "offset": 35,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": " (optional, default ",
                            },
                            Object {
                              "type": "inlineCode",
                              "value": "14",
                            },
                            Object {
                              "type": "text",
                              "value": ")",
                            },
                          ],
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.buffer",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "1",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                            Object {
                              "type": "text",
                              "value": "?",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 26,
                                  "line": 1,
                                  "offset": 25,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "Tile buffer on each side.",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 26,
                              "line": 1,
                              "offset": 25,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "options.tolerance",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "children": Array [
                                Object {
                                  "type": "text",
                                  "value": "number",
                                },
                              ],
                              "identifier": "1",
                              "referenceType": "full",
                              "type": "linkReference",
                            },
                            Object {
                              "type": "text",
                              "value": "?",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 49,
                                  "line": 1,
                                  "offset": 48,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "Simplification tolerance (higher means simpler).",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 49,
                              "line": 1,
                              "offset": 48,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "myfunc",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 26,
              "line": 2,
              "offset": 100,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This tests our support for parameters with explicit types but with default
values specified in code.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 26,
          "line": 2,
          "offset": 100,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 12,
                          "line": 1,
                          "offset": 11,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "an argument",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 12,
                      "line": 1,
                      "offset": 11,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
                Object {
                  "children": Array [
                    Object {
                      "type": "text",
                      "value": " (optional, default ",
                    },
                    Object {
                      "type": "inlineCode",
                      "value": "123",
                    },
                    Object {
                      "type": "text",
                      "value": ")",
                    },
                  ],
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 5,
                  "line": 1,
                  "offset": 4,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "some",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 5,
              "line": 1,
              "offset": 4,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 57,
              "line": 2,
              "offset": 125,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This tests our support of JSDoc param tags without type information,
or any type information we could infer from annotations.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 57,
          "line": 2,
          "offset": 125,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "address",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 23,
                          "line": 1,
                          "offset": 22,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "An IPv6 address string",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "rotate",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 35,
              "line": 2,
              "offset": 85,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This tests our support for iterator rest inside an
iterator destructure (RestElement)",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 35,
          "line": 2,
          "offset": 85,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "input",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "4",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
            Object {
              "children": Array [
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "input.0",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": "any",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 17,
                                  "line": 1,
                                  "offset": 16,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "head of iterator",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 17,
                              "line": 1,
                              "offset": 16,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "inlineCode",
                          "value": "input.xs",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "type": "text",
                              "value": "...",
                            },
                            Object {
                              "type": "text",
                              "value": "any",
                            },
                          ],
                          "type": "strong",
                        },
                        Object {
                          "type": "text",
                          "value": " ",
                        },
                        Object {
                          "children": Array [
                            Object {
                              "position": Position {
                                "end": Object {
                                  "column": 17,
                                  "line": 1,
                                  "offset": 16,
                                },
                                "indent": Array [],
                                "start": Object {
                                  "column": 1,
                                  "line": 1,
                                  "offset": 0,
                                },
                              },
                              "type": "text",
                              "value": "body of iterator",
                            },
                          ],
                          "position": Position {
                            "end": Object {
                              "column": 17,
                              "line": 1,
                              "offset": 16,
                            },
                            "indent": Array [],
                            "start": Object {
                              "column": 1,
                              "line": 1,
                              "offset": 0,
                            },
                          },
                          "type": "paragraph",
                        },
                      ],
                      "type": "paragraph",
                    },
                  ],
                  "type": "listItem",
                },
              ],
              "ordered": false,
              "type": "list",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Array",
                },
              ],
              "identifier": "4",
              "referenceType": "full",
              "type": "linkReference",
            },
            Object {
              "type": "text",
              "value": "<",
            },
            Object {
              "type": "text",
              "value": "any",
            },
            Object {
              "type": "text",
              "value": ">",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 49,
                  "line": 1,
                  "offset": 48,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "rotated such that the last element was the first",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 49,
              "line": 1,
              "offset": 48,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
    Object {
      "identifier": "4",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array",
    },
  ],
  "type": "root",
}
`;

exports[`outputs react-jsx.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 20,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 7,
                  "line": 1,
                  "offset": 6,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "apples",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 7,
              "line": 1,
              "offset": 6,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 7,
          "line": 1,
          "offset": 6,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "apples",
    "namespace": "apples",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "apples",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs react-jsx.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs react-jsx.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "apples",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 7,
              "line": 1,
              "offset": 6,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "apples",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 7,
          "line": 1,
          "offset": 6,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs require-json.input.js JSON 1`] = `Array []`;

exports[`outputs require-json.input.js markdown 1`] = `""`;

exports[`outputs require-json.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
  ],
  "type": "root",
}
`;

exports[`outputs require-json-no-extension.input.js JSON 1`] = `Array []`;

exports[`outputs require-json-no-extension.input.js markdown 1`] = `""`;

exports[`outputs require-json-no-extension.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
  ],
  "type": "root",
}
`;

exports[`outputs sections.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 19,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function is first",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "first",
    "namespace": "first",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "first",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 16,
          "line": 12,
        },
        "start": Object {
          "column": 2,
          "line": 12,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 65,
                  "line": 1,
                  "offset": 64,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "forgot a memberof here... sure hope that doesn't crash anything!",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 65,
              "line": 1,
              "offset": 64,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 65,
          "line": 1,
          "offset": 64,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 5,
        "line": 11,
      },
      "start": Object {
        "column": 2,
        "line": 8,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "first",
    "namespace": "first",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "first",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "first",
        "title": "method",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 19,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 6,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 13,
                "line": 18,
              },
              "start": Object {
                "column": 2,
                "line": 18,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 29,
                        "line": 2,
                        "offset": 99,
                      },
                      "indent": Array [
                        1,
                      ],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "shares a name with a top level item referenced in the TOC... sure hope
that doesn't crash anything!",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 29,
                    "line": 2,
                    "offset": 99,
                  },
                  "indent": Array [
                    1,
                  ],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 29,
                "line": 2,
                "offset": 99,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 5,
              "line": 17,
            },
            "start": Object {
              "column": 2,
              "line": 14,
            },
          },
          "memberof": "AClass",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "second",
          "namespace": "AClass#second",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "AClass",
            },
            Object {
              "kind": "function",
              "name": "second",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "AClass",
    "namespace": "AClass",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "AClass",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 20,
          "line": 24,
        },
        "start": Object {
          "column": 0,
          "line": 24,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 28,
                  "line": 1,
                  "offset": 27,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This class has some members",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 28,
          "line": 1,
          "offset": 27,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 23,
      },
      "start": Object {
        "column": 0,
        "line": 21,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 41,
                "line": 29,
              },
              "start": Object {
                "column": 0,
                "line": 29,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 12,
                        "line": 1,
                        "offset": 11,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "second::foo",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 12,
                    "line": 1,
                    "offset": 11,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 12,
                "line": 1,
                "offset": 11,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 3,
              "line": 28,
            },
            "start": Object {
              "column": 0,
              "line": 26,
            },
          },
          "memberof": "second",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "foo",
          "namespace": "second#foo",
          "params": Array [
            Object {
              "lineNumber": 29,
              "name": "pork",
              "title": "param",
            },
          ],
          "path": Array [
            Object {
              "kind": "function",
              "name": "second",
            },
            Object {
              "kind": "function",
              "name": "foo",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 48,
                "line": 34,
              },
              "start": Object {
                "column": 0,
                "line": 34,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 12,
                        "line": 1,
                        "offset": 11,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "second::bar",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 12,
                    "line": 1,
                    "offset": 11,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 12,
                "line": 1,
                "offset": 11,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 3,
              "line": 33,
            },
            "start": Object {
              "column": 0,
              "line": 31,
            },
          },
          "memberof": "second",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "bar",
          "namespace": "second#bar",
          "params": Array [
            Object {
              "lineNumber": 34,
              "name": "beans",
              "title": "param",
            },
            Object {
              "lineNumber": 34,
              "name": "rice",
              "title": "param",
            },
          ],
          "path": Array [
            Object {
              "kind": "function",
              "name": "second",
            },
            Object {
              "kind": "function",
              "name": "bar",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "second",
    "namespace": "second",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "second",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 19,
          "line": 39,
        },
        "start": Object {
          "column": 0,
          "line": 39,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function is third",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 38,
      },
      "start": Object {
        "column": 0,
        "line": 36,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "third",
    "namespace": "third",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "third",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs sections.input.js markdown 1`] = `"[object Object],[object Object],[object Object],[object Object],[object Object]"`;

exports[`outputs sections.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "first",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function is first",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "first",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 65,
              "line": 1,
              "offset": 64,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "forgot a memberof here... sure hope that doesn't crash anything!",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 65,
          "line": 1,
          "offset": 64,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "AClass",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "second",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 29,
              "line": 2,
              "offset": 99,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "shares a name with a top level item referenced in the TOC... sure hope
that doesn't crash anything!",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 29,
          "line": 2,
          "offset": 99,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "second",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This class has some members",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 28,
          "line": 1,
          "offset": 27,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "second::foo",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "pork",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "bar",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "second::bar",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 12,
          "line": 1,
          "offset": 11,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 4,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "beans",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "rice",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "third",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function is third",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 8,
        },
        "start": Object {
          "column": 0,
          "line": 5,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 4,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "simple.input",
    "namespace": "simple.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "simple.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs simple.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs simple.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "simple.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple-callback.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 8,
                  "line": 2,
                  "offset": 81,
                },
                "indent": Array [
                  1,
                ],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This takes a number and a callback and calls the callback with the number
plus 3.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 8,
              "line": 2,
              "offset": 81,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 8,
          "line": 2,
          "offset": 81,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 7,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "takesSimpleCallback",
    "namespace": "takesSimpleCallback",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 12,
                      "line": 1,
                      "offset": 11,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The number.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 12,
                  "line": 1,
                  "offset": 11,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 4,
        "name": "n",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 14,
                      "line": 1,
                      "offset": 13,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The callback.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 14,
                  "line": 1,
                  "offset": 13,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 14,
              "line": 1,
              "offset": 13,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 5,
        "name": "cb",
        "title": "param",
        "type": Object {
          "name": "simpleCallback",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "takesSimpleCallback",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "The number.",
        "lineNumber": 4,
        "name": "n",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "The callback.",
        "lineNumber": 5,
        "name": "cb",
        "title": "param",
        "type": Object {
          "name": "simpleCallback",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 43,
                  "line": 1,
                  "offset": 42,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This callback takes an error and a number.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 43,
              "line": 1,
              "offset": 42,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 43,
          "line": 1,
          "offset": 42,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "typedef",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 18,
      },
      "start": Object {
        "column": 0,
        "line": 12,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "simpleCallback",
    "namespace": "simpleCallback",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 11,
                      "line": 1,
                      "offset": 10,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The error.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 11,
                  "line": 1,
                  "offset": 10,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 4,
        "name": "err",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "Error",
            "type": "NameExpression",
          },
          "prefix": true,
          "type": "NullableType",
        },
      },
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 12,
                      "line": 1,
                      "offset": 11,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "The number.",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 12,
                  "line": 1,
                  "offset": 11,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 12,
              "line": 1,
              "offset": 11,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 5,
        "name": "n",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "typedef",
        "name": "simpleCallback",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "simpleCallback",
        "lineNumber": 3,
        "title": "callback",
      },
      Object {
        "description": "The error.",
        "lineNumber": 4,
        "name": "err",
        "title": "param",
        "type": Object {
          "expression": Object {
            "name": "Error",
            "type": "NameExpression",
          },
          "prefix": true,
          "type": "NullableType",
        },
      },
      Object {
        "description": "The number.",
        "lineNumber": 5,
        "name": "n",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
    "type": Object {
      "name": "Function",
      "type": "NameExpression",
    },
  },
]
`;

exports[`outputs simple-callback.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs simple-callback.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "takesSimpleCallback",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 8,
              "line": 2,
              "offset": 81,
            },
            "indent": Array [
              1,
            ],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This takes a number and a callback and calls the callback with the number
plus 3.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 8,
          "line": 2,
          "offset": 81,
        },
        "indent": Array [
          1,
        ],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "n",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 12,
                          "line": 1,
                          "offset": 11,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The number.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 12,
                      "line": 1,
                      "offset": 11,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "cb",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "simpleCallback",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 14,
                          "line": 1,
                          "offset": 13,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The callback.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 14,
                      "line": 1,
                      "offset": 13,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "simpleCallback",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 43,
              "line": 1,
              "offset": 42,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This callback takes an error and a number.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 43,
          "line": 1,
          "offset": 42,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Type: ",
        },
        Object {
          "children": Array [
            Object {
              "type": "text",
              "value": "Function",
            },
          ],
          "identifier": "3",
          "referenceType": "full",
          "type": "linkReference",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "err",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Error",
                        },
                      ],
                      "identifier": "4",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "?",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 11,
                          "line": 1,
                          "offset": 10,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The error.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 11,
                      "line": 1,
                      "offset": 10,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "n",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 12,
                          "line": 1,
                          "offset": 11,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "The number.",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 12,
                      "line": 1,
                      "offset": 11,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "#simplecallback",
    },
    Object {
      "identifier": "3",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function",
    },
    Object {
      "identifier": "4",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple-hashbang.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 10,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 38,
                  "line": 1,
                  "offset": 37,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number one.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "simple-hashbang.input",
    "namespace": "simple-hashbang.input",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "simple-hashbang.input",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numberone",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "numberone",
        "lineNumber": 2,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs simple-hashbang.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs simple-hashbang.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "simple-hashbang.input",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 38,
              "line": 1,
              "offset": 37,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number one.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 38,
          "line": 1,
          "offset": 37,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numberone",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple-private.input.js JSON 1`] = `Array []`;

exports[`outputs simple-private.input.js markdown 1`] = `""`;

exports[`outputs simple-private.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple-singlestar.input.js JSON 1`] = `Array []`;

exports[`outputs simple-singlestar.input.js markdown 1`] = `""`;

exports[`outputs simple-singlestar.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple-triplestar.input.js JSON 1`] = `Array []`;

exports[`outputs simple-triplestar.input.js markdown 1`] = `""`;

exports[`outputs simple-triplestar.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
  ],
  "type": "root",
}
`;

exports[`outputs simple-two.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 13,
        },
        "start": Object {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 43,
                  "line": 1,
                  "offset": 42,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "This function returns the number plus two.",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 43,
              "line": 1,
              "offset": 42,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 43,
          "line": 1,
          "offset": 42,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [
      Object {
        "description": "var result = returnTwo(4);
// result is 6",
      },
    ],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 9,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "returnTwo",
    "namespace": "returnTwo",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 11,
                      "line": 1,
                      "offset": 10,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "the number",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 11,
                  "line": 1,
                  "offset": 10,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 11,
              "line": 1,
              "offset": 10,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 3,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "returnTwo",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 10,
                      "line": 1,
                      "offset": 9,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "numbertwo",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": "the number",
        "lineNumber": 3,
        "name": "a",
        "title": "param",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "numbertwo",
        "lineNumber": 4,
        "title": "returns",
        "type": Object {
          "name": "Number",
          "type": "NameExpression",
        },
      },
      Object {
        "description": "var result = returnTwo(4);
// result is 6",
        "lineNumber": 5,
        "title": "example",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs simple-two.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs simple-two.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "returnTwo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 43,
              "line": 1,
              "offset": 42,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "This function returns the number plus two.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 43,
          "line": 1,
          "offset": 42,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "a",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 11,
                          "line": 1,
                          "offset": 10,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "the number",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 11,
                      "line": 1,
                      "offset": 10,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Examples",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "lang": "javascript",
      "type": "code",
      "value": "var result = returnTwo(4);
// result is 6",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "Number",
                },
              ],
              "identifier": "1",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
        Object {
          "children": Array [
            Object {
              "position": Position {
                "end": Object {
                  "column": 10,
                  "line": 1,
                  "offset": 9,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "numbertwo",
            },
          ],
          "position": Position {
            "end": Object {
              "column": 10,
              "line": 1,
              "offset": 9,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
  ],
  "type": "root",
}
`;

exports[`outputs sort-order-alpha.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 19,
        },
        "start": Object {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 9,
      },
      "start": Object {
        "column": 0,
        "line": 9,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 18,
              },
              "start": Object {
                "column": 2,
                "line": 18,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 17,
            },
            "start": Object {
              "column": 2,
              "line": 17,
            },
          },
          "memberof": "C",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "A",
          "namespace": "C#A",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "C",
            },
            Object {
              "kind": "function",
              "name": "A",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 16,
              },
              "start": Object {
                "column": 2,
                "line": 16,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 15,
            },
            "start": Object {
              "column": 2,
              "line": 15,
            },
          },
          "memberof": "C",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "a",
          "namespace": "C#a",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "C",
            },
            Object {
              "kind": "function",
              "name": "a",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 14,
              },
              "start": Object {
                "column": 2,
                "line": 14,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 13,
            },
            "start": Object {
              "column": 2,
              "line": 13,
            },
          },
          "memberof": "C",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "B",
          "namespace": "C#B",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "C",
            },
            Object {
              "kind": "function",
              "name": "B",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 12,
              },
              "start": Object {
                "column": 2,
                "line": 12,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 11,
            },
            "start": Object {
              "column": 2,
              "line": 11,
            },
          },
          "memberof": "C",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "b",
          "namespace": "C#b",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "C",
            },
            Object {
              "kind": "function",
              "name": "b",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "C",
    "namespace": "C",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "C",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 1,
          "line": 31,
        },
        "start": Object {
          "column": 0,
          "line": 22,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 21,
      },
      "start": Object {
        "column": 0,
        "line": 21,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 30,
              },
              "start": Object {
                "column": 2,
                "line": 30,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 29,
            },
            "start": Object {
              "column": 2,
              "line": 29,
            },
          },
          "memberof": "D",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "A",
          "namespace": "D#A",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "D",
            },
            Object {
              "kind": "function",
              "name": "A",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 28,
              },
              "start": Object {
                "column": 2,
                "line": 28,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 27,
            },
            "start": Object {
              "column": 2,
              "line": 27,
            },
          },
          "memberof": "D",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "a",
          "namespace": "D#a",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "D",
            },
            Object {
              "kind": "function",
              "name": "a",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 26,
              },
              "start": Object {
                "column": 2,
                "line": 26,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 25,
            },
            "start": Object {
              "column": 2,
              "line": 25,
            },
          },
          "memberof": "D",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "B",
          "namespace": "D#B",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "D",
            },
            Object {
              "kind": "function",
              "name": "B",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 8,
                "line": 24,
              },
              "start": Object {
                "column": 2,
                "line": 24,
              },
            },
          },
          "description": "",
          "errors": Array [],
          "examples": Array [],
          "kind": "function",
          "loc": Object {
            "end": Object {
              "column": 8,
              "line": 23,
            },
            "start": Object {
              "column": 2,
              "line": 23,
            },
          },
          "memberof": "D",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "b",
          "namespace": "D#b",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "D",
            },
            Object {
              "kind": "function",
              "name": "b",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "D",
    "namespace": "D",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "class",
        "name": "D",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 15,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 7,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 6,
      },
      "start": Object {
        "column": 0,
        "line": 6,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "a",
    "namespace": "a",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "a",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 15,
          "line": 4,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "b",
    "namespace": "b",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "function",
        "name": "b",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs sort-order-alpha.input.js markdown 1`] = `"[object Object],[object Object],[object Object],[object Object]"`;

exports[`outputs sort-order-alpha.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "C",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "A",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "a",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "B",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "b",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "D",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "A",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "a",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "B",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "b",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "a",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "b",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
  ],
  "type": "root",
}
`;

exports[`outputs string-literal-key.input.js JSON 1`] = `
Array [
  Object {
    "alias": "MyContainerObject",
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 11,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "constant",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "MyContainerObject",
    "namespace": "MyContainerObject",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "constant",
        "name": "MyContainerObject",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 1,
        "name": "MyContainerObject",
        "title": "alias",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 3,
          "line": 10,
        },
        "start": Object {
          "column": 2,
          "line": 8,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 17,
                  "line": 1,
                  "offset": 16,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "The foo property",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [
      Object {
        "commentLineNumber": 0,
        "message": "@memberof reference to obj not found",
      },
    ],
    "examples": Array [],
    "loc": Object {
      "end": Object {
        "column": 5,
        "line": 7,
      },
      "start": Object {
        "column": 2,
        "line": 5,
      },
    },
    "memberof": "obj",
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "foo",
    "namespace": ".foo",
    "params": Array [],
    "path": Array [
      Object {
        "name": "foo",
        "scope": "static",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "scope": "static",
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs string-literal-key.input.js markdown 1`] = `"[object Object],[object Object]"`;

exports[`outputs string-literal-key.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "MyContainerObject",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "foo",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 17,
              "line": 1,
              "offset": 16,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "The foo property",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 17,
          "line": 1,
          "offset": 16,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs this-class.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "module",
    "loc": Object {
      "end": Object {
        "column": 24,
        "line": 1,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "bookshelf",
    "namespace": "bookshelf",
    "params": Array [],
    "path": Array [
      Object {
        "kind": "module",
        "name": "bookshelf",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 0,
        "name": "bookshelf",
        "title": "module",
        "type": null,
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 7,
        },
        "start": Object {
          "column": 0,
          "line": 4,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 13,
        "line": 3,
      },
      "start": Object {
        "column": 0,
        "line": 3,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 21,
                "line": 6,
              },
              "start": Object {
                "column": 2,
                "line": 6,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 23,
                        "line": 1,
                        "offset": 22,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "The title of the book.",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 23,
                    "line": 1,
                    "offset": 22,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 23,
                "line": 1,
                "offset": 22,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "loc": Object {
            "end": Object {
              "column": 31,
              "line": 5,
            },
            "start": Object {
              "column": 2,
              "line": 5,
            },
          },
          "memberof": "Book",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "title",
          "namespace": "Book#title",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "Book",
            },
            Object {
              "name": "title",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "Book",
    "namespace": "Book",
    "params": Array [
      Object {
        "lineNumber": 4,
        "name": "title",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Book",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 0,
        "name": null,
        "title": "class",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 2,
          "line": 13,
        },
        "start": Object {
          "column": 0,
          "line": 10,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 13,
        "line": 9,
      },
      "start": Object {
        "column": 0,
        "line": 9,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [
        Object {
          "augments": Array [],
          "context": Object {
            "loc": Object {
              "end": Object {
                "column": 21,
                "line": 12,
              },
              "start": Object {
                "column": 2,
                "line": 12,
              },
            },
          },
          "description": Object {
            "children": Array [
              Object {
                "children": Array [
                  Object {
                    "position": Object {
                      "end": Object {
                        "column": 28,
                        "line": 1,
                        "offset": 27,
                      },
                      "indent": Array [],
                      "start": Object {
                        "column": 1,
                        "line": 1,
                        "offset": 0,
                      },
                    },
                    "type": "text",
                    "value": "The title of the bookshelf.",
                  },
                ],
                "position": Object {
                  "end": Object {
                    "column": 28,
                    "line": 1,
                    "offset": 27,
                  },
                  "indent": Array [],
                  "start": Object {
                    "column": 1,
                    "line": 1,
                    "offset": 0,
                  },
                },
                "type": "paragraph",
              },
            ],
            "position": Object {
              "end": Object {
                "column": 28,
                "line": 1,
                "offset": 27,
              },
              "start": Object {
                "column": 1,
                "line": 1,
                "offset": 0,
              },
            },
            "type": "root",
          },
          "errors": Array [],
          "examples": Array [],
          "loc": Object {
            "end": Object {
              "column": 36,
              "line": 11,
            },
            "start": Object {
              "column": 2,
              "line": 11,
            },
          },
          "memberof": "BookShelf",
          "members": Object {
            "events": Array [],
            "global": Array [],
            "inner": Array [],
            "instance": Array [],
            "static": Array [],
          },
          "name": "title",
          "namespace": "BookShelf#title",
          "params": Array [],
          "path": Array [
            Object {
              "kind": "class",
              "name": "BookShelf",
            },
            Object {
              "name": "title",
              "scope": "instance",
            },
          ],
          "properties": Array [],
          "returns": Array [],
          "scope": "instance",
          "sees": Array [],
          "tags": Array [],
          "throws": Array [],
          "todos": Array [],
        },
      ],
      "static": Array [],
    },
    "name": "BookShelf",
    "namespace": "BookShelf",
    "params": Array [
      Object {
        "lineNumber": 10,
        "name": "title",
        "title": "param",
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "BookShelf",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 0,
        "name": null,
        "title": "class",
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs this-class.input.js markdown 1`] = `"[object Object],[object Object],[object Object]"`;

exports[`outputs this-class.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "bookshelf",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Book",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "title",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "title",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "The title of the book.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 23,
          "line": 1,
          "offset": 22,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "BookShelf",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "title",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "title",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 28,
              "line": 1,
              "offset": 27,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "The title of the bookshelf.",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 28,
          "line": 1,
          "offset": 27,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
  ],
  "type": "root",
}
`;

exports[`outputs type_application.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 0,
          "line": 6,
        },
        "start": Object {
          "column": 0,
          "line": 1,
        },
      },
    },
    "description": Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "position": Object {
                "end": Object {
                  "column": 27,
                  "line": 1,
                  "offset": 26,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "text",
              "value": "Represents an IPv6 address",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "paragraph",
        },
      ],
      "position": Object {
        "end": Object {
          "column": 27,
          "line": 1,
          "offset": 26,
        },
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "root",
    },
    "errors": Array [],
    "examples": Array [],
    "kind": "class",
    "loc": Object {
      "end": Object {
        "column": 3,
        "line": 5,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "Address6",
    "namespace": "Address6",
    "params": Array [
      Object {
        "description": Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "position": Object {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "text",
                  "value": "An IPv6 address string",
                },
              ],
              "position": Object {
                "end": Object {
                  "column": 23,
                  "line": 1,
                  "offset": 22,
                },
                "indent": Array [],
                "start": Object {
                  "column": 1,
                  "line": 1,
                  "offset": 0,
                },
              },
              "type": "paragraph",
            },
          ],
          "position": Object {
            "end": Object {
              "column": 23,
              "line": 1,
              "offset": 22,
            },
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "root",
        },
        "lineNumber": 3,
        "name": "address",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "string",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "class",
        "name": "Address6",
      },
    ],
    "properties": Array [],
    "returns": Array [],
    "sees": Array [],
    "tags": Array [
      Object {
        "description": null,
        "lineNumber": 2,
        "name": "Address6",
        "title": "class",
        "type": null,
      },
      Object {
        "description": "An IPv6 address string",
        "lineNumber": 3,
        "name": "address",
        "title": "param",
        "type": Object {
          "applications": Array [
            Object {
              "name": "string",
              "type": "NameExpression",
            },
          ],
          "expression": Object {
            "name": "Array",
            "type": "NameExpression",
          },
          "type": "TypeApplication",
        },
      },
    ],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs type_application.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs type_application.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Address6",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "position": Position {
            "end": Object {
              "column": 27,
              "line": 1,
              "offset": 26,
            },
            "indent": Array [],
            "start": Object {
              "column": 1,
              "line": 1,
              "offset": 0,
            },
          },
          "type": "text",
          "value": "Represents an IPv6 address",
        },
      ],
      "position": Position {
        "end": Object {
          "column": 27,
          "line": 1,
          "offset": 26,
        },
        "indent": Array [],
        "start": Object {
          "column": 1,
          "line": 1,
          "offset": 0,
        },
      },
      "type": "paragraph",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "address",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "Array",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": "<",
                    },
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "string",
                        },
                      ],
                      "identifier": "2",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                    Object {
                      "type": "text",
                      "value": ">",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "position": Position {
                        "end": Object {
                          "column": 23,
                          "line": 1,
                          "offset": 22,
                        },
                        "indent": Array [],
                        "start": Object {
                          "column": 1,
                          "line": 1,
                          "offset": 0,
                        },
                      },
                      "type": "text",
                      "value": "An IPv6 address string",
                    },
                  ],
                  "position": Position {
                    "end": Object {
                      "column": 23,
                      "line": 1,
                      "offset": 22,
                    },
                    "indent": Array [],
                    "start": Object {
                      "column": 1,
                      "line": 1,
                      "offset": 0,
                    },
                  },
                  "type": "paragraph",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
    },
  ],
  "type": "root",
}
`;

exports[`outputs var-function-param-return.input.js JSON 1`] = `
Array [
  Object {
    "augments": Array [],
    "context": Object {
      "loc": Object {
        "end": Object {
          "column": 40,
          "line": 2,
        },
        "start": Object {
          "column": 0,
          "line": 2,
        },
      },
    },
    "description": "",
    "errors": Array [],
    "examples": Array [],
    "kind": "function",
    "loc": Object {
      "end": Object {
        "column": 6,
        "line": 1,
      },
      "start": Object {
        "column": 0,
        "line": 1,
      },
    },
    "members": Object {
      "events": Array [],
      "global": Array [],
      "inner": Array [],
      "instance": Array [],
      "static": Array [],
    },
    "name": "f",
    "namespace": "f",
    "params": Array [
      Object {
        "lineNumber": 2,
        "name": "x",
        "title": "param",
        "type": Object {
          "name": "number",
          "type": "NameExpression",
        },
      },
    ],
    "path": Array [
      Object {
        "kind": "function",
        "name": "f",
      },
    ],
    "properties": Array [],
    "returns": Array [
      Object {
        "title": "returns",
        "type": Object {
          "name": "boolean",
          "type": "NameExpression",
        },
      },
    ],
    "sees": Array [],
    "tags": Array [],
    "throws": Array [],
    "todos": Array [],
  },
]
`;

exports[`outputs var-function-param-return.input.js markdown 1`] = `"[object Object]"`;

exports[`outputs var-function-param-return.input.js markdown AST 1`] = `
Object {
  "children": Array [
    Object {
      "type": "html",
      "value": "<!-- Generated by documentation.js. Update this documentation by updating the source code. -->",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "f",
        },
      ],
      "depth": 2,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Parameters",
        },
      ],
      "depth": 3,
      "type": "heading",
    },
    Object {
      "children": Array [
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "inlineCode",
                  "value": "x",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
                Object {
                  "children": Array [
                    Object {
                      "children": Array [
                        Object {
                          "type": "text",
                          "value": "number",
                        },
                      ],
                      "identifier": "1",
                      "referenceType": "full",
                      "type": "linkReference",
                    },
                  ],
                  "type": "strong",
                },
                Object {
                  "type": "text",
                  "value": " ",
                },
              ],
              "type": "paragraph",
            },
          ],
          "type": "listItem",
        },
      ],
      "ordered": false,
      "type": "list",
    },
    Object {
      "children": Array [
        Object {
          "type": "text",
          "value": "Returns ",
        },
        Object {
          "children": Array [
            Object {
              "children": Array [
                Object {
                  "type": "text",
                  "value": "boolean",
                },
              ],
              "identifier": "2",
              "referenceType": "full",
              "type": "linkReference",
            },
          ],
          "type": "strong",
        },
        Object {
          "type": "text",
          "value": " ",
        },
      ],
      "type": "paragraph",
    },
    Object {
      "identifier": "1",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
    },
    Object {
      "identifier": "2",
      "title": undefined,
      "type": "definition",
      "url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    },
  ],
  "type": "root",
}
`;
