Skip to content

Latest commit

 

History

History
166 lines (142 loc) · 2.4 KB

note.en-US.md

File metadata and controls

166 lines (142 loc) · 2.4 KB

Annotations

1.1 Single-line annotations

interface doc_1 {
  // single-line annotations
  name: string;
}

result:

{
  "additionalProperties": false,
  "properties": {
    "name": {
      "description": "single line annotations",
      "type": "string",
    },
  },
  "required": [
    "name",
  ],
  "type": "object",
}

1.2 Single-line annotations with default value

interface doc_3 {
  // @param {string} [name='zane'] name
  name: string;
}

result:

{
  "additionalProperties": false,
  "properties": {
    "name": {
      "default": "'zane'",
      "description": "name",
      "type": "string",
    },
  },
  "required": [
    "name",
  ],
  "type": "object",
}

1.3 Multi-line annotations

interface doc_2 {
  /**
   * multi-line annotations
   * @type {string}
   */
  name: string;
}

result:

{
  "additionalProperties": false,
  "properties": {
    "name": {
      "description": "multi-line annotations",
      "type": "string",
    },
  },
  "required": [
    "name",
  ],
  "type": "object",
}

1.4 Multi-line annotations with default value

interface doc_4 {
  /**
   * age
   * @param {number} [age=25]
   */
  age: number;
}

result:

{
  "additionalProperties": false,
  "properties": {
    "age": {
      "default": "25",
      "description": "age",
      "type": "number",
    },
  },
  "required": [
    "age",
  ],
  "type": "object",
}

1.5 Mixed annotations with default value

interface doc_5 {
  // @param {string} [name='zane'] name
  name: string;
  /**
   * age
   * @param {number} [age=25]
   */
  age: number;
}

result:

{
  "additionalProperties": false,
  "properties": {
    "age": {
      "default": "25",
      "description": "age",
      "type": "number",
    },
    "name": {
      "default": "'zane'",
      "description": "name",
      "type": "string",
    },
  },
  "required": [
    "name",
    "age",
  ],
  "type": "object",
}