未验证 提交 a1facce1 编写于 作者: J Jason Desrosiers 提交者: GitHub

Bump schema version numbers for 2022-02-17 release (#2888)

上级 f6f9ab3d
{ {
"title": "OpenAPI 3.1 Schema Object Dialect",
"description": "A JSON Schema dialect describing schemas found in OpenAPI documents",
"$id": "https://spec.openapis.org/oas/3.1/dialect/base", "$id": "https://spec.openapis.org/oas/3.1/dialect/base",
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "OpenAPI 3.1 Schema Object Dialect",
"description": "A JSON Schema dialect describing schemas found in OpenAPI documents",
"$vocabulary": { "$vocabulary": {
"https://json-schema.org/draft/2020-12/vocab/core": true, "https://json-schema.org/draft/2020-12/vocab/core": true,
"https://json-schema.org/draft/2020-12/vocab/applicator": true, "https://json-schema.org/draft/2020-12/vocab/applicator": true,
...@@ -13,6 +15,7 @@ ...@@ -13,6 +15,7 @@
"https://json-schema.org/draft/2020-12/vocab/content": true, "https://json-schema.org/draft/2020-12/vocab/content": true,
"https://spec.openapis.org/oas/3.1/vocab/base": false "https://spec.openapis.org/oas/3.1/vocab/base": false
}, },
"$dynamicAnchor": "meta", "$dynamicAnchor": "meta",
"allOf": [ "allOf": [
......
--- $id: https://spec.openapis.org/oas/3.1/dialect/base
$schema: https://json-schema.org/draft/2020-12/schema
title: OpenAPI 3.1 Schema Object Dialect title: OpenAPI 3.1 Schema Object Dialect
description: A JSON Schema dialect describing schemas found in OpenAPI documents description: A JSON Schema dialect describing schemas found in OpenAPI documents
$dynamicAnchor: meta $dynamicAnchor: meta
$id: https://spec.openapis.org/oas/3.1/dialect/base
$schema: https://json-schema.org/draft/2020-12/schema
$vocabulary: $vocabulary:
https://json-schema.org/draft/2020-12/vocab/applicator: true https://json-schema.org/draft/2020-12/vocab/applicator: true
https://json-schema.org/draft/2020-12/vocab/content: true https://json-schema.org/draft/2020-12/vocab/content: true
...@@ -13,6 +15,7 @@ $vocabulary: ...@@ -13,6 +15,7 @@ $vocabulary:
https://json-schema.org/draft/2020-12/vocab/unevaluated: true https://json-schema.org/draft/2020-12/vocab/unevaluated: true
https://json-schema.org/draft/2020-12/vocab/validation: true https://json-schema.org/draft/2020-12/vocab/validation: true
https://spec.openapis.org/oas/3.1/vocab/base: false https://spec.openapis.org/oas/3.1/vocab/base: false
allOf: allOf:
- $ref: https://json-schema.org/draft/2020-12/schema - $ref: https://json-schema.org/draft/2020-12/schema
- $ref: https://spec.openapis.org/oas/3.1/meta/base - $ref: https://spec.openapis.org/oas/3.1/meta/base
{ {
"title": "OAS Base vocabulary",
"description": "A JSON Schema Vocabulary used in the OpenAPI Schema Dialect",
"$id": "https://spec.openapis.org/oas/3.1/meta/base", "$id": "https://spec.openapis.org/oas/3.1/meta/base",
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "OAS Base vocabulary",
"description": "A JSON Schema Vocabulary used in the OpenAPI Schema Dialect",
"$vocabulary": { "$vocabulary": {
"https://spec.openapis.org/oas/3.1/vocab/base": true "https://spec.openapis.org/oas/3.1/vocab/base": true
}, },
"$dynamicAnchor": "meta", "$dynamicAnchor": "meta",
"type": ["object", "boolean"], "type": ["object", "boolean"],
...@@ -15,12 +18,14 @@ ...@@ -15,12 +18,14 @@
"externalDocs": { "$ref": "#/$defs/external-docs" }, "externalDocs": { "$ref": "#/$defs/external-docs" },
"xml": { "$ref": "#/$defs/xml" } "xml": { "$ref": "#/$defs/xml" }
}, },
"$defs": { "$defs": {
"extensible": { "extensible": {
"patternProperties": { "patternProperties": {
"^x-": true "^x-": true
} }
}, },
"discriminator": { "discriminator": {
"$ref": "#/$defs/extensible", "$ref": "#/$defs/extensible",
"type": "object", "type": "object",
...@@ -38,6 +43,7 @@ ...@@ -38,6 +43,7 @@
"required": ["propertyName"], "required": ["propertyName"],
"unevaluatedProperties": false "unevaluatedProperties": false
}, },
"external-docs": { "external-docs": {
"$ref": "#/$defs/extensible", "$ref": "#/$defs/extensible",
"type": "object", "type": "object",
...@@ -53,6 +59,7 @@ ...@@ -53,6 +59,7 @@
"required": ["url"], "required": ["url"],
"unevaluatedProperties": false "unevaluatedProperties": false
}, },
"xml": { "xml": {
"$ref": "#/$defs/extensible", "$ref": "#/$defs/extensible",
"type": "object", "type": "object",
......
--- $id: https://spec.openapis.org/oas/3.1/meta/base
$schema: https://json-schema.org/draft/2020-12/schema
title: OAS Base vocabulary title: OAS Base vocabulary
description: A JSON Schema Vocabulary used in the OpenAPI Schema Dialect description: A JSON Schema Vocabulary used in the OpenAPI Schema Dialect
$dynamicAnchor: meta
$vocabulary:
https://spec.openapis.org/oas/3.1/vocab/base: true
type:
- object
- boolean
properties:
discriminator:
$ref: '#/$defs/discriminator'
example: true
externalDocs:
$ref: '#/$defs/external-docs'
xml:
$ref: '#/$defs/xml'
$defs: $defs:
discriminator: discriminator:
$ref: '#/$defs/extensible' $ref: '#/$defs/extensible'
...@@ -12,9 +32,10 @@ $defs: ...@@ -12,9 +32,10 @@ $defs:
propertyName: propertyName:
type: string type: string
required: required:
- propertyName - propertyName
type: object type: object
unevaluatedProperties: false unevaluatedProperties: false
extensible: extensible:
patternProperties: patternProperties:
^x-: true ^x-: true
...@@ -27,9 +48,10 @@ $defs: ...@@ -27,9 +48,10 @@ $defs:
format: uri-reference format: uri-reference
type: string type: string
required: required:
- url - url
type: object type: object
unevaluatedProperties: false unevaluatedProperties: false
xml: xml:
$ref: '#/$defs/extensible' $ref: '#/$defs/extensible'
properties: properties:
...@@ -46,19 +68,3 @@ $defs: ...@@ -46,19 +68,3 @@ $defs:
type: boolean type: boolean
type: object type: object
unevaluatedProperties: false unevaluatedProperties: false
$dynamicAnchor: meta
$id: https://spec.openapis.org/oas/3.1/meta/base
$schema: https://json-schema.org/draft/2020-12/schema
$vocabulary:
https://spec.openapis.org/oas/3.1/vocab/base: true
properties:
discriminator:
$ref: '#/$defs/discriminator'
example: true
externalDocs:
$ref: '#/$defs/external-docs'
xml:
$ref: '#/$defs/xml'
type:
- object
- boolean
{ {
"description": "The description of OpenAPI v3.1.x documents using the OpenAPI JSON Schema dialect, as defined by https://spec.openapis.org/oas/v3.1.0", "$id": "https://spec.openapis.org/oas/3.1/schema-base/2022-02-27",
"$id": "https://spec.openapis.org/oas/3.1/schema-base/2021-09-28",
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema",
"$ref": "https://spec.openapis.org/oas/3.1/schema/2021-09-28",
"description": "The description of OpenAPI v3.1.x documents using the OpenAPI JSON Schema dialect, as defined by https://spec.openapis.org/oas/v3.1.0",
"$ref": "https://spec.openapis.org/oas/3.1/schema/2022-02-27",
"properties": { "properties": {
"jsonSchemaDialect": { "jsonSchemaDialect": { "$ref": "#/$defs/dialect" }
"$ref": "#/$defs/dialect"
}
}, },
"$defs": { "$defs": {
"dialect": { "dialect": { "const": "https://spec.openapis.org/oas/3.1/dialect/base" },
"const": "https://spec.openapis.org/oas/3.1/dialect/base"
},
"schema": { "schema": {
"$dynamicAnchor": "meta", "$dynamicAnchor": "meta",
"$ref": "https://spec.openapis.org/oas/3.1/dialect/base", "$ref": "https://spec.openapis.org/oas/3.1/dialect/base",
"properties": { "properties": {
"$schema": { "$schema": { "$ref": "#/$defs/dialect" }
"$ref": "#/$defs/dialect"
}
} }
} }
} }
} }
\ No newline at end of file
description: The description of OpenAPI v3.1.x documents using the OpenAPI JSON Schema dialect, as defined by https://spec.openapis.org/oas/v3.1.0 $id: 'https://spec.openapis.org/oas/3.1/schema-base/2022-02-27'
$id: 'https://spec.openapis.org/oas/3.1/schema-base/2021-09-28'
$schema: 'https://json-schema.org/draft/2020-12/schema' $schema: 'https://json-schema.org/draft/2020-12/schema'
$ref: 'https://spec.openapis.org/oas/3.1/schema/2021-09-28' description: The description of OpenAPI v3.1.x documents using the OpenAPI JSON Schema dialect, as defined by https://spec.openapis.org/oas/v3.1.0
$ref: 'https://spec.openapis.org/oas/3.1/schema/2022-02-27'
properties: properties:
jsonSchemaDialect: jsonSchemaDialect:
$ref: '#/$defs/dialect' $ref: '#/$defs/dialect'
...@@ -10,6 +11,7 @@ properties: ...@@ -10,6 +11,7 @@ properties:
$defs: $defs:
dialect: dialect:
const: 'https://spec.openapis.org/oas/3.1/dialect/base' const: 'https://spec.openapis.org/oas/3.1/dialect/base'
schema: schema:
$dynamicAnchor: meta $dynamicAnchor: meta
$ref: 'https://spec.openapis.org/oas/3.1/dialect/base' $ref: 'https://spec.openapis.org/oas/3.1/dialect/base'
......
{ {
"description": "The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0", "$id": "https://spec.openapis.org/oas/3.1/schema/2022-02-27",
"$id": "https://spec.openapis.org/oas/3.1/schema/2021-09-28",
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0",
"type": "object", "type": "object",
"properties": { "properties": {
"openapi": { "openapi": {
......
description: The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0 $id: 'https://spec.openapis.org/oas/3.1/schema/2022-02-27'
$id: 'https://spec.openapis.org/oas/3.1/schema/2021-09-28'
$schema: 'https://json-schema.org/draft/2020-12/schema' $schema: 'https://json-schema.org/draft/2020-12/schema'
description: The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0
type: object type: object
properties: properties:
openapi: openapi:
......
...@@ -25,7 +25,7 @@ const args = process.argv.reduce((acc, arg) => { ...@@ -25,7 +25,7 @@ const args = process.argv.reduce((acc, arg) => {
(async function () { (async function () {
try { try {
const schemaType = args.schema || "schema"; const schemaType = args.schema || "schema";
const schemaVersion = args.version || "2021-03-02"; const schemaVersion = args.version || "2022-02-27";
const outputFormat = args.format || JsonSchema.BASIC; const outputFormat = args.format || JsonSchema.BASIC;
// Config // Config
......
...@@ -14,7 +14,7 @@ before(async () => { ...@@ -14,7 +14,7 @@ before(async () => {
JsonSchema.add(dialect); JsonSchema.add(dialect);
JsonSchema.add(vocabulary); JsonSchema.add(vocabulary);
JsonSchema.add(yaml.parse(fs.readFileSync(`${__dirname}/../../schemas/v3.1/schema.yaml`, "utf8"), { prettyErrors: true })); JsonSchema.add(yaml.parse(fs.readFileSync(`${__dirname}/../../schemas/v3.1/schema.yaml`, "utf8"), { prettyErrors: true }));
metaSchema = await JsonSchema.get("https://spec.openapis.org/oas/3.1/schema/2021-09-28"); metaSchema = await JsonSchema.get("https://spec.openapis.org/oas/3.1/schema/2022-02-27");
}); });
describe("v3.1 Pass", () => { describe("v3.1 Pass", () => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册