@redocly/openapi-docs 3.5.6 → 3.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/redocly-openapi-docs.min.js +1626 -1410
  2. package/lib/components/Schema/ArraySchema.d.ts +0 -1
  3. package/lib/components/Schema/ArraySchema.js +1 -33
  4. package/lib/components/Schema/ObjectSchema.js +1 -1
  5. package/lib/components/Schema/Schema.js +1 -0
  6. package/lib/components/Schema/SubSchema.d.ts +1 -0
  7. package/lib/components/Schema/SubSchema.js +1 -1
  8. package/lib/components/Schema/types.d.ts +3 -0
  9. package/lib/components/ViewNested/ViewNested.d.ts +1 -0
  10. package/lib/components/ViewNested/ViewNested.js +6 -2
  11. package/lib/components/common/styled.d.ts +3 -0
  12. package/lib/components/common/styled.js +33 -1
  13. package/lib/services/OpenAPIParser.js +1 -1
  14. package/lib/services/code-samples/generator.js +1 -1
  15. package/lib/utils/index.d.ts +0 -1
  16. package/lib/utils/index.js +1 -1
  17. package/lib-esm/components/Schema/ArraySchema.d.ts +0 -1
  18. package/lib-esm/components/Schema/ArraySchema.js +1 -33
  19. package/lib-esm/components/Schema/ObjectSchema.js +1 -1
  20. package/lib-esm/components/Schema/Schema.js +1 -0
  21. package/lib-esm/components/Schema/SubSchema.d.ts +1 -0
  22. package/lib-esm/components/Schema/SubSchema.js +1 -1
  23. package/lib-esm/components/Schema/types.d.ts +3 -0
  24. package/lib-esm/components/ViewNested/ViewNested.d.ts +1 -0
  25. package/lib-esm/components/ViewNested/ViewNested.js +6 -2
  26. package/lib-esm/components/common/styled.d.ts +3 -0
  27. package/lib-esm/components/common/styled.js +32 -0
  28. package/lib-esm/services/OpenAPIParser.js +1 -1
  29. package/lib-esm/services/code-samples/generator.js +1 -1
  30. package/lib-esm/utils/index.d.ts +0 -1
  31. package/lib-esm/utils/index.js +1 -1
  32. package/package.json +11 -7
  33. package/lib/utils/highlight.d.ts +0 -31
  34. package/lib/utils/highlight.js +0 -2
  35. package/lib-esm/utils/highlight.d.ts +0 -31
  36. package/lib-esm/utils/highlight.js +0 -2
@@ -1,3 +1,2 @@
1
1
  import type { SchemaProps } from './types';
2
- export declare const ArrayClosingLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
3
2
  export declare const ArraySchema: import("react").NamedExoticComponent<SchemaProps>;
@@ -1,34 +1,2 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,r){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(a=Object.getOwnPropertySymbols(e);n<a.length;n++)r.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(e,a[n])&&(t[a[n]]=e[a[n]])}return t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArraySchema=exports.ArrayClosingLabel=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),common_1=require("../common"),Schema_1=require("./Schema"),ObjectSchema_1=require("./ObjectSchema"),utils_1=require("../../utils"),SubSchema_1=require("./SubSchema"),store_1=require("../../jotai/store"),helpers_1=require("./helpers");function ArraySchemaComponent(e){var r,t,{schema:a,schema:{minItems:n,maxItems:s,items:i},fieldParentsName:l}=e,o=__rest(e,["schema","schema","fieldParentsName"]);const{schemasExpansionLevel:c}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),m=void 0===n&&void 0===s?"":`(${(0,utils_1.humanizeConstraints)(a)})`;let u=l?[...l.slice(0,-1),l[l.length-1]+"[]"]:l;const d=(0,react_1.useCallback)((e=>o.skipReadOnly||o.skipWriteOnly?null==e?void 0:e.filter((e=>!(o.skipReadOnly&&e.schema.readOnly||o.skipWriteOnly&&e.schema.writeOnly))):e),[o.skipReadOnly,o.skipWriteOnly]);if(null==a?void 0:a.fields)return(0,jsx_runtime_1.jsx)(ObjectSchema_1.ObjectSchema,Object.assign({},o,{level:(null==o?void 0:o.level)||1,schema:a,fieldParentsName:u}));if(a.displayType&&!i&&!m.length)return(0,jsx_runtime_1.jsx)("div",{children:(0,jsx_runtime_1.jsx)(common_1.TypeName,{children:a.displayType})});const p=d(null==i?void 0:i.fields),_=d(null===(t=null===(r=null==i?void 0:i.oneOf)||void 0===r?void 0:r[0])||void 0===t?void 0:t.fields),h=(null==p?void 0:p.length)||(null==_?void 0:_.length),y=1===o.level,x=(0,helpers_1.getExpandByDefault)({level:o.level,required:o.required,schemasExpansionLevel:c});return(0,jsx_runtime_1.jsx)(SubSchema_1.SubSchema,Object.assign({},o,{propertyLength:h,isArray:!0,expandable:!y,expandByDefault:x,operationPointer:a.operationPointer,children:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[y&&(0,jsx_runtime_1.jsx)(ArrayLabel,{children:(0,jsx_runtime_1.jsx)(LabelValue,{children:"Array ["})}),(0,jsx_runtime_1.jsx)(Schema_1.Schema,Object.assign({},o,{schema:i,fieldParentsName:u,expandable:!1})),y&&(0,jsx_runtime_1.jsx)(exports.ArrayClosingLabel,{className:"array-closing-label",children:(0,jsx_runtime_1.jsx)(LabelValue,{children:"]"})})]})}))}const ArrayLabel=styled_components_1.default.span`
2
- display: flex;
3
- align-items: center;
4
- gap: var(--spacing-xs);
5
- margin-top: var(--spacing-xs);
6
-
7
- :after {
8
- content: '';
9
- flex: auto;
10
- border-top: 1px solid var(--border-color-primary);
11
- }
12
- `,LabelValue=styled_components_1.default.span`
13
- padding: 0 var(--spacing-xs);
14
- border-radius: var(--border-radius);
15
- border: 1px solid var(--border-color-secondary);
16
- background-color: var(--bg-color);
17
- font-size: var(--font-size-sm);
18
- line-height: var(--line-height-sm);
19
- color: var(--tag-basic-content-color);
20
- `;exports.ArrayClosingLabel=(0,styled_components_1.default)(ArrayLabel)`
21
- margin-top: 0;
22
- margin-left: auto;
23
-
24
- :after {
25
- content: none;
26
- }
27
-
28
- :before {
29
- content: '';
30
- flex: auto;
31
- border-top: 1px solid var(--border-color-primary);
32
- }
33
- `,exports.ArraySchema=(0,react_1.memo)(ArraySchemaComponent);
1
+ "use strict";var __rest=this&&this.__rest||function(e,r){var t={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&r.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(l=Object.getOwnPropertySymbols(e);s<l.length;s++)r.indexOf(l[s])<0&&Object.prototype.propertyIsEnumerable.call(e,l[s])&&(t[l[s]]=e[l[s]])}return t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArraySchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),common_1=require("../common"),Schema_1=require("./Schema"),ObjectSchema_1=require("./ObjectSchema"),utils_1=require("../../utils"),SubSchema_1=require("./SubSchema"),store_1=require("../../jotai/store"),helpers_1=require("./helpers"),styled_1=require("../common/styled");function ArraySchemaComponent(e){var r,t,{schema:l,schema:{minItems:s,maxItems:a,items:i},fieldParentsName:n}=e,o=__rest(e,["schema","schema","fieldParentsName"]);const{schemasExpansionLevel:c}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),m=Array.isArray(o.parentType)?o.parentType:[o.parentType],u=m.includes("array")&&1===m.length,d=u?(o.level||0)+1:o.level,_=void 0===s&&void 0===a?"":`(${(0,utils_1.humanizeConstraints)(l)})`;let y=n?[...n.slice(0,-1),n[n.length-1]+"[]"]:n;const h=(0,react_1.useCallback)((e=>o.skipReadOnly||o.skipWriteOnly?null==e?void 0:e.filter((e=>!(o.skipReadOnly&&e.schema.readOnly||o.skipWriteOnly&&e.schema.writeOnly))):e),[o.skipReadOnly,o.skipWriteOnly]);if(null==l?void 0:l.fields)return(0,jsx_runtime_1.jsx)(ObjectSchema_1.ObjectSchema,Object.assign({},o,{shouldCloseArray:u,level:d,schema:l,fieldParentsName:y}));if(l.displayType&&!i&&!_.length)return(0,jsx_runtime_1.jsx)("div",{children:(0,jsx_runtime_1.jsx)(common_1.TypeName,{children:l.displayType})});const p=h(null==i?void 0:i.fields),j=h(null===(t=null===(r=null==i?void 0:i.oneOf)||void 0===r?void 0:r[0])||void 0===t?void 0:t.fields),x=(null==p?void 0:p.length)||(null==j?void 0:j.length),v=1===o.level,b=(0,helpers_1.getExpandByDefault)({level:o.level,required:o.required,schemasExpansionLevel:c});return(0,jsx_runtime_1.jsx)(SubSchema_1.SubSchema,Object.assign({},o,{propertyLength:x,isNestedArray:u,level:d,isArray:!0,expandable:!v,expandByDefault:b,operationPointer:l.operationPointer,children:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[v&&(0,jsx_runtime_1.jsx)(styled_1.ArrayLabel,{children:(0,jsx_runtime_1.jsx)(styled_1.LabelValue,{children:"Array ["})}),(0,jsx_runtime_1.jsx)(Schema_1.Schema,Object.assign({},o,{parentType:v?void 0:l.type,level:d,schema:i,shouldCloseArray:u,fieldParentsName:y,expandable:!1})),v&&(0,jsx_runtime_1.jsx)(styled_1.ArrayClosingLabel,{className:"array-closing-label",children:(0,jsx_runtime_1.jsx)(styled_1.LabelValue,{children:"]"})})]})}))}exports.ArraySchema=(0,react_1.memo)(ArraySchemaComponent);
34
2
  //# sourceMappingURL=ArraySchema.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),common_1=require("../common"),Discriminator_1=require("../Discriminator"),store_1=require("../../jotai/store"),PropertyDetails_1=require("../PropertyDetails"),SubSchema_1=require("./SubSchema"),helpers_1=require("./helpers"),hooks_1=require("../../hooks");function ObjectSchemaComponent({schema:e,showTitle:r,discriminator:i,level:t,skipWriteOnly:n,skipReadOnly:a,fieldParentsName:s,expandable:o,deepLink:l,required:m,disableDeepLinks:c,oneOfLevel:p}){const{fields:u=[],title:_}=e,d=(0,hooks_1.useTranslate)(),{schemasExpansionLevel:h}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),x=a||n?u.filter((e=>!(a&&e.schema.readOnly||n&&e.schema.writeOnly))):u,j=(0,helpers_1.getExpandByDefault)({required:m,level:t,schemasExpansionLevel:h});return(0,jsx_runtime_1.jsx)(SubSchema_1.SubSchema,{expandable:o,expandByDefault:j,level:t,propertyLength:x.length,deepLink:l,operationPointer:e.operationPointer,children:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[r&&(0,jsx_runtime_1.jsx)(common_1.PropertiesTableCaption,{children:_}),x.map(((e,o)=>(0,jsx_runtime_1.jsx)(PropertyDetails_1.PropertyDetails,{isFirst:0===o,field:e,fieldParentsName:Number(t)>1?s:[],renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name&&(null==i?void 0:i.parentSchema)?()=>(0,jsx_runtime_1.jsx)(Discriminator_1.Discriminator,{parent:i.parentSchema,onChange:null==i?void 0:i.onChange,activeOneOfIdx:i.activeOneOfIdx,translate:d}):void 0,skipReadOnly:a,skipWriteOnly:n,showTitle:r,level:t,disableDeepLinks:c,oneOfLevel:p},e.name)))]})})}exports.ObjectSchema=(0,react_1.memo)(ObjectSchemaComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),common_1=require("../common"),Discriminator_1=require("../Discriminator"),store_1=require("../../jotai/store"),PropertyDetails_1=require("../PropertyDetails"),SubSchema_1=require("./SubSchema"),helpers_1=require("./helpers"),hooks_1=require("../../hooks"),styled_1=require("../common/styled");function ObjectSchemaComponent({schema:e,showTitle:r,discriminator:i,level:t,skipWriteOnly:s,skipReadOnly:a,fieldParentsName:n,expandable:l,deepLink:o,required:m,disableDeepLinks:c,shouldCloseArray:u,oneOfLevel:_}){const{fields:d=[],title:p}=e,h=(0,hooks_1.useTranslate)(),{schemasExpansionLevel:x}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),j=a||s?d.filter((e=>!(a&&e.schema.readOnly||s&&e.schema.writeOnly))):d,y=(0,helpers_1.getExpandByDefault)({required:m,level:t,schemasExpansionLevel:x});return(0,jsx_runtime_1.jsxs)(SubSchema_1.SubSchema,{expandable:l,expandByDefault:y,level:t,propertyLength:j.length,deepLink:o,operationPointer:e.operationPointer,children:[(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[r&&(0,jsx_runtime_1.jsx)(common_1.PropertiesTableCaption,{children:p}),j.map(((e,l)=>(0,jsx_runtime_1.jsx)(PropertyDetails_1.PropertyDetails,{isFirst:0===l,field:e,fieldParentsName:Number(t)>1?n:[],renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name&&(null==i?void 0:i.parentSchema)?()=>(0,jsx_runtime_1.jsx)(Discriminator_1.Discriminator,{parent:i.parentSchema,onChange:null==i?void 0:i.onChange,activeOneOfIdx:i.activeOneOfIdx,translate:h}):void 0,skipReadOnly:a,skipWriteOnly:s,showTitle:r,level:t,disableDeepLinks:c,oneOfLevel:_},e.name)))]}),u&&(0,jsx_runtime_1.jsx)(styled_1.ArrayClosingLabel,{className:"array-closing-label",children:(0,jsx_runtime_1.jsx)(styled_1.LabelValue,{children:"]"})})]})}exports.ObjectSchema=(0,react_1.memo)(ObjectSchemaComponent);
