@redocly/openapi-docs 3.0.0-alpha.14.beta.3 → 3.0.0-alpha.16

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 (72) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +28 -28
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +796 -809
  4. package/lib/components/Endpoint/Endpoint.js +1 -1
  5. package/lib/components/Endpoint/api-client.d.ts +8 -0
  6. package/lib/components/Endpoint/api-client.js +2 -0
  7. package/lib/components/Fields/Field.js +1 -1
  8. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  9. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  10. package/lib/components/RedoclyOpenAPIDocs/styled.js +1 -1
  11. package/lib/components/common/LinkToField.d.ts +3 -1
  12. package/lib/components/common/LinkToField.js +3 -3
  13. package/lib/components/common/form.js +0 -1
  14. package/lib/components/common/linkify.js +1 -1
  15. package/lib/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  16. package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  17. package/lib/components/rightPanel/styled.js +1 -1
  18. package/lib/models/field.d.ts +1 -1
  19. package/lib/models/field.js +1 -1
  20. package/lib/models/mediaContent.d.ts +1 -1
  21. package/lib/models/mediaContent.js +1 -1
  22. package/lib/models/mediaType.d.ts +2 -1
  23. package/lib/models/mediaType.js +1 -1
  24. package/lib/models/operation.js +1 -1
  25. package/lib/models/request.js +1 -1
  26. package/lib/models/response.js +1 -1
  27. package/lib/models/schema.d.ts +2 -1
  28. package/lib/models/schema.js +1 -1
  29. package/lib/models/types.d.ts +3 -0
  30. package/lib/recoil/app.d.ts +0 -3
  31. package/lib/recoil/app.js +1 -1
  32. package/lib/services/OpenAPIParser.d.ts +1 -1
  33. package/lib/services/OpenAPIParser.js +1 -1
  34. package/lib/services/Options/types.d.ts +0 -2
  35. package/lib/services/types.d.ts +1 -5
  36. package/lib/utils/openapi.d.ts +7 -1
  37. package/lib/utils/openapi.js +1 -1
  38. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  39. package/lib-esm/components/Endpoint/api-client.d.ts +8 -0
  40. package/lib-esm/components/Endpoint/api-client.js +2 -0
  41. package/lib-esm/components/Fields/Field.js +1 -1
  42. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  43. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  44. package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +1 -1
  45. package/lib-esm/components/common/LinkToField.d.ts +3 -1
  46. package/lib-esm/components/common/LinkToField.js +3 -3
  47. package/lib-esm/components/common/form.js +0 -1
  48. package/lib-esm/components/common/linkify.js +1 -1
  49. package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  50. package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  51. package/lib-esm/components/rightPanel/styled.js +1 -1
  52. package/lib-esm/models/field.d.ts +1 -1
  53. package/lib-esm/models/field.js +1 -1
  54. package/lib-esm/models/mediaContent.d.ts +1 -1
  55. package/lib-esm/models/mediaContent.js +1 -1
  56. package/lib-esm/models/mediaType.d.ts +2 -1
  57. package/lib-esm/models/mediaType.js +1 -1
  58. package/lib-esm/models/operation.js +1 -1
  59. package/lib-esm/models/request.js +1 -1
  60. package/lib-esm/models/response.js +1 -1
  61. package/lib-esm/models/schema.d.ts +2 -1
  62. package/lib-esm/models/schema.js +1 -1
  63. package/lib-esm/models/types.d.ts +3 -0
  64. package/lib-esm/recoil/app.d.ts +0 -3
  65. package/lib-esm/recoil/app.js +1 -1
  66. package/lib-esm/services/OpenAPIParser.d.ts +1 -1
  67. package/lib-esm/services/OpenAPIParser.js +1 -1
  68. package/lib-esm/services/Options/types.d.ts +0 -2
  69. package/lib-esm/services/types.d.ts +1 -5
  70. package/lib-esm/utils/openapi.d.ts +7 -1
  71. package/lib-esm/utils/openapi.js +1 -1
  72. package/package.json +6 -5
@@ -1,2 +1,2 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(i=Object.getOwnPropertySymbols(e);s<i.length;s++)t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./Options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}preprocess(e){e.info&&this.options.hideInfoDescription&&(e.info.description="")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let s=this.byRef(e.$ref);if(!s)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let n=t;if(t.includes(e.$ref))s=Object.assign({},s,{"x-circular-ref":!0});else if(this.isRef(s)){const e=this.deref(s,t,r);n=e.refsStack,s=e.resolved}return n=pushRef(t,e.$ref),s=this.allowMergeRefs?this.mergeRefs(e,s,r):s,{resolved:s,refsStack:n}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,s=__rest(e,["$ref"]),n=Object.keys(s);if(0===n.length)return t;if(r&&n.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=s,{description:r,title:i,readOnly:n,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:n,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),s)}mergeAllOf(e,t,r){var i;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return e;let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const n=e.allOf.map((e=>{var t;const{resolved:i,refsStack:n}=this.deref(e,r,!0),o=e.$ref||void 0,a=this.mergeAllOf(i,o,n);if(!a["x-circular-ref"]||!a.allOf)return o&&(null===(t=s["x-parentRefs"])||void 0===t||t.push(...a["x-parentRefs"]||[],o)),{$ref:o,refsStack:pushRef(n,o),schema:a}})).filter((e=>void 0!==e));for(const{schema:e,refsStack:r}of n){const{type:n,enum:o,properties:a,items:f,required:l,title:c,description:p,readOnly:d,writeOnly:O,oneOf:u,anyOf:y,"x-circular-ref":h}=e,m=__rest(e,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type!==n&&void 0!==s.type&&void 0!==n&&console.warn(`Incompatible types in allOf at "${t}": "${s.type}" and "${n}"`),void 0!==n&&(Array.isArray(n)&&Array.isArray(s.type)?s.type=[...n,...s.type]:s.type=n),void 0!==o&&(Array.isArray(o)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...o,...s.enum])):s.enum=o),void 0!==a&&"object"==typeof a){s.properties=s.properties||{};for(const e in a){const n=concatRefStacks(r,null===(i=a[e])||void 0===i?void 0:i["x-refsStack"]);if(s.properties[e]){if(!h){const r=this.mergeAllOf({allOf:[s.properties[e],a[e]],"x-refsStack":n},t+"/properties/"+e,n);s.properties[e]=r}}else s.properties[e]=Object.assign(Object.assign({},a[e]),{"x-refsStack":n})}}if(void 0!==f&&!h){const i="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof e.items?{}:Object.assign({},e.items);s.items=this.mergeAllOf({allOf:[i,n]},t+"/items",r)}void 0!==u&&(s.oneOf=u),void 0!==y&&(s.anyOf=y),void 0!==l&&(s.required=[...s.required||[],...l]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||c,description:s.description||p,readOnly:void 0!==s.readOnly?s.readOnly:d,writeOnly:void 0!==s.writeOnly?s.writeOnly:O,"x-circular-ref":s["x-circular-ref"]||h}),m)}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:s}=this.deref(r[i]);void 0!==s.allOf&&s.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[s["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(r.oneOf)){const i=t.slice(0,e),s=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...s]})))}}}return e}}exports.OpenAPIParser=OpenAPIParser;
1
+ "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./Options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}preprocess(e){e.info&&this.options.hideInfoDescription&&(e.info.description="")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let s=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,r);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:s}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:a}=this.deref(e,r,!0),l=e.$ref,f=l||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,l,a,f);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(a,l),schema:c,absolutePointer:f}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:a}]of o.entries()){const{type:o,enum:l,properties:f,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":m}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type!==o&&void 0!==s.type&&void 0!==o&&console.warn(`Incompatible types in allOf at "${t}": "${s.type}" and "${o}"`),void 0!==o&&(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),void 0!==l&&(Array.isArray(l)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...l,...s.enum])):s.enum=l),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const r in f){const o=concatRefStacks(i,null===(n=f[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!m){const i=this.mergeAllOf({allOf:[s.properties[r],f[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(a,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},f[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(a,["properties",r]),"x-refsStack":o})}}if(void 0!==c&&!m){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}void 0!==b&&(s.oneOf=b),void 0!==h&&(s.anyOf=h),void 0!==p&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||d,description:s.description||O,readOnly:void 0!==s.readOnly?s.readOnly:u,writeOnly:void 0!==s.writeOnly?s.writeOnly:y,"x-circular-ref":s["x-circular-ref"]||m}),v)}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(r.oneOf)){const i=t.slice(0,e),n=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...n]})))}}}return e}}exports.OpenAPIParser=OpenAPIParser;
2
2
  //# sourceMappingURL=OpenAPIParser.js.map
@@ -108,7 +108,6 @@ export interface RawOptions {
108
108
  };
109
109
  pagination?: PaginationType;
110
110
  showNextButton?: boolean;
111
- routingStrategy?: 'hash' | 'browser';
112
111
  markdownItemsPagination?: MarkdownItemsPagination;
113
112
  disableSidebar?: boolean;
114
113
  skipBundleAndConvert?: boolean;
@@ -258,7 +257,6 @@ export interface Options {
258
257
  };
259
258
  pagination: Pagination;
260
259
  showNextButton?: boolean;
261
- routingStrategy?: 'hash' | 'browser';
262
260
  markdownItemsPagination: MarkdownItemsPagination;
263
261
  disableSidebar: boolean;
264
262
  skipBundleAndConvert: boolean;
@@ -71,6 +71,7 @@ export type MergedOpenAPISchema = OpenAPISchema & {
71
71
  'x-refsStack'?: string[];
72
72
  'x-parentRefs'?: string[];
73
73
  'x-circular-ref'?: boolean;
74
+ absolutePointer?: string;
74
75
  };
