Skip to content

Latest commit

 

History

History
130 lines (109 loc) · 1.64 KB

type.en-US.md

File metadata and controls

130 lines (109 loc) · 1.64 KB

Type

1.1 Basic Types

type Type_1 = number;

result:

{
  "type": "number",
}

1.2 Complex Types

1.2.1 Union Types

type Type_4 = string | number | 5 | true;

result:

{
  "anyOf": [
   {
      "type": "string",
    },
   {
      "type": "number",
    },
   {
      "enum": [
        5,
        true,
      ],
    },
  ],
}

1.2.2 Union Array Types

import { AAA } from './common';

type Type_1 = number;
type Type_8 = (AAA | Type_1)[];

result:

{
  "definitions": {
    "AAA": {
      "additionalProperties": false,
      "properties": {
        "other1": {
          "type": "string",
        },
      },
      "required": [
        "other1",
      ],
      "type": "object",
    },
    "Type_1":  {
      "type": "number",
    },
  },
  "items":  {
    "anyOf": [
       {
        "$ref": "#/definitions/AAA",
      },
       {
        "$ref": "#/definitions/Type_1",
      },
    ],
  },
  "type": "array",
}

1.2.3 Import Enums

import { Label } from './common';

type Type_11 = { name: Label };

result:

{
  "definitions": {
    "Label": {
      "enum": [
        1,
        2,
        3,
      ],
      "type": "number",
    },
  },
  "properties": {
    "name": {
      "$ref": "#/definitions/Label",
    },
  },
  "required": [
    "name",
  ],
  "type": "object",
}