2
2
  //# sourceMappingURL=ObjectSchema.js.map
@@ -1,4 +1,5 @@
1
1
  "use strict";var __rest=this&&this.__rest||function(e,r){var t={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&r.indexOf(i)<0&&(t[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)r.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(t[i[n]]=e[i[n]])}return t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Schema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),react_router_dom_1=require("react-router-dom"),styled_components_1=__importDefault(require("styled-components")),ArraySchema_1=require("./ArraySchema"),ObjectSchema_1=require("./ObjectSchema"),OneOfSchema_1=require("./OneOfSchema"),RecursiveSchema_1=require("./RecursiveSchema"),operation_1=require("../../jotai/operation"),PropertyDetails_1=require("../PropertyDetails"),utils_1=require("../../utils");function SchemaComponent(e){var r,{schema:t,onDiscriminatorChange:i}=e,n=__rest(e,["schema","onDiscriminatorChange"]);const{activeOneOf:a}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(null==t?void 0:t.operationPointer)),o=(0,react_router_dom_1.useLocation)();if(!t)return null;const{type:s,oneOf:c,discriminatorProp:u,isCircular:m}=t;if(m)return(0,jsx_runtime_1.jsx)(RecursiveSchema_1.RecursiveSchema,{schema:t});if(void 0!==u){if(!c||!c.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${t.title}`),null;const e=c.findIndex(((e,r)=>(0,utils_1.pathIncludesLink)(o,`d=${r}`))),r=-1===e?0:e,s=c[void 0!==a[t.pointer]?a[t.pointer]:r];return(null==s?void 0:s.isCircular)?(0,jsx_runtime_1.jsx)(RecursiveSchema_1.RecursiveSchema,{schema:s}):(0,jsx_runtime_1.jsx)(ObjectSchema_1.ObjectSchema,Object.assign({},n,{schema:s,discriminator:{fieldName:u,parentSchema:t,activeOneOfIdx:r,onChange:i}}))}if(void 0!==c)return(0,jsx_runtime_1.jsx)(OneOfSchema_1.OneOfSchema,Object.assign({},n,{schema:t}));const _=Array.isArray(s)?s:[s];if(_.includes("object")){if(null===(r=t.fields)||void 0===r?void 0:r.length)return(0,jsx_runtime_1.jsx)(ObjectSchema_1.ObjectSchema,Object.assign({},n,{schema:t}))}else if(_.includes("array"))return(0,jsx_runtime_1.jsx)(ArraySchema_1.ArraySchema,Object.assign({},n,{schema:t}));const l={schema:t,name:"",description:t.description,required:!1,deprecated:!1};return(0,jsx_runtime_1.jsx)(Wrapper,{children:(0,jsx_runtime_1.jsx)(PropertyDetails_1.FieldDetails,{field:l,fieldParentsName:n.fieldParentsName})})}exports.Schema=(0,react_1.memo)(SchemaComponent);const Wrapper=styled_components_1.default.div`
2
+ width: 100%;
2
3
  padding: var(--spacing-xxs) 0;
3
4
  border-bottom: 1px solid var(--border-color-primary);
4
5
  `;
@@ -6,6 +6,7 @@ interface SubSchemaProps {
6
6
  openByDefault?: boolean;
7
7
  expandable?: boolean;
8
8
  isArray?: boolean | string;
9
+ isNestedArray?: boolean;
9
10
  propertyLength?: number | string;
10
11
  operationPointer?: string;
11
12
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SubSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),index_1=require("jotai/index"),utils_1=require("../../utils"),operation_1=require("../../jotai/operation"),helpers_1=require("./helpers"),ViewNested_1=require("../ViewNested"),hooks_1=require("../../hooks");function SubSchemaComponent({expandByDefault:e,deepLink:r,level:t,expandable:o=!1,isArray:i="",propertyLength:a="",children:n,operationPointer:u}){var s;const p=(0,hooks_1.useTranslate)(),d=(0,react_router_dom_1.useLocation)(),l=(0,utils_1.pathIncludesLink)(d,r),_=(0,helpers_1.extractTypeFromDeepLink)(r),c=(0,index_1.useAtomValue)((0,operation_1.operationStore)(u)),x=`${p("openapi.actions.show","Show")} ${1===Number(a)?"":a} ${i&&"array "}${1!==a?"properties":"property"}`;return(0,jsx_runtime_1.jsx)(ViewNested_1.ViewNested,{expandByDefault:e||l,level:t,expandable:o,expandText:x,children:n,expandedAll:null===(s=c[_])||void 0===s?void 0:s.expandedAll})}exports.SubSchema=(0,react_1.memo)(SubSchemaComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SubSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),index_1=require("jotai/index"),utils_1=require("../../utils"),operation_1=require("../../jotai/operation"),helpers_1=require("./helpers"),ViewNested_1=require("../ViewNested"),hooks_1=require("../../hooks");function SubSchemaComponent({expandByDefault:e,deepLink:r,level:t,expandable:o=!1,isNestedArray:i=!1,isArray:a="",propertyLength:n="",children:s,operationPointer:u}){var p;const d=(0,hooks_1.useTranslate)(),l=(0,react_router_dom_1.useLocation)(),_=(0,utils_1.pathIncludesLink)(l,r),c=(0,helpers_1.extractTypeFromDeepLink)(r),x=(0,index_1.useAtomValue)((0,operation_1.operationStore)(u)),m=`${d("openapi.actions.show","Show")} ${1===Number(n)?"":n} ${a&&"array "}${1!==n?"properties":"property"}`;return(0,jsx_runtime_1.jsx)(ViewNested_1.ViewNested,{expandByDefault:e||_,level:t,isNestedArray:i,expandable:o,expandText:m,children:s,expandedAll:null===(p=x[c])||void 0===p?void 0:p.expandedAll})}exports.SubSchema=(0,react_1.memo)(SubSchemaComponent);
2
2
  //# sourceMappingURL=SubSchema.js.map
@@ -11,6 +11,7 @@ export interface SchemaOptions {
11
11
  }
12
12
  export interface SchemaProps extends SchemaOptions {
13
13
  schema: SchemaModel;
14
+ parentType?: string[] | string;
14
15
  onDiscriminatorChange?: (idx: number) => void;
15
16
  fieldParentsName?: string[];
16
17
  expandable?: boolean;
@@ -18,6 +19,7 @@ export interface SchemaProps extends SchemaOptions {
18
19
  required?: boolean;
19
20
  disableDeepLinks?: boolean;
20
21
  oneOfLevel?: number;
22
+ shouldCloseArray?: boolean;
21
23
  }
22
24
  export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorChange'> {
23
25
  discriminator?: {
@@ -30,4 +32,5 @@ export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorCha
30
32
  expandable?: boolean;
31
33
  required?: boolean;
32
34
  oneOfLevel?: number;
35
+ shouldCloseArray?: boolean;
33
36
  }
@@ -7,6 +7,7 @@ interface ViewNestedProps {
7
7
  hideText?: string;
8
8
  hideDivider?: boolean;
9
9
  expandedAll?: boolean;
10
+ isNestedArray?: boolean;
10
11
  }
11
12
  export declare const ViewNested: import("react").NamedExoticComponent<PropsWithChildren<ViewNestedProps>>;
12
13
  export {};
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__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 r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ViewNested=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importStar(require("styled-components")),react_1=require("react"),theme_1=require("@redocly/theme"),cycleColorsByLevel_1=require("../PropertyDetails/cycleColorsByLevel"),PlusCircleIcon_1=require("../PropertyDetails/PlusCircleIcon");function ViewNestedComponent({expandByDefault:e,level:t,expandable:r=!1,expandText:o,hideText:n,hideDivider:i=!1,children:s,expandedAll:l}){const[c,a]=(0,react_1.useState)(null!=e&&e);(0,react_1.useEffect)((()=>{(0,theme_1.isUndefined)(l)||a(l)}),[l]);const d=c?(0,cycleColorsByLevel_1.cycleColorsByLevel)(t):void 0;if(!r)return s;return(0,jsx_runtime_1.jsxs)(Wrapper,{$divider:!i&&!c,className:"view-nested-wrapper",children:[(0,jsx_runtime_1.jsxs)(ShowProperty,{onClick:()=>{a((e=>!e))},children:[(0,jsx_runtime_1.jsx)(PlusCircleIcon_1.CircleIcon,{sign:c?"-":"+",color:d}),!c&&o,c&&(n||"")]}),c&&(0,jsx_runtime_1.jsx)(StyledNested,{color:d,children:s})]})}exports.ViewNested=(0,react_1.memo)(ViewNestedComponent);const ShowProperty=styled_components_1.default.button`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,s){void 0===s&&(s=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,s,n)}:function(e,r,t,s){void 0===s&&(s=t),e[s]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ViewNested=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importStar(require("styled-components")),react_1=require("react"),theme_1=require("@redocly/theme"),cycleColorsByLevel_1=require("../PropertyDetails/cycleColorsByLevel"),PlusCircleIcon_1=require("../PropertyDetails/PlusCircleIcon"),styled_1=require("../common/styled");function ViewNestedComponent({expandByDefault:e,level:r,expandable:t=!1,expandText:s,hideText:n,hideDivider:i=!1,children:o,expandedAll:a,isNestedArray:l}){var c;const[d,_]=(0,react_1.useState)(null!==(c=e||l)&&void 0!==c&&c);(0,react_1.useEffect)((()=>{(0,theme_1.isUndefined)(a)||_(a)}),[a]);const p=d?(0,cycleColorsByLevel_1.cycleColorsByLevel)(r):void 0;if(!t)return o;return l?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(styled_1.LabelValue,{children:"Array ["}),(0,jsx_runtime_1.jsx)(Wrapper,{$isArrayInsideArray:l,className:"view-nested-wrapper",children:(0,jsx_runtime_1.jsx)(StyledNested,{color:p,children:o})})]}):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:(0,jsx_runtime_1.jsxs)(Wrapper,{$divider:!i&&!d,className:"view-nested-wrapper",children:[(0,jsx_runtime_1.jsxs)(ShowProperty,{onClick:()=>{_((e=>!e))},children:[(0,jsx_runtime_1.jsx)(PlusCircleIcon_1.CircleIcon,{sign:d?"-":"+",color:p}),!d&&s,d&&(n||"")]}),d&&(0,jsx_runtime_1.jsx)(StyledNested,{color:p,children:o})]})})}exports.ViewNested=(0,react_1.memo)(ViewNestedComponent);const ShowProperty=styled_components_1.default.button`
2
2
  background: none;
3
3
  border: none;
4
4
  cursor: pointer;
@@ -10,7 +10,7 @@
10
10
  font-size: var(--font-size-base);
11
11
  font-family: var(--font-family-base);
12
12
  line-height: var(--line-height-base);
13
- margin-top: var(--spacing-xxs);
13
+ margin: var(--spacing-xxs) 0 var(--spacing-xs);
14
14
  width: 100%;
15
15
  `,StyledNested=styled_components_1.default.div`
16
16
  padding-left: var(--schema-nested-offset);
@@ -23,6 +23,10 @@
23
23
  `}
24
24
  `,Wrapper=styled_components_1.default.div`
25
25
  width: 100%;
26
+ ${({$isArrayInsideArray:e})=>e&&styled_components_1.css`
27
+ padding-top: var(--schema-property-details-spacing);
28
+ `}
29
+
26
30
  ${({$divider:e})=>e&&styled_components_1.css`
27
31
  border-bottom: 1px solid var(--border-color-primary);
28
32
  padding-bottom: var(--schema-property-details-spacing);
@@ -2,3 +2,6 @@ import { Tag } from '@redocly/theme';
2
2
  export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
3
3
  export declare const HttpVerb: import("styled-components").StyledComponent<typeof Tag, any, {}, never>;
4
4
  export declare const MimeLabel: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const ArrayLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
6
+ export declare const LabelValue: import("styled-components").StyledComponent<"span", any, {}, never>;
7
+ export declare const ArrayClosingLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -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.MimeLabel=exports.HttpVerb=exports.Container=void 0;const styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme");exports.Container=styled_components_1.default.div`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArrayClosingLabel=exports.LabelValue=exports.ArrayLabel=exports.MimeLabel=exports.HttpVerb=exports.Container=void 0;const styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme");exports.Container=styled_components_1.default.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  margin: var(--spacing-unit) var(--spacing-md) var(--spacing-sm);
@@ -23,5 +23,37 @@
23
23
  font-size: var(--docs-dropdown-font-size);
24
24
  border: var(--panel-samples-dropdown-border);
25
25
  border-radius: var(--border-radius-md);
26
+ `,exports.ArrayLabel=styled_components_1.default.span`
27
+ display: flex;
28
+ align-items: center;
29
+ gap: var(--spacing-xs);
30
+ margin-top: var(--spacing-xs);
31
+
32
+ :after {
33
+ content: '';
34
+ flex: auto;
35
+ border-top: 1px solid var(--border-color-primary);
36
+ }
37
+ `,exports.LabelValue=styled_components_1.default.span`
38
+ padding: 0 var(--spacing-xs);
39
+ border-radius: var(--border-radius);
40
+ border: 1px solid var(--border-color-secondary);
41
+ background-color: var(--bg-color);
42
+ font-size: var(--font-size-sm);
43
+ line-height: var(--line-height-sm);
44
+ color: var(--tag-basic-content-color);
45
+ `,exports.ArrayClosingLabel=(0,styled_components_1.default)(exports.ArrayLabel)`
46
+ margin-top: 0;
47
+ margin-left: auto;
48
+
49
+ :after {
50
+ content: none;
51
+ }
52
+
53
+ :before {
54
+ content: '';
55
+ flex: auto;
56
+ border-top: 1px solid var(--border-color-primary);
57
+ }
26
58
  `;
27
59
  //# sourceMappingURL=styled.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=void 0,exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;const theme_1=require("@redocly/theme"),utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./config-options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=(0,utils_1.tryDecodeURIComponent)(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=theme_1.IS_BROWSER?window.location.href:"";(0,theme_1.isString)(t)&&(this.definitionUrl=new URL(t,i).href)}validate(e){if((0,theme_1.isUndefined)(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,i)).length>100)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,r).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,r)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});!(0,theme_1.isUndefined)(s.properties)&&(0,theme_1.isObject)(s.properties)&&(s.properties=Object.assign({},s.properties)),!(0,theme_1.isUndefined)(s.items)&&(0,theme_1.isObject)(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:l}=this.deref(e,r,!0),f=e.$ref,a=f||JsonPointer_1.JsonPointer.join(i,[String(t)]);if(o["x-complex"])return{$ref:f,refsStack:pushRef(l,f),schema:{"x-complex":!0},absolutePointer:a};const c=this.mergeAllOf(o,f,l,a);return c["x-circular-ref"]&&c.allOf?void 0:(f&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],f)),{$ref:f,refsStack:pushRef(l,f),schema:c,absolutePointer:a})})).filter(Boolean);for(const[e,{schema:r,refsStack:i,absolutePointer:l}]of o.entries()){const o=r||{},{type:f,enum:a,properties:c,items:p,required:d,title:O,description:u,readOnly:m,writeOnly:h,oneOf:y,anyOf:b,"x-circular-ref":_,"x-complex":g}=o,x=__rest(o,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref","x-complex"]);if(s.type===f||(0,theme_1.isUndefined)(s.type)||(0,theme_1.isUndefined)(f)){if((0,theme_1.isUndefined)(f)||(Array.isArray(f)&&Array.isArray(s.type)?s.type=[...f,...s.type]:s.type=f),(0,theme_1.isUndefined)(a)||(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),!(0,theme_1.isUndefined)(c)&&(0,theme_1.isObject)(c)){s.properties=s.properties||{};for(const r in c){const o=concatRefStacks(i,null===(n=c[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!_){const i=this.mergeAllOf({allOf:[s.properties[r],c[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(l,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},c[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(l,["properties",r]),"x-refsStack":o})}}if(!(0,theme_1.isUndefined)(p)&&!_&&!g){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}(0,theme_1.isUndefined)(y)||(s.oneOf=y),(0,theme_1.isUndefined)(b)||(s.anyOf=b),Array.isArray(d)&&(s.required=[...s.required||[],...d]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||O,description:s.description||u,readOnly:(0,theme_1.isUndefined)(s.readOnly)?m:s.readOnly,writeOnly:(0,theme_1.isUndefined)(s.writeOnly)?h:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||_,"x-complex":s["x-complex"]||g}),x)}}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);!(0,theme_1.isUndefined)(n.allOf)&&n.allOf.find((t=>!(0,theme_1.isUndefined)(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if((0,theme_1.isUndefined)(e.allOf))return e;const{allOf:t}=e,r=__rest(e,["allOf"]);for(let e=0;e<t.length;e++){const i=t[e],{oneOf:n}=i,s=__rest(i,["oneOf"]);if(n&&Array.isArray(n)){const i=t.slice(0,e),o=t.slice(e+1),l=Object.keys(s).length>0?[s]:[];return Object.assign(Object.assign({},r),{oneOf:n.map((e=>({allOf:[...i,...l,e,...o]})))})}}return e}}exports.OpenAPIParser=OpenAPIParser;
1
+ "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=void 0,exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;const theme_1=require("@redocly/theme"),utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./config-options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=(0,utils_1.tryDecodeURIComponent)(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=theme_1.IS_BROWSER?window.location.href:"";(0,theme_1.isString)(t)&&(this.definitionUrl=new URL(t,i).href)}validate(e){if((0,theme_1.isUndefined)(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,i)).length>500)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,r).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,r)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});!(0,theme_1.isUndefined)(s.properties)&&(0,theme_1.isObject)(s.properties)&&(s.properties=Object.assign({},s.properties)),!(0,theme_1.isUndefined)(s.items)&&(0,theme_1.isObject)(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:l}=this.deref(e,r,!0),f=e.$ref,a=f||JsonPointer_1.JsonPointer.join(i,[String(t)]);if(o["x-complex"])return{$ref:f,refsStack:pushRef(l,f),schema:{"x-complex":!0},absolutePointer:a};const c=this.mergeAllOf(o,f,l,a);return c["x-circular-ref"]&&c.allOf?void 0:(f&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],f)),{$ref:f,refsStack:pushRef(l,f),schema:c,absolutePointer:a})})).filter(Boolean);for(const[e,{schema:r,refsStack:i,absolutePointer:l}]of o.entries()){const o=r||{},{type:f,enum:a,properties:c,items:p,required:d,title:O,description:u,readOnly:m,writeOnly:h,oneOf:y,anyOf:b,"x-circular-ref":_,"x-complex":g}=o,x=__rest(o,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref","x-complex"]);if(s.type===f||(0,theme_1.isUndefined)(s.type)||(0,theme_1.isUndefined)(f)){if((0,theme_1.isUndefined)(f)||(Array.isArray(f)&&Array.isArray(s.type)?s.type=[...f,...s.type]:s.type=f),(0,theme_1.isUndefined)(a)||(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),!(0,theme_1.isUndefined)(c)&&(0,theme_1.isObject)(c)){s.properties=s.properties||{};for(const r in c){const o=concatRefStacks(i,null===(n=c[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!_){const i=this.mergeAllOf({allOf:[s.properties[r],c[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(l,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},c[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(l,["properties",r]),"x-refsStack":o})}}if(!(0,theme_1.isUndefined)(p)&&!_&&!g){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}(0,theme_1.isUndefined)(y)||(s.oneOf=y),(0,theme_1.isUndefined)(b)||(s.anyOf=b),Array.isArray(d)&&(s.required=[...s.required||[],...d]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||O,description:s.description||u,readOnly:(0,theme_1.isUndefined)(s.readOnly)?m:s.readOnly,writeOnly:(0,theme_1.isUndefined)(s.writeOnly)?h:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||_,"x-complex":s["x-complex"]||g}),x)}}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);!(0,theme_1.isUndefined)(n.allOf)&&n.allOf.find((t=>!(0,theme_1.isUndefined)(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if((0,theme_1.isUndefined)(e.allOf))return e;const{allOf:t}=e,r=__rest(e,["allOf"]);for(let e=0;e<t.length;e++){const i=t[e],{oneOf:n}=i,s=__rest(i,["oneOf"]);if(n&&Array.isArray(n)){const i=t.slice(0,e),o=t.slice(e+1),l=Object.keys(s).length>0?[s]:[];return Object.assign(Object.assign({},r),{oneOf:n.map((e=>({allOf:[...i,...l,e,...o]})))})}}return e}}exports.OpenAPIParser=OpenAPIParser;
2
2
  //# sourceMappingURL=OpenAPIParser.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(t,a);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,s)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=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:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u,activeSecuritySchemeIds:c}){var p,d,m;const h=l.server,f=e.servers.find((e=>e.url===h))||e.servers[0],_=getSelectedSecurityScheme(e.security,c),{securityHeaders:g,securityCookies:y,securityQueries:O,securityOAuth2ExtraCalls:v,basicAuth:S}=getSecurityData(_||(null===(p=e.security)||void 0===p?void 0:p[0]),r,l),T=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),b={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},C=u;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=C.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,b,s))}})).map((e=>((null==T?void 0:T.name)&&"content-type"===e.name.toLowerCase()&&(j=!0,e.value=T.name),e))).concat(g);!j&&(null==T?void 0:T.name)&&D.unshift({name:"Content-Type",value:null==T?void 0:T.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,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=C.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(y),k=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:(0,utils_1.isArrayOfObjects)(null===(a=C.query)||void 0===a?void 0:a[i])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(r=C.query)||void 0===r?void 0:r[i]))||String((null===(s=C.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(O),q=`${null==f?void 0:f.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=C.path)||void 0===a?void 0:a[s])||n[s]||(0,utils_1.getParameterValue)(r,s),e}),{}),w=null===(m=null==T?void 0:T.examples)||void 0===m?void 0:m[t],A=(null==T?void 0:T.examples)||{},[R]=Object.values(A),M=null==T?void 0:T.name.toLowerCase(),x=(null==C?void 0:C.body)||(null==w?void 0:w.value)||(null==R?void 0:R.value)||(null==T?void 0:T.schema)&&Sampler.sample(null==T?void 0:T.schema.rawSchema,Object.assign(Object.assign({},b),{format:M===constants_1.MediaTypes.XML?"xml":"json"}),s);let N="",H=[];switch((0,utils_2.normalizeMimeType)(M)){case constants_1.MediaTypes.JSON:N=JSON.stringify(getDataRequest(x,o));break;case constants_1.MediaTypes.XML:N=x;break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:N=utils_1.queryString.stringify(getDataRequest(x,o)),H=objectToHarParams(getDataRequest(x,o));break;default:N=String(x||"")}const U=N?{mimeType:(null==T?void 0:T.name)||constants_1.MediaTypes.OCTET_STREAM,text:N,params:H}:void 0,z=e.responses.map((e=>e.code));return{method:e.httpVerb,url:q,httpVersion:"HTTP/1.1",cookies:E,headers:D,queryString:k,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:S,pathParameters:P,serverVariables:l,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:r,properties:s,options:i={},environment:n,translate:o}){try{const{skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,store:d}=i,m=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),h=new httpsnippet_1.HTTPSnippet(m);return langToSnippetConfig[e]?h.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 r,s,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);switch(u.type){case"openIdConnect":null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=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,e)):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,e)),null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=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:e.username||`<${string_utility_1.default.toSnakeCase("Username")}>`,password:e.password||`<${string_utility_1.default.toSnakeCase("Password")}>`};else{const t=(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[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}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,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(t,a);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,s)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=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:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u,activeSecuritySchemeIds:c}){var p,d,m;const h=l.server,f=e.servers.find((e=>e.url===h))||e.servers[0],_=getSelectedSecurityScheme(e.security,c),{securityHeaders:g,securityCookies:y,securityQueries:O,securityOAuth2ExtraCalls:v,basicAuth:S}=getSecurityData(_||(null===(p=e.security)||void 0===p?void 0:p[0]),r,l),T=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),b={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},C=u;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=C.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,b,s))}})).map((e=>((null==T?void 0:T.name)&&"content-type"===e.name.toLowerCase()&&(j=!0,e.value=T.name),e))).concat(g);!j&&(null==T?void 0:T.name)&&D.unshift({name:"Content-Type",value:null==T?void 0:T.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,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=C.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(y),k=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:(0,utils_1.isArrayOfObjects)(null===(a=C.query)||void 0===a?void 0:a[i])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(r=C.query)||void 0===r?void 0:r[i]))||String((null===(s=C.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(O),q=`${null==f?void 0:f.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=C.path)||void 0===a?void 0:a[s])||n[s]||(0,utils_1.getParameterValue)(r,s),e}),{}),w=null===(m=null==T?void 0:T.examples)||void 0===m?void 0:m[t],A=(null==T?void 0:T.examples)||{},[R]=Object.values(A),M=null==T?void 0:T.name.toLowerCase(),x=(null==C?void 0:C.body)||(null==w?void 0:w.value)||(null==R?void 0:R.value)||(null==T?void 0:T.schema)&&Sampler.sample(null==T?void 0:T.schema.rawSchema,Object.assign(Object.assign({},b),{format:M===constants_1.MediaTypes.XML?"xml":"json"}),s);let N="",H=[];switch((0,utils_2.normalizeMimeType)(M)){case constants_1.MediaTypes.JSON:N=JSON.stringify(getDataRequest(x,o));break;case constants_1.MediaTypes.XML:N=x;break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:N=utils_1.queryString.stringify(getDataRequest(x,o)),H=objectToHarParams(getDataRequest(x,o));break;default:N=String(x||"")}const U=N?{mimeType:(null==T?void 0:T.name)||constants_1.MediaTypes.OCTET_STREAM,text:N,params:H}:void 0,z=e.responses.map((e=>e.code));return{method:e.httpVerb,url:q,httpVersion:"HTTP/1.1",cookies:E,headers:D,queryString:k,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:S,pathParameters:P,serverVariables:l,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:r,properties:s,options:i={},environment:n,translate:o}){try{const{skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,store:d}=i,m=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),h=new httpsnippet_1.HTTPSnippet(m);return langToSnippetConfig[e]?h.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 r,s,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);switch(u.type){case"openIdConnect":null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=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,e)):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,e)),null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=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:e.username||`<${string_utility_1.default.toSnakeCase("Username")}>`,password:e.password||`<${string_utility_1.default.toSnakeCase("Password")}>`};else{const t=(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=[];if(Array.isArray(e))return e.map((e=>({name:`${t}`,value:String(e)})));for(const[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}return a}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
2
2
  //# sourceMappingURL=generator.js.map
@@ -1,7 +1,6 @@
1
1
  export * from './JsonPointer';
2
2
  export * from './openapi';
3
3
  export * from './helpers';
4
- export * from './highlight';
5
4
  export * from './dom';
6
5
  export * from './debug';
7
6
  export * from './sort';
@@ -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("./highlight"),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);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SchemaProps } from './types';
2
- export declare const ArrayClosingLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
3
2
  export declare const ArraySchema: import("react").NamedExoticComponent<SchemaProps>;
@@ -1,34 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,r){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&r.indexOf(o)<0&&(a[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var t=0;for(o=Object.getOwnPropertySymbols(e);t<o.length;t++)r.indexOf(o[t])<0&&Object.prototype.propertyIsEnumerable.call(e,o[t])&&(a[o[t]]=e[o[t]])}return a};import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{TypeName}from"../common";import{Schema}from"./Schema";import{ObjectSchema}from"./ObjectSchema";import{humanizeConstraints}from"../../utils";import{SubSchema}from"./SubSchema";import{globalOptionsAtom}from"../../jotai/store";import{getExpandByDefault}from"./helpers";function ArraySchemaComponent(e){var r,a,{schema:o,schema:{minItems:t,maxItems:l,items:n},fieldParentsName:s}=e,i=__rest(e,["schema","schema","fieldParentsName"]);const{schemasExpansionLevel:m}=useAtomValue(globalOptionsAtom),c=void 0===t&&void 0===l?"":`(${humanizeConstraints(o)})`;let p=s?[...s.slice(0,-1),s[s.length-1]+"[]"]:s;const d=useCallback((e=>i.skipReadOnly||i.skipWriteOnly?null==e?void 0:e.filter((e=>!(i.skipReadOnly&&e.schema.readOnly||i.skipWriteOnly&&e.schema.writeOnly))):e),[i.skipReadOnly,i.skipWriteOnly]);if(null==o?void 0:o.fields)return _jsx(ObjectSchema,Object.assign({},i,{level:(null==i?void 0:i.level)||1,schema:o,fieldParentsName:p}));if(o.displayType&&!n&&!c.length)return _jsx("div",{children:_jsx(TypeName,{children:o.displayType})});const y=d(null==n?void 0:n.fields),h=d(null===(a=null===(r=null==n?void 0:n.oneOf)||void 0===r?void 0:r[0])||void 0===a?void 0:a.fields),u=(null==y?void 0:y.length)||(null==h?void 0:h.length),b=1===i.level,f=getExpandByDefault({level:i.level,required:i.required,schemasExpansionLevel:m});return _jsx(SubSchema,Object.assign({},i,{propertyLength:u,isArray:!0,expandable:!b,expandByDefault:f,operationPointer:o.operationPointer,children:_jsxs(_Fragment,{children:[b&&_jsx(ArrayLabel,{children:_jsx(LabelValue,{children:"Array ["})}),_jsx(Schema,Object.assign({},i,{schema:n,fieldParentsName:p,expandable:!1})),b&&_jsx(ArrayClosingLabel,{className:"array-closing-label",children:_jsx(LabelValue,{children:"]"})})]})}))}const ArrayLabel=styled.span`
2
- display: flex;
3
- align-items: center;
4
- gap: var(--spacing-xs);
5
- margin-top: var(--spacing-xs);
6
-
7
- :after {
8
- content: '';
9
- flex: auto;
10
- border-top: 1px solid var(--border-color-primary);
11
- }
12
- `,LabelValue=styled.span`
13
- padding: 0 var(--spacing-xs);
14
- border-radius: var(--border-radius);
15
- border: 1px solid var(--border-color-secondary);
16
- background-color: var(--bg-color);
17
- font-size: var(--font-size-sm);
18
- line-height: var(--line-height-sm);
19
- color: var(--tag-basic-content-color);
20
- `;export const ArrayClosingLabel=styled(ArrayLabel)`
21
- margin-top: 0;
22
- margin-left: auto;
23
-
24
- :after {
25
- content: none;
26
- }
27
-
28
- :before {
29
- content: '';
30
- flex: auto;
31
- border-top: 1px solid var(--border-color-primary);
32
- }
33
- `;export const ArraySchema=memo(ArraySchemaComponent);
1
+ var __rest=this&&this.__rest||function(e,r){var a={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&r.indexOf(l)<0&&(a[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var t=0;for(l=Object.getOwnPropertySymbols(e);t<l.length;t++)r.indexOf(l[t])<0&&Object.prototype.propertyIsEnumerable.call(e,l[t])&&(a[l[t]]=e[l[t]])}return a};import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{TypeName}from"../common";import{Schema}from"./Schema";import{ObjectSchema}from"./ObjectSchema";import{humanizeConstraints}from"../../utils";import{SubSchema}from"./SubSchema";import{globalOptionsAtom}from"../../jotai/store";import{getExpandByDefault}from"./helpers";import{ArrayLabel,LabelValue,ArrayClosingLabel}from"../common/styled";function ArraySchemaComponent(e){var r,a,{schema:l,schema:{minItems:t,maxItems:n,items:s},fieldParentsName:o}=e,i=__rest(e,["schema","schema","fieldParentsName"]);const{schemasExpansionLevel:m}=useAtomValue(globalOptionsAtom),c=Array.isArray(i.parentType)?i.parentType:[i.parentType],p=c.includes("array")&&1===c.length,d=p?(i.level||0)+1:i.level,y=void 0===t&&void 0===n?"":`(${humanizeConstraints(l)})`;let h=o?[...o.slice(0,-1),o[o.length-1]+"[]"]:o;const u=useCallback((e=>i.skipReadOnly||i.skipWriteOnly?null==e?void 0:e.filter((e=>!(i.skipReadOnly&&e.schema.readOnly||i.skipWriteOnly&&e.schema.writeOnly))):e),[i.skipReadOnly,i.skipWriteOnly]);if(null==l?void 0:l.fields)return _jsx(ObjectSchema,Object.assign({},i,{shouldCloseArray:p,level:d,schema:l,fieldParentsName:h}));if(l.displayType&&!s&&!y.length)return _jsx("div",{children:_jsx(TypeName,{children:l.displayType})});const f=u(null==s?void 0:s.fields),b=u(null===(a=null===(r=null==s?void 0:s.oneOf)||void 0===r?void 0:r[0])||void 0===a?void 0:a.fields),v=(null==f?void 0:f.length)||(null==b?void 0:b.length),j=1===i.level,x=getExpandByDefault({level:i.level,required:i.required,schemasExpansionLevel:m});return _jsx(SubSchema,Object.assign({},i,{propertyLength:v,isNestedArray:p,level:d,isArray:!0,expandable:!j,expandByDefault:x,operationPointer:l.operationPointer,children:_jsxs(_Fragment,{children:[j&&_jsx(ArrayLabel,{children:_jsx(LabelValue,{children:"Array ["})}),_jsx(Schema,Object.assign({},i,{parentType:j?void 0:l.type,level:d,schema:s,shouldCloseArray:p,fieldParentsName:h,expandable:!1})),j&&_jsx(ArrayClosingLabel,{className:"array-closing-label",children:_jsx(LabelValue,{children:"]"})})]})}))}export const ArraySchema=memo(ArraySchemaComponent);
34
2
  //# sourceMappingURL=ArraySchema.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{useAtomValue}from"jotai";import{PropertiesTableCaption}from"../common";import{Discriminator}from"../Discriminator";import{globalOptionsAtom}from"../../jotai/store";import{PropertyDetails}from"../PropertyDetails";import{SubSchema}from"./SubSchema";import{getExpandByDefault}from"./helpers";import{useTranslate}from"../../hooks";function ObjectSchemaComponent({schema:e,showTitle:t,discriminator:r,level:i,skipWriteOnly:a,skipReadOnly:o,fieldParentsName:n,expandable:s,deepLink:m,required:l,disableDeepLinks:p,oneOfLevel:c}){const{fields:d=[],title:h}=e,f=useTranslate(),{schemasExpansionLevel:u}=useAtomValue(globalOptionsAtom),x=o||a?d.filter((e=>!(o&&e.schema.readOnly||a&&e.schema.writeOnly))):d,O=getExpandByDefault({required:l,level:i,schemasExpansionLevel:u});return _jsx(SubSchema,{expandable:s,expandByDefault:O,level:i,propertyLength:x.length,deepLink:m,operationPointer:e.operationPointer,children:_jsxs(_Fragment,{children:[t&&_jsx(PropertiesTableCaption,{children:h}),x.map(((e,s)=>_jsx(PropertyDetails,{isFirst:0===s,field:e,fieldParentsName:Number(i)>1?n:[],renderDiscriminatorSwitch:(null==r?void 0:r.fieldName)===e.name&&(null==r?void 0:r.parentSchema)?()=>_jsx(Discriminator,{parent:r.parentSchema,onChange:null==r?void 0:r.onChange,activeOneOfIdx:r.activeOneOfIdx,translate:f}):void 0,skipReadOnly:o,skipWriteOnly:a,showTitle:t,level:i,disableDeepLinks:p,oneOfLevel:c},e.name)))]})})}export const ObjectSchema=memo(ObjectSchemaComponent);
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{useAtomValue}from"jotai";import{PropertiesTableCaption}from"../common";import{Discriminator}from"../Discriminator";import{globalOptionsAtom}from"../../jotai/store";import{PropertyDetails}from"../PropertyDetails";import{SubSchema}from"./SubSchema";import{getExpandByDefault}from"./helpers";import{useTranslate}from"../../hooks";import{ArrayClosingLabel,LabelValue}from"../common/styled";function ObjectSchemaComponent({schema:e,showTitle:a,discriminator:r,level:i,skipWriteOnly:o,skipReadOnly:t,fieldParentsName:n,expandable:l,deepLink:s,required:m,disableDeepLinks:p,shouldCloseArray:c,oneOfLevel:d}){const{fields:h=[],title:f}=e,u=useTranslate(),{schemasExpansionLevel:x}=useAtomValue(globalOptionsAtom),b=t||o?h.filter((e=>!(t&&e.schema.readOnly||o&&e.schema.writeOnly))):h,y=getExpandByDefault({required:m,level:i,schemasExpansionLevel:x});return _jsxs(SubSchema,{expandable:l,expandByDefault:y,level:i,propertyLength:b.length,deepLink:s,operationPointer:e.operationPointer,children:[_jsxs(_Fragment,{children:[a&&_jsx(PropertiesTableCaption,{children:f}),b.map(((e,l)=>_jsx(PropertyDetails,{isFirst:0===l,field:e,fieldParentsName:Number(i)>1?n:[],renderDiscriminatorSwitch:(null==r?void 0:r.fieldName)===e.name&&(null==r?void 0:r.parentSchema)?()=>_jsx(Discriminator,{parent:r.parentSchema,onChange:null==r?void 0:r.onChange,activeOneOfIdx:r.activeOneOfIdx,translate:u}):void 0,skipReadOnly:t,skipWriteOnly:o,showTitle:a,level:i,disableDeepLinks:p,oneOfLevel:d},e.name)))]}),c&&_jsx(ArrayClosingLabel,{className:"array-closing-label",children:_jsx(LabelValue,{children:"]"})})]})}export const ObjectSchema=memo(ObjectSchemaComponent);
2
2
  //# sourceMappingURL=ObjectSchema.js.map
@@ -1,4 +1,5 @@
1
1
  var __rest=this&&this.__rest||function(e,r){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)r.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(t[o[i]]=e[o[i]])}return t};import{jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useAtomValue}from"jotai";import{useLocation}from"react-router-dom";import styled from"styled-components";import{ArraySchema}from"./ArraySchema";import{ObjectSchema}from"./ObjectSchema";import{OneOfSchema}from"./OneOfSchema";import{RecursiveSchema}from"./RecursiveSchema";import{operationStore}from"../../jotai/operation";import{FieldDetails}from"../PropertyDetails";import{pathIncludesLink}from"../../utils";function SchemaComponent(e){var r,{schema:t,onDiscriminatorChange:o}=e,i=__rest(e,["schema","onDiscriminatorChange"]);const{activeOneOf:n}=useAtomValue(operationStore(null==t?void 0:t.operationPointer)),a=useLocation();if(!t)return null;const{type:s,oneOf:c,discriminatorProp:m,isCircular:l}=t;if(l)return _jsx(RecursiveSchema,{schema:t});if(void 0!==m){if(!c||!c.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${t.title}`),null;const e=c.findIndex(((e,r)=>pathIncludesLink(a,`d=${r}`))),r=-1===e?0:e,s=c[void 0!==n[t.pointer]?n[t.pointer]:r];return(null==s?void 0:s.isCircular)?_jsx(RecursiveSchema,{schema:s}):_jsx(ObjectSchema,Object.assign({},i,{schema:s,discriminator:{fieldName:m,parentSchema:t,activeOneOfIdx:r,onChange:o}}))}if(void 0!==c)return _jsx(OneOfSchema,Object.assign({},i,{schema:t}));const p=Array.isArray(s)?s:[s];if(p.includes("object")){if(null===(r=t.fields)||void 0===r?void 0:r.length)return _jsx(ObjectSchema,Object.assign({},i,{schema:t}))}else if(p.includes("array"))return _jsx(ArraySchema,Object.assign({},i,{schema:t}));const d={schema:t,name:"",description:t.description,required:!1,deprecated:!1};return _jsx(Wrapper,{children:_jsx(FieldDetails,{field:d,fieldParentsName:i.fieldParentsName})})}export const Schema=memo(SchemaComponent);const Wrapper=styled.div`
2
+ width: 100%;
2
3
  padding: var(--spacing-xxs) 0;
3
4
  border-bottom: 1px solid var(--border-color-primary);
4
5
  `;