75
76
  export interface MDXComponentMeta {
76
77
  component: React.ComponentType;
@@ -102,10 +103,6 @@ export interface SecurityPanelHookProps {
102
103
  OAuth2: OAuth2;
103
104
  }
104
105
  export type AuthPanelHookProps = SecurityPanelHookProps;
105
- export type BeforeSecurityPanelHookProps = Omit<SecurityPanelHookProps, 'OAuth2'> & {
106
- value: unknown;
107
- apiId?: string;
108
- };
109
106
  export interface HookRawHtml {
110
107
  html: string;
111
108
  }
@@ -127,7 +124,6 @@ export interface HooksConfig {
127
124
  AfterOperation?: HookConfig<{
128
125
  operation: OperationModel;
129
126
  }>;
130
- BeforeSecurityPanel?: HookConfig<BeforeSecurityPanelHookProps>;
131
127
  ReplaceTryItSecurityPanel?: HookConfig<SecurityPanelHookProps>;
132
128
  onInit?: (args: {
133
129
  store: GenericObject;
@@ -26,7 +26,13 @@ export declare function humanizeNumberRange(schema: OpenAPISchema): string | und
26
26
  export declare function humanizeConstraints(schema: OpenAPISchema): string[];
27
27
  export declare function sortByRequired(fields: FieldModel[], order?: string[]): Array<FieldModel>;
28
28
  export declare function sortByField(fields: FieldModel[], param: keyof Pick<FieldModel, 'name' | 'kind'>): Array<FieldModel>;
29
- export declare function mergeParams(parser: OpenAPIParser, pathParams?: Array<Referenced<OpenAPIParameter>>, operationParams?: Array<Referenced<OpenAPIParameter>>): Array<Referenced<OpenAPIParameter>>;
29
+ export declare function mergeParams(parser: OpenAPIParser, pathParams: Referenced<OpenAPIParameter>[] | undefined, operationParams: Referenced<OpenAPIParameter>[] | undefined, { pathPointer, operationPointer }: {
30
+ pathPointer: any;
31
+ operationPointer: any;
32
+ }): Array<{
33
+ paramOrRef: Referenced<OpenAPIParameter>;
34
+ pointer: string;
35
+ }>;
30
36
  export declare function mergeSimilarMediaTypes(types: Record<string, OpenAPIMediaType>): Record<string, OpenAPIMediaType>;
31
37
  export declare function expandDefaultServerVariables(url: string, variables?: GenericObject): string;
32
38
  export declare function normalizeServers(specUrl: string | undefined, servers: OpenAPIServer[]): OpenAPIServer[];
@@ -1,2 +1,2 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName({operationId:e,description:r,summary:t,pathName:i}){const n=(0,helpers_1.normalizeText)(r);return(0,helpers_1.normalizeText)(t)||e||n&&n.substring(0,50)||i||"<no summary>"}function getOperationId(e,r){return(0,helpers_1.sanitizeItemId)(void 0!==e.operationId?"operation/"+e.operationId:void 0!==r?r.id+e.pointer:e.pointer)}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return url_template_1.default.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:a=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,a,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let a="";"label"===r?a=".":"matrix"===r&&(a=";");const o="__redoc_param_name__";return url_template_1.default.parse(`{${a}${o}${n}}`).expand({[o]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.deleteEmptyArrayItem)(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:a}=e;if(a)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,a);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,a)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${a?"( ":"[ "}${i} .. ${n}${o?" )":" ]"}`:void 0!==n?`${o?"< ":"<= "}${n}`:void 0!==i?`${a?"> ":">= "}${i}`:void 0}function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);const o=humanizeNumberRange(e);return void 0!==o&&r.push(o),e.uniqueItems&&r.push("unique"),r}function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}function mergeParams(e,r=[],t=[]){const i={};return t.forEach((r=>{({resolved:r}=e.deref(r)),i[r.name+"_"+r.in]=!0})),(r=r.filter((r=>(({resolved:r}=e.deref(r)),!i[r.name+"_"+r.in])))).concat(t)}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!dom_1.IS_BROWSER)return"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0}}function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName({operationId:e,description:r,summary:t,pathName:i}){const n=(0,helpers_1.normalizeText)(r);return(0,helpers_1.normalizeText)(t)||e||n&&n.substring(0,50)||i||"<no summary>"}function getOperationId(e,r){return(0,helpers_1.sanitizeItemId)(void 0!==e.operationId?"operation/"+e.operationId:void 0!==r?r.id+e.pointer:e.pointer)}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return url_template_1.default.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:a=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,a,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let a="";"label"===r?a=".":"matrix"===r&&(a=";");const o="__redoc_param_name__";return url_template_1.default.parse(`{${a}${o}${n}}`).expand({[o]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.deleteEmptyArrayItem)(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:a}=e;if(a)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,a);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,a)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${a?"( ":"[ "}${i} .. ${n}${o?" )":" ]"}`:void 0!==n?`${o?"< ":"<= "}${n}`:void 0!==i?`${a?"> ":">= "}${i}`:void 0}function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);const o=humanizeNumberRange(e);return void 0!==o&&r.push(o),e.uniqueItems&&r.push("unique"),r}function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const a={};t.forEach((r=>{({resolved:r}=e.deref(r)),a[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!a[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!dom_1.IS_BROWSER)return"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0}}function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
2
2
  //# sourceMappingURL=openapi.js.map
@@ -1,2 +1,2 @@
1
- import React,{useState}from"react";import{useRecoilValue}from"recoil";import{CodePanel}from"../Panel";import{Console}from"../rightPanel/Console";import{AnalyticsEventType}from"../../events";import{ServerList}from"./ServerList";import{Summary}from"./Summary";import{globalOptionsSelector}from"../../recoil/store";export const Endpoint=({operation:e,hideHostname:t})=>{const[o,r]=useState(!1),a=useRecoilValue(globalOptionsSelector),n=()=>{var t,n;r(!o),null===(n=null===(t=a.events)||void 0===t?void 0:t.tryItOpen)||void 0===n||n.call(t,{eventType:AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":"Opened",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})};return React.createElement(React.Fragment,null,o?React.createElement(Console,{operation:e,onClose:n}):React.createElement(CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:o})=>{const r=!!a.showConsole&&!e.hideTryItPanel;return React.createElement(Summary,{operation:e,expanded:o,toggle:t,showConsole:r,onToggleConsole:n,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};
1
+ import React,{useState}from"react";import{useRecoilValue}from"recoil";import{CodePanel}from"../Panel";import{Console}from"../rightPanel/Console";import{AnalyticsEventType}from"../../events";import{ServerList}from"./ServerList";import{Summary}from"./Summary";import{globalOptionsSelector}from"../../recoil/store";export const Endpoint=({operation:e,hideHostname:t})=>{const[o,r]=useState(!1),a=useRecoilValue(globalOptionsSelector),n=()=>{var t,n;r(!o),null===(n=null===(t=a.events)||void 0===t?void 0:t.tryItOpen)||void 0===n||n.call(t,{eventType:AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":"Opened",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})};return React.createElement(React.Fragment,null,o?React.createElement(React.Fragment,null,React.createElement(Console,{operation:e,onClose:n})):React.createElement(CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:o})=>{const r=!!a.showConsole&&!e.hideTryItPanel;return React.createElement(Summary,{operation:e,expanded:o,toggle:t,showConsole:r,onToggleConsole:n,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};
2
2
  //# sourceMappingURL=Endpoint.js.map
@@ -0,0 +1,8 @@
1
+ import type { HTTPMethod } from '@redocly/api-client';
2
+ import type { OperationModel } from '../../models';
3
+ export declare function getRequestInput({ parameters, httpVerb, path, activeServer }: OperationModel): {
4
+ method: HTTPMethod;
5
+ url: string;
6
+ params: Record<string, string>[];
7
+ headers: Record<string, string>[];
8
+ };
@@ -0,0 +1,2 @@
1
+ export function getRequestInput({parameters:e,httpVerb:a,path:r,activeServer:u}){const{params:l,headers:p}=e.reduce(((e,a)=>{var r,u;return"header"===a.in&&e.headers.push({key:a.name,value:a.example||(null===(r=a.examples)||void 0===r?void 0:r[0].value)||""}),"query"===a.in&&e.params.push({key:a.name,value:a.example||(null===(u=a.examples)||void 0===u?void 0:u[0].value)||""}),e}),{params:[],headers:[]});return{method:a.toUpperCase(),url:u.url+r,params:l.length?l:[{key:"",value:""}],headers:p.length?p:[{key:"",value:""}]}}
2
+ //# sourceMappingURL=api-client.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useState}from"react";import{useRecoilValue}from"recoil";import{useLocation}from"react-router-dom";import{ClickablePropertyNameCell,RequiredLabel,AdditionalPropertiesLabel,AccessLabel,InnerPropertiesWrap,PropertyCellWithInner,PropertyDetailsCell,PropertyNameCell}from"../common";import{ShelfIcon}from"../icons";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{getAccessModeLabelText}from"../RenderHook";import{globalOptionsSelector}from"../../recoil/store";import{generateDeepLink,LinkToField}from"../common/LinkToField";import{checkIfPathIncludes}from"../SideMenu/useMenuItemLink";function FieldComponent({field:e,expandByDefault:t,isLast:a,skipWriteOnly:l,skipReadOnly:r,level:i,showTitle:n,showExamples:o,renderDiscriminatorSwitch:c}){const m=useRecoilValue(globalOptionsSelector),s=generateDeepLink(e,{pagination:m.pagination}),p=useLocation(),d=checkIfPathIncludes(p,s),[u,R]=useState(t||d),h=()=>{R((e=>!e))},{name:k,deprecated:E,required:f,kind:L}=e,y=!e.schema.isPrimitive&&!e.schema.isCircular,P=getAccessModeLabelText(e.schema,m.showAccessMode),b=React.createElement(React.Fragment,null,"additionalProperties"===L&&React.createElement(AdditionalPropertiesLabel,null,"additional property"),"patternProperties"===L&&React.createElement(AdditionalPropertiesLabel,null,"pattern property"),P&&React.createElement(AccessLabel,null,P),f&&React.createElement(RequiredLabel,null,"required")),C=u?"expanded":"",D=y?React.createElement(ClickablePropertyNameCell,{className:E?"deprecated":"",kind:L,title:k},React.createElement("button",{onClick:h,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),h())},"aria-label":"expand properties"},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),k),React.createElement(ShelfIcon,{direction:u?"down":"right"})),b):React.createElement(PropertyNameCell,{className:E?"deprecated":void 0,kind:L,title:k},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),k),b);return React.createElement(React.Fragment,null,React.createElement("tr",{className:a?"last "+C:C},D,React.createElement(PropertyDetailsCell,null,React.createElement(FieldDetails,{field:e,showExamples:o,renderDiscriminatorSwitch:c}))),u&&y&&React.createElement("tr",{key:e.name+"inner"},React.createElement(PropertyCellWithInner,{colSpan:2},React.createElement(InnerPropertiesWrap,null,React.createElement(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:l,showTitle:n,level:i})))))}export const Field=memo(FieldComponent);
1
+ import React,{memo,useState}from"react";import{useRecoilValue}from"recoil";import{useLocation}from"react-router-dom";import{ClickablePropertyNameCell,RequiredLabel,AdditionalPropertiesLabel,AccessLabel,InnerPropertiesWrap,PropertyCellWithInner,PropertyDetailsCell,PropertyNameCell}from"../common";import{ShelfIcon}from"../icons";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{getAccessModeLabelText}from"../RenderHook";import{globalOptionsSelector}from"../../recoil/store";import{generateDeepLink,LinkToField}from"../common/LinkToField";import{checkIfPathIncludes}from"../SideMenu/useMenuItemLink";function FieldComponent({field:e,expandByDefault:t,isLast:a,skipWriteOnly:l,skipReadOnly:r,level:i,showTitle:n,showExamples:o,renderDiscriminatorSwitch:c}){const m=useRecoilValue(globalOptionsSelector),s=generateDeepLink(e,{pagination:m.pagination}),p=useLocation(),d=checkIfPathIncludes(p,s),[u,R]=useState(t||d),h=()=>{R((e=>!e))},{name:k,deprecated:E,required:f,kind:L}=e,P=!e.schema.isPrimitive&&!e.schema.isCircular,b=getAccessModeLabelText(e.schema,m.showAccessMode),y=React.createElement(React.Fragment,null,"additionalProperties"===L&&React.createElement(AdditionalPropertiesLabel,null,"additional property"),"patternProperties"===L&&React.createElement(AdditionalPropertiesLabel,null,"pattern property"),b&&React.createElement(AccessLabel,null,b),f&&React.createElement(RequiredLabel,null,"required")),C=u?"expanded":"",D=P?React.createElement(ClickablePropertyNameCell,{className:E?"deprecated":"",kind:L,title:k},React.createElement("button",{onClick:h,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),h())},"aria-label":"expand properties"},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),k),React.createElement(ShelfIcon,{direction:u?"down":"right"})),y):React.createElement(PropertyNameCell,{className:E?"deprecated":void 0,kind:L,title:k},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),k),y);return React.createElement(React.Fragment,null,React.createElement("tr",{className:a?"last "+C:C,"data-pointer":e.schema.absolutePointer},D,React.createElement(PropertyDetailsCell,null,React.createElement(FieldDetails,{field:e,showExamples:o,renderDiscriminatorSwitch:c}))),u&&P&&React.createElement("tr",{key:e.name+"inner"},React.createElement(PropertyCellWithInner,{colSpan:2},React.createElement(InnerPropertiesWrap,null,React.createElement(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:l,showTitle:n,level:i})))))}export const Field=memo(FieldComponent);
2
2
  //# sourceMappingURL=Field.js.map
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(n,r){function a(e){try{s(i.next(e))}catch(e){r(e)}}function l(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,l)}s((i=i.apply(e,t||[])).next())}))};import{ThemeProvider}from"styled-components";import React,{useEffect,useMemo,useState}from"react";import{Tag}from"@markdoc/markdoc";import{Heading}from"@redocly/theme";import{RecoilRoot}from"recoil";import RecoilNexus from"recoil-nexus";import{normalizeOptions,OpenAPIParser}from"../../services";import{getMarkdownHeaderId,loadMany,loadSingle,useDeepCompareMemoize}from"./utils";import{argValueToBoolean,fromLocalStorage,fromSessionStorage}from"../../utils";import{Loading}from"../Loading";import{defaultTheme}from"../../constants";import{SecurityDefs}from"../SecurityRequirement";import{SchemaDefinition}from"../SchemaDefinition";import{PullRight,RedocResponse}from"../pluggable";import{appLocalStore,appSessionStore,appStore}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{operationStore}from"../../recoil/operation";export const ThemeProviders=({options:e,children:t,customOptions:o={}})=>{const i=Object.assign(Object.assign({},e),o),n=useMemo((()=>({mediaQueries:i.mediaQueries,showAtBreakpoint:i.showAtBreakpoint})),[i.mediaQueries,i.showAtBreakpoint]);return React.createElement(ThemeProvider,{theme:n},t)};export const AppProvider=({definitions:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,children:r})=>{const[,a]=useState(),[l,s]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){s(!0);try{c(e?yield loadMany(e):yield loadSingle(i,o,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,i,o,t]);const m=useMemo((()=>{var e,i,r;if(p)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(r=null===(i=t.hooks)||void 0===i?void 0:i.onInit)||void 0===r||r.call(i,{store:{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}})),{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}}),useDeepCompareMemoize([p,t,o]));return useEffect((()=>{m&&s(!1)}),[m]),m?l?argValueToBoolean(null==t?void 0:t.hideLoading,!1)?null:React.createElement(Loading,{color:"--loading-spinner-color"}):React.isValidElement(r)?React.cloneElement(r,{store:m}):null:null};const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:defaultTheme.breakpoints,showAtBreakpoint:defaultTheme.showAtBreakpoint,allowedMdComponents:{tags:{securityDefinitions:{render:"SecurityDefinitions",attributes:{htmlWrap:{type:String,default:!0}}},redocResponse:{render:"RedocResponse",attributes:{pointer:{type:String},hideSamples:{type:Boolean},htmlWrap:{type:String,default:!1}}},pullRight:{render:"PullRight",attributes:{htmlWrap:{type:String,default:!1}}},schemaDefinition:{render:"SchemaDefinition",attributes:{schemaRef:{type:String},exampleRef:{type:String},showReadOnly:{type:Boolean},showWriteOnly:{type:Boolean},htmlWrap:{type:String,default:!1}}}},nodes:{heading:{children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1}},transform(e,t){const o=e.transformAttributes(t),i=e.transformChildren(t),n="string"==typeof o.id?o.id:getMarkdownHeaderId(i);return new Tag("Heading",Object.assign(Object.assign({},o),{id:n,level:e.attributes.level}),i)}}},components:{SecurityDefinitions:SecurityDefs,SchemaDefinition:SchemaDefinition,RedocResponse:RedocResponse,PullRight:PullRight,Heading:Heading}}};export const StoreProvider=({children:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,portalOptions:r})=>React.createElement(RecoilRoot,{initializeState:({set:e})=>{var a;const l=normalizeOptions(Object.assign({},t),DEFAULT_OPTIONS);let s;s=isVersioned(i)?(null===(a=i.versions)||void 0===a?void 0:a.map((({spec:e,id:t,title:o,url:i},n)=>{if(e)return{id:t||`Definition_${n}`,title:o||`Definition_${n}`,url:i,parser:new OpenAPIParser(e,void 0,l)}})).filter(Boolean))||[]:[{url:o,parser:new OpenAPIParser(i,o,l)}];const p=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),c=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:c.showRightPanelToggle||l.showRightPanelToggle,activeVersionIdx:0}),e(appLocalStore,{layout:p.layout||l.layout,activeSampleLanguage:n||p.activeSampleLanguage||l.defaultSampleLanguage}),e(globalStore,{options:l,versions:s}),e(appStore,{isSidebarOpened:!1,tryItOperation:void 0,isLoading:!1,activeMimeName:(null==r?void 0:r.defaultMimeType)||""}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e(operationStore(t),{activeExampleName:o,activeOneOf:0,activeServer:i,requestValues:{}})}}},React.createElement(RecoilNexus,null),e);const isVersioned=e=>"versions"in e;
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(n,r){function a(e){try{s(i.next(e))}catch(e){r(e)}}function l(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,l)}s((i=i.apply(e,t||[])).next())}))};import{ThemeProvider}from"styled-components";import React,{useEffect,useMemo,useState}from"react";import{Tag}from"@markdoc/markdoc";import{Heading}from"@redocly/theme";import{RecoilRoot}from"recoil";import RecoilNexus from"recoil-nexus";import{normalizeOptions,OpenAPIParser}from"../../services";import{getMarkdownHeaderId,loadMany,loadSingle,useDeepCompareMemoize}from"./utils";import{argValueToBoolean,fromLocalStorage,fromSessionStorage}from"../../utils";import{Loading}from"../Loading";import{defaultTheme}from"../../constants";import{SecurityDefs}from"../SecurityRequirement";import{SchemaDefinition}from"../SchemaDefinition";import{PullRight,RedocResponse}from"../pluggable";import{appLocalStore,appSessionStore,appStore}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{operationStore}from"../../recoil/operation";export const ThemeProviders=({options:e,children:t,customOptions:o={}})=>{const i=Object.assign(Object.assign({},e),o),n=useMemo((()=>({mediaQueries:i.mediaQueries,showAtBreakpoint:i.showAtBreakpoint})),[i.mediaQueries,i.showAtBreakpoint]);return React.createElement(ThemeProvider,{theme:n},t)};export const AppProvider=({definitions:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,children:r})=>{const[,a]=useState(),[l,s]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){s(!0);try{c(e?yield loadMany(e):yield loadSingle(i,o,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,i,o,t]);const m=useMemo((()=>{var e,i,r;if(p)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(r=null===(i=t.hooks)||void 0===i?void 0:i.onInit)||void 0===r||r.call(i,{store:{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}})),{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}}),useDeepCompareMemoize([p,t,o]));return useEffect((()=>{m&&s(!1)}),[m]),m?l?argValueToBoolean(null==t?void 0:t.hideLoading,!1)?null:React.createElement(Loading,{color:"--loading-spinner-color"}):React.isValidElement(r)?React.cloneElement(r,{store:m}):null:null};const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:defaultTheme.breakpoints,showAtBreakpoint:defaultTheme.showAtBreakpoint,allowedMdComponents:{tags:{securityDefinitions:{render:"SecurityDefinitions",attributes:{htmlWrap:{type:String,default:!0}}},redocResponse:{render:"RedocResponse",attributes:{pointer:{type:String},hideSamples:{type:Boolean},htmlWrap:{type:String,default:!1}}},pullRight:{render:"PullRight",attributes:{htmlWrap:{type:String,default:!1}}},schemaDefinition:{render:"SchemaDefinition",attributes:{schemaRef:{type:String},exampleRef:{type:String},showReadOnly:{type:Boolean},showWriteOnly:{type:Boolean},htmlWrap:{type:String,default:!1}}}},nodes:{heading:{children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1}},transform(e,t){const o=e.transformAttributes(t),i=e.transformChildren(t),n="string"==typeof o.id?o.id:getMarkdownHeaderId(i);return new Tag("Heading",Object.assign(Object.assign({},o),{id:n,level:e.attributes.level}),i)}}},components:{SecurityDefinitions:SecurityDefs,SchemaDefinition:SchemaDefinition,RedocResponse:RedocResponse,PullRight:PullRight,Heading:Heading}}};export const StoreProvider=({children:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,portalOptions:r})=>{const a=React.useRef(),l=React.useCallback((()=>{var e;const n=normalizeOptions(Object.assign({},t),DEFAULT_OPTIONS),r=isVersioned(i)?(null===(e=i.versions)||void 0===e?void 0:e.map((({spec:e,id:t,title:o,url:i},r)=>{if(e)return{id:t||`Definition_${r}`,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,n)}})).filter(Boolean))||[]:[{url:o,parser:new OpenAPIParser(i,o,n)}];return{options:n,versions:r}}),[i,o,t]);return useEffect((()=>{a.current&&a.current(globalStore,l())}),[l]),React.createElement(RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=l(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),s=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:s.showRightPanelToggle||o.showRightPanelToggle,activeVersionIdx:0}),e(appLocalStore,{layout:i.layout||o.layout,activeSampleLanguage:n||i.activeSampleLanguage||o.defaultSampleLanguage}),e(globalStore,t),e(appStore,{isSidebarOpened:!1,tryItOperation:void 0,isLoading:!1,activeMimeName:(null==r?void 0:r.defaultMimeType)||""}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e(operationStore(t),{activeExampleName:o,activeOneOf:0,activeServer:i,requestValues:{}})}}},React.createElement(RecoilNexus,null),e)};const isVersioned=e=>"versions"in e;
2
2
  //# sourceMappingURL=Providers.js.map
