HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/rubies/default/lib/ruby/gems/3.0.0/gems/rbs-1.0.4/schema/types.json
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "base": {
      "title": "Base types",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": [
            "bool",
            "void",
            "untyped",
            "nil",
            "top",
            "bot",
            "self",
            "instance",
            "class"
          ]
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "location"]
    },
    "variable": {
      "title": "Type variables: `X`, `Y`, `Elem`, `Key`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["variable"]
        },
        "name": {
          "type": "string"
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "name", "location"]
    },
    "classSingleton": {
      "title": "Class singleton type: `singleton(Object)`, `singleton(::Kernel)`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["class_singleton"]
        },
        "name": {
          "type": "string"
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "name", "location"]
    },
    "classInstance": {
      "title": "Class instance type: `String`, `::Enumerable`, `Array[::Symbol]`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["class_instance"]
        },
        "name": {
          "type": "string"
        },
        "args": {
          "type": "array",
          "items": {
            "$ref": "#"
          }
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "name", "args", "location"]
    },
    "interface": {
      "title": "Interface type: `_Each[String, void]`, `_ToStr`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["interface"]
        },
        "name": {
          "type": "string"
        },
        "args": {
          "type": "array",
          "items": {
            "$ref": "#"
          }
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "name", "args", "location"]
    },
    "alias": {
      "title": "Type alias: `u`, `ty`, `json`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["alias"]
        },
        "name": {
          "type": "string"
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "name", "location"]
    },
    "tuple": {
      "title": "Tuple type: `[Foo, bar]`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["tuple"]
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#"
          }
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "types", "location"]
    },
    "record": {
      "title": "Record type: `{ id: Integer, email: String }`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["record"]
        },
        "fields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#"
          }
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "fields", "location"]
    },
    "optional": {
      "title": "Optional types: `Integer?`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["optional"]
        },
        "type": {
          "$ref": "#"
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "type", "location"]
    },
    "union": {
      "title": "Union types: `Integer | String`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["union"]
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#"
          }
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "types", "location"]
    },
    "intersection": {
      "title": "Intersection types: `Integer & String`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["intersection"]
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#"
          }
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "types", "location"]
    },
    "proc": {
      "title": "Proc types: `^() -> void`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["proc"]
        },
        "type": {
          "$ref": "function.json"
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "type", "location"]
    },
    "literal": {
      "title": "Literal types: `1`, `:foo`, `\"foo\"`, ...",
      "type": "object",
      "properties": {
        "class": {
          "type": "string",
          "enum": ["literal"]
        },
        "literal": {
          "type": "string"
        },
        "location": {
          "$ref": "location.json"
        }
      },
      "required": ["class", "literal", "location"]
    }
  },
  "title": "Type",
  "oneOf": [
    {
      "$ref": "#/definitions/base"
    },
    {
      "$ref": "#/definitions/variable"
    },
    {
      "$ref": "#/definitions/classInstance"
    },
    {
      "$ref": "#/definitions/classSingleton"
    },
    {
      "$ref": "#/definitions/interface"
    },
    {
      "$ref": "#/definitions/alias"
    },
    {
      "$ref": "#/definitions/tuple"
    },
    {
      "$ref": "#/definitions/record"
    },
    {
      "$ref": "#/definitions/union"
    },
    {
      "$ref": "#/definitions/intersection"
    },
    {
      "$ref": "#/definitions/optional"
    },
    {
      "$ref": "#/definitions/proc"
    },
    {
      "$ref": "#/definitions/literal"
    }
  ]
}