@@ -6,6 +6,7 @@ interface SubSchemaProps {
6
6
  openByDefault?: boolean;
7
7
  expandable?: boolean;
8
8
  isArray?: boolean | string;
9
+ isNestedArray?: boolean;
9
10
  propertyLength?: number | string;
10
11
  operationPointer?: string;
11
12
  }
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useLocation}from"react-router-dom";import{useAtomValue}from"jotai/index";import{pathIncludesLink}from"../../utils";import{operationStore}from"../../jotai/operation";import{extractTypeFromDeepLink}from"./helpers";import{ViewNested}from"../ViewNested";import{useTranslate}from"../../hooks";function SubSchemaComponent({expandByDefault:e,deepLink:o,level:r,expandable:t=!1,isArray:a="",propertyLength:n="",children:p,operationPointer:i}){var m;const s=useTranslate(),l=useLocation(),u=pathIncludesLink(l,o),d=extractTypeFromDeepLink(o),c=useAtomValue(operationStore(i)),x=`${s("openapi.actions.show","Show")} ${1===Number(n)?"":n} ${a&&"array "}${1!==n?"properties":"property"}`;return _jsx(ViewNested,{expandByDefault:e||u,level:r,expandable:t,expandText:x,children:p,expandedAll:null===(m=c[d])||void 0===m?void 0:m.expandedAll})}export const SubSchema=memo(SubSchemaComponent);
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useLocation}from"react-router-dom";import{useAtomValue}from"jotai/index";import{pathIncludesLink}from"../../utils";import{operationStore}from"../../jotai/operation";import{extractTypeFromDeepLink}from"./helpers";import{ViewNested}from"../ViewNested";import{useTranslate}from"../../hooks";function SubSchemaComponent({expandByDefault:e,deepLink:o,level:r,expandable:t=!1,isNestedArray:a=!1,isArray:i="",propertyLength:n="",children:p,operationPointer:m}){var s;const l=useTranslate(),d=useLocation(),u=pathIncludesLink(d,o),c=extractTypeFromDeepLink(o),x=useAtomValue(operationStore(m)),f=`${l("openapi.actions.show","Show")} ${1===Number(n)?"":n} ${i&&"array "}${1!==n?"properties":"property"}`;return _jsx(ViewNested,{expandByDefault:e||u,level:r,isNestedArray:a,expandable:t,expandText:f,children:p,expandedAll:null===(s=x[c])||void 0===s?void 0:s.expandedAll})}export const SubSchema=memo(SubSchemaComponent);
2
2
  //# sourceMappingURL=SubSchema.js.map