@@ -1,2 +1,2 @@
1
- import React,{useRef,useCallback,memo}from"react";import{SidebarLogo,GlobalStyle,useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{useLocation}from"react-router-dom";import{LayoutVariant}from"../../constants";import{Search}from"../Search";import{Console}from"../rightPanel/Console";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,ControlsWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{DownloadButtonWithLabel}from"../Download";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{ChangeViewButton}from"../ChangeViewButton";import{ToggleRightPanelButton}from"../ToggleRightPanelButton";import{activeVersionIdxSelector,appSessionStore,layoutSelector,tryItOperationSelector}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{useContentItems,useLicense}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{compose}from"../../utils";const RedoclyOpenAPIDocsComponent=compose(withRouter,memo)((({licenseKey:e,onLoaded:o,_forceRenderInfo:t,children:n})=>{var r,i,a,l,c;const s=useRef(null),{pathname:u}=useLocation(),{isValid:m,licenseInfo:d}=useLicense(e);useMount((()=>{null==o||o()}));const{options:{hideDownloadButton:p,hideInfoSection:R,pagination:f,disableSidebar:S,whiteLabel:g,hideLogo:h,hideFab:v,showNextButton:E,scrollYOffset:y,disablePaginationLoadingAnimation:b},options:I,versions:C}=useRecoilValue(globalStore),{showRightPanelToggle:L}=useRecoilValue(appSessionStore),[P,w]=useRecoilState(activeVersionIdxSelector),B=useRecoilValue(layoutSelector),[V,A]=useRecoilState(tryItOperationSelector),x=useCallback((({idx:e})=>{e&&w(e),A(void 0)}),[w,A]),k=C[P].parser,{flatItems:D,contentItems:T}=useContentItems({parser:k,options:I});if(!C.length)return null;let O=!R;t&&(O=!0);const W=!O&&null!==p&&!p&&("none"===f||"/"===u),N=null===(i=null===(r=k.definition)||void 0===r?void 0:r.info)||void 0===i?void 0:i["x-logo"];return React.createElement(ThemeProviders,{options:I},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:s},!m&&React.createElement(Overlay,{licenseInfo:d}),React.createElement(CssFixes,{whiteLabel:g,showRightPanelToggle:L,layout:B}),V&&React.createElement(Console,{rootElement:s.current,operation:V,onClose:()=>A(void 0)}),!S&&React.createElement(StickyResponsiveSidebar,{hideFab:v,scrollYOffset:y,className:"menu-content"},!h&&React.createElement(SidebarLogo,{imageUrl:null==N?void 0:N.url,href:(null==N?void 0:N.href)||(null===(c=null===(l=null===(a=k.definition)||void 0===a?void 0:a.info)||void 0===l?void 0:l.contact)||void 0===c?void 0:c.url),altText:null==N?void 0:N.altText,backgroundColor:null==N?void 0:N.backgroundColor}),C.length>1&&React.createElement(VersionSwitcher,{versions:C,activeVersionIdx:P,onChange:x}),React.createElement(Search,{contentItems:T,flatItems:D,options:I}),React.createElement(SideMenu,{items:m?T:[]})),React.createElement(ApiContentWrap,{className:"api-content",id:"api-content",layout:B===LayoutVariant.THREE_PANEL&&L?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},L&&B!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),W&&React.createElement(DownloadButtonWithLabel,null),React.createElement(ContentItems,{root:!0,items:m?T:[],showNextButton:E,showApiInfo:O,pagination:f,disablePaginationLoadingAnimation:b}),n),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,null),React.createElement(ChangeViewButton,null)),L&&B!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,_forceRenderInfo:o,children:t,store:n}){var r,i,a;return n?React.createElement(StoreProvider,Object.assign({},n),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,_forceRenderInfo:o,basePath:null===(r=n.options)||void 0===r?void 0:r.routingBasePath,licenseKey:null===(i=n.options)||void 0===i?void 0:i.licenseKey,enableRouter:null===(a=n.options)||void 0===a?void 0:a.enableRouter},t)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:n,activeSampleLanguage:r,activeDeepLink:i}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:n,activeSampleLanguage:r,activeDeepLink:i},React.createElement(RedoclyOpenAPIDocs,null));return t.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
1
+ import React,{useRef,useCallback,memo}from"react";import{SidebarLogo,GlobalStyle,useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{useLocation}from"react-router-dom";import{LayoutVariant}from"../../constants";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,ControlsWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{DownloadButtonWithLabel}from"../Download";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{ChangeViewButton}from"../ChangeViewButton";import{ToggleRightPanelButton}from"../ToggleRightPanelButton";import{activeVersionIdxSelector,appSessionStore,layoutSelector}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{useContentItems,useLicense}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{compose}from"../../utils";const RedoclyOpenAPIDocsComponent=compose(withRouter,memo)((({licenseKey:e,onLoaded:o,_forceRenderInfo:t,children:n})=>{var r,a,i,l,c;const s=useRef(null),{pathname:u}=useLocation(),{isValid:m,licenseInfo:d}=useLicense(e);useMount((()=>{null==o||o()}));const{options:{hideDownloadButton:p,hideInfoSection:R,pagination:f,disableSidebar:g,whiteLabel:h,hideLogo:S,hideFab:v,showNextButton:E,scrollYOffset:y,disablePaginationLoadingAnimation:b,routingBasePath:I},options:L,versions:C}=useRecoilValue(globalStore),{showRightPanelToggle:P}=useRecoilValue(appSessionStore),[w,B]=useRecoilState(activeVersionIdxSelector),V=useRecoilValue(layoutSelector),A=useCallback((({idx:e})=>{e&&B(e)}),[B]),x=C[w].parser,{flatItems:k,contentItems:D}=useContentItems({parser:x,options:L});if(!C.length)return null;let T=!R;t&&(T=!0);const O=!T&&null!==p&&!p&&("none"===f||"/"===u||u===I),W=null===(a=null===(r=x.definition)||void 0===r?void 0:r.info)||void 0===a?void 0:a["x-logo"];return React.createElement(ThemeProviders,{options:L},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:s},!m&&React.createElement(Overlay,{licenseInfo:d}),React.createElement(CssFixes,{whiteLabel:h,showRightPanelToggle:P,layout:V}),!g&&React.createElement(StickyResponsiveSidebar,{hideFab:v,scrollYOffset:y,className:"menu-content"},!S&&React.createElement(SidebarLogo,{imageUrl:null==W?void 0:W.url,href:(null==W?void 0:W.href)||(null===(c=null===(l=null===(i=x.definition)||void 0===i?void 0:i.info)||void 0===l?void 0:l.contact)||void 0===c?void 0:c.url),altText:null==W?void 0:W.altText,backgroundColor:null==W?void 0:W.backgroundColor}),C.length>1&&React.createElement(VersionSwitcher,{versions:C,activeVersionIdx:w,onChange:A}),React.createElement(Search,{contentItems:D,flatItems:k,options:L}),React.createElement(SideMenu,{items:m?D:[]})),React.createElement(ApiContentWrap,{className:"api-content",id:"api-content",layout:V===LayoutVariant.THREE_PANEL&&P?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},P&&V!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),O&&React.createElement(DownloadButtonWithLabel,null),React.createElement(ContentItems,{root:!0,items:m?D:[],showNextButton:E,showApiInfo:T,pagination:f,disablePaginationLoadingAnimation:b}),n),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,null),React.createElement(ChangeViewButton,null)),P&&V!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,_forceRenderInfo:o,children:t,store:n}){var r,a,i;return n?React.createElement(StoreProvider,Object.assign({},n),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,_forceRenderInfo:o,basePath:null===(r=n.options)||void 0===r?void 0:r.routingBasePath,licenseKey:null===(a=n.options)||void 0===a?void 0:a.licenseKey,enableRouter:null===(i=n.options)||void 0===i?void 0:i.enableRouter},t)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:n,activeSampleLanguage:r,activeDeepLink:a}){const i=React.createElement(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:n,activeSampleLanguage:r,activeDeepLink:a},React.createElement(RedoclyOpenAPIDocs,null));return t.disableErrorBoundary?i:React.createElement(ErrorBoundary,null,i)}
2
2
  //# sourceMappingURL=RedoclyOpenAPIDocs.js.map
