Skip to content

Optional properties #347

Closed
Closed
@ikokostya

Description

@ikokostya

documentation skips optional properties in typedef declaration:

/**
 * @typedef {Object} Foo
 * @property {Number} a
 * @property {Number} [b]
 */
$ documentation build test.js -f json
[
  {
    "description": "",
    "tags": [
      {
        "title": "typedef",
        "description": null,
        "lineNumber": 1,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "Foo"
      },
      {
        "title": "property",
        "description": null,
        "lineNumber": 2,
        "type": {
          "type": "NameExpression",
          "name": "Number"
        },
        "name": "a"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 5,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 0
        }
      },
      "file": "/home/kostya/proj/typedef-test/test.js"
    },
    "typedef": {
      "name": "Foo",
      "type": {
        "type": "NameExpression",
        "name": "Object"
      }
    },
    "properties": [
      {
        "title": "property",
        "description": null,
        "lineNumber": 2,
        "type": {
          "type": "NameExpression",
          "name": "Number"
        },
        "name": "a"
      }
    ],
    "name": "Foo",
    "kind": "typedef",
    "members": {
      "instance": [],
      "static": []
    },
    "path": [
      "Foo"
    ]
  }
]

How I can define optional properties?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions