@redocly/openapi-docs 3.10.0-next.4 → 3.10.0-next.6
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/redocly-openapi-docs.min.js +1607 -1584
- package/lib/components/ContentItems/useScrollOnRender.d.ts +1 -1
- package/lib/components/Download/DownloadSpecification.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/utils.js +1 -1
- package/lib/components/RequestSamples/useCodeSamples.d.ts +1 -1
- package/lib/components/RequestSamples/useCodeSamples.js +1 -1
- package/lib/components/Samples/ExampleSwitch.d.ts +2 -1
- package/lib/components/Samples/ExampleSwitch.js +1 -1
- package/lib/components/common/Fields/fields.d.ts +1 -1
- package/lib/icons/CurlIcon/CurlIcon.d.ts +5 -3
- package/lib/icons/CurlIcon/CurlIcon.js +14 -1
- package/lib/models/operation.js +1 -1
- package/lib/models/schema.js +1 -1
- package/lib/models/types.d.ts +29 -7
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/utils/configure-helpers.d.ts +11 -0
- package/lib/utils/configure-helpers.js +2 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +1 -1
- package/lib-esm/components/ContentItems/useScrollOnRender.d.ts +1 -1
- package/lib-esm/components/Download/DownloadSpecification.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/utils.js +1 -1
- package/lib-esm/components/RequestSamples/useCodeSamples.d.ts +1 -1
- package/lib-esm/components/RequestSamples/useCodeSamples.js +1 -1
- package/lib-esm/components/Samples/ExampleSwitch.d.ts +2 -1
- package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
- package/lib-esm/components/common/Fields/fields.d.ts +1 -1
- package/lib-esm/icons/CurlIcon/CurlIcon.d.ts +5 -3
- package/lib-esm/icons/CurlIcon/CurlIcon.js +14 -1
- package/lib-esm/models/operation.js +1 -1
- package/lib-esm/models/schema.js +1 -1
- package/lib-esm/models/types.d.ts +29 -7
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/utils/configure-helpers.d.ts +11 -0
- package/lib-esm/utils/configure-helpers.js +2 -0
- package/lib-esm/utils/index.d.ts +1 -0
- package/lib-esm/utils/index.js +1 -1
- package/package.json +13 -13
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ContentItemModel } from '../../models';
|
|
2
|
-
declare function useScrollOnRender(item: ContentItemModel, routingBasePath: string): import("react").RefObject<HTMLDivElement>;
|
|
2
|
+
declare function useScrollOnRender(item: ContentItemModel, routingBasePath: string): import("react").RefObject<HTMLDivElement | null>;
|
|
3
3
|
export default useScrollOnRender;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownloadSpecification=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),useDownloadInfo_1=require("./useDownloadInfo"),store_1=require("../../jotai/store"),hooks_1=require("../../hooks");function DownloadSpecificationComponent(){const e=(0,hooks_1.useOtelTelemetry)(),{options:
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownloadSpecification=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),useDownloadInfo_1=require("./useDownloadInfo"),store_1=require("../../jotai/store"),hooks_1=require("../../hooks");function DownloadSpecificationComponent(){const e=(0,hooks_1.useOtelTelemetry)(),{options:t}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),o=(0,theme_1.getPathPrefix)(),r=(0,useDownloadInfo_1.useDownloadInfo)({downloadUrls:t.downloadUrls}),n=(0,react_1.useCallback)((e=>{switch(e){case"yaml":return(0,jsx_runtime_1.jsx)(theme_1.DocumentIcon,{});case"json":return(0,jsx_runtime_1.jsx)(theme_1.JsonIcon,{});default:return(0,jsx_runtime_1.jsx)(theme_1.FileIcon,{})}}),[]);return r?(0,jsx_runtime_1.jsx)(Wrapper,{children:(r||[]).map((({title:t,url:r,iconType:s})=>{const i=o?(0,theme_1.combineUrls)(o,r):r;return(0,jsx_runtime_1.jsxs)(Card,{onClick:()=>e.send("openapi_docs.download_definition.clicked",{}),children:[(0,jsx_runtime_1.jsxs)(FileName,{children:[n(s),(0,jsx_runtime_1.jsx)("a",{href:i,target:"_blank",download:!0,rel:"noreferrer",children:t})]}),(0,jsx_runtime_1.jsx)("a",{href:i,target:"_blank",download:!0,rel:"noreferrer",children:(0,jsx_runtime_1.jsx)(theme_1.Button,{variant:"text",size:"small",icon:(0,jsx_runtime_1.jsx)(theme_1.DownloadIcon,{})})})]},t)}))}):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{})}exports.DownloadSpecification=(0,react_1.memo)(DownloadSpecificationComponent);const Card=styled_components_1.default.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: baseline;
|
|
4
4
|
justify-content: space-between;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __awaiter=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,o){function d(e){try{c(r.next(e))}catch(e){o(e)}}function u(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(d,u)}c((r=r.apply(e,n||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.fixSpec=fixSpec,exports.loadSingle=loadSingle,exports.loadAndBundleSpecOrMd=loadAndBundleSpecOrMd,exports.useDeepCompareMemoize=useDeepCompareMemoize,exports.getMarkdownHeaderId=getMarkdownHeaderId;const react_1=require("react"),fast_deep_equal_1=__importDefault(require("fast-deep-equal")),loadAndBundleSpec_1=require("../../utils/loadAndBundleSpec"),string_1=require("../../utils/string");function fixSpec(e){const n=e.components&&e.components.securitySchemes||{};for(const e of Object.keys(n)){const t=n[e];t["x-type"]&&(t.type=t["x-type"]),t["x-scheme"]&&(t.scheme=t["x-scheme"])}}function loadSingle(e,n,t){return __awaiter(this,void 0,void 0,(function*(){let r;if(null==t?void 0:t.skipBundle){if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');r=e}else r=yield(0,loadAndBundleSpec_1.loadAndBundleDefinition)(e||n);try{fixSpec(r)}catch(e){}return r}))}function loadAndBundleSpecOrMd(e,n){return e.endsWith(".md")?(0,loadAndBundleSpec_1.loadAndBundleDefinition)({openapi:"3.0.0",info:{title:n||"",version:"1.0",description:{$ref:e}},paths:{}}):(0,loadAndBundleSpec_1.loadAndBundleDefinition)(e)}function useDeepCompareMemoize(e){const n=(0,react_1.useRef)(),t=(0,react_1.useRef)(0);return(0,fast_deep_equal_1.default)(e,n.current)||(n.current=e,t.current+=1),[t.current]}function getMarkdownHeaderId(e){return"string"==typeof e[0]?`section/${(0,string_1.safeSlugify)(e[0])}`:e.children?getMarkdownHeaderId(e[0]):void 0}
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,o){function d(e){try{c(r.next(e))}catch(e){o(e)}}function u(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(d,u)}c((r=r.apply(e,n||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.fixSpec=fixSpec,exports.loadSingle=loadSingle,exports.loadAndBundleSpecOrMd=loadAndBundleSpecOrMd,exports.useDeepCompareMemoize=useDeepCompareMemoize,exports.getMarkdownHeaderId=getMarkdownHeaderId;const react_1=require("react"),fast_deep_equal_1=__importDefault(require("fast-deep-equal")),loadAndBundleSpec_1=require("../../utils/loadAndBundleSpec"),string_1=require("../../utils/string");function fixSpec(e){const n=e.components&&e.components.securitySchemes||{};for(const e of Object.keys(n)){const t=n[e];t["x-type"]&&(t.type=t["x-type"]),t["x-scheme"]&&(t.scheme=t["x-scheme"])}}function loadSingle(e,n,t){return __awaiter(this,void 0,void 0,(function*(){let r;if(null==t?void 0:t.skipBundle){if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');r=e}else r=yield(0,loadAndBundleSpec_1.loadAndBundleDefinition)(e||n);try{fixSpec(r)}catch(e){}return r}))}function loadAndBundleSpecOrMd(e,n){return e.endsWith(".md")?(0,loadAndBundleSpec_1.loadAndBundleDefinition)({openapi:"3.0.0",info:{title:n||"",version:"1.0",description:{$ref:e}},paths:{}}):(0,loadAndBundleSpec_1.loadAndBundleDefinition)(e)}function useDeepCompareMemoize(e){const n=(0,react_1.useRef)(null),t=(0,react_1.useRef)(0);return(0,fast_deep_equal_1.default)(e,n.current)||(n.current=e,t.current+=1),[t.current]}function getMarkdownHeaderId(e){return"string"==typeof e[0]?`section/${(0,string_1.safeSlugify)(e[0])}`:e.children?getMarkdownHeaderId(e[0]):void 0}
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Unstable_ExternalCodeSample } from '../../services';
|
|
2
2
|
import type { OperationModel } from '../../models';
|
|
3
3
|
import type { OpenAPIXCodeSample } from '../../types';
|
|
4
|
-
export declare function useCodeSamples({ payload, isWebhook, definitionSamples, pointer, }: OperationModel): {
|
|
4
|
+
export declare function useCodeSamples({ payload, isWebhook, definitionSamples, pointer, envVariables, }: OperationModel): {
|
|
5
5
|
samples: Array<{
|
|
6
6
|
key: string;
|
|
7
7
|
title: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useCodeSamples=useCodeSamples;const jotai_1=require("jotai"),services_1=require("../../services"),store_1=require("../../jotai/store"),operation_1=require("../../jotai/operation"),app_1=require("../../jotai/app"),hooks_1=require("../../hooks");function useCodeSamples({payload:e,isWebhook:a,definitionSamples:t,pointer:o}){var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useCodeSamples=useCodeSamples;const jotai_1=require("jotai"),services_1=require("../../services"),store_1=require("../../jotai/store"),operation_1=require("../../jotai/operation"),app_1=require("../../jotai/app"),hooks_1=require("../../hooks");function useCodeSamples({payload:e,isWebhook:a,definitionSamples:t,pointer:o,envVariables:s}){var n,r;const{parser:l,options:{codeSamples:i,generatedSamplesMaxDepth:p}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),u=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),g=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(o)),{languages:c}=(0,jotai_1.useAtomValue)(app_1.languageAtom),[m]=(0,jotai_1.useAtomValue)(app_1.environmentAtom),d=(0,hooks_1.useTranslate)(),v=new Map(null==c?void 0:c.map((({key:e,order:a})=>[e,a]))),_=applyEnvironments(t.filter((e=>v.has((0,app_1.getLangKey)(e)))),s,m),b=new Set(_.map(app_1.getLangKey));let j=[];if(!a){j=createCodeSamples((null===(n=i.languages)||void 0===n?void 0:n.filter((({lang:e,label:a})=>"Payload"!==e&&!b.has((0,app_1.getLangKey)({lang:e,label:a})))))||[],i,l.definition,p,g,m,d,u)}const O=[..._,...j],h=null===(r=null==c?void 0:c.find((({lang:a})=>a===(null==e?void 0:e.lang))))||void 0===r?void 0:r.title,y=e&&(0,app_1.getLangKey)({label:h,lang:e.lang});e&&y&&v.has(y)&&O.push(Object.assign(Object.assign({},e),{label:h,order:v.get(y)}));const f=O.map((e=>{var a;const t=null!==(a=e.label)&&void 0!==a?a:e.lang;return Object.assign({key:(0,app_1.getLangKey)(e),title:t,order:"number"==typeof v.get(t.toLowerCase())?v.get(t.toLowerCase()):9999},e)})).sort(((e,a)=>e.order-a.order));return{samples:f}}function createCodeSamples(e,{skipOptionalParameters:a,withOAuth2Call:t},o,s,n,r,l,i){return e.map((({lang:e,label:p,options:u})=>({lang:e,label:p,get:p=>(0,services_1.getCodeSample)(Object.assign(Object.assign({},p),{lang:e,options:Object.assign(Object.assign({},u),{skipOptionalParameters:a,withOAuth2Call:t,spec:o,generatedPayloadSamplesMaxDepth:s,store:n,activeMimeName:i}),environment:r,translate:l}))})))}function applyEnvironments(e,a,t){var o;if(!a||!e.length)return e;const s=null==t?void 0:t.server;let n=Object.assign({},a.values||{});return s&&(null===(o=a.serverValues)||void 0===o?void 0:o[s])&&(n=Object.assign(Object.assign({},n),a.serverValues[s])),0===Object.keys(n).length?e:e.map((e=>{const a=Object.assign({},e);return"source"in a&&"string"==typeof a.source&&(a.source=a.source.replace(/\{\{([^}]+)\}\}/g,((e,a)=>void 0!==n[a]?n[a]:e))),a}))}
|
|
2
2
|
//# sourceMappingURL=useCodeSamples.js.map
|
|
@@ -9,5 +9,6 @@ export interface ExampleSwitchOptions {
|
|
|
9
9
|
export interface ExampleSwitchProps extends ExampleSwitchOptions {
|
|
10
10
|
examples: ExampleModelsMap;
|
|
11
11
|
onChange: (key: string) => void;
|
|
12
|
+
className?: string;
|
|
12
13
|
}
|
|
13
|
-
export declare const ExampleSwitch: ({ exampleKey, examples, onChange, }: ExampleSwitchProps) => ReactElement | null;
|
|
14
|
+
export declare const ExampleSwitch: ({ exampleKey, examples, onChange, className, }: ExampleSwitchProps) => ReactElement | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleSwitch=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),common_1=require("../common"),SelectOrLabel_1=require("../SelectOrLabel"),utils_1=require("../../utils"),hooks_1=require("../../hooks"),ExampleSwitch=({exampleKey:e,examples:t,onChange:l})=>{var r;const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleSwitch=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),common_1=require("../common"),SelectOrLabel_1=require("../SelectOrLabel"),utils_1=require("../../utils"),hooks_1=require("../../hooks"),ExampleSwitch=({exampleKey:e,examples:t,onChange:l,className:a})=>{var r;const s=(0,hooks_1.useOtelTelemetry)(),i=Object.keys(t),o=e?i.indexOf(e):0,[c,m]=(0,react_1.useState)(o>-1?o:0);(0,react_1.useEffect)((()=>m(o>-1?o:0)),[e,o]);const n=i.map(((e,l)=>({value:(0,utils_1.normalizeText)(t[e].summary)||e,idx:l})));return n.length<2?null:(0,jsx_runtime_1.jsx)(common_1.Container,{"data-testid":"example-switch",className:a,children:(0,jsx_runtime_1.jsx)(SelectOrLabel_1.SelectOrLabel,{Select:common_1.Select,Label:common_1.MimeLabel,variant:"dark",fullWidth:!0,options:n,value:null===(r=n[c])||void 0===r?void 0:r.value,onChange:({idx:e})=>{s.send("openapi_docs.examples_switcher.clicked",{example:i[e],number_of_examples:i.length}),m(e),l(i[e])}})})};exports.ExampleSwitch=ExampleSwitch;
|
|
2
2
|
//# sourceMappingURL=ExampleSwitch.js.map
|
|
@@ -35,4 +35,4 @@ export declare const ConstraintItem: import("styled-components").StyledComponent
|
|
|
35
35
|
export declare const ToggleButton: import("styled-components").StyledComponent<import("react").FC<import("@redocly/theme").ButtonProps>, any, import("@redocly/theme").ButtonProps & {
|
|
36
36
|
variant: "link";
|
|
37
37
|
size: "small";
|
|
38
|
-
}, "
|
|
38
|
+
}, "variant" | "size">;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
1
|
+
type IconProps = React.SVGProps<SVGSVGElement>;
|
|
2
|
+
export declare const Icon: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const CurlIcon: import("styled-components").StyledComponent<(props: IconProps) => import("react/jsx-runtime").JSX.Element, any, {
|
|
3
4
|
'data-component-name': string;
|
|
4
|
-
}, "data-component-name">;
|
|
5
|
+
} & IconProps, "data-component-name">;
|
|
6
|
+
export {};
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CurlIcon=exports.Icon=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),Icon=
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CurlIcon=exports.Icon=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),Icon=t=>(0,jsx_runtime_1.jsxs)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 24 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t,{children:[(0,jsx_runtime_1.jsxs)("g",{clipPath:"url(#clip0_3789_6604)",children:[(0,jsx_runtime_1.jsx)("path",{d:"M22.2305 2.73601C21.6963 2.73601 21.264 2.30296 21.264 1.76946C21.264 1.2352 21.6963 0.802917 22.2305 0.802917C22.764 0.802917 23.1971 1.2352 23.1971 1.76946C23.1971 2.30296 22.764 2.73601 22.2305 2.73601ZM12.6313 19.2502C12.097 19.2502 11.6647 18.8172 11.6647 18.2837C11.6647 17.7494 12.097 17.3171 12.6313 17.3171C13.1648 17.3171 13.5971 17.7494 13.5971 18.2837C13.5971 18.8172 13.1648 19.2502 12.6313 19.2502ZM22.2305 0C21.2533 0 20.4611 0.792261 20.4611 1.76946C20.4611 1.97799 20.5136 2.17206 20.5798 2.35776L12.2789 16.585C11.4768 16.7532 10.8618 17.4313 10.8618 18.2837C10.8618 19.2609 11.6541 20.0531 12.6313 20.0531C13.6077 20.0531 14.4 19.2609 14.4 18.2837C14.4 18.0873 14.3475 17.9077 14.2889 17.7312L22.6316 3.45749C23.4094 3.27103 24 2.60434 24 1.76946C24 0.792261 23.2077 0 22.2305 0Z",className:"path-primary"}),(0,jsx_runtime_1.jsx)("path",{d:"M14.9906 2.73601C14.4563 2.73601 14.024 2.30296 14.024 1.76946C14.024 1.2352 14.4563 0.802917 14.9906 0.802917C15.5241 0.802917 15.9564 1.2352 15.9564 1.76946C15.9564 2.30296 15.5241 2.73601 14.9906 2.73601ZM5.39059 19.2502C4.85708 19.2502 4.42404 18.8172 4.42404 18.2837C4.42404 17.7494 4.85708 17.3171 5.39059 17.3171C5.92485 17.3171 6.35713 17.7494 6.35713 18.2837C6.35713 18.8172 5.92485 19.2502 5.39059 19.2502ZM14.9906 0C14.0126 0 13.2211 0.792261 13.2211 1.76946C13.2211 1.97799 13.2736 2.17206 13.3399 2.35776L5.03898 16.585C4.23606 16.7532 3.62112 17.4313 3.62112 18.2837C3.62112 19.2609 4.41339 20.0531 5.39059 20.0531C6.36779 20.0531 7.16005 19.2609 7.16005 18.2837C7.16005 18.0873 7.10754 17.9077 7.04894 17.7312L15.3917 3.45749C16.1695 3.27103 16.7601 2.60434 16.7601 1.76946C16.7601 0.792261 15.967 0 14.9906 0Z",className:"path-secondary"}),(0,jsx_runtime_1.jsx)("path",{d:"M1.76946 5.69424C2.30296 5.69424 2.73601 6.12729 2.73601 6.66079C2.73601 7.19429 2.30296 7.62733 1.76946 7.62733C1.2352 7.62733 0.802917 7.19429 0.802917 6.66079C0.802917 6.12729 1.2352 5.69424 1.76946 5.69424ZM1.76946 8.43025C2.74666 8.43025 3.53892 7.63799 3.53892 6.66079C3.53892 6.4652 3.48565 6.28483 3.42705 6.10826C3.19264 5.4058 2.55031 4.89133 1.76946 4.89133C1.64465 4.89133 1.53506 4.93775 1.41709 4.96286C0.614936 5.1303 0 5.8084 0 6.66079C0 7.63799 0.792261 8.43025 1.76946 8.43025Z",className:"path-secondary"}),(0,jsx_runtime_1.jsx)("path",{d:"M0.802917 12.8436C0.802917 12.3094 1.23596 11.8771 1.76946 11.8771C2.30296 11.8771 2.73601 12.3094 2.73601 12.8436C2.73601 13.3771 2.30296 13.8094 1.76946 13.8094C1.23596 13.8094 0.802917 13.3771 0.802917 12.8436ZM3.53892 12.8436C3.53892 12.6473 3.48565 12.4677 3.42705 12.2911C3.19264 11.5886 2.55107 11.0742 1.76946 11.0742C1.64465 11.0742 1.53506 11.1206 1.41709 11.145C0.614936 11.3131 0 11.9912 0 12.8436C0 13.8201 0.792261 14.6131 1.76946 14.6131C2.74666 14.6131 3.53892 13.8201 3.53892 12.8436Z",className:"path-secondary"})]}),(0,jsx_runtime_1.jsx)("defs",{children:(0,jsx_runtime_1.jsx)("clipPath",{id:"clip0_3789_6604",children:(0,jsx_runtime_1.jsx)("rect",{width:"24",height:"20.0531",fill:"white"})})})]}));exports.Icon=Icon,exports.CurlIcon=(0,styled_components_1.default)(exports.Icon).attrs((()=>({"data-component-name":"icons/CurlIcon"})))`
|
|
2
|
+
.path-primary {
|
|
3
|
+
fill: #0c544c;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.path-secondary {
|
|
7
|
+
fill: #073551;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
html.dark & .path-primary,
|
|
11
|
+
html.dark & .path-secondary {
|
|
12
|
+
fill: #ffffff;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
2
15
|
//# sourceMappingURL=CurlIcon.js.map
|
package/lib/models/operation.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPayloadSample=isPayloadSample,exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),utils_1=require("../utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response"),operation_1=require("../services/menu/operation");function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}function getOperation(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPayloadSample=isPayloadSample,exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),utils_1=require("../utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response"),operation_1=require("../services/menu/operation");function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}function getOperation(e,r,t,s,i,o,a){var n,l,u;const p=r.isWebhook,c={operationDefinition:r,parent:t,pointer:r.pointer,description:(0,utils_1.getValueFromMdParsedExtension)(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==o?void 0:o.isCallback),isEvent:(null==o?void 0:o.isCallback)||p,name:(0,utils_1.getOperationName)(r),defaultExampleName:r.defaultSampleName,[config_1.REDOCLY_TEAMS_RBAC]:r[config_1.REDOCLY_TEAMS_RBAC]||(null==t?void 0:t[config_1.REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==o?void 0:o.id,href:i,get callbacks(){return Object.keys(r.callbacks||[]).map((o=>{var n;return(0,callback_1.getCallback)(e,o,null===(n=r.callbacks)||void 0===n?void 0:n[o],c.pointer,s,i,t,a)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e)))).map((i=>(0,response_1.getResponse)({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:s,isEvent:c.isEvent,operation:c})))},get parameters(){return processParameters(e,r,c,s,v)}};if(null==o?void 0:o.isCallback)c.security=(0,security_1.getSecurity)(r.security,e),c.servers=(0,utils_1.normalizeServers)("",r.servers||r.pathServers||[]),c.id=(0,theme_1.removeLeadingSlash)(i);else{c.id=(0,utils_1.getOperationId)(r,t),c.href=c.href||(0,operation_1.getHref)(c),c.security=(0,security_1.getSecurity)(r.security||e.definition.security,e);const i=r.servers||((null===(n=r.pathServers)||void 0===n?void 0:n.length)?r.pathServers:null)||e.definition.servers||[];c.servers=(0,utils_1.normalizeServers)(e.definitionUrl,mergeInMockServer(i,s.mockServer))}s.showExtensions&&(c.extensions=(0,utils_1.extractExtensions)(r,s.showExtensions)),c.requestBody=r.requestBody?(0,request_1.getRequestBody)({parser:e,infoOrRef:r.requestBody,options:s,operation:c,isEvent:c.isEvent}):void 0;const d=null===(l=c.requestBody)||void 0===l?void 0:l.content;c.payload={lang:"Payload",source:"",requestBodyContent:(null==d?void 0:d.hasSample)?d:void 0},c.definitionSamples=r["x-codeSamples"]||[],c.badges=(null===(u=r["x-badges"])||void 0===u?void 0:u.map((({name:e,color:r,position:t})=>({name:e,color:r||"var(--color-info-base)",position:t||"after"}))))||[],c.hasSamples=(null==d?void 0:d.hasSample)||c.definitionSamples.length>0,c.hideReplay=!0===r["x-hideReplay"];const m={userClaims:a,operation:{operationId:c.operationId,name:c.name,path:c.path,href:c.href,method:c.httpVerb},servers:c.servers},v=((0,theme_1.configure)(m)||{}).requestValues||{};return(0,utils_1.updateOperationWithRequestValues)(c,v),c}function processParameters(e,r,t,s,i){let o=(0,utils_1.mergeParams)(e,r.pathParameters,r.parameters,{pathPointer:utils_1.JsonPointer.dirName(t.pointer),operationPointer:t.pointer}).map((({paramOrRef:r,pointer:o})=>{const a=(0,field_1.getField)(e,r,o,s,{operation:t,type:"request"});return(0,utils_1.updateParametersWithUserValues)(a,i),a}));return s.sortRequiredPropsFirst&&(o=(0,utils_1.sortByRequired)(o)),(0,utils_1.sortByDeprecated)(o)}function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
package/lib/models/schema.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __rest=this&&this.__rest||function(e,i){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&i.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)i.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]])}return t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchema=getSchema;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),OpenAPIParser_1=require("../services/OpenAPIParser"),utils_1=require("../utils"),field_1=require("./field");function getSchema({parser:e,schemaOrRef:i,pointer:t,options:r,isChild:n=!1,baseRefsStack:s=[],deps:o,absolutePointer:a}){var l,p,d,c,f,m,u,y,O;const{resolved:h,refsStack:v}=e.deref(i,s,!0),b=i.$ref||t||a||"",g=(0,OpenAPIParser_1.pushRef)(v,b),P=e.mergeAllOf(h,b,g,i.$ref||a),x=P.type||(0,utils_1.detectType)(P),_={operationPointer:(null===(l=o.operation)||void 0===l?void 0:l.pointer)||a||"",schemaOrRef:i,isChild:n,typePrefix:"",pointer:b,absolutePointer:a,refsStack:g,rawSchema:h,type:x,isCircular:!!P["x-circular-ref"],isComplex:!!P["x-complex"],title:P.title||(0,utils_1.isNamedDefinition)(b)&&utils_1.JsonPointer.baseName(b)||"",description:(0,utils_1.getValueFromMdParsedExtension)(P,"description")||"",format:P.format,enum:P.enum||[],example:P.example,deprecated:!!P.deprecated,pattern:P.pattern,externalDocs:P.externalDocs,displayFormat:P.format,isPrimitive:(0,utils_1.isPrimitiveType)(P,x),constraints:(0,utils_1.humanizeConstraints)(P),default:P.default,readOnly:!!P.readOnly,writeOnly:!!P.writeOnly,const:P.const||"",contentEncoding:P.contentEncoding,contentMediaType:P.contentMediaType,minItems:P.minItems,maxItems:P.maxItems,nullable:P.nullable||P["x-nullable"],schema:P,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,[config_1.REDOCLY_TEAMS_RBAC]:P[config_1.REDOCLY_TEAMS_RBAC],"x-enumDescriptions":(0,utils_1.getValueFromMdParsedExtension)(P,"x-enumDescriptions"),get fields(){if(!_.isCircular&&!_.isComplex&&(hasType(_,"object")||hasType(_,"array")&&(
|
|
1
|
+
"use strict";var __rest=this&&this.__rest||function(e,i){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&i.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)i.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]])}return t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchema=getSchema;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),OpenAPIParser_1=require("../services/OpenAPIParser"),utils_1=require("../utils"),field_1=require("./field");function getSchema({parser:e,schemaOrRef:i,pointer:t,options:r,isChild:n=!1,baseRefsStack:s=[],deps:o,absolutePointer:a}){var l,p,d,c,f,m,u,y,O;const{resolved:h,refsStack:v}=e.deref(i,s,!0),b=i.$ref||t||a||"",g=(0,OpenAPIParser_1.pushRef)(v,b),P=e.mergeAllOf(h,b,g,i.$ref||a),x=P.type||(0,utils_1.detectType)(P),_={operationPointer:(null===(l=o.operation)||void 0===l?void 0:l.pointer)||a||"",schemaOrRef:i,isChild:n,typePrefix:"",pointer:b,absolutePointer:a,refsStack:g,rawSchema:h,type:x,isCircular:!!P["x-circular-ref"],isComplex:!!P["x-complex"],title:P.title||(0,utils_1.isNamedDefinition)(b)&&utils_1.JsonPointer.baseName(b)||"",description:(0,utils_1.getValueFromMdParsedExtension)(P,"description")||"",format:P.format,enum:P.enum||[],example:P.example,deprecated:!!P.deprecated,pattern:P.pattern,externalDocs:P.externalDocs,displayFormat:P.format,isPrimitive:(0,utils_1.isPrimitiveType)(P,x),constraints:(0,utils_1.humanizeConstraints)(P),default:P.default,readOnly:!!P.readOnly,writeOnly:!!P.writeOnly,const:P.const||"",contentEncoding:P.contentEncoding,contentMediaType:P.contentMediaType,minItems:P.minItems,maxItems:P.maxItems,nullable:P.nullable||P["x-nullable"],schema:P,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,[config_1.REDOCLY_TEAMS_RBAC]:P[config_1.REDOCLY_TEAMS_RBAC],"x-enumDescriptions":(0,utils_1.getValueFromMdParsedExtension)(P,"x-enumDescriptions"),get fields(){if(!_.isCircular&&!_.isComplex&&(hasType(_,"object")||hasType(_,"array")&&hasArrayItems(P)))return buildFields(e,P,b,r,g,o)}};if((P.nullable||P["x-nullable"])&&(Array.isArray(_.type)&&!_.type.some((e=>null===e||"null"===e))?_.type=[..._.type,"null"]:Array.isArray(_.type)||null===_.type&&"null"===_.type||(_.type=[_.type,"null"])),_.displayType=Array.isArray(_.type)?_.type.map((e=>null===e?"null":e)).join(" or "):_.type,_.isCircular)return _;if(P.if&&P.then||P.if&&P.else){const{oneOf:i,oneOfType:t}=initConditionalOperators({schema:P,parser:e,pointer:b,options:r,deps:o,refsStack:g});return _.oneOf=i,_.oneOfType=t,_}if(!n&&void 0!==getDiscriminator(P)){const{oneOf:i,discriminatorProp:t}=initDiscriminator({schema:P,parser:e,deps:o,mergedSchema:P,options:r,pointer:b,refsStack:g});return _.oneOf=i,_.discriminatorProp=t,_}if(n&&Array.isArray(P.oneOf)&&P.oneOf.find((e=>e.$ref===b))&&delete P.oneOf,void 0!==P.oneOf){const{oneOf:i,displayType:t}=initOneOf({schemaOneOf:P.oneOf,parser:e,deps:o,options:r,pointer:b,refsStack:g,schema:P});return _.oneOfType="One of",i&&(_.oneOf=i),_.displayType=t,void 0!==P.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${b}`),_}if(void 0!==P.anyOf){const{oneOf:i,displayType:t}=initOneOf({schemaOneOf:P.anyOf,parser:e,deps:o,options:r,pointer:b,refsStack:g,schema:P});return i&&(_.oneOf=i),_.displayType=t,_.oneOfType="Any of",_}if(hasType(_,"array")&&(P.items&&!hasArrayItems(P)&&(_.items=getSchema({parser:e,schemaOrRef:P.items,pointer:b+"/items",options:r,baseRefsStack:g,deps:o,absolutePointer:utils_1.JsonPointer.join(P.absolutePointer||"",["items"])})),_.displayType=P.prefixItems||Array.isArray(P.items)?"items":(0,utils_1.pluralizeType)((null===(p=_.items)||void 0===p?void 0:p.displayType)||_.displayType),_.displayFormat=(null===(d=_.items)||void 0===d?void 0:d.format)||"",_.typePrefix=(null===(c=_.items)||void 0===c?void 0:c.typePrefix)||"Array of ",_.title=_.title||(null===(f=_.items)||void 0===f?void 0:f.title)||"",_.isPrimitive=void 0!==(null===(m=_.items)||void 0===m?void 0:m.isPrimitive)?null===(u=_.items)||void 0===u?void 0:u.isPrimitive:_.isPrimitive,void 0===_.example&&void 0!==(null===(y=_.items)||void 0===y?void 0:y.example)&&(_.example=[_.items.example]),(null===(O=_.items)||void 0===O?void 0:O.isPrimitive)&&(_.enum=_.items.enum,_["x-enumDescriptions"]=(0,utils_1.getValueFromMdParsedExtension)(_.items,"x-enumDescriptions")),Array.isArray(_.type))){const e=_.type.filter((e=>"array"!==e));e.length&&(_.displayType+=` or ${e.join(" or ")}`)}return r.showExtensions&&(_.extensions=(0,utils_1.extractExtensions)(P,r.showExtensions)),_}function initDiscriminator({schema:e,parser:i,pointer:t,options:r,refsStack:n,deps:s,mergedSchema:o}){const a=getDiscriminator(e),l=null==a?void 0:a.propertyName,p=i.findDerived([...o["x-parentRefs"]||[],t]);if(e.oneOf)for(const i of e.oneOf){if(void 0===i.$ref)continue;const e=utils_1.JsonPointer.baseName(i.$ref);p[i.$ref]=e}const d=(null==a?void 0:a.mapping)||{};let c=(null==a?void 0:a["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(c=!1);const f={};for(const e in d){const i=d[e];Array.isArray(f[i])?f[i].push(e):f[i]=[e]}const m=c?Object.assign({},f):Object.assign(Object.assign({},p),f);let u=[];for(const e of Object.keys(m)){const i=m[e];if(Array.isArray(i))for(const t of i)u.push({$ref:e,name:t});else u.push({$ref:e,name:i})}const y=Object.keys(d);0!==y.length&&(u=u.sort(((e,i)=>{const t=y.indexOf(e.name),r=y.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r})));return{oneOf:u.map((({$ref:e,name:t},a)=>{const l=getSchema({parser:i,schemaOrRef:{$ref:e},pointer:e,options:r,isChild:!0,baseRefsStack:n.slice(0,-1),deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"&d="+a:"&d="+a.toString()}),absolutePointer:o.absolutePointer});return l.title=t,l})),discriminatorProp:l}}function initOneOf({schemaOneOf:e,parser:i,refsStack:t,pointer:r,schema:n,options:s,deps:o}){const a=e.map(((e,a)=>{const{resolved:l,refsStack:p}=i.deref(e,t,!0),d=i.mergeAllOf(l,r+"/oneOf/"+a,p),c=(0,utils_1.isNamedDefinition)(e.$ref)&&!d.title?utils_1.JsonPointer.baseName(e.$ref):`${d.title||""}${d.const&&JSON.stringify(d.const)||""}`;return getSchema({parser:i,schemaOrRef:Object.assign(Object.assign({},d),{title:c,allOf:[Object.assign(Object.assign({},n),{oneOf:void 0,anyOf:void 0})],discriminator:l.allOf?void 0:d.discriminator}),pointer:e.$ref||r+"/oneOf/"+a,options:s,baseRefsStack:p,deps:Object.assign(Object.assign({},o),{parentFieldFullPath:o.parentFieldFullPath?o.parentFieldFullPath+"&oneOf="+a:"&oneOf="+a.toString()})})})),l=a.map((e=>{let i=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return i.indexOf(" or ")>-1&&(i=`(${i})`),i})).join(" or ");return{oneOf:a,displayType:l}}function initConditionalOperators({schema:e,parser:i,pointer:t,options:r,refsStack:n,deps:s}){const{if:o,else:a={},then:l={}}=e,p=__rest(e,["if","else","then"]);return{oneOf:[{allOf:[p,l,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 1"},{allOf:[p,a],title:a&&a["x-displayName"]||(null==a?void 0:a.title)||"case 2"}].map(((e,o)=>getSchema({parser:i,schemaOrRef:Object.assign({},e),pointer:t+"/oneOf/"+o,options:r,baseRefsStack:n,deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"&oneOf="+o:"&oneOf="+o.toString()})}))),oneOfType:"One of"}}function normalizeField(e,i,t){return e||(console.warn(`Field "${i}" is invalid, skipping.\n Field must be an object but got ${typeof e} at "${t}"`),{})}function buildFields(e,i,t,r,n,s){let o=i.properties||(hasType(i,"array")?i.prefixItems||i.items:void 0)||{};const a=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{};let c=Object.keys(o).map((a=>{var l;const p=normalizeField(o[a],a,t),c=void 0!==i.required&&i.required.indexOf(a)>-1;return(0,field_1.getField)(e,{name:i.properties?a:`[${a}]`,required:c,schema:Object.assign(Object.assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[a])||p.example,default:void 0===p.default&&d?d[a]:p.default})},t+"/properties/"+a,r,s,n,utils_1.JsonPointer.join(i.absolutePointer||"",["properties",a]))}));return r.sortRequiredPropsFirst&&(c=(0,utils_1.sortByRequired)(c,i.required)),c.push(...Object.keys(a).map((i=>{const o=normalizeField(a[i],i,t);return(0,field_1.getField)(e,{name:i,required:!1,schema:o,kind:"patternProperties"},`${t}/patternProperties/${i}`,r,s,n)}))),((0,theme_1.isObject)(l)||!0===l)&&c.push((0,field_1.getField)(e,{name:((0,theme_1.isObject)(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,s,n,utils_1.JsonPointer.join(i.absolutePointer||"",["additionalProperties"]))),c.push(...buildAdditionalItems({parser:e,schema:p,fieldsCount:c.length,$ref:t,options:r,refsStack:n,deps:s})),(0,utils_1.sortByDeprecated)(c)}function buildAdditionalItems({parser:e,schema:i=!1,fieldsCount:t,$ref:r,options:n,refsStack:s,deps:o}){return"boolean"==typeof i?i?[(0,field_1.getField)(e,{name:`[${t}...]`,schema:{},kind:"additionalItems"},`${r}/additionalItems`,n,o,s)]:[]:Array.isArray(i)?[...i.map(((i,a)=>(0,field_1.getField)(e,{name:`[${t+a}]`,schema:i,kind:"additionalItems"},`${r}/additionalItems/${a}`,n,o,s)))]:(0,theme_1.isObject)(i)?[(0,field_1.getField)(e,{name:`[${t}...]`,schema:i,kind:"additionalItems"},`${r}/additionalItems`,n,o,s)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function hasType(e,i){return e.type===i||Array.isArray(e.type)&&e.type.includes(i)}function hasArrayItems(e){return Boolean(Array.isArray(e.items)||Array.isArray(e.prefixItems))}
|
|
2
2
|
//# sourceMappingURL=schema.js.map
|
package/lib/models/types.d.ts
CHANGED
|
@@ -5,17 +5,22 @@ import type { OpenAPIParser } from '../services/OpenAPIParser';
|
|
|
5
5
|
import type { Options } from '../services/config-options';
|
|
6
6
|
import type { ExtendedOpenAPIOperation, MenuItemGroupType, MenuItemType, MergedOpenAPISchema, Unstable_ExternalCodeSample } from '../services/types';
|
|
7
7
|
export type ContentItemModel = GroupModel | OperationMenuItem;
|
|
8
|
-
export interface
|
|
9
|
-
id: string;
|
|
10
|
-
sectionId: string;
|
|
11
|
-
scopes: string[];
|
|
8
|
+
export interface SecurityCredentials {
|
|
12
9
|
'x-defaultClientId'?: string;
|
|
13
10
|
'x-defaultClientSecret'?: string;
|
|
14
11
|
'x-defaultUsername'?: string;
|
|
15
12
|
'x-defaultPassword'?: string;
|
|
16
|
-
'x-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
'x-defaultAccessToken'?: string;
|
|
14
|
+
'x-defaultTokenType'?: string;
|
|
15
|
+
scopes?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface ExtendedOpenAPISecurityScheme extends OpenAPISecurityScheme, SecurityCredentials {
|
|
18
|
+
id: string;
|
|
19
|
+
sectionId: string;
|
|
20
|
+
scopes: string[];
|
|
21
|
+
serverUrl?: string;
|
|
22
|
+
serverValues?: {
|
|
23
|
+
[serverUrl: string]: SecurityCredentials;
|
|
19
24
|
};
|
|
20
25
|
}
|
|
21
26
|
export interface SecurityRequirement {
|
|
@@ -53,6 +58,12 @@ export type ExampleModel = {
|
|
|
53
58
|
encoding?: {
|
|
54
59
|
[field: string]: OpenAPIEncoding;
|
|
55
60
|
};
|
|
61
|
+
serverValues?: {
|
|
62
|
+
[serverUrl: string]: {
|
|
63
|
+
value: any;
|
|
64
|
+
rawValue: any;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
56
67
|
};
|
|
57
68
|
export type MediaTypeModel = {
|
|
58
69
|
examples?: {
|
|
@@ -111,6 +122,11 @@ export type FieldModel = {
|
|
|
111
122
|
fieldFullPath?: string;
|
|
112
123
|
deps: Deps;
|
|
113
124
|
absolutePointer?: string;
|
|
125
|
+
serverValues?: {
|
|
126
|
+
[serverUrl: string]: {
|
|
127
|
+
example?: string;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
114
130
|
[REDOCLY_TEAMS_RBAC]?: Record<string, string>;
|
|
115
131
|
};
|
|
116
132
|
export type CallbackModel = {
|
|
@@ -155,6 +171,12 @@ export type OperationModel = {
|
|
|
155
171
|
parameters: FieldModel[];
|
|
156
172
|
responses: ResponseModel[];
|
|
157
173
|
callbacks: CallbackModel[];
|
|
174
|
+
envVariables?: {
|
|
175
|
+
values?: Record<string, string>;
|
|
176
|
+
serverValues?: {
|
|
177
|
+
[serverUrl: string]: Record<string, string>;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
158
180
|
};
|
|
159
181
|
export type GroupModel = {
|
|
160
182
|
id: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,s){void 0===s&&(s=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,s,r)}:function(e,t,a,s){void 0===s&&(s=a),e[s]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCodeSample=getCodeSample,exports.getDataRequest=getDataRequest,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;const Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),theme_1=require("@redocly/theme"),utils_1=require("../../utils"),utils_2=require("../utils"),constants_1=require("../../constants"),httpsnippet_1=require("./httpsnippet"),mediaContent_1=require("../../models/mediaContent"),string_utility_1=__importDefault(require("./httpsnippet/helpers/string-utility"));function getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return(0,utils_1.areArraysEqual)(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:s=!1,spec:r,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={},activeMimeName:l=""},{environment:u,requestValues:c,activeSecuritySchemeIds:p}){var d,m,_;const f=u.server,h=e.servers.find((e=>e.url===f))||e.servers[0],y=getSelectedSecurityScheme(e.security,p),{securityHeaders:g,securityCookies:O,securityQueries:v,securityOAuth2ExtraCalls:S,basicAuth:T}=getSecurityData(y||(null===(d=e.security)||void 0===d?void 0:d[0]),s,u),b=(null===(m=null==e?void 0:e.requestBody)||void 0===m?void 0:m.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content,l),C={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},k=c;let j=!1;const D=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=k.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||e.example||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,C,r))}})).map((e=>((null==b?void 0:b.name)&&"content-type"===e.name.toLowerCase()&&(j=!0,e.value=b.name),e))).concat(g);!j&&(null==b?void 0:b.name)&&D.unshift({name:"Content-Type",value:null==b?void 0:b.name});const E=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,e.example||Sampler.sample(e.schema.rawSchema,C,r))))).reduce(((e,t)=>{var a;for(const[s,r]of Object.entries(t))e.push({name:s,value:String((null===(a=k.cookie)||void 0===a?void 0:a[s])||r)});return e}),[]).concat(O),q=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,e.example||Sampler.sample(e.schema.rawSchema,C,r))))).reduce(((e,t)=>{var a,s,r;for(const[i,n]of Object.entries(t))e.push({name:i,value:(0,utils_1.isArrayOfObjects)(null===(a=k.query)||void 0===a?void 0:a[i])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(s=k.query)||void 0===s?void 0:s[i]))||String((null===(r=k.query)||void 0===r?void 0:r[i])||n)});return e}),[]).concat(v),P=`${null==h?void 0:h.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,w=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:s,name:r}=t;return e[r]=(null===(a=k.path)||void 0===a?void 0:a[r])||t.example||n[r]||(0,utils_1.getParameterValue)(s,r),e}),{}),A=null===(_=null==b?void 0:b.examples)||void 0===_?void 0:_[t],x=(null==b?void 0:b.examples)||{},[M]=Object.values(x),R=null==b?void 0:b.name.toLowerCase(),N=(null==k?void 0:k.body)||(null==A?void 0:A.value)||(null==M?void 0:M.value)||(null==b?void 0:b.schema)&&Sampler.sample(null==b?void 0:b.schema.rawSchema,Object.assign(Object.assign({},C),{format:R===constants_1.MediaTypes.XML?"xml":"json"}),r);let H="",U=[];switch((0,utils_2.normalizeMimeType)(R)){case constants_1.MediaTypes.JSON:H=JSON.stringify(getDataRequest(N,o));break;case constants_1.MediaTypes.XML:H=N;break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:H=utils_1.queryString.stringify(getDataRequest(N,o)),U=objectToHarParams(getDataRequest(N,o));break;default:H=String(N||"")}const $=H?{mimeType:(null==b?void 0:b.name)||constants_1.MediaTypes.OCTET_STREAM,text:H,params:U}:void 0,z=e.responses.map((e=>e.code));return{method:e.httpVerb,url:P,httpVersion:"HTTP/1.1",cookies:E,headers:D,queryString:q,postData:$,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:S,basicAuth:T,pathParameters:w,serverVariables:u,allResponseCodes:z}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#+Newtonsoft":{code:"csharpNewtonsoft",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:s,properties:r,options:i={},environment:n,translate:o}){try{const{skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,store:d,activeMimeName:m}=i,_=mapOperationToHAR(t,{exampleName:a,pathParams:s,properties:r,skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,activeMimeName:m},{environment:n,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),f=new httpsnippet_1.HTTPSnippet(_);return langToSnippetConfig[e]?f.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):o("openapi.unsupportedLanguage","Language is not supported.")}catch(e){return console.error(e),o("openapi.failedToGenerateCodeSample","Failed to generate code sample.")}}function getSecurityData(e,t,a){var s,r,i,n,o;const l={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const u of(null==e?void 0:e.schemes)||[]){const e=(0,utils_1.getSecurityDetails)(u.id,a),c={access_token:u["x-defaultAccessToken"],token_type:u["x-defaultTokenType"],client_id:u["x-defaultClientId"],client_secret:u["x-defaultClientSecret"]},p=u["x-defaultUsername"],d=u["x-defaultPassword"];switch(u.type){case"openIdConnect":null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:c.access_token?`${c.token_type||"Bearer"} ${c.access_token}`:e.token?`${c.token_type||e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=c.access_token?`${c.token_type||"Bearer"} ${c.access_token}`:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?l.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,Object.assign(Object.assign({},e),{client_id:c.client_id||e.client_id,client_secret:c.client_secret||e.client_secret}))):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,Object.assign(Object.assign({},e),{client_id:c.client_id||e.client_id,client_secret:c.client_secret||e.client_secret}))),null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=c.access_token||e.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=l.securityHeaders)||void 0===i||i.push({name:u.name,value:t})),"cookie"===u.in&&l.securityCookies.push({name:u.name,value:t}),"query"===u.in&&l.securityQueries.push({name:u.name,value:t});break}case"http":if("basic"===u.scheme)l.basicAuth={username:p||e.username||`<${string_utility_1.default.toSnakeCase("Username")}>`,password:d||e.password||`<${string_utility_1.default.toSnakeCase("Password")}>`};else{const t=(null==c?void 0:c.access_token)||(null===(n=e.token)||void 0===n?void 0:n.access_token)||`<YOUR_${u.bearerFormat||"TOKEN"}_HERE>`;null===(o=l.securityHeaders)||void 0===o||o.push({name:"Authorization",value:`${capitalizeFirst(u.scheme||"bearer")} ${t}`})}}}return l}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if((0,theme_1.isObject)(e))return Object.keys(e).length>0&&0===Object.keys(t).length?e:(0,deepmerge_1.default)(e,t,{arrayMerge:utils_2.arrayMergeStrategy});try{return(0,deepmerge_1.default)(JSON.parse(e),t,{arrayMerge:utils_2.arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e,t=""){const a=[];for(const[s,r]of Object.entries(e)){const i=t?`${t}[${s}]`:s;if("object"==typeof r&&null!==r)a.push(...objectToHarParams(r,i));else{const s=Array.isArray(e)&&"string"==typeof r&&t?t:i;a.push({name:s,value:String(r)})}}return a}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,s){void 0===s&&(s=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,s,r)}:function(e,t,a,s){void 0===s&&(s=a),e[s]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCodeSample=getCodeSample,exports.getDataRequest=getDataRequest,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;const Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),theme_1=require("@redocly/theme"),utils_1=require("../../utils"),utils_2=require("../utils"),constants_1=require("../../constants"),httpsnippet_1=require("./httpsnippet"),mediaContent_1=require("../../models/mediaContent"),string_utility_1=__importDefault(require("./httpsnippet/helpers/string-utility"));function getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return(0,utils_1.areArraysEqual)(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:s=!1,spec:r,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:l={},activeMimeName:o=""},{environment:u,requestValues:c,activeSecuritySchemeIds:d}){var p,m,v,f,_,h,y,g;const O=u.server,S=e.servers.find((e=>e.url===O))||e.servers[0],b=getSelectedSecurityScheme(e.security,d),{securityHeaders:T,securityCookies:C,securityQueries:j,securityOAuth2ExtraCalls:k,basicAuth:x}=getSecurityData(b||(null===(p=e.security)||void 0===p?void 0:p[0]),s,u),E=(null===(m=null==e?void 0:e.requestBody)||void 0===m?void 0:m.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content,o),D={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},A=c;let w=!1;const P=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t,a,s;return{name:e.name,value:(null===(t=A.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(null===(s=null===(a=e.serverValues)||void 0===a?void 0:a[O])||void 0===s?void 0:s.example)||e.example||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,D,r))}})).map((e=>((null==E?void 0:E.name)&&"content-type"===e.name.toLowerCase()&&(w=!0,e.value=E.name),e))).concat(T);!w&&(null==E?void 0:E.name)&&P.unshift({name:"Content-Type",value:null==E?void 0:E.name});const q=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t,a;return utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,(null===(a=null===(t=e.serverValues)||void 0===t?void 0:t[O])||void 0===a?void 0:a.example)||e.example||Sampler.sample(e.schema.rawSchema,D,r)))})).reduce(((e,t)=>{var a;for(const[s,r]of Object.entries(t))e.push({name:s,value:String((null===(a=A.cookie)||void 0===a?void 0:a[s])||r)});return e}),[]).concat(C),M=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t,a;return utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,(null===(a=null===(t=e.serverValues)||void 0===t?void 0:t[O])||void 0===a?void 0:a.example)||e.example||Sampler.sample(e.schema.rawSchema,D,r)))})).reduce(((e,t)=>{var a,s,r;for(const[i,n]of Object.entries(t))e.push({name:i,value:(0,utils_1.isArrayOfObjects)(null===(a=A.query)||void 0===a?void 0:a[i])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(s=A.query)||void 0===s?void 0:s[i]))||String((null===(r=A.query)||void 0===r?void 0:r[i])||n)});return e}),[]).concat(j),R=`${null==S?void 0:S.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,N=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a,s,r;const{in:i,name:l}=t;return e[l]=(null===(a=A.path)||void 0===a?void 0:a[l])||(null===(r=null===(s=t.serverValues)||void 0===s?void 0:s[O])||void 0===r?void 0:r.example)||t.example||n[l]||(0,utils_1.getParameterValue)(i,l),e}),{}),H=null==E?void 0:E.name.toLowerCase(),U=H===constants_1.MediaTypes.MULTIPART||H===constants_1.MediaTypes.URL_ENCODED,V=U?null===(v=null==E?void 0:E.formExamples)||void 0===v?void 0:v[t]:null===(f=null==E?void 0:E.examples)||void 0===f?void 0:f[t],I=U?(null==E?void 0:E.formExamples)||{}:(null==E?void 0:E.examples)||{},[L]=Object.values(I),$=(null===(h=null===(_=null==V?void 0:V.serverValues)||void 0===_?void 0:_[O])||void 0===h?void 0:h.value)||(null===(g=null===(y=null==L?void 0:L.serverValues)||void 0===y?void 0:y[O])||void 0===g?void 0:g.value),z=e=>{var t;return e&&"object"==typeof e&&(null===(t=null==E?void 0:E.schema)||void 0===t?void 0:t.rawSchema)?Sampler.sample(populateXmlSchemaFields(E.schema.rawSchema,e),Object.assign(Object.assign({},D),{format:"xml"}),r):null},B=(()=>{if(null==A?void 0:A.body)return A.body;if(H!==constants_1.MediaTypes.XML)return $||(null==V?void 0:V.value)||(null==L?void 0:L.value)||(null==E?void 0:E.schema)&&Sampler.sample(E.schema.rawSchema,Object.assign(Object.assign({},D),{format:"json"}),r);{const e=z($)||z(null==V?void 0:V.value)||z(null==L?void 0:L.value);if(e)return e;if(null==E?void 0:E.schema)return Sampler.sample(E.schema.rawSchema,Object.assign(Object.assign({},D),{format:"xml"}),r)}return""})();let J="",Y=[];switch((0,utils_2.normalizeMimeType)(H)){case constants_1.MediaTypes.JSON:J=JSON.stringify(getDataRequest(B,l));break;case constants_1.MediaTypes.XML:J=B;break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:J=utils_1.queryString.stringify(getDataRequest(B,l)),Y=objectToHarParams(getDataRequest(B,l));break;default:J=String(B||"")}const F=J?{mimeType:(null==E?void 0:E.name)||constants_1.MediaTypes.OCTET_STREAM,text:J,params:Y}:void 0,K=e.responses.map((e=>e.code));return{method:e.httpVerb,url:R,httpVersion:"HTTP/1.1",cookies:q,headers:P,queryString:M,postData:F,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:k,basicAuth:x,pathParameters:N,serverVariables:u,allResponseCodes:K}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#+Newtonsoft":{code:"csharpNewtonsoft",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:s,properties:r,options:i={},environment:n,translate:l}){try{const{skipOptionalParameters:o,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:d,store:p,activeMimeName:m}=i,v=mapOperationToHAR(t,{exampleName:a,pathParams:s,properties:r,skipOptionalParameters:o,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:d,activeMimeName:m},{environment:n,requestValues:p.requestValues,activeSecuritySchemeIds:p.activeSecuritySchemeIds}),f=new httpsnippet_1.HTTPSnippet(v);return langToSnippetConfig[e]?f.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):l("openapi.unsupportedLanguage","Language is not supported.")}catch(e){return console.error(e),l("openapi.failedToGenerateCodeSample","Failed to generate code sample.")}}function getSecurityData(e,t,a){var s,r,i,n,l;const o={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},u=null==a?void 0:a.server;for(const c of(null==e?void 0:e.schemes)||[]){const e=(0,utils_1.getSecurityDetails)(c.id,a),d=u&&c.serverValues&&c.serverValues[u],p={access_token:(null==d?void 0:d["x-defaultAccessToken"])||c["x-defaultAccessToken"],token_type:(null==d?void 0:d["x-defaultTokenType"])||c["x-defaultTokenType"],client_id:(null==d?void 0:d["x-defaultClientId"])||c["x-defaultClientId"],client_secret:(null==d?void 0:d["x-defaultClientSecret"])||c["x-defaultClientSecret"]},m=(null==d?void 0:d["x-defaultUsername"])||c["x-defaultUsername"],v=(null==d?void 0:d["x-defaultPassword"])||c["x-defaultPassword"],f=d&&"scopes"in d?d.scopes||[]:c.scopes||[];switch(c.type){case"openIdConnect":null===(s=o.securityHeaders)||void 0===s||s.push({name:"Authorization",value:p.access_token?`${p.token_type||"Bearer"} ${p.access_token}`:e.token?`${p.token_type||e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=p.access_token?`${p.token_type||"Bearer"} ${p.access_token}`:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";c.flows.clientCredentials&&t?o.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(c.flows.clientCredentials,f,Object.assign(Object.assign({},e),{client_id:p.client_id||e.client_id,client_secret:p.client_secret||e.client_secret}))):c.flows.password&&t&&o.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(c.flows.password,f,Object.assign(Object.assign({},e),{client_id:p.client_id||e.client_id,client_secret:p.client_secret||e.client_secret}))),null===(r=o.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=p.access_token||e.raw||"YOUR_API_KEY_HERE";"header"===c.in&&(null===(i=o.securityHeaders)||void 0===i||i.push({name:c.name,value:t})),"cookie"===c.in&&o.securityCookies.push({name:c.name,value:t}),"query"===c.in&&o.securityQueries.push({name:c.name,value:t});break}case"http":if("basic"===c.scheme)o.basicAuth={username:m||e.username||`<${string_utility_1.default.toSnakeCase("Username")}>`,password:v||e.password||`<${string_utility_1.default.toSnakeCase("Password")}>`};else{const t=(null==p?void 0:p.access_token)||(null===(n=e.token)||void 0===n?void 0:n.access_token)||`<YOUR_${c.bearerFormat||"TOKEN"}_HERE>`;null===(l=o.securityHeaders)||void 0===l||l.push({name:"Authorization",value:`${capitalizeFirst(c.scheme||"bearer")} ${t}`})}}}return o}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if((0,theme_1.isObject)(e))return Object.keys(e).length>0&&0===Object.keys(t).length?e:(0,deepmerge_1.default)(e,t,{arrayMerge:utils_2.arrayMergeStrategy});try{return(0,deepmerge_1.default)(JSON.parse(e),t,{arrayMerge:utils_2.arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e,t=""){const a=[];for(const[s,r]of Object.entries(e)){const i=t?`${t}[${s}]`:s;if("object"==typeof r&&null!==r)a.push(...objectToHarParams(r,i));else{const s=Array.isArray(e)&&"string"==typeof r&&t?t:i;a.push({name:s,value:String(r)})}}return a}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}function populateXmlSchemaFields(e,t){if(!e||"object"!=typeof e||!t||"object"!=typeof t)return e;const a=JSON.parse(JSON.stringify(e));return function e(t,a){if(t&&a&&"object"==typeof t&&"object"==typeof a&&t.properties)for(const s in t.properties)if(void 0!==a[s]){const r=t.properties[s],i=a[s];if("object"!==r.type||"object"!=typeof i||Array.isArray(i))if("array"===r.type&&Array.isArray(i)&&i.length>0){const t=i[0];r.items&&r.items.properties&&e(r.items,t)}else r.example=i;else e(r,i)}}(a,t),a}
|
|
2
2
|
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OperationModel, SecurityCredentials, FieldModel } from '../models/types';
|
|
2
|
+
import type { ConfigureRequestValues, ConfigureServerRequestValues, SecurityDetails } from '@redocly/theme';
|
|
3
|
+
export declare function updateOperationWithRequestValues(operation: OperationModel, userDefinedRequestValues: ConfigureRequestValues | ConfigureServerRequestValues): void;
|
|
4
|
+
export declare function updateParametersWithUserValues(param: FieldModel, userDefinedRequestValues?: ConfigureRequestValues | ConfigureServerRequestValues): void;
|
|
5
|
+
export declare function updateRequestBodyWithUserValues(operation: OperationModel, userDefinedRequestValues: ConfigureRequestValues, serverUrl?: string): OperationModel | undefined;
|
|
6
|
+
export declare function updateSecurityWithUserValues(operation: OperationModel, securityValues?: SecurityDetails, serverUrl?: string): void;
|
|
7
|
+
export declare function updateOperationWithServerUserValues(operation: OperationModel, serverRequestValues: ConfigureServerRequestValues): void;
|
|
8
|
+
export declare function updateEnvVariablesWithUserValues(operation: OperationModel, environmentValues?: Record<string, string>, serverUrl?: string): void;
|
|
9
|
+
export declare function isDirectRequestValues(value: any): value is ConfigureRequestValues;
|
|
10
|
+
export declare function updateObjectProperties(original: any, updates: any): any;
|
|
11
|
+
export declare function createSecurityUpdates(scheme: any, securityValues: SecurityDetails): SecurityCredentials;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.updateOperationWithRequestValues=updateOperationWithRequestValues,exports.updateParametersWithUserValues=updateParametersWithUserValues,exports.updateRequestBodyWithUserValues=updateRequestBodyWithUserValues,exports.updateSecurityWithUserValues=updateSecurityWithUserValues,exports.updateOperationWithServerUserValues=updateOperationWithServerUserValues,exports.updateEnvVariablesWithUserValues=updateEnvVariablesWithUserValues,exports.isDirectRequestValues=isDirectRequestValues,exports.updateObjectProperties=updateObjectProperties,exports.createSecurityUpdates=createSecurityUpdates;const theme_1=require("@redocly/theme");function updateOperationWithRequestValues(e,t){if(0!==Object.keys(t).length)if(isDirectRequestValues(t))updateRequestBodyWithUserValues(e,t),updateSecurityWithUserValues(e,t.security),updateEnvVariablesWithUserValues(e,t.envVariables);else{updateOperationWithServerUserValues(e,t)}}function updateParametersWithUserValues(e,t){var s;if(!t)return;const{in:r,name:a}=e;if(isDirectRequestValues(t)){const u=t,i={header:u.headers,query:u.query,path:u.path,cookie:u.cookie};r&&(null===(s=i[r])||void 0===s?void 0:s[a])&&(e.example=i[r][a])}else Object.entries(t).forEach((([t,s])=>{var u;const i=s;if(!i)return;const l={header:i.headers,query:i.query,path:i.path,cookie:i.cookie};r&&(null===(u=l[r])||void 0===u?void 0:u[a])&&(e.serverValues||(e.serverValues={}),e.serverValues[t]={example:l[r][a]})}))}function updateRequestBodyWithUserValues(e,t,s){if(!e.requestBody||!(null==t?void 0:t.body))return;const r=e.requestBody.content;if(!(null==r?void 0:r.mediaTypes))return;const a=(e,r)=>{e[r]&&Object.keys(e[r]).forEach((a=>{var u,i;const l=null===(i=null===(u=e[r])||void 0===u?void 0:u[a])||void 0===i?void 0:i.value;let n;if(n=(0,theme_1.isObject)(l)?updateObjectProperties(l,t.body):t.body,n)if(s){const t=e[r][a];t.serverValues||(t.serverValues={}),t.serverValues[s]={value:n,rawValue:n},e[r][a]=Object.assign(Object.assign({},t),{mime:e.name})}else e[r][a]={value:n,rawValue:n,mime:e.name}}))};for(const e of r.mediaTypes)a(e,"examples"),a(e,"formExamples");return e}function updateSecurityWithUserValues(e,t,s){t&&e.security.length&&e.security.forEach((e=>{s?e.schemes.forEach((e=>{e.serverValues||(e.serverValues={});const r=createSecurityUpdates(e,t);e.serverValues[s]=r})):e.schemes.forEach((e=>{const s=createSecurityUpdates(e,t);Object.assign(e,s)}))}))}function updateOperationWithServerUserValues(e,t){e.servers.forEach((s=>{if(t[s.url]){const r=t[s.url];r&&(updateRequestBodyWithUserValues(e,r,s.url),updateSecurityWithUserValues(e,r.security,s.url),updateEnvVariablesWithUserValues(e,r.envVariables,s.url))}}))}function updateEnvVariablesWithUserValues(e,t,s){t&&0!==Object.keys(t).length&&(e.envVariables||(e.envVariables={}),s?(e.envVariables.serverValues||(e.envVariables.serverValues={}),e.envVariables.serverValues[s]=Object.assign(Object.assign({},e.envVariables.serverValues[s]),t)):e.envVariables.values=Object.assign(Object.assign({},e.envVariables.values),t))}function isDirectRequestValues(e){return!(!e||"object"!=typeof e)&&("headers"in e||"body"in e||"query"in e||"path"in e||"cookie"in e||"security"in e||"envVariables"in e)}function updateObjectProperties(e,t){if(!e||"object"!=typeof e)return t;if(Array.isArray(e)&&Array.isArray(t)){if(e.length>0&&"object"==typeof e[0]&&null!==e[0]){const s=Object.keys(e[0]),r=t.filter((e=>"object"==typeof e&&null!==e&&(s.some((t=>t in e))&&Object.keys(e).every((e=>s.includes(e))))));return r.length>0?r:e}return t}const s=Array.isArray(e)?[...e]:Object.assign({},e);for(const[r,a]of Object.entries(t))r in e&&(Array.isArray(e[r])||"object"==typeof a&&null!==a&&"object"==typeof e[r]?s[r]=updateObjectProperties(e[r],a):s[r]=a);return s}function createSecurityUpdates(e,t){var s,r,a;const u={"x-defaultAccessToken":null===(s=t.token)||void 0===s?void 0:s.access_token,"x-defaultTokenType":(null===(r=t.token)||void 0===r?void 0:r.token_type)||"Bearer","x-defaultClientId":t.client_id,"x-defaultClientSecret":t.client_secret,scopes:t.scopes||e.scopes};return"http"===e.type&&"basic"===e.scheme?(u["x-defaultUsername"]=t.username,u["x-defaultPassword"]=t.password,delete u["x-defaultAccessToken"],delete u["x-defaultTokenType"]):"oauth2"!==e.type||(null===(a=t.token)||void 0===a?void 0:a.access_token)||(delete u["x-defaultAccessToken"],delete u["x-defaultTokenType"]),u}
|
|
2
|
+
//# sourceMappingURL=configure-helpers.js.map
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var p=Object.getOwnPropertyDescriptor(r,t);p&&!("get"in p?!r.__esModule:p.writable||p.configurable)||(p={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,p)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./JsonPointer"),exports),__exportStar(require("./openapi"),exports),__exportStar(require("./helpers"),exports),__exportStar(require("./dom"),exports),__exportStar(require("./debug"),exports),__exportStar(require("./sort"),exports),__exportStar(require("./argValuesHelpers"),exports),__exportStar(require("./theme-helpers"),exports),__exportStar(require("./debounce"),exports),__exportStar(require("./security-details"),exports),__exportStar(require("./session-storage"),exports),__exportStar(require("./local-storage"),exports),__exportStar(require("./parameters"),exports),__exportStar(require("./string"),exports),__exportStar(require("./test-utils"),exports),__exportStar(require("./compose"),exports),__exportStar(require("./saveTextBeforeHeading"),exports),__exportStar(require("./path"),exports),__exportStar(require("./queryString"),exports),__exportStar(require("./isMobile"),exports),__exportStar(require("./replaceVariables"),exports),__exportStar(require("./areArraysEqual"),exports);
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var p=Object.getOwnPropertyDescriptor(r,t);p&&!("get"in p?!r.__esModule:p.writable||p.configurable)||(p={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,p)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./JsonPointer"),exports),__exportStar(require("./openapi"),exports),__exportStar(require("./helpers"),exports),__exportStar(require("./dom"),exports),__exportStar(require("./debug"),exports),__exportStar(require("./sort"),exports),__exportStar(require("./argValuesHelpers"),exports),__exportStar(require("./theme-helpers"),exports),__exportStar(require("./debounce"),exports),__exportStar(require("./security-details"),exports),__exportStar(require("./session-storage"),exports),__exportStar(require("./local-storage"),exports),__exportStar(require("./parameters"),exports),__exportStar(require("./string"),exports),__exportStar(require("./test-utils"),exports),__exportStar(require("./compose"),exports),__exportStar(require("./saveTextBeforeHeading"),exports),__exportStar(require("./path"),exports),__exportStar(require("./queryString"),exports),__exportStar(require("./isMobile"),exports),__exportStar(require("./replaceVariables"),exports),__exportStar(require("./areArraysEqual"),exports),__exportStar(require("./configure-helpers"),exports);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ContentItemModel } from '../../models';
|
|
2
|
-
declare function useScrollOnRender(item: ContentItemModel, routingBasePath: string): import("react").RefObject<HTMLDivElement>;
|
|
2
|
+
declare function useScrollOnRender(item: ContentItemModel, routingBasePath: string): import("react").RefObject<HTMLDivElement | null>;
|
|
3
3
|
export default useScrollOnRender;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{DownloadIcon,DocumentIcon,JsonIcon,Button,FileIcon}from"@redocly/theme";import{useDownloadInfo}from"./useDownloadInfo";import{globalStoreAtom}from"../../jotai/store";import{useOtelTelemetry}from"../../hooks";function DownloadSpecificationComponent(){const
|
|
1
|
+
import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{DownloadIcon,DocumentIcon,JsonIcon,Button,FileIcon,getPathPrefix,combineUrls}from"@redocly/theme";import{useDownloadInfo}from"./useDownloadInfo";import{globalStoreAtom}from"../../jotai/store";import{useOtelTelemetry}from"../../hooks";function DownloadSpecificationComponent(){const e=useOtelTelemetry(),{options:o}=useAtomValue(globalStoreAtom),t=getPathPrefix(),n=useDownloadInfo({downloadUrls:o.downloadUrls}),r=useCallback((e=>{switch(e){case"yaml":return _jsx(DocumentIcon,{});case"json":return _jsx(JsonIcon,{});default:return _jsx(FileIcon,{})}}),[]);return n?_jsx(Wrapper,{children:(n||[]).map((({title:o,url:n,iconType:a})=>{const s=t?combineUrls(t,n):n;return _jsxs(Card,{onClick:()=>e.send("openapi_docs.download_definition.clicked",{}),children:[_jsxs(FileName,{children:[r(a),_jsx("a",{href:s,target:"_blank",download:!0,rel:"noreferrer",children:o})]}),_jsx("a",{href:s,target:"_blank",download:!0,rel:"noreferrer",children:_jsx(Button,{variant:"text",size:"small",icon:_jsx(DownloadIcon,{})})})]},o)}))}):_jsx(_Fragment,{})}export const DownloadSpecification=memo(DownloadSpecificationComponent);const Card=styled.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: baseline;
|
|
4
4
|
justify-content: space-between;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))((function(o,r){function u(e){try{s(i.next(e))}catch(e){r(e)}}function c(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(u,c)}s((i=i.apply(e,n||[])).next())}))};import{useRef}from"react";import isDeepEqual from"fast-deep-equal";import{loadAndBundleDefinition}from"../../utils/loadAndBundleSpec";import{safeSlugify}from"../../utils/string";export function fixSpec(e){const n=e.components&&e.components.securitySchemes||{};for(const e of Object.keys(n)){const t=n[e];t["x-type"]&&(t.type=t["x-type"]),t["x-scheme"]&&(t.scheme=t["x-scheme"])}}export function loadSingle(e,n,t){return __awaiter(this,void 0,void 0,(function*(){let i;if(null==t?void 0:t.skipBundle){if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');i=e}else i=yield loadAndBundleDefinition(e||n);try{fixSpec(i)}catch(e){}return i}))}export function loadAndBundleSpecOrMd(e,n){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:n||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function useDeepCompareMemoize(e){const n=useRef(),t=useRef(0);return isDeepEqual(e,n.current)||(n.current=e,t.current+=1),[t.current]}export function getMarkdownHeaderId(e){return"string"==typeof e[0]?`section/${safeSlugify(e[0])}`:e.children?getMarkdownHeaderId(e[0]):void 0}
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))((function(o,r){function u(e){try{s(i.next(e))}catch(e){r(e)}}function c(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(u,c)}s((i=i.apply(e,n||[])).next())}))};import{useRef}from"react";import isDeepEqual from"fast-deep-equal";import{loadAndBundleDefinition}from"../../utils/loadAndBundleSpec";import{safeSlugify}from"../../utils/string";export function fixSpec(e){const n=e.components&&e.components.securitySchemes||{};for(const e of Object.keys(n)){const t=n[e];t["x-type"]&&(t.type=t["x-type"]),t["x-scheme"]&&(t.scheme=t["x-scheme"])}}export function loadSingle(e,n,t){return __awaiter(this,void 0,void 0,(function*(){let i;if(null==t?void 0:t.skipBundle){if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');i=e}else i=yield loadAndBundleDefinition(e||n);try{fixSpec(i)}catch(e){}return i}))}export function loadAndBundleSpecOrMd(e,n){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:n||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function useDeepCompareMemoize(e){const n=useRef(null),t=useRef(0);return isDeepEqual(e,n.current)||(n.current=e,t.current+=1),[t.current]}export function getMarkdownHeaderId(e){return"string"==typeof e[0]?`section/${safeSlugify(e[0])}`:e.children?getMarkdownHeaderId(e[0]):void 0}
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Unstable_ExternalCodeSample } from '../../services';
|
|
2
2
|
import type { OperationModel } from '../../models';
|
|
3
3
|
import type { OpenAPIXCodeSample } from '../../types';
|
|
4
|
-
export declare function useCodeSamples({ payload, isWebhook, definitionSamples, pointer, }: OperationModel): {
|
|
4
|
+
export declare function useCodeSamples({ payload, isWebhook, definitionSamples, pointer, envVariables, }: OperationModel): {
|
|
5
5
|
samples: Array<{
|
|
6
6
|
key: string;
|
|
7
7
|
title: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useAtomValue}from"jotai";import{getCodeSample}from"../../services";import{globalStoreAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";import{environmentAtom,getLangKey,languageAtom,activeMimeNameAtom}from"../../jotai/app";import{useTranslate}from"../../hooks";export function useCodeSamples({payload:e,isWebhook:a,definitionSamples:t,pointer:o}){var l,
|
|
1
|
+
import{useAtomValue}from"jotai";import{getCodeSample}from"../../services";import{globalStoreAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";import{environmentAtom,getLangKey,languageAtom,activeMimeNameAtom}from"../../jotai/app";import{useTranslate}from"../../hooks";export function useCodeSamples({payload:e,isWebhook:a,definitionSamples:t,pointer:o,envVariables:n}){var l,s;const{parser:r,options:{codeSamples:i,generatedSamplesMaxDepth:g}}=useAtomValue(globalStoreAtom),m=useAtomValue(activeMimeNameAtom),p=useAtomValue(operationStore(o)),{languages:u}=useAtomValue(languageAtom),[c]=useAtomValue(environmentAtom),d=useTranslate(),v=new Map(null==u?void 0:u.map((({key:e,order:a})=>[e,a]))),b=applyEnvironments(t.filter((e=>v.has(getLangKey(e)))),n,c),f=new Set(b.map(getLangKey));let j=[];if(!a){j=createCodeSamples((null===(l=i.languages)||void 0===l?void 0:l.filter((({lang:e,label:a})=>"Payload"!==e&&!f.has(getLangKey({lang:e,label:a})))))||[],i,r.definition,g,p,c,d,m)}const y=[...b,...j],A=null===(s=null==u?void 0:u.find((({lang:a})=>a===(null==e?void 0:e.lang))))||void 0===s?void 0:s.title,O=e&&getLangKey({label:A,lang:e.lang});e&&O&&v.has(O)&&y.push(Object.assign(Object.assign({},e),{label:A,order:v.get(O)}));const h=y.map((e=>{var a;const t=null!==(a=e.label)&&void 0!==a?a:e.lang;return Object.assign({key:getLangKey(e),title:t,order:"number"==typeof v.get(t.toLowerCase())?v.get(t.toLowerCase()):9999},e)})).sort(((e,a)=>e.order-a.order));return{samples:h}}function createCodeSamples(e,{skipOptionalParameters:a,withOAuth2Call:t},o,n,l,s,r,i){return e.map((({lang:e,label:g,options:m})=>({lang:e,label:g,get:g=>getCodeSample(Object.assign(Object.assign({},g),{lang:e,options:Object.assign(Object.assign({},m),{skipOptionalParameters:a,withOAuth2Call:t,spec:o,generatedPayloadSamplesMaxDepth:n,store:l,activeMimeName:i}),environment:s,translate:r}))})))}function applyEnvironments(e,a,t){var o;if(!a||!e.length)return e;const n=null==t?void 0:t.server;let l=Object.assign({},a.values||{});return n&&(null===(o=a.serverValues)||void 0===o?void 0:o[n])&&(l=Object.assign(Object.assign({},l),a.serverValues[n])),0===Object.keys(l).length?e:e.map((e=>{const a=Object.assign({},e);return"source"in a&&"string"==typeof a.source&&(a.source=a.source.replace(/\{\{([^}]+)\}\}/g,((e,a)=>void 0!==l[a]?l[a]:e))),a}))}
|
|
2
2
|
//# sourceMappingURL=useCodeSamples.js.map
|
|
@@ -9,5 +9,6 @@ export interface ExampleSwitchOptions {
|
|
|
9
9
|
export interface ExampleSwitchProps extends ExampleSwitchOptions {
|
|
10
10
|
examples: ExampleModelsMap;
|
|
11
11
|
onChange: (key: string) => void;
|
|
12
|
+
className?: string;
|
|
12
13
|
}
|
|
13
|
-
export declare const ExampleSwitch: ({ exampleKey, examples, onChange, }: ExampleSwitchProps) => ReactElement | null;
|
|
14
|
+
export declare const ExampleSwitch: ({ exampleKey, examples, onChange, className, }: ExampleSwitchProps) => ReactElement | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import{MimeLabel,Container,Select}from"../common";import{SelectOrLabel}from"../SelectOrLabel";import{normalizeText}from"../../utils";import{useOtelTelemetry}from"../../hooks";export const ExampleSwitch=({exampleKey:e,examples:t,onChange:l})=>{var
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import{MimeLabel,Container,Select}from"../common";import{SelectOrLabel}from"../SelectOrLabel";import{normalizeText}from"../../utils";import{useOtelTelemetry}from"../../hooks";export const ExampleSwitch=({exampleKey:e,examples:t,onChange:l,className:a})=>{var m;const r=useOtelTelemetry(),o=Object.keys(t),s=e?o.indexOf(e):0,[i,n]=useState(s>-1?s:0);useEffect((()=>n(s>-1?s:0)),[e,s]);const c=o.map(((e,l)=>({value:normalizeText(t[e].summary)||e,idx:l})));return c.length<2?null:_jsx(Container,{"data-testid":"example-switch",className:a,children:_jsx(SelectOrLabel,{Select:Select,Label:MimeLabel,variant:"dark",fullWidth:!0,options:c,value:null===(m=c[i])||void 0===m?void 0:m.value,onChange:({idx:e})=>{r.send("openapi_docs.examples_switcher.clicked",{example:o[e],number_of_examples:o.length}),n(e),l(o[e])}})})};
|
|
2
2
|
//# sourceMappingURL=ExampleSwitch.js.map
|
|
@@ -35,4 +35,4 @@ export declare const ConstraintItem: import("styled-components").StyledComponent
|
|
|
35
35
|
export declare const ToggleButton: import("styled-components").StyledComponent<import("react").FC<import("@redocly/theme").ButtonProps>, any, import("@redocly/theme").ButtonProps & {
|
|
36
36
|
variant: "link";
|
|
37
37
|
size: "small";
|
|
38
|
-
}, "
|
|
38
|
+
}, "variant" | "size">;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
1
|
+
type IconProps = React.SVGProps<SVGSVGElement>;
|
|
2
|
+
export declare const Icon: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const CurlIcon: import("styled-components").StyledComponent<(props: IconProps) => import("react/jsx-runtime").JSX.Element, any, {
|
|
3
4
|
'data-component-name': string;
|
|
4
|
-
}, "data-component-name">;
|
|
5
|
+
} & IconProps, "data-component-name">;
|
|
6
|
+
export {};
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";export const Icon=
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";export const Icon=C=>_jsxs("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 24 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},C,{children:[_jsxs("g",{clipPath:"url(#clip0_3789_6604)",children:[_jsx("path",{d:"M22.2305 2.73601C21.6963 2.73601 21.264 2.30296 21.264 1.76946C21.264 1.2352 21.6963 0.802917 22.2305 0.802917C22.764 0.802917 23.1971 1.2352 23.1971 1.76946C23.1971 2.30296 22.764 2.73601 22.2305 2.73601ZM12.6313 19.2502C12.097 19.2502 11.6647 18.8172 11.6647 18.2837C11.6647 17.7494 12.097 17.3171 12.6313 17.3171C13.1648 17.3171 13.5971 17.7494 13.5971 18.2837C13.5971 18.8172 13.1648 19.2502 12.6313 19.2502ZM22.2305 0C21.2533 0 20.4611 0.792261 20.4611 1.76946C20.4611 1.97799 20.5136 2.17206 20.5798 2.35776L12.2789 16.585C11.4768 16.7532 10.8618 17.4313 10.8618 18.2837C10.8618 19.2609 11.6541 20.0531 12.6313 20.0531C13.6077 20.0531 14.4 19.2609 14.4 18.2837C14.4 18.0873 14.3475 17.9077 14.2889 17.7312L22.6316 3.45749C23.4094 3.27103 24 2.60434 24 1.76946C24 0.792261 23.2077 0 22.2305 0Z",className:"path-primary"}),_jsx("path",{d:"M14.9906 2.73601C14.4563 2.73601 14.024 2.30296 14.024 1.76946C14.024 1.2352 14.4563 0.802917 14.9906 0.802917C15.5241 0.802917 15.9564 1.2352 15.9564 1.76946C15.9564 2.30296 15.5241 2.73601 14.9906 2.73601ZM5.39059 19.2502C4.85708 19.2502 4.42404 18.8172 4.42404 18.2837C4.42404 17.7494 4.85708 17.3171 5.39059 17.3171C5.92485 17.3171 6.35713 17.7494 6.35713 18.2837C6.35713 18.8172 5.92485 19.2502 5.39059 19.2502ZM14.9906 0C14.0126 0 13.2211 0.792261 13.2211 1.76946C13.2211 1.97799 13.2736 2.17206 13.3399 2.35776L5.03898 16.585C4.23606 16.7532 3.62112 17.4313 3.62112 18.2837C3.62112 19.2609 4.41339 20.0531 5.39059 20.0531C6.36779 20.0531 7.16005 19.2609 7.16005 18.2837C7.16005 18.0873 7.10754 17.9077 7.04894 17.7312L15.3917 3.45749C16.1695 3.27103 16.7601 2.60434 16.7601 1.76946C16.7601 0.792261 15.967 0 14.9906 0Z",className:"path-secondary"}),_jsx("path",{d:"M1.76946 5.69424C2.30296 5.69424 2.73601 6.12729 2.73601 6.66079C2.73601 7.19429 2.30296 7.62733 1.76946 7.62733C1.2352 7.62733 0.802917 7.19429 0.802917 6.66079C0.802917 6.12729 1.2352 5.69424 1.76946 5.69424ZM1.76946 8.43025C2.74666 8.43025 3.53892 7.63799 3.53892 6.66079C3.53892 6.4652 3.48565 6.28483 3.42705 6.10826C3.19264 5.4058 2.55031 4.89133 1.76946 4.89133C1.64465 4.89133 1.53506 4.93775 1.41709 4.96286C0.614936 5.1303 0 5.8084 0 6.66079C0 7.63799 0.792261 8.43025 1.76946 8.43025Z",className:"path-secondary"}),_jsx("path",{d:"M0.802917 12.8436C0.802917 12.3094 1.23596 11.8771 1.76946 11.8771C2.30296 11.8771 2.73601 12.3094 2.73601 12.8436C2.73601 13.3771 2.30296 13.8094 1.76946 13.8094C1.23596 13.8094 0.802917 13.3771 0.802917 12.8436ZM3.53892 12.8436C3.53892 12.6473 3.48565 12.4677 3.42705 12.2911C3.19264 11.5886 2.55107 11.0742 1.76946 11.0742C1.64465 11.0742 1.53506 11.1206 1.41709 11.145C0.614936 11.3131 0 11.9912 0 12.8436C0 13.8201 0.792261 14.6131 1.76946 14.6131C2.74666 14.6131 3.53892 13.8201 3.53892 12.8436Z",className:"path-secondary"})]}),_jsx("defs",{children:_jsx("clipPath",{id:"clip0_3789_6604",children:_jsx("rect",{width:"24",height:"20.0531",fill:"white"})})})]}));export const CurlIcon=styled(Icon).attrs((()=>({"data-component-name":"icons/CurlIcon"})))`
|
|
2
|
+
.path-primary {
|
|
3
|
+
fill: #0c544c;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.path-secondary {
|
|
7
|
+
fill: #073551;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
html.dark & .path-primary,
|
|
11
|
+
html.dark & .path-secondary {
|
|
12
|
+
fill: #ffffff;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
2
15
|
//# sourceMappingURL=CurlIcon.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{configure,
|
|
1
|
+
import{configure,removeLeadingSlash}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC}from"@redocly/config";import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByDeprecated,sortByRequired,updateOperationWithRequestValues,updateParametersWithUserValues}from"../utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurity}from"./security";import{getResponse}from"./response";import{getHref}from"../services/menu/operation";export function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}export function getOperation(e,r,t,o,s,a,i){var n,l,p;const d=r.isWebhook,u={operationDefinition:r,parent:t,pointer:r.pointer,description:getValueFromMdParsedExtension(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:d,isCallback:Boolean(null==a?void 0:a.isCallback),isEvent:(null==a?void 0:a.isCallback)||d,name:getOperationName(r),defaultExampleName:r.defaultSampleName,[REDOCLY_TEAMS_RBAC]:r[REDOCLY_TEAMS_RBAC]||(null==t?void 0:t[REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==a?void 0:a.id,href:s,get callbacks(){return Object.keys(r.callbacks||[]).map((a=>{var n;return getCallback(e,a,null===(n=r.callbacks)||void 0===n?void 0:n[a],u.pointer,o,s,t,i)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e)))).map((s=>getResponse({parser:e,code:s,defaultAsError:t,infoOrRef:r.responses[s],options:o,isEvent:u.isEvent,operation:u})))},get parameters(){return processParameters(e,r,u,o,f)}};if(null==a?void 0:a.isCallback)u.security=getSecurity(r.security,e),u.servers=normalizeServers("",r.servers||r.pathServers||[]),u.id=removeLeadingSlash(s);else{u.id=getOperationId(r,t),u.href=u.href||getHref(u),u.security=getSecurity(r.security||e.definition.security,e);const s=r.servers||((null===(n=r.pathServers)||void 0===n?void 0:n.length)?r.pathServers:null)||e.definition.servers||[];u.servers=normalizeServers(e.definitionUrl,mergeInMockServer(s,o.mockServer))}o.showExtensions&&(u.extensions=extractExtensions(r,o.showExtensions)),u.requestBody=r.requestBody?getRequestBody({parser:e,infoOrRef:r.requestBody,options:o,operation:u,isEvent:u.isEvent}):void 0;const c=null===(l=u.requestBody)||void 0===l?void 0:l.content;u.payload={lang:"Payload",source:"",requestBodyContent:(null==c?void 0:c.hasSample)?c:void 0},u.definitionSamples=r["x-codeSamples"]||[],u.badges=(null===(p=r["x-badges"])||void 0===p?void 0:p.map((({name:e,color:r,position:t})=>({name:e,color:r||"var(--color-info-base)",position:t||"after"}))))||[],u.hasSamples=(null==c?void 0:c.hasSample)||u.definitionSamples.length>0,u.hideReplay=!0===r["x-hideReplay"];const m={userClaims:i,operation:{operationId:u.operationId,name:u.name,path:u.path,href:u.href,method:u.httpVerb},servers:u.servers},f=(configure(m)||{}).requestValues||{};return updateOperationWithRequestValues(u,f),u}function processParameters(e,r,t,o,s){let a=mergeParams(e,r.pathParameters,r.parameters,{pathPointer:JsonPointer.dirName(t.pointer),operationPointer:t.pointer}).map((({paramOrRef:r,pointer:a})=>{const i=getField(e,r,a,o,{operation:t,type:"request"});return updateParametersWithUserValues(i,s),i}));return o.sortRequiredPropsFirst&&(a=sortByRequired(a)),sortByDeprecated(a)}export function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|