@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.
- package/dist/console.redocly-openapi-docs.min.js +28 -28
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-openapi-docs.min.js +796 -809
- package/lib/components/Endpoint/Endpoint.js +1 -1
- package/lib/components/Endpoint/api-client.d.ts +8 -0
- package/lib/components/Endpoint/api-client.js +2 -0
- package/lib/components/Fields/Field.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/styled.js +1 -1
- package/lib/components/common/LinkToField.d.ts +3 -1
- package/lib/components/common/LinkToField.js +3 -3
- package/lib/components/common/form.js +0 -1
- package/lib/components/common/linkify.js +1 -1
- package/lib/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
- package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
- package/lib/components/rightPanel/styled.js +1 -1
- package/lib/models/field.d.ts +1 -1
- package/lib/models/field.js +1 -1
- package/lib/models/mediaContent.d.ts +1 -1
- package/lib/models/mediaContent.js +1 -1
- package/lib/models/mediaType.d.ts +2 -1
- package/lib/models/mediaType.js +1 -1
- package/lib/models/operation.js +1 -1
- package/lib/models/request.js +1 -1
- package/lib/models/response.js +1 -1
- package/lib/models/schema.d.ts +2 -1
- package/lib/models/schema.js +1 -1
- package/lib/models/types.d.ts +3 -0
- package/lib/recoil/app.d.ts +0 -3
- package/lib/recoil/app.js +1 -1
- package/lib/services/OpenAPIParser.d.ts +1 -1
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib/services/Options/types.d.ts +0 -2
- package/lib/services/types.d.ts +1 -5
- package/lib/utils/openapi.d.ts +7 -1
- package/lib/utils/openapi.js +1 -1
- package/lib-esm/components/Endpoint/Endpoint.js +1 -1
- package/lib-esm/components/Endpoint/api-client.d.ts +8 -0
- package/lib-esm/components/Endpoint/api-client.js +2 -0
- package/lib-esm/components/Fields/Field.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +1 -1
- package/lib-esm/components/common/LinkToField.d.ts +3 -1
- package/lib-esm/components/common/LinkToField.js +3 -3
- package/lib-esm/components/common/form.js +0 -1
- package/lib-esm/components/common/linkify.js +1 -1
- package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
- package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
- package/lib-esm/components/rightPanel/styled.js +1 -1
- package/lib-esm/models/field.d.ts +1 -1
- package/lib-esm/models/field.js +1 -1
- package/lib-esm/models/mediaContent.d.ts +1 -1
- package/lib-esm/models/mediaContent.js +1 -1
- package/lib-esm/models/mediaType.d.ts +2 -1
- package/lib-esm/models/mediaType.js +1 -1
- package/lib-esm/models/operation.js +1 -1
- package/lib-esm/models/request.js +1 -1
- package/lib-esm/models/response.js +1 -1
- package/lib-esm/models/schema.d.ts +2 -1
- package/lib-esm/models/schema.js +1 -1
- package/lib-esm/models/types.d.ts +3 -0
- package/lib-esm/recoil/app.d.ts +0 -3
- package/lib-esm/recoil/app.js +1 -1
- package/lib-esm/services/OpenAPIParser.d.ts +1 -1
- package/lib-esm/services/OpenAPIParser.js +1 -1
- package/lib-esm/services/Options/types.d.ts +0 -2
- package/lib-esm/services/types.d.ts +1 -5
- package/lib-esm/utils/openapi.d.ts +7 -1
- package/lib-esm/utils/openapi.js +1 -1
- 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
|
|
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;
|
package/lib/services/types.d.ts
CHANGED
|
@@ -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;
|
package/lib/utils/openapi.d.ts
CHANGED
|
@@ -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
|
|
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[];
|
package/lib/utils/openapi.js
CHANGED
|
@@ -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,
|
|
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.
|
|
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{
|
|
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:
|
|
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, {
|
|
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,
|
|
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}
|
|
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{
|
|
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:
|
|
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;
|
package/lib-esm/models/field.js
CHANGED
|
@@ -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,
|
|
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:
|
|
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:
|
|
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,
|
|
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,
|
|
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:
|
|
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;
|