@@ -11,6 +11,7 @@ export interface SchemaOptions {
11
11
  }
12
12
  export interface SchemaProps extends SchemaOptions {
13
13
  schema: SchemaModel;
14
+ parentType?: string[] | string;
14
15
  onDiscriminatorChange?: (idx: number) => void;
15
16
  fieldParentsName?: string[];
16
17
  expandable?: boolean;
@@ -18,6 +19,7 @@ export interface SchemaProps extends SchemaOptions {
18
19
  required?: boolean;
19
20
  disableDeepLinks?: boolean;
20
21
  oneOfLevel?: number;
22
+ shouldCloseArray?: boolean;
21
23
  }
22
24
  export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorChange'> {
23
25
  discriminator?: {
@@ -30,4 +32,5 @@ export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorCha
30
32
  expandable?: boolean;
31
33
  required?: boolean;
32
34
  oneOfLevel?: number;
35
+ shouldCloseArray?: boolean;
33
36
  }
@@ -7,6 +7,7 @@ interface ViewNestedProps {
7
7
  hideText?: string;
8
8
  hideDivider?: boolean;
9
9
  expandedAll?: boolean;
10
+ isNestedArray?: boolean;
10
11
  }
11
12
  export declare const ViewNested: import("react").NamedExoticComponent<PropsWithChildren<ViewNestedProps>>;
12
13
  export {};
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled,{css}from"styled-components";import{memo,useEffect,useState}from"react";import{isUndefined}from"@redocly/theme";import{cycleColorsByLevel}from"../PropertyDetails/cycleColorsByLevel";import{CircleIcon}from"../PropertyDetails/PlusCircleIcon";function ViewNestedComponent({expandByDefault:e,level:r,expandable:o=!1,expandText:t,hideText:s,hideDivider:i=!1,children:n,expandedAll:l}){const[d,a]=useState(null!=e&&e);useEffect((()=>{isUndefined(l)||a(l)}),[l]);const c=d?cycleColorsByLevel(r):void 0;if(!o)return n;return _jsxs(Wrapper,{$divider:!i&&!d,className:"view-nested-wrapper",children:[_jsxs(ShowProperty,{onClick:()=>{a((e=>!e))},children:[_jsx(CircleIcon,{sign:d?"-":"+",color:c}),!d&&t,d&&(s||"")]}),d&&_jsx(StyledNested,{color:c,children:n})]})}export const ViewNested=memo(ViewNestedComponent);const ShowProperty=styled.button`
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import styled,{css}from"styled-components";import{memo,useEffect,useState}from"react";import{isUndefined}from"@redocly/theme";import{cycleColorsByLevel}from"../PropertyDetails/cycleColorsByLevel";import{CircleIcon}from"../PropertyDetails/PlusCircleIcon";import{LabelValue}from"../common/styled";function ViewNestedComponent({expandByDefault:e,level:r,expandable:s=!1,expandText:o,hideText:t,hideDivider:i=!1,children:a,expandedAll:n,isNestedArray:d}){var l;const[c,p]=useState(null!==(l=e||d)&&void 0!==l&&l);useEffect((()=>{isUndefined(n)||p(n)}),[n]);const m=c?cycleColorsByLevel(r):void 0;if(!s)return a;return d?_jsxs(_Fragment,{children:[_jsx(LabelValue,{children:"Array ["}),_jsx(Wrapper,{$isArrayInsideArray:d,className:"view-nested-wrapper",children:_jsx(StyledNested,{color:m,children:a})})]}):_jsx(_Fragment,{children:_jsxs(Wrapper,{$divider:!i&&!c,className:"view-nested-wrapper",children:[_jsxs(ShowProperty,{onClick:()=>{p((e=>!e))},children:[_jsx(CircleIcon,{sign:c?"-":"+",color:m}),!c&&o,c&&(t||"")]}),c&&_jsx(StyledNested,{color:m,children:a})]})})}export const ViewNested=memo(ViewNestedComponent);const ShowProperty=styled.button`
2
2
  background: none;
3
3
  border: none;
4
4
  cursor: pointer;
@@ -10,7 +10,7 @@ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled,{css}from
10
10
  font-size: var(--font-size-base);
11
11
  font-family: var(--font-family-base);
12
12
  line-height: var(--line-height-base);
13
- margin-top: var(--spacing-xxs);
13
+ margin: var(--spacing-xxs) 0 var(--spacing-xs);
14
14
  width: 100%;
15
15
  `,StyledNested=styled.div`
16
16
  padding-left: var(--schema-nested-offset);
@@ -23,6 +23,10 @@ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled,{css}from
23
23
  `}
24
24
  `,Wrapper=styled.div`
25
25
  width: 100%;
26
+ ${({$isArrayInsideArray:e})=>e&&css`
27
+ padding-top: var(--schema-property-details-spacing);
28
+ `}
29
+
26
30
  ${({$divider:e})=>e&&css`
27
31
  border-bottom: 1px solid var(--border-color-primary);
28
32
  padding-bottom: var(--schema-property-details-spacing);
@@ -2,3 +2,6 @@ import { Tag } from '@redocly/theme';
2
2
  export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
3
3
  export declare const HttpVerb: import("styled-components").StyledComponent<typeof Tag, any, {}, never>;
4
4
  export declare const MimeLabel: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const ArrayLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
6
+ export declare const LabelValue: import("styled-components").StyledComponent<"span", any, {}, never>;
7
+ export declare const ArrayClosingLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -23,5 +23,37 @@ import styled from"styled-components";import{Tag}from"@redocly/theme";export con
23
23
  font-size: var(--docs-dropdown-font-size);
24
24
  border: var(--panel-samples-dropdown-border);
25
25
  border-radius: var(--border-radius-md);
26
+ `;export const ArrayLabel=styled.span`
27
+ display: flex;
28
+ align-items: center;
29
+ gap: var(--spacing-xs);
30
+ margin-top: var(--spacing-xs);
31
+
32
+ :after {
33
+ content: '';
34
+ flex: auto;
35
+ border-top: 1px solid var(--border-color-primary);
36
+ }
37
+ `;export const LabelValue=styled.span`
38
+ padding: 0 var(--spacing-xs);
39
+ border-radius: var(--border-radius);
40
+ border: 1px solid var(--border-color-secondary);
41
+ background-color: var(--bg-color);
42
+ font-size: var(--font-size-sm);
43
+ line-height: var(--line-height-sm);
44
+ color: var(--tag-basic-content-color);
45
+ `;export const ArrayClosingLabel=styled(ArrayLabel)`
46
+ margin-top: 0;
47
+ margin-left: auto;
48
+
49
+ :after {
50
+ content: none;
51
+ }
52
+
53
+ :before {
54
+ content: '';
55
+ flex: auto;
56
+ border-top: 1px solid var(--border-color-primary);
57
+ }
26
58
  `;
27
59
  //# sourceMappingURL=styled.js.map
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};import{IS_BROWSER,isObject,isString,isUndefined}from"@redocly/theme";import{tryDecodeURIComponent,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./config-options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=tryDecodeURIComponent(e);try{t=JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";isString(t)&&(this.definitionUrl=new URL(t,r).href)}validate(e){if(isUndefined(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,r)).length>100)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,i).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,i)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(i&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:i,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,i,r=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});!isUndefined(s.properties)&&isObject(s.properties)&&(s.properties=Object.assign({},s.properties)),!isUndefined(s.items)&&isObject(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,i,!0),l=e.$ref,a=l||JsonPointer.join(r,[String(t)]);if(o["x-complex"])return{$ref:l,refsStack:pushRef(f,l),schema:{"x-complex":!0},absolutePointer:a};const c=this.mergeAllOf(o,l,f,a);return c["x-circular-ref"]&&c.allOf?void 0:(l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(f,l),schema:c,absolutePointer:a})})).filter(Boolean);for(const[e,{schema:i,refsStack:r,absolutePointer:f}]of o.entries()){const o=i||{},{type:l,enum:a,properties:c,items:d,required:p,title:O,description:u,readOnly:m,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":g,"x-complex":x}=o,j=__rest(o,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref","x-complex"]);if(s.type===l||isUndefined(s.type)||isUndefined(l)){if(isUndefined(l)||(Array.isArray(l)&&Array.isArray(s.type)?s.type=[...l,...s.type]:s.type=l),isUndefined(a)||(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),!isUndefined(c)&&isObject(c)){s.properties=s.properties||{};for(const i in c){const o=concatRefStacks(r,null===(n=c[i])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[i]){if(!g){const r=this.mergeAllOf({allOf:[s.properties[i],c[i]],"x-refsStack":o},t+"/properties/"+i,o,JsonPointer.join(f,["allOf",String(e),"properties",i]));s.properties[i]=r}}else s.properties[i]=Object.assign(Object.assign({},c[i]),{absolutePointer:JsonPointer.join(f,["properties",i]),"x-refsStack":o})}}if(!isUndefined(d)&&!g&&!x){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof i.items?{}:Object.assign({},i.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",r)}isUndefined(b)||(s.oneOf=b),isUndefined(h)||(s.anyOf=h),Array.isArray(p)&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||O,description:s.description||u,readOnly:isUndefined(s.readOnly)?m:s.readOnly,writeOnly:isUndefined(s.writeOnly)?y:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||g,"x-complex":s["x-complex"]||x}),j)}}return s}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:n}=this.deref(i[r]);!isUndefined(n.allOf)&&n.allOf.find((t=>!isUndefined(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[n["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(isUndefined(e.allOf))return e;const{allOf:t}=e,i=__rest(e,["allOf"]);for(let e=0;e<t.length;e++){const r=t[e],{oneOf:n}=r,s=__rest(r,["oneOf"]);if(n&&Array.isArray(n)){const r=t.slice(0,e),o=t.slice(e+1),f=Object.keys(s).length>0?[s]:[];return Object.assign(Object.assign({},i),{oneOf:n.map((e=>({allOf:[...r,...f,e,...o]})))})}}return e}}
1
+ var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};import{IS_BROWSER,isObject,isString,isUndefined}from"@redocly/theme";import{tryDecodeURIComponent,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./config-options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=tryDecodeURIComponent(e);try{t=JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";isString(t)&&(this.definitionUrl=new URL(t,r).href)}validate(e){if(isUndefined(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,r)).length>500)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,i).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,i)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(i&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:i,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,i,r=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});!isUndefined(s.properties)&&isObject(s.properties)&&(s.properties=Object.assign({},s.properties)),!isUndefined(s.items)&&isObject(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,i,!0),l=e.$ref,a=l||JsonPointer.join(r,[String(t)]);if(o["x-complex"])return{$ref:l,refsStack:pushRef(f,l),schema:{"x-complex":!0},absolutePointer:a};const c=this.mergeAllOf(o,l,f,a);return c["x-circular-ref"]&&c.allOf?void 0:(l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(f,l),schema:c,absolutePointer:a})})).filter(Boolean);for(const[e,{schema:i,refsStack:r,absolutePointer:f}]of o.entries()){const o=i||{},{type:l,enum:a,properties:c,items:d,required:p,title:O,description:u,readOnly:m,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":g,"x-complex":x}=o,j=__rest(o,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref","x-complex"]);if(s.type===l||isUndefined(s.type)||isUndefined(l)){if(isUndefined(l)||(Array.isArray(l)&&Array.isArray(s.type)?s.type=[...l,...s.type]:s.type=l),isUndefined(a)||(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),!isUndefined(c)&&isObject(c)){s.properties=s.properties||{};for(const i in c){const o=concatRefStacks(r,null===(n=c[i])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[i]){if(!g){const r=this.mergeAllOf({allOf:[s.properties[i],c[i]],"x-refsStack":o},t+"/properties/"+i,o,JsonPointer.join(f,["allOf",String(e),"properties",i]));s.properties[i]=r}}else s.properties[i]=Object.assign(Object.assign({},c[i]),{absolutePointer:JsonPointer.join(f,["properties",i]),"x-refsStack":o})}}if(!isUndefined(d)&&!g&&!x){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof i.items?{}:Object.assign({},i.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",r)}isUndefined(b)||(s.oneOf=b),isUndefined(h)||(s.anyOf=h),Array.isArray(p)&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||O,description:s.description||u,readOnly:isUndefined(s.readOnly)?m:s.readOnly,writeOnly:isUndefined(s.writeOnly)?y:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||g,"x-complex":s["x-complex"]||x}),j)}}return s}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:n}=this.deref(i[r]);!isUndefined(n.allOf)&&n.allOf.find((t=>!isUndefined(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[n["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(isUndefined(e.allOf))return e;const{allOf:t}=e,i=__rest(e,["allOf"]);for(let e=0;e<t.length;e++){const r=t[e],{oneOf:n}=r,s=__rest(r,["oneOf"]);if(n&&Array.isArray(n)){const r=t.slice(0,e),o=t.slice(e+1),f=Object.keys(s).length>0?[s]:[];return Object.assign(Object.assign({},i),{oneOf:n.map((e=>({allOf:[...r,...f,e,...o]})))})}}return e}}
2
2
  //# sourceMappingURL=OpenAPIParser.js.map