mirror of
				https://github.com/Redocly/redoc.git
				synced 2025-10-31 15:57:30 +03:00 
			
		
		
		
	fix: merge reference for openapi 3.1 (#2063)
This commit is contained in:
		
							parent
							
								
									e26c8b23d9
								
							
						
					
					
						commit
						87541e45dc
					
				|  | @ -1181,6 +1181,7 @@ components: | ||||||
|       type: object |       type: object | ||||||
|       properties: |       properties: | ||||||
|         id: |         id: | ||||||
|  |           type: number | ||||||
|           description: Tag ID |           description: Tag ID | ||||||
|           $ref: '#/components/schemas/Id' |           $ref: '#/components/schemas/Id' | ||||||
|         name: |         name: | ||||||
|  |  | ||||||
|  | @ -823,6 +823,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView | ||||||
|               "discriminator": Object { |               "discriminator": Object { | ||||||
|                 "propertyName": "type", |                 "propertyName": "type", | ||||||
|               }, |               }, | ||||||
|  |               "format": undefined, | ||||||
|               "parentRefs": Array [ |               "parentRefs": Array [ | ||||||
|                 "#/components/schemas/Pet", |                 "#/components/schemas/Pet", | ||||||
|               ], |               ], | ||||||
|  | @ -1643,6 +1644,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView | ||||||
|               "discriminator": Object { |               "discriminator": Object { | ||||||
|                 "propertyName": "type", |                 "propertyName": "type", | ||||||
|               }, |               }, | ||||||
|  |               "format": undefined, | ||||||
|               "parentRefs": Array [ |               "parentRefs": Array [ | ||||||
|                 "#/components/schemas/Pet", |                 "#/components/schemas/Pet", | ||||||
|               ], |               ], | ||||||
|  | @ -2721,6 +2723,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView | ||||||
|         "discriminator": Object { |         "discriminator": Object { | ||||||
|           "propertyName": "type", |           "propertyName": "type", | ||||||
|         }, |         }, | ||||||
|  |         "format": undefined, | ||||||
|         "parentRefs": Array [ |         "parentRefs": Array [ | ||||||
|           "#/components/schemas/Pet", |           "#/components/schemas/Pet", | ||||||
|         ], |         ], | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| import { OpenAPIRef, OpenAPISchema, OpenAPISpec, Referenced } from '../types'; | import { OpenAPIRef, OpenAPISchema, OpenAPISpec, Referenced } from '../types'; | ||||||
| 
 | 
 | ||||||
| import { isArray, isBoolean, IS_BROWSER } from '../utils/'; | import { isArray, isBoolean, IS_BROWSER } from '../utils'; | ||||||
| import { JsonPointer } from '../utils/JsonPointer'; | import { JsonPointer } from '../utils/JsonPointer'; | ||||||
| import { getDefinitionName, isNamedDefinition } from '../utils/openapi'; | import { getDefinitionName, isNamedDefinition } from '../utils/openapi'; | ||||||
| import { RedocNormalizedOptions } from './RedocNormalizedOptions'; | import { RedocNormalizedOptions } from './RedocNormalizedOptions'; | ||||||
|  | @ -173,7 +173,7 @@ export class OpenAPIParser { | ||||||
|       keys.some(k => k !== 'description' && k !== 'title' && k !== 'externalDocs') |       keys.some(k => k !== 'description' && k !== 'title' && k !== 'externalDocs') | ||||||
|     ) { |     ) { | ||||||
|       return { |       return { | ||||||
|         allOf: [rest, resolved], |         allOf: [resolved, rest], | ||||||
|       }; |       }; | ||||||
|     } else { |     } else { | ||||||
|       // small optimization
 |       // small optimization
 | ||||||
|  | @ -244,6 +244,7 @@ export class OpenAPIParser { | ||||||
|     for (const { $ref: subSchemaRef, schema: subSchema } of allOfSchemas) { |     for (const { $ref: subSchemaRef, schema: subSchema } of allOfSchemas) { | ||||||
|       const { |       const { | ||||||
|         type, |         type, | ||||||
|  |         format, | ||||||
|         enum: enumProperty, |         enum: enumProperty, | ||||||
|         properties, |         properties, | ||||||
|         items, |         items, | ||||||
|  | @ -263,6 +264,7 @@ export class OpenAPIParser { | ||||||
|           receiver.type = [...type, ...receiver.type]; |           receiver.type = [...type, ...receiver.type]; | ||||||
|         } else { |         } else { | ||||||
|           receiver.type = type; |           receiver.type = type; | ||||||
|  |           receiver.format = format; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ exports[`Models Schema schemaDefinition should resolve field with conditional op | ||||||
| Object { | Object { | ||||||
|   "allOf": undefined, |   "allOf": undefined, | ||||||
|   "default": undefined, |   "default": undefined, | ||||||
|  |   "format": undefined, | ||||||
|   "items": Object { |   "items": Object { | ||||||
|     "allOf": undefined, |     "allOf": undefined, | ||||||
|     "format": "url", |     "format": "url", | ||||||
|  | @ -24,6 +25,7 @@ exports[`Models Schema schemaDefinition should resolve field with conditional op | ||||||
| Object { | Object { | ||||||
|   "allOf": undefined, |   "allOf": undefined, | ||||||
|   "default": undefined, |   "default": undefined, | ||||||
|  |   "format": undefined, | ||||||
|   "items": Object { |   "items": Object { | ||||||
|     "allOf": undefined, |     "allOf": undefined, | ||||||
|     "format": "url", |     "format": "url", | ||||||
|  | @ -48,6 +50,7 @@ Object { | ||||||
| exports[`Models Schema schemaDefinition should resolve schema with conditional operators 1`] = ` | exports[`Models Schema schemaDefinition should resolve schema with conditional operators 1`] = ` | ||||||
| Object { | Object { | ||||||
|   "allOf": undefined, |   "allOf": undefined, | ||||||
|  |   "format": undefined, | ||||||
|   "maxItems": 2, |   "maxItems": 2, | ||||||
|   "parentRefs": Array [], |   "parentRefs": Array [], | ||||||
|   "properties": Object { |   "properties": Object { | ||||||
|  | @ -57,6 +60,7 @@ Object { | ||||||
|       "enum": Array [ |       "enum": Array [ | ||||||
|         10, |         10, | ||||||
|       ], |       ], | ||||||
|  |       "format": undefined, | ||||||
|       "items": Object { |       "items": Object { | ||||||
|         "allOf": undefined, |         "allOf": undefined, | ||||||
|         "format": "url", |         "format": "url", | ||||||
|  | @ -83,6 +87,7 @@ Object { | ||||||
| exports[`Models Schema schemaDefinition should resolve schema with conditional operators 2`] = ` | exports[`Models Schema schemaDefinition should resolve schema with conditional operators 2`] = ` | ||||||
| Object { | Object { | ||||||
|   "allOf": undefined, |   "allOf": undefined, | ||||||
|  |   "format": undefined, | ||||||
|   "maxItems": 20, |   "maxItems": 20, | ||||||
|   "parentRefs": Array [], |   "parentRefs": Array [], | ||||||
|   "properties": Object { |   "properties": Object { | ||||||
|  |  | ||||||
|  | @ -2261,6 +2261,7 @@ Object { | ||||||
|           "id": Object { |           "id": Object { | ||||||
|             "$ref": "#/components/schemas/Id", |             "$ref": "#/components/schemas/Id", | ||||||
|             "description": "Tag ID", |             "description": "Tag ID", | ||||||
|  |             "type": "number", | ||||||
|           }, |           }, | ||||||
|           "name": Object { |           "name": Object { | ||||||
|             "description": "Tag name", |             "description": "Tag name", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user