@redocly/reference-docs 2.25.2 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +167 -136
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
  3. package/dist/console.redocly-reference-docs.min.js +118 -118
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +611 -580
  6. package/lib/components/Endpoint/ServerList.js +1 -1
  7. package/lib/components/Panel/ResponsePanel.js +1 -1
  8. package/lib/components/Samples/ExampleSwitch.d.ts +1 -2
  9. package/lib/components/Samples/ExampleSwitch.js +1 -1
  10. package/lib/redoc-lib/src/common-elements/headers.d.ts +4 -1
  11. package/lib/redoc-lib/src/common-elements/headers.js +1 -1
  12. package/lib/redoc-lib/src/common-elements/linkify.js +1 -1
  13. package/lib/redoc-lib/src/components/ApiInfo/ApiInfo.d.ts +1 -1
  14. package/lib/redoc-lib/src/components/ApiInfo/ApiInfo.js +1 -1
  15. package/lib/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
  16. package/lib/redoc-lib/src/components/ContentItems/ContentItems.d.ts +3 -5
  17. package/lib/redoc-lib/src/components/ContentItems/ContentItems.js +1 -1
  18. package/lib/redoc-lib/src/components/ExternalDocumentation/ExternalDocumentation.js +1 -1
  19. package/lib/redoc-lib/src/components/Fields/EnumValues.js +1 -1
  20. package/lib/redoc-lib/src/components/Fields/Extensions.d.ts +1 -1
  21. package/lib/redoc-lib/src/components/Fields/Extensions.js +1 -1
  22. package/lib/redoc-lib/src/components/Fields/FieldDetails.js +1 -1
  23. package/lib/redoc-lib/src/components/Markdown/AdvancedMarkdown.d.ts +3 -13
  24. package/lib/redoc-lib/src/components/Markdown/AdvancedMarkdown.js +1 -1
  25. package/lib/redoc-lib/src/components/Markdown/Markdown.d.ts +1 -13
  26. package/lib/redoc-lib/src/components/Markdown/Markdown.js +1 -1
  27. package/lib/redoc-lib/src/components/Markdown/{SanitizedMdBlock.d.ts → SanitizedMarkdownHTML.d.ts} +1 -1
  28. package/lib/redoc-lib/src/components/Markdown/SanitizedMarkdownHTML.js +2 -0
  29. package/lib/redoc-lib/src/components/Markdown/index.d.ts +4 -0
  30. package/lib/redoc-lib/src/components/Markdown/index.js +2 -0
  31. package/lib/redoc-lib/src/components/Markdown/{styled.elements.d.ts → styled.d.ts} +0 -0
  32. package/lib/redoc-lib/src/components/Markdown/{styled.elements.js → styled.js} +1 -1
  33. package/lib/redoc-lib/src/components/Markdown/types.d.ts +17 -0
  34. package/lib/redoc-lib/src/{services/MenuStore.js → components/Markdown/types.js} +1 -1
  35. package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
  36. package/lib/redoc-lib/src/components/OptionsProvider.d.ts +1 -0
  37. package/lib/redoc-lib/src/components/OptionsProvider.js +1 -1
  38. package/lib/redoc-lib/src/components/Parameters/Parameters.js +1 -1
  39. package/lib/redoc-lib/src/components/PayloadSamples/Example.js +1 -1
  40. package/lib/redoc-lib/src/components/PayloadSamples/ExampleValue.d.ts +5 -1
  41. package/lib/redoc-lib/src/components/PayloadSamples/ExampleValue.js +1 -1
  42. package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  43. package/lib/redoc-lib/src/components/RenderHook.d.ts +1 -2
  44. package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
  45. package/lib/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
  46. package/lib/redoc-lib/src/components/Responses/ResponseSummary.js +1 -1
  47. package/lib/redoc-lib/src/components/Schema/OneOfSchema.js +1 -1
  48. package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
  49. package/lib/redoc-lib/src/components/SearchBox/SearchBox.d.ts +1 -2
  50. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityDefs.js +1 -1
  51. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
  52. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementElement.js +1 -1
  53. package/lib/redoc-lib/src/components/SecuritySchemes/SecuritySchemes.js +1 -1
  54. package/lib/redoc-lib/src/components/SideMenu/SideMenu.d.ts +1 -1
  55. package/lib/redoc-lib/src/components/SourceCode/SourceCode.d.ts +1 -1
  56. package/lib/redoc-lib/src/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -1
  57. package/lib/redoc-lib/src/components/StoreBuilder.d.ts +3 -3
  58. package/lib/redoc-lib/src/components/StoreBuilder.js +1 -1
  59. package/lib/redoc-lib/src/components/index.d.ts +1 -2
  60. package/lib/redoc-lib/src/components/index.js +1 -1
  61. package/lib/redoc-lib/src/services/Labels.d.ts +1 -28
  62. package/lib/redoc-lib/src/services/MarkdownRenderer.d.ts +2 -17
  63. package/lib/redoc-lib/src/services/MarkdownRenderer.js +1 -1
  64. package/lib/redoc-lib/src/services/MenuBuilder.d.ts +2 -25
  65. package/lib/redoc-lib/src/services/MenuBuilder.js +1 -1
  66. package/lib/redoc-lib/src/services/OpenAPIParser.d.ts +1 -3
  67. package/lib/redoc-lib/src/services/RedocNormalizedOptions.d.ts +3 -115
  68. package/lib/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  69. package/lib/redoc-lib/src/services/SearchStore.d.ts +1 -2
  70. package/lib/redoc-lib/src/services/SearchWorker.worker.d.ts +1 -9
  71. package/lib/redoc-lib/src/services/SpecStore.d.ts +1 -1
  72. package/lib/redoc-lib/src/services/constants.d.ts +4 -0
  73. package/lib/redoc-lib/src/services/constants.js +1 -1
  74. package/lib/redoc-lib/src/services/index.d.ts +12 -12
  75. package/lib/redoc-lib/src/services/index.js +1 -1
  76. package/lib/redoc-lib/src/services/models/Example.d.ts +4 -1
  77. package/lib/redoc-lib/src/services/models/Example.js +1 -1
  78. package/lib/redoc-lib/src/services/models/Group.model.d.ts +1 -3
  79. package/lib/redoc-lib/src/services/models/MediaType.js +1 -1
  80. package/lib/redoc-lib/src/services/models/Operation.d.ts +1 -3
  81. package/lib/redoc-lib/src/services/models/Schema.js +1 -1
  82. package/lib/redoc-lib/src/services/types.d.ts +210 -0
  83. package/lib/redoc-lib/src/services/types.js +2 -0
  84. package/lib/redoc-lib/src/utils/argValuesHelpers.d.ts +1 -1
  85. package/lib/redoc-lib/src/utils/argValuesHelpers.js +1 -1
  86. package/lib-esm/components/Endpoint/ServerList.js +1 -1
  87. package/lib-esm/components/Panel/ResponsePanel.js +1 -1
  88. package/lib-esm/components/Samples/ExampleSwitch.d.ts +1 -2
  89. package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
  90. package/lib-esm/redoc-lib/src/common-elements/headers.d.ts +4 -1
  91. package/lib-esm/redoc-lib/src/common-elements/headers.js +1 -1
  92. package/lib-esm/redoc-lib/src/common-elements/linkify.js +1 -1
  93. package/lib-esm/redoc-lib/src/components/ApiInfo/ApiInfo.d.ts +1 -1
  94. package/lib-esm/redoc-lib/src/components/ApiInfo/ApiInfo.js +1 -1
  95. package/lib-esm/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
  96. package/lib-esm/redoc-lib/src/components/ContentItems/ContentItems.d.ts +3 -5
  97. package/lib-esm/redoc-lib/src/components/ContentItems/ContentItems.js +1 -1
  98. package/lib-esm/redoc-lib/src/components/ExternalDocumentation/ExternalDocumentation.js +1 -1
  99. package/lib-esm/redoc-lib/src/components/Fields/EnumValues.js +1 -1
  100. package/lib-esm/redoc-lib/src/components/Fields/Extensions.d.ts +1 -1
  101. package/lib-esm/redoc-lib/src/components/Fields/Extensions.js +1 -1
  102. package/lib-esm/redoc-lib/src/components/Fields/FieldDetails.js +1 -1
  103. package/lib-esm/redoc-lib/src/components/Markdown/AdvancedMarkdown.d.ts +3 -13
  104. package/lib-esm/redoc-lib/src/components/Markdown/AdvancedMarkdown.js +1 -1
  105. package/lib-esm/redoc-lib/src/components/Markdown/Markdown.d.ts +1 -13
  106. package/lib-esm/redoc-lib/src/components/Markdown/Markdown.js +1 -1
  107. package/lib-esm/redoc-lib/src/components/Markdown/{SanitizedMdBlock.d.ts → SanitizedMarkdownHTML.d.ts} +1 -1
  108. package/lib-esm/redoc-lib/src/components/Markdown/SanitizedMarkdownHTML.js +2 -0
  109. package/lib-esm/redoc-lib/src/components/Markdown/index.d.ts +4 -0
  110. package/lib-esm/redoc-lib/src/components/Markdown/index.js +2 -0
  111. package/lib-esm/redoc-lib/src/components/Markdown/{styled.elements.d.ts → styled.d.ts} +0 -0
  112. package/lib-esm/redoc-lib/src/components/Markdown/{styled.elements.js → styled.js} +1 -1
  113. package/lib-esm/redoc-lib/src/components/Markdown/types.d.ts +17 -0
  114. package/lib-esm/redoc-lib/src/components/Markdown/types.js +2 -0
  115. package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
  116. package/lib-esm/redoc-lib/src/components/OptionsProvider.d.ts +1 -0
  117. package/lib-esm/redoc-lib/src/components/OptionsProvider.js +1 -1
  118. package/lib-esm/redoc-lib/src/components/Parameters/Parameters.js +1 -1
  119. package/lib-esm/redoc-lib/src/components/PayloadSamples/Example.js +1 -1
  120. package/lib-esm/redoc-lib/src/components/PayloadSamples/ExampleValue.d.ts +5 -1
  121. package/lib-esm/redoc-lib/src/components/PayloadSamples/ExampleValue.js +1 -1
  122. package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  123. package/lib-esm/redoc-lib/src/components/RenderHook.d.ts +1 -2
  124. package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
  125. package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
  126. package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.js +1 -1
  127. package/lib-esm/redoc-lib/src/components/Schema/OneOfSchema.js +1 -1
  128. package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
  129. package/lib-esm/redoc-lib/src/components/SearchBox/SearchBox.d.ts +1 -2
  130. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityDefs.js +1 -1
  131. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
  132. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementElement.js +1 -1
  133. package/lib-esm/redoc-lib/src/components/SecuritySchemes/SecuritySchemes.js +1 -1
  134. package/lib-esm/redoc-lib/src/components/SideMenu/SideMenu.d.ts +1 -1
  135. package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.d.ts +1 -1
  136. package/lib-esm/redoc-lib/src/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -1
  137. package/lib-esm/redoc-lib/src/components/StoreBuilder.d.ts +3 -3
  138. package/lib-esm/redoc-lib/src/components/StoreBuilder.js +1 -1
  139. package/lib-esm/redoc-lib/src/components/index.d.ts +1 -2
  140. package/lib-esm/redoc-lib/src/components/index.js +1 -1
  141. package/lib-esm/redoc-lib/src/services/Labels.d.ts +1 -28
  142. package/lib-esm/redoc-lib/src/services/MarkdownRenderer.d.ts +2 -17
  143. package/lib-esm/redoc-lib/src/services/MarkdownRenderer.js +1 -1
  144. package/lib-esm/redoc-lib/src/services/MenuBuilder.d.ts +2 -25
  145. package/lib-esm/redoc-lib/src/services/MenuBuilder.js +1 -1
  146. package/lib-esm/redoc-lib/src/services/OpenAPIParser.d.ts +1 -3
  147. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.d.ts +3 -115
  148. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  149. package/lib-esm/redoc-lib/src/services/SearchStore.d.ts +1 -2
  150. package/lib-esm/redoc-lib/src/services/SearchWorker.worker.d.ts +1 -9
  151. package/lib-esm/redoc-lib/src/services/SpecStore.d.ts +1 -1
  152. package/lib-esm/redoc-lib/src/services/constants.d.ts +4 -0
  153. package/lib-esm/redoc-lib/src/services/constants.js +1 -1
  154. package/lib-esm/redoc-lib/src/services/index.d.ts +12 -12
  155. package/lib-esm/redoc-lib/src/services/index.js +1 -1
  156. package/lib-esm/redoc-lib/src/services/models/Example.d.ts +4 -1
  157. package/lib-esm/redoc-lib/src/services/models/Example.js +1 -1
  158. package/lib-esm/redoc-lib/src/services/models/Group.model.d.ts +1 -3
  159. package/lib-esm/redoc-lib/src/services/models/MediaType.js +1 -1
  160. package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +1 -3
  161. package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
  162. package/lib-esm/redoc-lib/src/services/types.d.ts +210 -0
  163. package/lib-esm/redoc-lib/src/services/types.js +2 -0
  164. package/lib-esm/redoc-lib/src/utils/argValuesHelpers.d.ts +1 -1
  165. package/lib-esm/redoc-lib/src/utils/argValuesHelpers.js +1 -1
  166. package/package.json +12 -5
  167. package/lib/redoc-lib/src/components/Markdown/SanitizedMdBlock.js +0 -2
  168. package/lib/redoc-lib/src/services/MenuStore.d.ts +0 -22
  169. package/lib-esm/redoc-lib/src/components/Markdown/SanitizedMdBlock.js +0 -2
  170. package/lib-esm/redoc-lib/src/services/MenuStore.d.ts +0 -22
  171. package/lib-esm/redoc-lib/src/services/MenuStore.js +0 -2
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__rest,__spreadArray}from"tslib";import{action,observable,makeObservable}from"mobx";import{detectType,extractExtensions,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../../utils/";import{l}from"../Labels";import{FieldModel}from"./Field";var SchemaModel=function(){function e(e,i,t,r,n,a,s){void 0===n&&(n=!1),void 0===s&&(s={}),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"deps",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typePrefix",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isPrimitive",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCircular",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"format",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayFormat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nullable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"example",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enum",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writeOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"constraints",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOfType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"discriminatorProp",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeOneOf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"rawSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"x-enumDescriptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"const",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentEncoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=i.$ref||t||"",this.rawSchema=e.deref(i,!1,!0),this.schema=e.mergeAllOf(this.rawSchema,this.pointer,n),this.init(e,n),e.exitRef(i),e.exitParents(this.schema),r.showExtensions&&(this.extensions=extractExtensions(this.schema,r.showExtensions))}return Object.defineProperty(e.prototype,"activateOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeOneOf=e}}),Object.defineProperty(e.prototype,"hasType",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.type===e||Array.isArray(this.type)&&this.type.includes(e)}}),Object.defineProperty(e.prototype,"fields",{get:function(){if(!this.isCircular)return!this._fields&&this.hasType("object")&&(this._fields=buildFields(this.parser,this.schema,this.pointer,this.options,this,this.deps)),this._fields},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasCircularParent",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var i=this;if(this.parent){if(e.some((function(e){var t,r;if(!e)return!1;var n=i.parent;return(null==n?void 0:n.pointer)===e||(!!(null===(r=null===(t=null==n?void 0:n.schema.parentRefs)||void 0===t?void 0:t.some)||void 0===r?void 0:r.call(t,(function(i){return i===e})))||void 0)})))return!0;if(this.parent.hasCircularParent(e))return!0}return!1}}),Object.defineProperty(e.prototype,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r,n,a,s,o,p,d,u,f=this,c=this.schema;if(this.isCircular=c["x-circular-ref"]||this.hasCircularParent(__spreadArray([this.pointer],this.schema.parentRefs||[],!0)),this.title=c.title||isNamedDefinition(this.pointer)&&JsonPointer.baseName(this.pointer)||"",this.description=c.description||"",this.type=c.type||detectType(c),this.format=c.format,this.enum=c.enum||[],this["x-enumDescriptions"]=c["x-enumDescriptions"],this.example=c.example,this.deprecated=!!c.deprecated,this.pattern=c.pattern,this.externalDocs=c.externalDocs,this.constraints=humanizeConstraints(c),this.displayFormat=this.format,this.isPrimitive=isPrimitiveType(c,this.type),this.default=c.default,this.readOnly=!!c.readOnly,this.writeOnly=!!c.writeOnly,this.const=c.const||"",this.contentEncoding=c.contentEncoding,this.contentMediaType=c.contentMediaType,this.minItems=c.minItems,this.maxItems=c.maxItems,(c.nullable||c["x-nullable"])&&(Array.isArray(this.type)&&!this.type.some((function(e){return null===e||"null"===e}))?this.type=__spreadArray(__spreadArray([],this.type,!0),["null"],!1):Array.isArray(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=Array.isArray(this.type)?this.type.map((function(e){return null===e?"null":e})).join(" or "):this.type,!this.isCircular)if(c.if&&c.then||c.if&&c.else)this.initConditionalOperators(c,i);else if(t||void 0===getDiscriminator(c)){if(t&&Array.isArray(c.oneOf)&&c.oneOf.find((function(e){return e.$ref===f.pointer}))&&delete c.oneOf,void 0!==c.oneOf)return this.initOneOf(c.oneOf,i),this.oneOfType="One of",void(void 0!==c.anyOf&&console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf at "+this.pointer));if(void 0!==c.anyOf)return this.initOneOf(c.anyOf,i),void(this.oneOfType="Any of");if(this.hasType("array")&&(Array.isArray(c.items)||Array.isArray(c.prefixItems)?this._fields=buildFields(i,c,this.pointer,this.options,this,this.deps):isObject(c.items)&&(this.items=new e(i,c.items,this.pointer+"/items",this.options)),this.displayType=c.prefixItems||Array.isArray(c.items)?"items":pluralizeType((null===(r=this.items)||void 0===r?void 0:r.displayType)||this.displayType),this.displayFormat=(null===(n=this.items)||void 0===n?void 0:n.format)||"",this.typePrefix=(null===(a=this.items)||void 0===a?void 0:a.typePrefix)||""+l("arrayOf"),this.title=this.title||(null===(s=this.items)||void 0===s?void 0:s.title)||"",this.isPrimitive=void 0!==(null===(o=this.items)||void 0===o?void 0:o.isPrimitive)?null===(p=this.items)||void 0===p?void 0:p.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null===(d=this.items)||void 0===d?void 0:d.example)&&(this.example=[this.items.example]),(null===(u=this.items)||void 0===u?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),Array.isArray(this.type))){var h=this.type.filter((function(e){return"array"!==e}));h.length&&(this.displayType+=" or "+h.join(" or "))}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(c,i)}}),Object.defineProperty(e.prototype,"initOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this;if(this.oneOf=i.map((function(i,n){var a=t.deref(i,!1,!0),s=t.mergeAllOf(a,r.pointer+"/oneOf/"+n),o=isNamedDefinition(i.$ref)&&!s.title?JsonPointer.baseName(i.$ref):""+(s.title||"")+(s.const&&JSON.stringify(s.const)||""),l=new e(t,__assign(__assign({},s),{title:o,allOf:[__assign(__assign({},r.schema),{oneOf:void 0,anyOf:void 0})]}),r.pointer+"/oneOf/"+n,r.options,!1,r.parent,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return t.exitRef(i),t.exitParents(s),l})),this.options.simpleOneOfTypeLabel){var n=collectUniqueOneOfTypesDeep(this);this.displayType=n.join(" or ")}else this.displayType=this.oneOf.map((function(e){var i=e.typePrefix+(e.title?e.title+" ("+e.displayType+")":e.displayType);return i.indexOf(" or ")>-1&&(i="("+i+")"),i})).join(" or ")}}),Object.defineProperty(e.prototype,"initDiscriminator",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=getDiscriminator(i);this.discriminatorProp=null==n?void 0:n.propertyName;var a=t.findDerived(__spreadArray(__spreadArray([],i.parentRefs||[],!0),[this.pointer],!1));if(i.oneOf)for(var s=0,o=i.oneOf;s<o.length;s++){var l=o[s];if(void 0!==l.$ref){var p=JsonPointer.baseName(l.$ref);a[l.$ref]=p}}var d=(null==n?void 0:n.mapping)||{},u=(null==n?void 0:n["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(u=!1);var f={};for(var c in d){var h=d[c];Array.isArray(f[h])?f[h].push(c):f[h]=[c]}for(var b=__assign(u?{}:__assign({},a),f),m=[],y=0,v=Object.keys(b);y<v.length;y++){var O=b[h=v[y]];if(Array.isArray(O))for(var P=0,g=O;P<g.length;P++){var w=g[P];m.push({$ref:h,name:w})}else m.push({$ref:h,name:O})}var j=Object.keys(d);0!==j.length&&(m=m.sort((function(e,i){var t=j.indexOf(e.name),r=j.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r}))),this.oneOf=m.map((function(i,n){var a=i.$ref,s=i.name,o=new e(t,t.byRef(a),a,r.options,!0,r.parent,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return o.title=s,o}))}}),Object.defineProperty(e.prototype,"initConditionalOperators",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=i.if,a=i.else,s=void 0===a?{}:a,o=i.then,l=void 0===o?{}:o,p=__rest(i,["if","else","then"]),d=[{allOf:[p,l,n],title:n&&n["x-displayName"]||(null==n?void 0:n.title)||"case 1"},{allOf:[p,s],title:s&&s["x-displayName"]||(null==s?void 0:s.title)||"case 2"}];this.oneOf=d.map((function(i,n){return new e(t,__assign({},i),r.pointer+"/oneOf/"+n,r.options,!1,r.parent,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.oneOfType="One of"}}),__decorate([observable],e.prototype,"activeOneOf",void 0),__decorate([action],e.prototype,"activateOneOf",null),e}();export{SchemaModel};function normalizeField(e,i,t){return e||(console.warn('Field "'+i+'" is invalid, skipping.\n Field must be an object but got '+typeof e+' at "'+t+'"'),{})}function buildFields(e,i,t,r,n,a){var s=i.properties||i.prefixItems||i.items||{},o=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{},u=Object.keys(s).map((function(o){var l,p=normalizeField(s[o],o,t),u=void 0!==i.required&&i.required.indexOf(o)>-1;return new FieldModel(e,{name:i.properties?o:"["+o+"]",required:u,schema:__assign(__assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[o])||p.example,default:void 0===p.default&&d?d[o]:p.default})},t+"/properties/"+o,r,n,a)}));return r.sortPropsAlphabetically&&(u=sortByField(u,"name")),r.requiredPropsFirst&&(u=sortByRequired(u,r.sortPropsAlphabetically?void 0:i.required)),u.push.apply(u,Object.keys(o).map((function(i){var s=normalizeField(o[i],i,t);return new FieldModel(e,{name:i,required:!1,schema:s,kind:"patternProperties"},t+"/patternProperties/"+i,r,n,a)}))),(isObject(l)||!0===l)&&u.push(new FieldModel(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,n,a)),u.push.apply(u,buildAdditionalItems({parser:e,schema:p,fieldsCount:u.length,$ref:t,options:r,parent:n,deps:a})),u}function buildAdditionalItems(e){var i=e.parser,t=e.schema,r=void 0!==t&&t,n=e.fieldsCount,a=e.$ref,s=e.options,o=e.parent,l=e.deps;return"boolean"==typeof r?r?[new FieldModel(i,{name:"["+n+"...]",schema:{},kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]:Array.isArray(r)?__spreadArray([],r.map((function(e,t){return new FieldModel(i,{name:"["+(n+t)+"]",schema:e,kind:"additionalItems"},a+"/additionalItems/"+t,s,o,l)})),!0):isObject(r)?[new FieldModel(i,{name:"["+n+"...]",schema:r,kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){var i=new Set;return function e(t){for(var r=0,n=t.oneOf||[];r<n.length;r++){var a=n[r];a.oneOf?e(a):a.type&&i.add(a.type)}}(e),Array.from(i.values())}
1
+ import{__assign,__decorate,__rest,__spreadArray}from"tslib";import{action,observable,makeObservable}from"mobx";import{detectType,extractExtensions,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../../utils/";import{l}from"../Labels";import{FieldModel}from"./Field";var SchemaModel=function(){function e(e,i,t,r,n,a,s){void 0===n&&(n=!1),void 0===s&&(s={}),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"deps",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typePrefix",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isPrimitive",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCircular",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"format",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayFormat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nullable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"example",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enum",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writeOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"constraints",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOfType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"discriminatorProp",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeOneOf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"rawSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"x-enumDescriptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"const",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentEncoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=i.$ref||t||"",this.rawSchema=e.deref(i,!1,!0),this.schema=e.mergeAllOf(this.rawSchema,this.pointer,n),this.init(e,n),e.exitRef(i),e.exitParents(this.schema),r.showExtensions&&(this.extensions=extractExtensions(this.schema,r.showExtensions))}return Object.defineProperty(e.prototype,"activateOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeOneOf=e}}),Object.defineProperty(e.prototype,"hasType",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.type===e||Array.isArray(this.type)&&this.type.includes(e)}}),Object.defineProperty(e.prototype,"fields",{get:function(){if(!this.isCircular)return!this._fields&&this.hasType("object")&&(this._fields=buildFields(this.parser,this.schema,this.pointer,this.options,this,this.deps)),this._fields},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasCircularParent",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var i=this;if(this.parent){if(e.some((function(e){var t,r;if(!e)return!1;var n=i.parent;return(null==n?void 0:n.pointer)===e||(!!(null===(r=null===(t=null==n?void 0:n.schema.parentRefs)||void 0===t?void 0:t.some)||void 0===r?void 0:r.call(t,(function(i){return i===e})))||void 0)})))return!0;if(this.parent.hasCircularParent(e))return!0}return!1}}),Object.defineProperty(e.prototype,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r,n,a,s,o,p,d,u,f=this,c=this.schema;if(this.isCircular=c["x-circular-ref"]||this.hasCircularParent(__spreadArray([this.pointer],this.schema.parentRefs||[],!0)),this.title=c.title||isNamedDefinition(this.pointer)&&JsonPointer.baseName(this.pointer)||"",this.description=c.description||"",this.type=c.type||detectType(c),this.format=c.format,this.enum=c.enum||[],this["x-enumDescriptions"]=c["x-enumDescriptions"],this.example=c.example,this.deprecated=!!c.deprecated,this.pattern=c.pattern,this.externalDocs=c.externalDocs,this.constraints=humanizeConstraints(c),this.displayFormat=this.format,this.isPrimitive=isPrimitiveType(c,this.type),this.default=c.default,this.readOnly=!!c.readOnly,this.writeOnly=!!c.writeOnly,this.const=c.const||"",this.contentEncoding=c.contentEncoding,this.contentMediaType=c.contentMediaType,this.minItems=c.minItems,this.maxItems=c.maxItems,(c.nullable||c["x-nullable"])&&(Array.isArray(this.type)&&!this.type.some((function(e){return null===e||"null"===e}))?this.type=__spreadArray(__spreadArray([],this.type,!0),["null"],!1):Array.isArray(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=Array.isArray(this.type)?this.type.map((function(e){return null===e?"null":e})).join(" or "):this.type,!this.isCircular)if(c.if&&c.then||c.if&&c.else)this.initConditionalOperators(c,i);else if(t||void 0===getDiscriminator(c)){if(t&&Array.isArray(c.oneOf)&&c.oneOf.find((function(e){return e.$ref===f.pointer}))&&delete c.oneOf,void 0!==c.oneOf)return this.initOneOf(c.oneOf,i),this.oneOfType="One of",void(void 0!==c.anyOf&&console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf at "+this.pointer));if(void 0!==c.anyOf)return this.initOneOf(c.anyOf,i),void(this.oneOfType="Any of");if(this.hasType("array")&&(Array.isArray(c.items)||Array.isArray(c.prefixItems)?this._fields=buildFields(i,c,this.pointer,this.options,this,this.deps):isObject(c.items)&&(this.items=new e(i,c.items,this.pointer+"/items",this.options,!1,this,this.deps)),this.displayType=c.prefixItems||Array.isArray(c.items)?"items":pluralizeType((null===(r=this.items)||void 0===r?void 0:r.displayType)||this.displayType),this.displayFormat=(null===(n=this.items)||void 0===n?void 0:n.format)||"",this.typePrefix=(null===(a=this.items)||void 0===a?void 0:a.typePrefix)||""+l("arrayOf"),this.title=this.title||(null===(s=this.items)||void 0===s?void 0:s.title)||"",this.isPrimitive=void 0!==(null===(o=this.items)||void 0===o?void 0:o.isPrimitive)?null===(p=this.items)||void 0===p?void 0:p.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null===(d=this.items)||void 0===d?void 0:d.example)&&(this.example=[this.items.example]),(null===(u=this.items)||void 0===u?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),Array.isArray(this.type))){var h=this.type.filter((function(e){return"array"!==e}));h.length&&(this.displayType+=" or "+h.join(" or "))}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(c,i)}}),Object.defineProperty(e.prototype,"initOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this;if(this.oneOf=i.map((function(i,n){var a=t.deref(i,!1,!0),s=t.mergeAllOf(a,r.pointer+"/oneOf/"+n),o=isNamedDefinition(i.$ref)&&!s.title?JsonPointer.baseName(i.$ref):""+(s.title||"")+(s.const&&JSON.stringify(s.const)||""),l=new e(t,__assign(__assign({},s),{title:o,allOf:[__assign(__assign({},r.schema),{oneOf:void 0,anyOf:void 0})]}),r.pointer+"/oneOf/"+n,r.options,!1,r.parent,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return t.exitRef(i),t.exitParents(s),l})),this.options.simpleOneOfTypeLabel){var n=collectUniqueOneOfTypesDeep(this);this.displayType=n.join(" or ")}else this.displayType=this.oneOf.map((function(e){var i=e.typePrefix+(e.title?e.title+" ("+e.displayType+")":e.displayType);return i.indexOf(" or ")>-1&&(i="("+i+")"),i})).join(" or ")}}),Object.defineProperty(e.prototype,"initDiscriminator",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=getDiscriminator(i);this.discriminatorProp=null==n?void 0:n.propertyName;var a=t.findDerived(__spreadArray(__spreadArray([],i.parentRefs||[],!0),[this.pointer],!1));if(i.oneOf)for(var s=0,o=i.oneOf;s<o.length;s++){var l=o[s];if(void 0!==l.$ref){var p=JsonPointer.baseName(l.$ref);a[l.$ref]=p}}var d=(null==n?void 0:n.mapping)||{},u=(null==n?void 0:n["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(u=!1);var f={};for(var c in d){var h=d[c];Array.isArray(f[h])?f[h].push(c):f[h]=[c]}for(var b=__assign(u?{}:__assign({},a),f),m=[],y=0,v=Object.keys(b);y<v.length;y++){var O=b[h=v[y]];if(Array.isArray(O))for(var P=0,g=O;P<g.length;P++){var w=g[P];m.push({$ref:h,name:w})}else m.push({$ref:h,name:O})}var j=Object.keys(d);0!==j.length&&(m=m.sort((function(e,i){var t=j.indexOf(e.name),r=j.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r}))),this.oneOf=m.map((function(i,n){var a=i.$ref,s=i.name,o=new e(t,t.byRef(a),a,r.options,!0,r.parent,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return o.title=s,o}))}}),Object.defineProperty(e.prototype,"initConditionalOperators",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=i.if,a=i.else,s=void 0===a?{}:a,o=i.then,l=void 0===o?{}:o,p=__rest(i,["if","else","then"]),d=[{allOf:[p,l,n],title:n&&n["x-displayName"]||(null==n?void 0:n.title)||"case 1"},{allOf:[p,s],title:s&&s["x-displayName"]||(null==s?void 0:s.title)||"case 2"}];this.oneOf=d.map((function(i,n){return new e(t,__assign({},i),r.pointer+"/oneOf/"+n,r.options,!1,r.parent,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.oneOfType="One of"}}),__decorate([observable],e.prototype,"activeOneOf",void 0),__decorate([action],e.prototype,"activateOneOf",null),e}();export{SchemaModel};function normalizeField(e,i,t){return e||(console.warn('Field "'+i+'" is invalid, skipping.\n Field must be an object but got '+typeof e+' at "'+t+'"'),{})}function buildFields(e,i,t,r,n,a){var s=i.properties||i.prefixItems||i.items||{},o=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{},u=Object.keys(s).map((function(o){var l,p=normalizeField(s[o],o,t),u=void 0!==i.required&&i.required.indexOf(o)>-1;return new FieldModel(e,{name:i.properties?o:"["+o+"]",required:u,schema:__assign(__assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[o])||p.example,default:void 0===p.default&&d?d[o]:p.default})},t+"/properties/"+o,r,n,a)}));return r.sortPropsAlphabetically&&(u=sortByField(u,"name")),r.requiredPropsFirst&&(u=sortByRequired(u,r.sortPropsAlphabetically?void 0:i.required)),u.push.apply(u,Object.keys(o).map((function(i){var s=normalizeField(o[i],i,t);return new FieldModel(e,{name:i,required:!1,schema:s,kind:"patternProperties"},t+"/patternProperties/"+i,r,n,a)}))),(isObject(l)||!0===l)&&u.push(new FieldModel(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,n,a)),u.push.apply(u,buildAdditionalItems({parser:e,schema:p,fieldsCount:u.length,$ref:t,options:r,parent:n,deps:a})),u}function buildAdditionalItems(e){var i=e.parser,t=e.schema,r=void 0!==t&&t,n=e.fieldsCount,a=e.$ref,s=e.options,o=e.parent,l=e.deps;return"boolean"==typeof r?r?[new FieldModel(i,{name:"["+n+"...]",schema:{},kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]:Array.isArray(r)?__spreadArray([],r.map((function(e,t){return new FieldModel(i,{name:"["+(n+t)+"]",schema:e,kind:"additionalItems"},a+"/additionalItems/"+t,s,o,l)})),!0):isObject(r)?[new FieldModel(i,{name:"["+n+"...]",schema:r,kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){var i=new Set;return function e(t){for(var r=0,n=t.oneOf||[];r<n.length;r++){var a=n[r];a.oneOf?e(a):a.type&&i.add(a.type)}}(e),Array.from(i.values())}
2
2
  //# sourceMappingURL=Schema.js.map
@@ -0,0 +1,210 @@
1
+ import type React from 'react';
2
+ import type { OpenAPIOperation, OpenAPIParameter, OpenAPIServer, OpenAPITag, Referenced, OpenAPISchema, Server } from '../types';
3
+ import type { ProStore } from '../../../services';
4
+ import type { OAuth2 } from '../../../services/OAuth2';
5
+ import type { ThemeInterface } from '../theme';
6
+ import type { GroupModel, OperationModel, Sample } from './models';
7
+ export declare type MenuItemGroupType = 'group' | 'tag' | 'section' | 'schema';
8
+ export declare type MenuItemType = MenuItemGroupType | 'operation';
9
+ /** Generic interface for MenuItems */
10
+ export interface IMenuItem {
11
+ id: string;
12
+ absoluteIdx?: number;
13
+ name: string;
14
+ description?: string;
15
+ href?: string;
16
+ depth: number;
17
+ active: boolean;
18
+ expanded: boolean;
19
+ items: IMenuItem[];
20
+ parent?: IMenuItem;
21
+ deprecated?: boolean;
22
+ type: MenuItemType;
23
+ isSchema?: boolean;
24
+ deactivate(): void;
25
+ activate(): void;
26
+ collapse(): void;
27
+ expand(): void;
28
+ }
29
+ export declare type TagInfo = OpenAPITag & {
30
+ operations: ExtendedOpenAPIOperation[];
31
+ used?: boolean;
32
+ schemaRendersInTag?: boolean;
33
+ isSchema?: boolean;
34
+ };
35
+ export declare type ExtendedOpenAPIOperation = {
36
+ pointer: string;
37
+ pathName: string;
38
+ httpVerb: string;
39
+ pathParameters: Array<Referenced<OpenAPIParameter>>;
40
+ pathServers: Array<OpenAPIServer> | undefined;
41
+ isWebhook: boolean;
42
+ defaultSampleName?: string | false;
43
+ defaultMimeType?: string;
44
+ } & OpenAPIOperation;
45
+ export declare type TagsInfoMap = Record<string, TagInfo>;
46
+ export interface TagGroup {
47
+ name: string;
48
+ tags: string[];
49
+ }
50
+ export declare type ContentItemModel = GroupModel | OperationModel;
51
+ export declare type MergedOpenAPISchema = OpenAPISchema & {
52
+ parentRefs?: string[];
53
+ };
54
+ export interface MDXComponentMeta {
55
+ component: React.ComponentType;
56
+ propsSelector: (store?: ProStore) => GenericObject;
57
+ props?: GenericObject;
58
+ }
59
+ export interface MarkdownHeading {
60
+ id: string;
61
+ name: string;
62
+ level: number;
63
+ items?: MarkdownHeading[];
64
+ description?: string;
65
+ }
66
+ export interface LabelsConfig {
67
+ enum: string;
68
+ enumSingleValue: string;
69
+ enumArray: string;
70
+ default: string;
71
+ deprecated: string;
72
+ example: string;
73
+ examples: string;
74
+ recursive: string;
75
+ arrayOf: string;
76
+ webhook: string;
77
+ const: string;
78
+ authorizations: string;
79
+ tryItBody: string;
80
+ tryItParameters: string;
81
+ tryItAuth: string;
82
+ tryItAuthBasicUsername: string;
83
+ tryItAuthBasicPassword: string;
84
+ download: string;
85
+ downloadSpecification: string;
86
+ request: string;
87
+ responses: string;
88
+ callbackResponses: string;
89
+ callbacks: string;
90
+ requestSamples: string;
91
+ responseSamples: string;
92
+ }
93
+ export declare type LabelsConfigRaw = Partial<LabelsConfig>;
94
+ export declare type Unstable_ExternalCodeSample = Sample & {
95
+ get: (source: ExternalSource) => string;
96
+ };
97
+ export interface ExternalSource {
98
+ sample: Unstable_ExternalCodeSample;
99
+ operation: OperationModel;
100
+ exampleName?: string;
101
+ pathParams?: any;
102
+ properties?: any;
103
+ }
104
+ export interface SecurityPanelHookProps {
105
+ operation: OperationModel;
106
+ server: Server;
107
+ onChange: (securityDetails: unknown) => void;
108
+ OAuth2: OAuth2;
109
+ }
110
+ export declare type AuthPanelHookProps = SecurityPanelHookProps;
111
+ export interface HookRawHtml {
112
+ html: string;
113
+ }
114
+ declare type HookResult = JSX.Element | HookRawHtml | null;
115
+ export declare type HookConfig<T> = (props: T) => HookResult;
116
+ export interface HooksConfig {
117
+ BeforeOperation?: HookConfig<{
118
+ operation: OperationModel;
119
+ }>;
120
+ BeforeOperationSummary?: HookConfig<{
121
+ operation: OperationModel;
122
+ }>;
123
+ AfterOperationSummary?: HookConfig<{
124
+ operation: OperationModel;
125
+ }>;
126
+ AfterOperation?: HookConfig<{
127
+ operation: OperationModel;
128
+ }>;
129
+ ReplaceTryItSecurityPanel?: HookConfig<SecurityPanelHookProps>;
130
+ onInit?: (args: {
131
+ store: ProStore;
132
+ }) => void;
133
+ replaceSecurityLink?: (args: {
134
+ securityRequirementId: string;
135
+ }) => string;
136
+ sanitize?: (raw: string) => string;
137
+ /** @deprecated Use ReplaceTryItSecurityPanel instead */
138
+ ReplaceTryItAuthPanel?: HookConfig<SecurityPanelHookProps>;
139
+ }
140
+ export interface RedocRawOptions {
141
+ theme?: ThemeInterface;
142
+ scrollYOffset?: number | string | (() => number);
143
+ hideHostname?: boolean | string;
144
+ hideInfoDescription?: boolean | string;
145
+ expandResponses?: string | 'all';
146
+ requiredPropsFirst?: boolean | string;
147
+ sortPropsAlphabetically?: boolean | string;
148
+ sortEnumValuesAlphabetically?: boolean | string;
149
+ sortOperationsAlphabetically?: boolean | string;
150
+ sortTagsAlphabetically?: boolean | string;
151
+ nativeScrollbars?: boolean | string;
152
+ pathInMiddlePanel?: boolean | string;
153
+ untrustedDefinition?: boolean | string;
154
+ hideLoading?: boolean | string;
155
+ hideDownloadButton?: boolean | string;
156
+ downloadDefinitionUrl?: string;
157
+ disableSearch?: boolean | string;
158
+ showChangeLayoutButton?: boolean | string;
159
+ onlyRequiredInSamples?: boolean | string;
160
+ generatedPayloadSamplesMaxDepth?: number | string;
161
+ sendXUserAgentInTryIt?: boolean | string;
162
+ showExtensions?: boolean | string | string[];
163
+ hideSingleRequestSampleTab?: boolean | string;
164
+ hideRequestPayloadSample?: boolean;
165
+ menuToggle?: boolean | string;
166
+ jsonSampleExpandLevel?: number | string | 'all';
167
+ hideSchemaTitles?: boolean | string;
168
+ hideSecuritySection?: boolean;
169
+ showSecuritySchemeType?: boolean;
170
+ simpleOneOfTypeLabel?: boolean | string;
171
+ payloadSampleIdx?: number;
172
+ expandSingleSchemaField?: boolean | string;
173
+ schemaExpansionLevel?: number | string | 'all';
174
+ samplesTabsMaxCount?: number;
175
+ unstable_tryItButtonOverride?: {
176
+ label: string;
177
+ link: string;
178
+ };
179
+ allowedMdComponents?: Record<string, MDXComponentMeta>;
180
+ labels?: LabelsConfigRaw;
181
+ enumSkipQuotes?: boolean | string;
182
+ expandDefaultServerVariables?: boolean;
183
+ expandDefaultRequest?: boolean;
184
+ expandDefaultResponse?: boolean;
185
+ maxDisplayedEnumValues?: number;
186
+ ignoreNamedSchemas?: string[] | string;
187
+ unstable_externalCodeSamples?: Unstable_ExternalCodeSample[];
188
+ unstable_ignoreMimeParameters?: boolean;
189
+ hooks?: HooksConfig;
190
+ hideSchemaPattern?: boolean;
191
+ hideOneOfDescription?: boolean;
192
+ hideFab?: boolean;
193
+ markdownHeadingsAnchorLevel?: number;
194
+ schemaDefinitionsTagName?: string;
195
+ minCharacterLengthToInitSearch?: number;
196
+ maxResponseHeadersToShowInTryIt?: number;
197
+ showWebhookVerb?: boolean;
198
+ showObjectSchemaExamples?: boolean;
199
+ disableTryItRequestUrlEncoding?: boolean;
200
+ }
201
+ export interface SearchDocument {
202
+ title: string;
203
+ description: string;
204
+ id: string;
205
+ }
206
+ export interface SearchResult<T = string> {
207
+ meta: T;
208
+ score: number;
209
+ }
210
+ export {};
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=types.js.map
@@ -1,4 +1,4 @@
1
1
  export declare function argValueToBoolean(val?: string | boolean, defaultValue?: boolean): boolean;
2
- export declare function argValueToNumber(value: number | string | undefined): number | undefined;
2
+ export declare function argValueToNumber(value: number | string | undefined, defaultValue?: number): number;
3
3
  export declare function argValueToInt(value: number | string | undefined): number | undefined;
4
4
  export declare function argValueToExpandLevel(value?: number | string | undefined, defaultValue?: number): number;
@@ -1,2 +1,2 @@
1
- export function argValueToBoolean(e,r){return void 0===e?r||!1:"string"==typeof e?"false"!==e:e}export function argValueToNumber(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?e:void 0}export function argValueToInt(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?Math.ceil(e):void 0}export function argValueToExpandLevel(e,r){return void 0===r&&(r=0),"all"===e?1/0:argValueToInt(e)||r}
1
+ export function argValueToBoolean(e,r){return void 0===e?r||!1:"string"==typeof e?"false"!==e:e}export function argValueToNumber(e,r){return void 0===r&&(r=0),"string"==typeof e?parseInt(e,10):"number"==typeof e?e:r}export function argValueToInt(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?Math.ceil(e):void 0}export function argValueToExpandLevel(e,r){return void 0===r&&(r=0),"all"===e?1/0:argValueToInt(e)||r}
2
2
  //# sourceMappingURL=argValuesHelpers.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/reference-docs",
3
- "version": "2.25.2",
3
+ "version": "2.26.0",
4
4
  "description": "Redocly Reference Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -73,7 +73,8 @@
73
73
  "start": "webpack serve --mode=development --hot",
74
74
  "stats": "webpack --json --profile --mode=production -p > stats.json && npx webpack-bundle-analyzer stats.json",
75
75
  "prettier": "prettier --write \"src/cli/cli.ts\" \"src/**/*.{ts,tsx}\" \"playground/**/*.{ts,tsx}\"",
76
- "lint": "eslint --fix . --ext .ts,.tsx --cache",
76
+ "lint": "eslint . --ext .ts,.tsx --cache",
77
+ "lint:fix": "npm run lint -- --fix",
77
78
  "prepublish-test": "scripts/prepublish-test.sh",
78
79
  "test": "npm run test:unit && npm run test:e2e",
79
80
  "test:unit": "jest",
@@ -86,8 +87,7 @@
86
87
  "ts-check": "tsc --noEmit --skipLibCheck",
87
88
  "precdn-serve": "mkdir -p playground/cdn-test/server-dist && cp -Rf dist/* playground/cdn-test/server-dist && cp -Rf playground/cdn-test/template-source/* playground/cdn-test/server-dist",
88
89
  "cdn-serve": "http-server playground/cdn-test/server-dist",
89
- "prepare": "husky install",
90
- "pre-commit": "pretty-quick --staged && npm run lint"
90
+ "prepare": "husky install"
91
91
  },
92
92
  "peerDependencies": {
93
93
  "core-js": "^3.1.4",
@@ -142,7 +142,6 @@
142
142
  "json-schema": "^0.4.0",
143
143
  "mobx": "^6.3.2",
144
144
  "prettier": "2.6.2",
145
- "pretty-quick": "^3.0.0",
146
145
  "react": "^17.0.0",
147
146
  "react-dom": "^17.0.0",
148
147
  "react-hot-loader": "^4.12.18",
@@ -204,5 +203,13 @@
204
203
  "moduleNameMapper": {
205
204
  "\\.(css|less)$": "<rootDir>/src/empty.js"
206
205
  }
206
+ },
207
+ "lint-staged": {
208
+ "*.{ts,tsx}": [
209
+ "npm run lint:fix"
210
+ ],
211
+ "**/*": [
212
+ "prettier --write --ignore-unknown"
213
+ ]
207
214
  }
208
215
  }
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SanitizedMarkdownHTML=void 0;var tslib_1=require("tslib"),dompurify_1=(0,tslib_1.__importDefault)(require("dompurify")),React=(0,tslib_1.__importStar)(require("react")),OptionsProvider_1=require("../OptionsProvider"),styled_elements_1=require("./styled.elements");function SanitizedMarkdownHTML(e){var t,i,r,o=React.useContext(OptionsProvider_1.OptionsContext),n=e.inline?styled_elements_1.StyledMarkdownSpan:styled_elements_1.StyledMarkdownBlock,l=(null===(t=o.hooks)||void 0===t?void 0:t.sanitize)?null===(r=null===(i=o.hooks)||void 0===i?void 0:i.sanitize)||void 0===r?void 0:r.call(i,e.html):o.untrustedDefinition?dompurify_1.default.sanitize(e.html):e.html;return React.createElement(n,(0,tslib_1.__assign)({className:"redoc-markdown "+(e.className||""),dangerouslySetInnerHTML:{__html:l},"data-role":e["data-role"]},e))}exports.SanitizedMarkdownHTML=SanitizedMarkdownHTML;
2
- //# sourceMappingURL=SanitizedMdBlock.js.map
@@ -1,22 +0,0 @@
1
- export declare type MenuItemGroupType = 'group' | 'tag' | 'section' | 'schema';
2
- export declare type MenuItemType = MenuItemGroupType | 'operation';
3
- /** Generic interface for MenuItems */
4
- export interface IMenuItem {
5
- id: string;
6
- absoluteIdx?: number;
7
- name: string;
8
- description?: string;
9
- href?: string;
10
- depth: number;
11
- active: boolean;
12
- expanded: boolean;
13
- items: IMenuItem[];
14
- parent?: IMenuItem;
15
- deprecated?: boolean;
16
- type: MenuItemType;
17
- isSchema?: boolean;
18
- deactivate(): void;
19
- activate(): void;
20
- collapse(): void;
21
- expand(): void;
22
- }
@@ -1,2 +0,0 @@
1
- import{__assign}from"tslib";import DOMPurify from"dompurify";import*as React from"react";import{OptionsContext}from"../OptionsProvider";import{StyledMarkdownBlock,StyledMarkdownSpan}from"./styled.elements";export function SanitizedMarkdownHTML(t){var o,e,n,i=React.useContext(OptionsContext),r=t.inline?StyledMarkdownSpan:StyledMarkdownBlock,a=(null===(o=i.hooks)||void 0===o?void 0:o.sanitize)?null===(n=null===(e=i.hooks)||void 0===e?void 0:e.sanitize)||void 0===n?void 0:n.call(e,t.html):i.untrustedDefinition?DOMPurify.sanitize(t.html):t.html;return React.createElement(r,__assign({className:"redoc-markdown "+(t.className||""),dangerouslySetInnerHTML:{__html:a},"data-role":t["data-role"]},t))}
2
- //# sourceMappingURL=SanitizedMdBlock.js.map
@@ -1,22 +0,0 @@
1
- export declare type MenuItemGroupType = 'group' | 'tag' | 'section' | 'schema';
2
- export declare type MenuItemType = MenuItemGroupType | 'operation';
3
- /** Generic interface for MenuItems */
4
- export interface IMenuItem {
5
- id: string;
6
- absoluteIdx?: number;
7
- name: string;
8
- description?: string;
9
- href?: string;
10
- depth: number;
11
- active: boolean;
12
- expanded: boolean;
13
- items: IMenuItem[];
14
- parent?: IMenuItem;
15
- deprecated?: boolean;
16
- type: MenuItemType;
17
- isSchema?: boolean;
18
- deactivate(): void;
19
- activate(): void;
20
- collapse(): void;
21
- expand(): void;
22
- }
@@ -1,2 +0,0 @@
1
- export{};
2
- //# sourceMappingURL=MenuStore.js.map