@@ -23,7 +23,7 @@ import styled,{createGlobalStyle,css}from"styled-components";import{LayoutVarian
23
23
  flex-direction: column;
24
24
  align-items: center;
25
25
  margin: 0 auto;
26
- width: auto;
26
+ width: 100%;
27
27
 
28
28
  ${({layout:e=LayoutVariant.THREE_PANEL,theme:a})=>css`
29
29
  max-width: ${e===LayoutVariant.THREE_PANEL?"100%":""};
@@ -12,5 +12,7 @@ export declare function generateDeepLink(field: FieldModel, options: {
12
12
  pagination: Pagination;
13
13
  }): string;
14
14
  export declare const LinkToField: (props: PropsWithChildren<LinkToFieldProps>) => JSX.Element;
15
- export declare const ShareLinkToField: import("styled-components").StyledComponent<typeof ShareLink, any, {}, never>;
15
+ export declare const ShareLinkToField: import("styled-components").StyledComponent<typeof ShareLink, any, {
16
+ isActive: boolean;
17
+ }, never>;
16
18
  export {};
@@ -1,8 +1,8 @@
1
- import styled from"styled-components";import React from"react";import{AnchorIcon}from"@redocly/theme";import{joinWithSeparator,Pagination}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{checkIfPathMatched}from"../SideMenu/useMenuItemLink";import{ShareLink}from"./linkify";export function generateDeepLink(e,o){const t=e.deps.operation,i=constructFieldDeepFragment(e);if(!(null==t?void 0:t.id)&&!t.isCallback)return"#"+i;let n=o.pagination===Pagination.Item?"#":t.href;return joinWithSeparator(n,i,"!")}export const LinkToField=e=>{const o=e.to,t=(null==e?void 0:e.location)&&checkIfPathMatched(null==e?void 0:e.location,o)?" isActive":"";return React.createElement(ShareLinkToField,{className:e.className+t,to:o,id:null==o?void 0:o.split("#")[1]})};export const ShareLinkToField=styled(ShareLink)`
1
+ import styled from"styled-components";import React from"react";import{AnchorIcon}from"@redocly/theme";import{joinWithSeparator,Pagination}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{checkIfPathMatched}from"../SideMenu/useMenuItemLink";import{ShareLink}from"./linkify";export function generateDeepLink(e,i){const t=e.deps.operation,o=constructFieldDeepFragment(e);if(!(null==t?void 0:t.id)&&!t.isCallback)return"#"+o;let n=i.pagination===Pagination.Item?"#":t.href;return joinWithSeparator(n,o,"!")}export const LinkToField=e=>{const i=e.to;return React.createElement(ShareLinkToField,{className:e.className,isActive:!(!(null==e?void 0:e.location)||!checkIfPathMatched(null==e?void 0:e.location,i)),to:i,id:null==i?void 0:i.split("#")[1]})};export const ShareLinkToField=styled(ShareLink)`
2
2
  left: 10px;
3
3
  display: flex;
4
-
5
- :hover ${AnchorIcon}, :focus ${AnchorIcon}, &.isActive ${AnchorIcon} {
4
+ ${({isActive:e})=>e&&`\n ${AnchorIcon} {\n visibility: visible;\n }\n `}
5
+ :hover ${AnchorIcon}, :focus ${AnchorIcon} {
6
6
  visibility: visible;
7
7
  }
8
8
 
@@ -9,7 +9,6 @@ import styled,{css}from"styled-components";export const Table=styled.div`
9
9
  position: absolute;
10
10
  `;export const FormControl=styled.div`
11
11
  width: 100%;
12
- /* font-family: var(--code-font-family); */
13
12
  display: flex;
14
13
  flex-direction: column;
15
14
  margin-bottom: 10px;
@@ -1,4 +1,4 @@
1
- import React from"react";import styled from"styled-components";import{useRecoilValue}from"recoil";import{AnchorIcon}from"@redocly/theme";import{Link as LinkRouter}from"react-router-dom";import{globalOptionsSelector}from"../../recoil/store";export function Link(e){var t;const{routingBasePath:o,hooks:r,onDeepLinkClick:i}=useRecoilValue(globalOptionsSelector),n=e.security?null===(t=null==r?void 0:r.replaceSecurityLink)||void 0===t?void 0:t.call(r,{securityRequirementId:e.to}):e.to,l=i&&{onClick:e=>{e.preventDefault(),i(o+n)}};return n?React.createElement(LinkRouter,Object.assign({id:e.id,className:e.className,to:o+n},l),e.children):e.children?React.createElement("span",{className:e.className}," ",e.children," "):null}export const StyledShareLink=styled(Link)`
1
+ import React from"react";import styled from"styled-components";import{useRecoilValue}from"recoil";import{AnchorIcon}from"@redocly/theme";import{Link as LinkRouter}from"react-router-dom";import{globalOptionsSelector}from"../../recoil/store";export function Link(e){var t;const{routingBasePath:o,hooks:r,onDeepLinkClick:i}=useRecoilValue(globalOptionsSelector),n=e.security?null===(t=null==r?void 0:r.replaceSecurityLink)||void 0===t?void 0:t.call(r,{securityRequirementId:e.to}):e.to,l=i&&{onClick:e=>{e.preventDefault(),i(o+n)}};return n?React.createElement(LinkRouter,Object.assign({id:e.id,className:e.className||"",to:(null==n?void 0:n.startsWith("#"))?n:o+n},l),e.children):e.children?React.createElement("span",{className:e.className}," ",e.children," "):null}export const StyledShareLink=styled(Link)`
2
2
  position: absolute;
3
3
  transform: translateX(-100%);
4
4
  padding-right: var(--heading-anchor-offset-right);
@@ -1,2 +1,2 @@
1
- import React,{Fragment,useEffect,useState}from"react";import{useRecoilValue}from"recoil";import{TryItSecurity}from"@redocly/theme";import{escapeFormId,fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../../utils";import{TryItDropdown}from"../styled";import{FormControl,FormLabel,FormWrapper}from"../../common/form";import{FormDropdown,FormTextField}from"../../common/TextField";import{OpenIDConnect,Error}from"../OpenIDConnect";import{fromCookie,requiredValidator}from"../utils";import{OAuth2Flow}from"../OAuth2Flow";import{l}from"../../../services";import OAuth2TokenInputComponent from"../OAuth2TokenInput";import{globalStoreSelector}from"../../../recoil/store";export const AuthPanel=({securityDefaults:e,operation:t,activeServer:o,authCorsProxyUrl:a,form:r,formApi:i})=>{var n,s;const[u,c]=useState(0),{parser:m}=useRecoilValue(globalStoreSelector);useEffect((()=>{const e=t.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),o=fromSessionStorage("securityRequirementName"),a=e.findIndex((e=>e===o));c(a<0?0:a)}),[t]);const d=t.security,p=d.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,t)=>({value:e,idx:t})));if(0===p.length)return React.createElement(Error,{message:"Cannot find security schema in the definition"});const f=d[u],h=escapeFormId(f.schemes[0].id);return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,p.length>1&&React.createElement(FormControl,null,React.createElement(FormLabel,null," Security scheme: "),React.createElement(TryItDropdown,{variant:"dark",fullWidth:!0,options:p,value:p[u].value,onChange:e=>{c(e.idx),toSessionStorage("securityRequirementName",e.value)}}))||null,React.createElement(TryItSecurity,{apiId:null===(s=null===(n=m.definition.info)||void 0===n?void 0:n["x-metadata"])||void 0===s?void 0:s.apiId,value:i.getValue(`auth.${h}`),onChange:e=>{i.setValue(`auth.${h}`,e)}}),d[u].schemes.map((t=>{var n,s,u,c,m,d,p;const f=escapeFormId(t.id);if("apiKey"===t.type){const o=getSecurityDetailsOptions(f,""),a={field:`auth.${f}`,fullWidth:!0,initialValue:fromCookie(t)||fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),initValue:fromCookie(t)||fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:f},React.createElement(FormLabel,null," ",t.name,": "),o?React.createElement(FormDropdown,Object.assign({},a,{options:o})):React.createElement(FormTextField,Object.assign({},a,{type:"password",panel:"try-it","data-cy":"apiKey-auth-password"})))}if("http"===t.type){if("basic"===t.scheme){const t=getSecurityDetailsOptions(f,"username"),o={field:`auth.${f}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${f}.username`)||(null===(n=null==e?void 0:e[f])||void 0===n?void 0:n.username),initValue:fromSessionStorage(`auth.${f}.username`)||(null===(s=null==e?void 0:e[f])||void 0===s?void 0:s.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(Fragment,{key:f},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),t?React.createElement(FormDropdown,Object.assign({},o,{options:t})):React.createElement(FormTextField,Object.assign({},o,{panel:"try-it"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${f}.password`,initialValue:fromSessionStorage(`auth.${f}.password`)||(null===(u=null==e?void 0:e[f])||void 0===u?void 0:u.password)||"",validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("bearer"===t.scheme){const t=getSecurityDetailsOptions(f,""),o={field:`auth.${f}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),initValue:fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(Fragment,{key:f},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),t?React.createElement(FormDropdown,Object.assign({},o,{options:t})):React.createElement(FormTextField,Object.assign({},o,{type:"password",placeholder:"(without 'Bearer')",panel:"try-it"}))))}}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInputComponent,{key:f,flow:t.flows.clientCredentials,server:o,authCorsProxyUrl:a,id:f,form:r,formApi:i,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"],defaultValues:null==e?void 0:e[f]});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Flow,{key:f,authorizationUrl:t.flows.implicit.authorizationUrl,authCorsProxyUrl:a,scopes:Object.keys((null===(m=null===(c=null==t?void 0:t.flows)||void 0===c?void 0:c.implicit)||void 0===m?void 0:m.scopes)||{}),server:o,id:f,form:r,formApi:i,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[f]});if("oauth2"===t.type&&t.flows&&t.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:f,authorizationUrl:t.flows.authorizationCode.authorizationUrl,tokenUrl:t.flows.authorizationCode.tokenUrl,authCorsProxyUrl:a,scopes:Object.keys((null===(d=t.flows.authorizationCode)||void 0===d?void 0:d.scopes)||{}),server:o,id:f,form:r,formApi:i,clientId:t.flows.authorizationCode["x-defaultClientId"]||t["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:t.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:t.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[f]});if("oauth2"===t.type){let t=fromSessionStorage(`auth.${f}.token`)||JSON.stringify(null===(p=null==e?void 0:e[f])||void 0===p?void 0:p.token);return t=t?JSON.parse(t):{},React.createElement(Fragment,{key:f},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:`auth.${f}.token.token_type`,initialValue:t.token_type||"Bearer",panel:"try-it"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:`auth.${f}.token.access_token`,validate:requiredValidator,initialValue:t.access_token,validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect,{key:f,server:o,authCorsProxyUrl:a,id:f,form:r,formApi:i,scheme:t,clientId:t["x-defaultClientId"],defaultValues:null==e?void 0:e[f]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))};
1
+ import React,{Fragment,useEffect,useState}from"react";import{useRecoilValue}from"recoil";import{TryItSecurityApps}from"@redocly/theme";import{escapeFormId,fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../../utils";import{TryItDropdown}from"../styled";import{FormControl,FormLabel,FormWrapper}from"../../common/form";import{FormDropdown,FormTextField}from"../../common/TextField";import{OpenIDConnect,Error}from"../OpenIDConnect";import{fromCookie,requiredValidator}from"../utils";import{OAuth2Flow}from"../OAuth2Flow";import{l}from"../../../services";import OAuth2TokenInputComponent from"../OAuth2TokenInput";import{globalStoreSelector}from"../../../recoil/store";export const AuthPanel=({securityDefaults:e,operation:t,activeServer:o,authCorsProxyUrl:a,form:r,formApi:i})=>{var n,s;const[u,c]=useState(0),{parser:m}=useRecoilValue(globalStoreSelector);useEffect((()=>{const e=t.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),o=fromSessionStorage("securityRequirementName"),a=e.findIndex((e=>e===o));c(a<0?0:a)}),[t]);const d=t.security,p=d.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,t)=>({value:e,idx:t})));if(0===p.length)return React.createElement(Error,{message:"Cannot find security schema in the definition"});const f=d[u],h=escapeFormId(f.schemes[0].id);return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,p.length>1&&React.createElement(FormControl,null,React.createElement(FormLabel,null," Security scheme: "),React.createElement(TryItDropdown,{variant:"dark",fullWidth:!0,options:p,value:p[u].value,onChange:e=>{c(e.idx),toSessionStorage("securityRequirementName",e.value)}}))||null,React.createElement(TryItSecurityApps,{apiId:null===(s=null===(n=null==m?void 0:m.definition.info)||void 0===n?void 0:n["x-metadata"])||void 0===s?void 0:s.apiId,value:i.getValue(`auth.${h}`),onChange:e=>{i.setValue(`auth.${h}`,e)}}),d[u].schemes.map((t=>{var n,s,u,c,m,d,p;const f=escapeFormId(t.id);if("apiKey"===t.type){const o=getSecurityDetailsOptions(f,""),a={field:`auth.${f}`,fullWidth:!0,initialValue:fromCookie(t)||fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),initValue:fromCookie(t)||fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:f},React.createElement(FormLabel,null," ",t.name,": "),o?React.createElement(FormDropdown,Object.assign({},a,{options:o})):React.createElement(FormTextField,Object.assign({},a,{type:"password",panel:"try-it","data-cy":"apiKey-auth-password"})))}if("http"===t.type){if("basic"===t.scheme){const t=getSecurityDetailsOptions(f,"username"),o={field:`auth.${f}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${f}.username`)||(null===(n=null==e?void 0:e[f])||void 0===n?void 0:n.username),initValue:fromSessionStorage(`auth.${f}.username`)||(null===(s=null==e?void 0:e[f])||void 0===s?void 0:s.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(Fragment,{key:f},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),t?React.createElement(FormDropdown,Object.assign({},o,{options:t})):React.createElement(FormTextField,Object.assign({},o,{panel:"try-it"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${f}.password`,initialValue:fromSessionStorage(`auth.${f}.password`)||(null===(u=null==e?void 0:e[f])||void 0===u?void 0:u.password)||"",validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("bearer"===t.scheme){const t=getSecurityDetailsOptions(f,""),o={field:`auth.${f}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),initValue:fromSessionStorage(`auth.${f}`)||(null==e?void 0:e[f]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(Fragment,{key:f},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),t?React.createElement(FormDropdown,Object.assign({},o,{options:t})):React.createElement(FormTextField,Object.assign({},o,{type:"password",placeholder:"(without 'Bearer')",panel:"try-it"}))))}}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInputComponent,{key:f,flow:t.flows.clientCredentials,server:o,authCorsProxyUrl:a,id:f,form:r,formApi:i,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"],defaultValues:null==e?void 0:e[f]});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Flow,{key:f,authorizationUrl:t.flows.implicit.authorizationUrl,authCorsProxyUrl:a,scopes:Object.keys((null===(m=null===(c=null==t?void 0:t.flows)||void 0===c?void 0:c.implicit)||void 0===m?void 0:m.scopes)||{}),server:o,id:f,form:r,formApi:i,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[f]});if("oauth2"===t.type&&t.flows&&t.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:f,authorizationUrl:t.flows.authorizationCode.authorizationUrl,tokenUrl:t.flows.authorizationCode.tokenUrl,authCorsProxyUrl:a,scopes:Object.keys((null===(d=t.flows.authorizationCode)||void 0===d?void 0:d.scopes)||{}),server:o,id:f,form:r,formApi:i,clientId:t.flows.authorizationCode["x-defaultClientId"]||t["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:t.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:t.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[f]});if("oauth2"===t.type){let t=fromSessionStorage(`auth.${f}.token`)||JSON.stringify(null===(p=null==e?void 0:e[f])||void 0===p?void 0:p.token);return t=t?JSON.parse(t):{},React.createElement(Fragment,{key:f},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:`auth.${f}.token.token_type`,initialValue:t.token_type||"Bearer",panel:"try-it"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:`auth.${f}.token.access_token`,validate:requiredValidator,initialValue:t.access_token,validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect,{key:f,server:o,authCorsProxyUrl:a,id:f,form:r,formApi:i,scheme:t,clientId:t["x-defaultClientId"],defaultValues:null==e?void 0:e[f]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))};
2
2
  //# sourceMappingURL=AuthPanel.js.map
@@ -1,4 +1,4 @@
1
- import React,{memo,useState}from"react";import styled from"styled-components";import{useMount}from"@redocly/theme";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{TryItDropdown}from"../styled";function ServersDropdownComponent({operation:e,onChange:r}){const t=fromSessionStorage("serverUrl"),a=e.servers.findIndex((e=>e.url===t)),[o,s]=useState(a<0?0:a),[n,l]=useState({});useMount((()=>{const t=getServerWithVariables(e.servers,o);r(t),l(t.variables)}));const i=e.servers.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${expandDefaultServerVariables(expandVariables(e.url,n),e.variables)}\n - ${e.description||"Default"}\n `}))),m=Object.keys(n);return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(TryItDropdown,{variant:"dark",value:i[o].value,options:i,fullWidth:!0,onChange:t=>{const a=e.servers.find((e=>e.url===t.serverUrl)),o=e.servers.findIndex((e=>e.url===t.serverUrl)),n=getDefaultOrStoredVariables(a);r({url:t.serverUrl||"",variables:n}),toSessionStorage("serverUrl",t.serverUrl||""),s(o),l(n)}})),null==m?void 0:m.map((t=>{var a;const s=null===(a=e.servers[o].variables)||void 0===a?void 0:a[t];if(s)return React.createElement(ServerVariable,{key:t,name:t,value:n[t],defaultValue:s.default,onChange:a=>((t,a)=>{const s=e.servers[o],i=a||""===a?a:getDefaultOrStoredVariables(s)[t],m=Object.assign(Object.assign({},n),{[t]:i});l(m),updateVariablesStorage(t,i),r(Object.assign(Object.assign({},s),{variables:m}))})(t,a),variableEnum:s.enum,description:s.description})})))}export const ServersDropdown=memo(ServersDropdownComponent);const ServerDropdownWrap=styled.div`
1
+ import React,{memo,useState}from"react";import styled from"styled-components";import{useMount}from"@redocly/theme";import{fromSessionStorage,normalizeText,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{TryItDropdown}from"../styled";function ServersDropdownComponent({operation:e,onChange:r}){const t=fromSessionStorage("serverUrl"),a=e.servers.findIndex((e=>e.url===t)),[o,s]=useState(a<0?0:a),[n,l]=useState({});useMount((()=>{const t=getServerWithVariables(e.servers,o);r(t),l(t.variables)}));const i=e.servers.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${expandDefaultServerVariables(expandVariables(e.url,n),e.variables)}\n - ${normalizeText(e.description)||"Default"}\n `}))),m=Object.keys(n);return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(TryItDropdown,{variant:"dark",value:i[o].value,options:i,fullWidth:!0,onChange:t=>{const a=e.servers.find((e=>e.url===t.serverUrl)),o=e.servers.findIndex((e=>e.url===t.serverUrl)),n=getDefaultOrStoredVariables(a);r({url:t.serverUrl||"",variables:n}),toSessionStorage("serverUrl",t.serverUrl||""),s(o),l(n)}})),null==m?void 0:m.map((t=>{var a;const s=null===(a=e.servers[o].variables)||void 0===a?void 0:a[t];if(s)return React.createElement(ServerVariable,{key:t,name:t,value:n[t],defaultValue:s.default,onChange:a=>((t,a)=>{const s=e.servers[o],i=a||""===a?a:getDefaultOrStoredVariables(s)[t],m=Object.assign(Object.assign({},n),{[t]:i});l(m),updateVariablesStorage(t,i),r(Object.assign(Object.assign({},s),{variables:m}))})(t,a),variableEnum:s.enum,description:s.description})})))}export const ServersDropdown=memo(ServersDropdownComponent);const ServerDropdownWrap=styled.div`
2
2
  margin-bottom: 20px;
3
3
  `;
4
4
  //# sourceMappingURL=ServersDropdown.js.map
@@ -54,7 +54,7 @@ import styled,{css,keyframes}from"styled-components";import{PreformattedCodeBloc
54
54
  background-color: var(--panel-samples-body-background-color);
55
55
  `;export const CloseButton=styled.span`
56
56
  cursor: pointer;
57
- font-size: 24px;
57
+ font-size: 18px;
58
58
  font-weight: bold;
59
59
  color: var(--text-color-inverse);
60
60
  `;export const invertedInputStyles=css`
@@ -4,4 +4,4 @@ import type { FieldModel, Deps } from './types';
4
4
  export declare function getField(parser: OpenAPIParser, infoOrRef: Referenced<OpenAPIParameter> & {
5
5
  name?: string;
6
6
  kind?: string;
7
- }, pointer: string, options: Options, deps: Deps, refsStack?: string[]): FieldModel;
7
+ }, pointer: string, options: Options, deps: Deps, refsStack?: string[], absolutePointer?: string): FieldModel;
@@ -1,2 +1,2 @@
1
- import{extractExtensions,mapValues}from"../utils";import{getSchema}from"./schema";import{getExamples}from"./example";const DEFAULT_SERIALIZATION={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};export function getField(e,l,o,t,i,n){var s,d,a,p,r,c;const{resolved:m}=e.deref(l),x=l.kind||"field",u=l.name||m.name,v=m.in,f=!!m.required;let h,E,g=m.schema,F="";if(!g&&m.in&&m.content){F=Object.keys(m.content)[0];const l=m.content[F];g=l&&(null==l?void 0:l.example)?Object.assign(Object.assign({},e.deref(l.schema,n,!0).resolved),{example:m.example||l.example}):l.schema}const y=(null==i?void 0:i.parentFieldFullPath)?i.parentFieldFullPath+"/"+u:u,O=getSchema({parser:e,schemaOrRef:g||{},pointer:o,options:t,baseRefsStack:n,deps:Object.assign(Object.assign({},i),{parentFieldFullPath:y,in:v})}),A=void 0===m.description?O.description||"":m.description,I=m.example||O.example,b=m.examples||(null===(d=null===(s=m.content)||void 0===s?void 0:s[F])||void 0===d?void 0:d.examples),L=b?mapValues(b,((l,o)=>getExamples({parser:e,infoOrRef:l,mime:o,encoding:m.encoding}))):void 0;F?h=F:m.style?E=m.style:v&&(E=null!==(p=null===(a=DEFAULT_SERIALIZATION[v])||void 0===a?void 0:a.style)&&void 0!==p?p:"form");const R=void 0===m.explode&&v?null===(c=null===(r=DEFAULT_SERIALIZATION[v])||void 0===r?void 0:r.explode)||void 0===c||c:!!m.explode;return{deps:i||{},schema:O,name:u,required:f,description:A,example:I,examples:L,deprecated:void 0===m.deprecated?O.deprecated:m.deprecated,in:v,kind:x,extensions:t.showExtensions?extractExtensions(m,t.showExtensions):void 0,explode:R,style:E,const:(null==O?void 0:O.const)||(null==m?void 0:m.const)||"",serializationMime:h,fieldFullPath:y}}
1
+ import{extractExtensions,mapValues}from"../utils";import{getSchema}from"./schema";import{getExamples}from"./example";const DEFAULT_SERIALIZATION={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};export function getField(e,o,l,t,i,n,s=l){var d,a,p,r,c,m,x;const{resolved:u}=e.deref(o),v=o.kind||"field",f=o.name||u.name,h=u.in,E=!!u.required;let g,F,y=u.schema,O="";if(!y&&u.in&&u.content){O=Object.keys(u.content)[0];const o=u.content[O];y=o&&(null==o?void 0:o.example)?Object.assign(Object.assign({},e.deref(o.schema,n,!0).resolved),{example:u.example||o.example}):o.schema}const A=(null==i?void 0:i.parentFieldFullPath)?i.parentFieldFullPath+"/"+f:f,I=getSchema({parser:e,schemaOrRef:y||{},pointer:l,options:t,baseRefsStack:n,absolutePointer:o.$ref||(null===(d=u.schema)||void 0===d?void 0:d.absolutePointer)||s,deps:Object.assign(Object.assign({},i),{parentFieldFullPath:A,in:h})}),b=void 0===u.description?I.description||"":u.description,L=u.example||I.example,P=u.examples||(null===(p=null===(a=u.content)||void 0===a?void 0:a[O])||void 0===p?void 0:p.examples),R=P?mapValues(P,((o,l)=>getExamples({parser:e,infoOrRef:o,mime:l,encoding:u.encoding}))):void 0;O?g=O:u.style?F=u.style:h&&(F=null!==(c=null===(r=DEFAULT_SERIALIZATION[h])||void 0===r?void 0:r.style)&&void 0!==c?c:"form");const S=void 0===u.explode&&h?null===(x=null===(m=DEFAULT_SERIALIZATION[h])||void 0===m?void 0:m.explode)||void 0===x||x:!!u.explode;return{deps:i||{},schema:I,name:f,required:E,description:b,example:L,examples:R,deprecated:void 0===u.deprecated?I.deprecated:u.deprecated,in:h,kind:v,extensions:t.showExtensions?extractExtensions(u,t.showExtensions):void 0,explode:S,style:F,const:(null==I?void 0:I.const)||(null==u?void 0:u.const)||"",serializationMime:g,fieldFullPath:A}}
2
2
  //# sourceMappingURL=field.js.map
@@ -3,5 +3,5 @@ import type { MediaContentModel, MediaContentModelInput } from './types';
3
3
  * MediaContent model ready to be sued by React components
4
4
  * Contains multiple MediaTypes and keeps track of the currently active one
5
5
  */
6
- export declare function getMediaContent({ parser, info, isRequestType, options, data: { operation, type, response }, }: MediaContentModelInput): MediaContentModel;
6
+ export declare function getMediaContent({ parser, info, isRequestType, options, data: { operation, type, response, absolutePointer }, }: MediaContentModelInput): MediaContentModel;
7
7
  export declare function getActiveMediaType(content: MediaContentModel, mime?: string): import("./types").MediaTypeModel;
@@ -1,2 +1,2 @@
1
- import{getRecoil}from"recoil-nexus";import{mergeSimilarMediaTypes}from"../utils";import{getMediaType}from"./mediaType";import{activeMimeNameSelector}from"../recoil/app";export function getMediaContent({parser:e,info:t,isRequestType:i,options:r,data:{operation:o,type:a,response:p}}){r.unstable_ignoreMimeParameters&&(t=mergeSimilarMediaTypes(t));const m=Object.keys(t).map((m=>{const n=t[m];return getMediaType(e,m,i,n,r,{operation:o,type:a,response:p})})),n=m.filter((e=>!!e.examples)).length>0;return{mediaTypes:m,isRequestType:i,hasSample:n,operation:o}}export function getActiveMediaType(e,t){const i=t||getRecoil(activeMimeNameSelector);return i&&e.mediaTypes.find((e=>e.name===i))||e.mediaTypes[0]}
1
+ import{getRecoil}from"recoil-nexus";import{mergeSimilarMediaTypes}from"../utils";import{getMediaType}from"./mediaType";import{activeMimeNameSelector}from"../recoil/app";export function getMediaContent({parser:e,info:t,isRequestType:i,options:o,data:{operation:r,type:a,response:p,absolutePointer:m=""}}){o.unstable_ignoreMimeParameters&&(t=mergeSimilarMediaTypes(t));const s=Object.keys(t).map((s=>getMediaType(e,s,i,t[s],o,{operation:r,type:a,response:p,absolutePointer:m}))),n=s.filter((e=>!!e.examples)).length>0;return{mediaTypes:s,isRequestType:i,hasSample:n,operation:r}}export function getActiveMediaType(e,t){const i=t||getRecoil(activeMimeNameSelector);return i&&e.mediaTypes.find((e=>e.name===i))||e.mediaTypes[0]}
2
2
  //# sourceMappingURL=mediaContent.js.map
@@ -12,8 +12,9 @@ import type { MediaTypeModel, ResponseModel, OperationModel } from './types';
12
12
  * @param type
13
13
  * @param response
14
14
  */
15
- export declare function getMediaType(parser: OpenAPIParser, name: string, isRequestType: boolean, info: OpenAPIMediaType, options: Options, { operation, type, response, }: {
15
+ export declare function getMediaType(parser: OpenAPIParser, name: string, isRequestType: boolean, info: OpenAPIMediaType, options: Options, { operation, type, response, absolutePointer, }: {
16
16
  operation: OperationModel;
17
17
  type?: 'request' | 'response';
18
18
  response?: ResponseModel;
19
+ absolutePointer?: string;
19
20
  }): MediaTypeModel;
@@ -1,2 +1,2 @@
1
- import*as Sampler from"openapi-sampler";import{getSchema}from"./schema";import{isFormUrlEncoded,isJsonLike,mapValues}from"../utils";import{getExamples}from"./example";function generateExamples({parser:e,info:{encoding:a,schema:o},schema:i,mime:r,isRequestType:s,onlyRequiredInSamples:n,generatedPayloadSamplesMaxDepth:p}){const m={skipReadOnly:s,skipWriteOnly:!s,skipNonRequired:s&&n,maxSampleDepth:p};let t={};if(i&&i.oneOf)for(const o of i.oneOf){const s=Sampler.sample(o.rawSchema,m,e.definition);i.discriminatorProp&&"object"==typeof s&&s&&(s[i.discriminatorProp]=o.title),t[o.title]=getExamples({parser:e,infoOrRef:{value:s},mime:r,encoding:a})}else i&&(t={default:getExamples({parser:e,infoOrRef:{value:Sampler.sample(o,m,e.definition)},mime:r,encoding:a})});return t}export function getMediaType(e,a,o,i,r,{operation:s,type:n,response:p}){let m;const t=i.schema&&getSchema({parser:e,schemaOrRef:i.schema,pointer:"",options:r,deps:{operation:s,type:n,response:p}}),{onlyRequiredInSamples:l,generatedPayloadSamplesMaxDepth:d}=r,{encoding:c,examples:f,example:u}=i;return void 0!==f?m=mapValues(f,(o=>getExamples({parser:e,infoOrRef:o,mime:a,encoding:c}))):void 0!==u?m={default:getExamples({parser:e,infoOrRef:{value:e.deref(u).resolved},mime:a,encoding:c})}:(isJsonLike(a)||isFormUrlEncoded(a))&&(m=generateExamples({parser:e,info:i,schema:t,mime:a,isRequestType:o,onlyRequiredInSamples:l,generatedPayloadSamplesMaxDepth:d})),{examples:m,schema:t,name:a,isRequestType:o,onlyRequiredInSamples:l,operation:s}}
1
+ import*as Sampler from"openapi-sampler";import{getSchema}from"./schema";import{isFormUrlEncoded,isJsonLike,JsonPointer,mapValues}from"../utils";import{getExamples}from"./example";function generateExamples({parser:e,info:{encoding:a,schema:o},schema:n,mime:i,isRequestType:s,onlyRequiredInSamples:r,generatedPayloadSamplesMaxDepth:m}){const p={skipReadOnly:s,skipWriteOnly:!s,skipNonRequired:s&&r,maxSampleDepth:m};let t={};if(n&&n.oneOf)for(const o of n.oneOf){const s=Sampler.sample(o.rawSchema,p,e.definition);n.discriminatorProp&&"object"==typeof s&&s&&(s[n.discriminatorProp]=o.title),t[o.title]=getExamples({parser:e,infoOrRef:{value:s},mime:i,encoding:a})}else n&&(t={default:getExamples({parser:e,infoOrRef:{value:Sampler.sample(o,p,e.definition)},mime:i,encoding:a})});return t}export function getMediaType(e,a,o,n,i,{operation:s,type:r,response:m,absolutePointer:p=""}){let t;const l=n.schema&&getSchema({parser:e,schemaOrRef:n.schema,pointer:"",absolutePointer:JsonPointer.join(p,["content",a,"schema"]),options:i,deps:{operation:s,type:r,response:m}}),{onlyRequiredInSamples:d,generatedPayloadSamplesMaxDepth:c}=i,{encoding:f,examples:u,example:g}=n;return void 0!==u?t=mapValues(u,(o=>getExamples({parser:e,infoOrRef:o,mime:a,encoding:f}))):void 0!==g?t={default:getExamples({parser:e,infoOrRef:{value:e.deref(g).resolved},mime:a,encoding:f})}:(isJsonLike(a)||isFormUrlEncoded(a))&&(t=generateExamples({parser:e,info:n,schema:l,mime:a,isRequestType:o,onlyRequiredInSamples:d,generatedPayloadSamplesMaxDepth:c})),{examples:t,schema:l,name:a,isRequestType:o,onlyRequiredInSamples:d,operation:s}}
2
2
  //# sourceMappingURL=mediaType.js.map
@@ -1,2 +1,2 @@
1
- import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,isStatusCode,mergeParams,normalizeServers,sortByField,sortByRequired}from"../utils";import{getInitialServerWithVariables}from"../components/rightPanel/utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurityRequirement}from"./security";import{getCodeSample}from"../services";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,t,a,r,s,i){var o,n,l,p;const d=t.isWebhook,m={operationDefinition:t,parent:a,pointer:t.pointer,description:t.description,externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:d,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||d,name:getOperationName(t),defaultExampleName:t.defaultSampleName,type:"operation",callbackId:null==i?void 0:i.id,href:s,get callbacks(){return Object.keys(t.callbacks||[]).map((i=>{var o;return getCallback(e,i,null===(o=t.callbacks)||void 0===o?void 0:o[i],m.pointer,r,s,a)}))},get responses(){let a=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(a=!0),isStatusCode(e)))).map((s=>getResponse({parser:e,code:s,defaultAsError:a,infoOrRef:t.responses[s],options:r,isEvent:m.isEvent,operation:m})))},get parameters(){let a=mergeParams(e,t.pathParameters,t.parameters).map((t=>getField(e,t,m.pointer,r,{operation:m,type:"request"})));return r.sortPropsAlphabetically&&(a=sortByField(a,"name")),r.requiredPropsFirst&&(a=sortByRequired(a)),a}};(null==i?void 0:i.isCallback)?(m.security=(t.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),m.servers=normalizeServers("",t.servers||t.pathServers||[])):(m.id=getOperationId(t,a),m.security=(t.security||e.definition.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),m.servers=normalizeServers(e.definitionUrl,mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],r.mockServer))),r.showExtensions&&(m.extensions=extractExtensions(t,r.showExtensions)),m.activeServer=getInitialServerWithVariables(m.servers),m.requestBody=t.requestBody&&getRequestBody({parser:e,infoOrRef:t.requestBody,options:r,operation:m,isEvent:m.isEvent});const c=null===(n=null===(o=m.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.mediaTypes,[u]=c||[],[g]=Object.keys((null==u?void 0:u.examples)||[]);m.activeExampleName=!1===t.defaultSampleName?void 0:t.defaultSampleName||g;const v=null===(l=m.requestBody)||void 0===l?void 0:l.content;m.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,m.definitionSamples=t["x-codeSamples"]||t["x-code-samples"]||[],t["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),m.hasSamples=(null==v?void 0:v.hasSample)||m.definitionSamples.length>0;const{payloadSampleIdx:S,hideRequestPayloadSample:y}=r;let f=[];if(!d){const t=r.generateCodeSamples||{},a=new Set(m.definitionSamples.map((({lang:e})=>e.toLowerCase())));f=generateCodeSamples((null===(p=t.languages)||void 0===p?void 0:p.filter((({lang:e})=>!a.has(e.toLowerCase()))))||[],t,e.definition,r.generatedPayloadSamplesMaxDepth)}const h=m.definitionSamples.concat(f),b=Math.min(h.length,S);return m.payload&&!y&&h.splice(b,0,m.payload),m.allCodeSamples=h,m.hideTryItPanel=!0===t["x-hideTryItPanel"],m}function generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:a},r,s){return e.map((({lang:e,label:i,options:o})=>({lang:e,label:i,get:i=>getCodeSample(Object.assign(Object.assign({},i),{lang:e,options:Object.assign(Object.assign({},o),{skipOptionalParameters:t,withOAuth2Call:a,spec:r,generatedPayloadSamplesMaxDepth:s})}))})))}function mergeInMockServer(e,t){if(!t)return e;const a={url:t.url,description:t.description};switch(t.position){case"first":return[a,...e];case"last":return[...e,a];case"replace":return[a];default:return e}}
1
+ import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByField,sortByRequired}from"../utils";import{getInitialServerWithVariables}from"../components/rightPanel/utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurityRequirement}from"./security";import{getCodeSample}from"../services";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,t,r,a,o,i){var s,n,l,p;const d=t.isWebhook,m={operationDefinition:t,parent:r,pointer:t.pointer,description:t.description,externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:d,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||d,name:getOperationName(t),defaultExampleName:t.defaultSampleName,type:"operation",callbackId:null==i?void 0:i.id,href:o,get callbacks(){return Object.keys(t.callbacks||[]).map((i=>{var s;return getCallback(e,i,null===(s=t.callbacks)||void 0===s?void 0:s[i],m.pointer,a,o,r)}))},get responses(){let r=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(r=!0),isStatusCode(e)))).map((o=>getResponse({parser:e,code:o,defaultAsError:r,infoOrRef:t.responses[o],options:a,isEvent:m.isEvent,operation:m})))},get parameters(){let r=mergeParams(e,t.pathParameters,t.parameters,{pathPointer:JsonPointer.dirName(m.pointer),operationPointer:m.pointer}).map((({paramOrRef:t,pointer:r})=>getField(e,t,r,a,{operation:m,type:"request"})));return a.sortPropsAlphabetically&&(r=sortByField(r,"name")),a.requiredPropsFirst&&(r=sortByRequired(r)),r}};(null==i?void 0:i.isCallback)?(m.security=(t.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),m.servers=normalizeServers("",t.servers||t.pathServers||[])):(m.id=getOperationId(t,r),m.security=(t.security||e.definition.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),m.servers=normalizeServers(e.definitionUrl,mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],a.mockServer))),a.showExtensions&&(m.extensions=extractExtensions(t,a.showExtensions)),m.activeServer=getInitialServerWithVariables(m.servers),m.requestBody=t.requestBody&&getRequestBody({parser:e,infoOrRef:t.requestBody,options:a,operation:m,isEvent:m.isEvent});const c=null===(n=null===(s=m.requestBody)||void 0===s?void 0:s.content)||void 0===n?void 0:n.mediaTypes,[u]=c||[],[g]=Object.keys((null==u?void 0:u.examples)||[]);m.activeExampleName=!1===t.defaultSampleName?void 0:t.defaultSampleName||g;const v=null===(l=m.requestBody)||void 0===l?void 0:l.content;m.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,m.definitionSamples=t["x-codeSamples"]||t["x-code-samples"]||[],t["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),m.hasSamples=(null==v?void 0:v.hasSample)||m.definitionSamples.length>0;const{payloadSampleIdx:S,hideRequestPayloadSample:y}=a;let f=[];if(!d){const t=a.generateCodeSamples||{},r=new Set(m.definitionSamples.map((({lang:e})=>e.toLowerCase())));f=generateCodeSamples((null===(p=t.languages)||void 0===p?void 0:p.filter((({lang:e})=>!r.has(e.toLowerCase()))))||[],t,e.definition,a.generatedPayloadSamplesMaxDepth)}const h=m.definitionSamples.concat(f),b=Math.min(h.length,S);return m.payload&&!y&&h.splice(b,0,m.payload),m.allCodeSamples=h,m.hideTryItPanel=!0===t["x-hideTryItPanel"],m}function generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:r},a,o){return e.map((({lang:e,label:i,options:s})=>({lang:e,label:i,get:i=>getCodeSample(Object.assign(Object.assign({},i),{lang:e,options:Object.assign(Object.assign({},s),{skipOptionalParameters:t,withOAuth2Call:r,spec:a,generatedPayloadSamplesMaxDepth:o})}))})))}function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}
2
2
  //# sourceMappingURL=operation.js.map
@@ -1,2 +1,2 @@
1
- import{getContentWithLegacyExamples}from"../utils";import{getMediaContent}from"./mediaContent";export function getRequestBody({parser:e,infoOrRef:t,options:o,isEvent:n,operation:i}){const{resolved:r}=e.deref(t),s=r.description||"",p=!!r.required;let a;const d=!n,c=getContentWithLegacyExamples(r);return void 0!==c&&(a=getMediaContent({parser:e,info:c,isRequestType:d,options:o,data:{operation:i,type:"request"}})),{description:s,required:p,content:a}}
1
+ import{getContentWithLegacyExamples,JsonPointer}from"../utils";import{getMediaContent}from"./mediaContent";export function getRequestBody({parser:e,infoOrRef:t,options:o,isEvent:n,operation:i}){const{resolved:r}=e.deref(t),s=r.description||"",p=!!r.required;let a;const d=!n,u=getContentWithLegacyExamples(r);return void 0!==u&&(a=getMediaContent({parser:e,info:u,isRequestType:d,options:o,data:{operation:i,type:"request",absolutePointer:t.$ref||JsonPointer.join(i.pointer,["requestBody"])}})),{description:s,required:p,content:a}}
2
2
  //# sourceMappingURL=request.js.map
@@ -1,2 +1,2 @@
1
- import{getStatusCodeType,getContentWithLegacyExamples}from"../utils";import{getField}from"./field";import{getMediaContent}from"./mediaContent";export function getResponse({parser:e,code:t,defaultAsError:o,infoOrRef:s,options:n,isEvent:r,operation:i}){var p;const a=!!r,d="all"===n.expandResponses||(null===(p=n.expandResponses)||void 0===p?void 0:p[t])||!1,{resolved:m}=e.deref(s),c={code:t,expanded:d};void 0!==m["x-summary"]?(c.summary=m["x-summary"],c.description=m.description||""):(c.summary=m.description||"",c.description=""),c.type=getStatusCodeType(t,o);const g=m.headers;void 0!==g&&(c.headers=Object.keys(g).map((t=>{const o=g[t];return getField(e,Object.assign(Object.assign({},o),{name:t}),"",n,{operation:i,type:"response",response:c})})));const u=getContentWithLegacyExamples(m);return void 0!==u&&(c.content=getMediaContent({parser:e,info:u,isRequestType:a,options:n,data:{operation:i,type:"response",response:c}})),c}
1
+ import{getStatusCodeType,getContentWithLegacyExamples,JsonPointer}from"../utils";import{getField}from"./field";import{getMediaContent}from"./mediaContent";export function getResponse({parser:e,code:o,defaultAsError:t,infoOrRef:n,options:s,isEvent:r,operation:i}){var p;const a=!!r,d="all"===s.expandResponses||(null===(p=s.expandResponses)||void 0===p?void 0:p[o])||!1,{resolved:m}=e.deref(n),c={code:o,expanded:d};void 0!==m["x-summary"]?(c.summary=m["x-summary"],c.description=m.description||""):(c.summary=m.description||"",c.description=""),c.type=getStatusCodeType(o,t);const l=m.headers,u=n.$ref||JsonPointer.join((null==i?void 0:i.pointer)||"",["responses",o]);void 0!==l&&(c.headers=Object.keys(l).map((o=>{const t=l[o];return getField(e,Object.assign(Object.assign({},t),{name:o}),JsonPointer.join(u,["headers",o]),s,{operation:i,type:"response",response:c})})));const g=getContentWithLegacyExamples(m);return void 0!==g&&(c.content=getMediaContent({parser:e,info:g,isRequestType:a,options:s,data:{operation:i,type:"response",response:c,absolutePointer:u}})),c}
2
2
  //# sourceMappingURL=response.js.map
@@ -2,7 +2,7 @@ import type { OpenAPISchema, Referenced } from '../types';
2
2
  import type { OpenAPIParser } from '../services';
3
3
  import type { Deps, SchemaModel } from './types';
4
4
  import type { Options } from 'src/services/Options';
5
- export declare function getSchema({ parser, schemaOrRef, pointer, options, isChild, baseRefsStack, deps, }: {
5
+ export declare function getSchema({ parser, schemaOrRef, pointer, options, isChild, baseRefsStack, deps, absolutePointer, }: {
6
6
  parser: OpenAPIParser;
7
7
  schemaOrRef: Referenced<OpenAPISchema>;
8
8
  pointer: string;
@@ -10,4 +10,5 @@ export declare function getSchema({ parser, schemaOrRef, pointer, options, isChi
10
10
  isChild?: boolean;
11
11
  baseRefsStack?: string[];
12
12
  deps: Deps;
13
+ absolutePointer?: string;
13
14
  }): SchemaModel;