UNPKG

node-blaze

Version:

Bindings to blaze, high-performance C++ JSON Schema validator

143 lines (142 loc) 3.41 kB
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "paths": { "$ref": "#/$defs/paths" } }, "$defs": { "paths": { "patternProperties": { "^/": { "$ref": "#/$defs/path-item" } } }, "path-item": { "properties": { "get": { "$ref": "#/$defs/operation" }, "post": { "$ref": "#/$defs/operation" }, "delete": { "$ref": "#/$defs/operation" }, "patch": { "$ref": "#/$defs/operation" } } }, "operation": { "properties": { "parameters": { "items": { "$ref": "#/$defs/parameter" } }, "responses": { "$ref": "#/$defs/responses" } } }, "parameter": { "properties": { "name": true, "in": true, "description": true, "required": true, "schema": true }, "dependentSchemas": { "schema": { "allOf": [ { "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path" }, { "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query" } ], "$defs": { "styles-for-path": { "if": { "properties": { "in": { "const": "path" } }, "required": [ "in" ] }, "then": { "properties": { "style": true, "required": true } } }, "styles-for-query": { "if": { "properties": { "in": { "const": "query" } }, "required": [ "in" ] }, "then": { "properties": { "style": true, "allowReserved": true } } } } } } }, "responses": { "patternProperties": { "^[1-5](?:[0-9]{2}|XX)$": { "$ref": "#/$defs/response-or-reference" } } }, "response-or-reference": { "if": { "required": [ "$ref" ] }, "then": { "$ref": "#/$defs/reference" }, "else": { "$ref": "#/$defs/response" } }, "reference": { "properties": { "$ref": true, "summary": true, "description": true } }, "response": { "properties": { "description": true, "content": { "$ref": "#/$defs/content" } }, "required": [ "description" ] }, "content": { "additionalProperties": { "$ref": "#/$defs/media-type" } }, "media-type": { "properties": { "schema": true }, "allOf": [ { "$ref": "#/$defs/examples" } ] }, "example": { "properties": { "summary": true, "description": true, "value": true }, "unevaluatedProperties": false }, "example-or-reference": { "if": { "required": [ "$ref" ] }, "then": { "$ref": "#/$defs/reference" }, "else": { "$ref": "#/$defs/example" } }, "examples": { "properties": { "example": true, "examples": { "additionalProperties": { "$ref": "#/$defs/example-or-reference" } } } } } }