UNPKG

@scalar/api-reference

Version:

Generate beautiful API references from OpenAPI documents

213 lines (212 loc) 7.37 kB
import SectionContainer_default from "../../Section/SectionContainer.vue.js"; import Model_default from "../Models/Model.vue.js"; import ModelTag_default from "../Models/ModelTag.vue.js"; import Tag_default from "../Tags/Tag.vue.js"; import Lazy_default from "../../Lazy/Lazy.vue.js"; import Operation_default from "../../../features/Operation/Operation.vue.js"; import { Fragment, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, renderList, resolveComponent, unref, withCtx } from "vue"; import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref"; //#region src/components/Content/Operations/TraversedEntry.vue?vue&type=script&setup=true&lang.ts var TraversedEntry_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ __name: "TraversedEntry", props: { authStore: {}, level: { default: 0 }, entries: {}, document: {}, clientOptions: {}, options: {}, selectedServer: {}, securitySchemes: {}, selectedClient: {}, expandedItems: {}, eventBus: {} }, setup(__props) { /** * Type guards for different entry types */ const isTagGroup = (entry) => entry["type"] === "tag" && entry.isGroup === true; const isTag = (entry) => entry["type"] === "tag" && !isTagGroup(entry) && entry.id !== "models"; const isOperation = (entry) => entry["type"] === "operation"; const isWebhook = (entry) => entry["type"] === "webhook"; /** Models are special form of tag entry */ const isModelsTag = (entry) => entry["type"] === "models"; const isModel = (entry) => entry["type"] === "model"; function getPathValue(entry) { return isWebhook(entry) ? __props.document.webhooks?.[entry.name] : __props.document.paths?.[entry.path]; } return (_ctx, _cache) => { const _component_TraversedEntry = resolveComponent("TraversedEntry", true); return openBlock(true), createElementBlock(Fragment, null, renderList(__props.entries, (entry) => { return openBlock(), createBlock(Lazy_default, { id: entry.id, key: `${entry.id}-${__props.options.layout}`, expanded: !!__props.expandedItems[entry.id] }, { default: withCtx(() => [isOperation(entry) || isWebhook(entry) ? (openBlock(), createBlock(unref(SectionContainer_default), { key: 0, omit: __props.level !== 0 }, { default: withCtx(() => [createVNode(unref(Operation_default), { id: entry.id, authStore: __props.authStore, clientOptions: __props.clientOptions, document: __props.document, eventBus: __props.eventBus, isCollapsed: !__props.expandedItems[entry.id], isWebhook: isWebhook(entry), method: entry.method, options: __props.options, path: isWebhook(entry) ? entry.name : entry.path, pathValue: getPathValue(entry), securitySchemes: __props.securitySchemes, selectedClient: __props.selectedClient, server: __props.selectedServer }, null, 8, [ "id", "authStore", "clientOptions", "document", "eventBus", "isCollapsed", "isWebhook", "method", "options", "path", "pathValue", "securitySchemes", "selectedClient", "server" ])]), _: 2 }, 1032, ["omit"])) : isTag(entry) || isTagGroup(entry) && __props.options.layout === "classic" ? (openBlock(), createBlock(unref(Tag_default), { key: 1, eventBus: __props.eventBus, isCollapsed: !__props.expandedItems[entry.id], isLoading: false, layout: __props.options.layout, moreThanOneTag: __props.entries.filter(isTag).length > 1, tag: entry }, { default: withCtx(() => ["children" in entry && entry.children?.length ? (openBlock(), createBlock(_component_TraversedEntry, { key: 0, authStore: __props.authStore, clientOptions: __props.clientOptions, document: __props.document, entries: entry.children, eventBus: __props.eventBus, expandedItems: __props.expandedItems, level: __props.level + 1, options: __props.options, securitySchemes: __props.securitySchemes, selectedClient: __props.selectedClient, selectedServer: __props.selectedServer }, null, 8, [ "authStore", "clientOptions", "document", "entries", "eventBus", "expandedItems", "level", "options", "securitySchemes", "selectedClient", "selectedServer" ])) : createCommentVNode("", true)]), _: 2 }, 1032, [ "eventBus", "isCollapsed", "layout", "moreThanOneTag", "tag" ])) : isTagGroup(entry) ? (openBlock(), createBlock(_component_TraversedEntry, { key: 2, authStore: __props.authStore, clientOptions: __props.clientOptions, document: __props.document, entries: entry.children || [], eventBus: __props.eventBus, expandedItems: __props.expandedItems, level: __props.level + 1, options: __props.options, securitySchemes: __props.securitySchemes, selectedClient: __props.selectedClient, selectedServer: __props.selectedServer }, null, 8, [ "authStore", "clientOptions", "document", "entries", "eventBus", "expandedItems", "level", "options", "securitySchemes", "selectedClient", "selectedServer" ])) : isModelsTag(entry) && __props.document.components?.schemas ? (openBlock(), createBlock(ModelTag_default, { key: 3, id: entry.id, eventBus: __props.eventBus, isCollapsed: !__props.expandedItems[entry.id], layout: __props.options.layout }, { default: withCtx(() => [createVNode(_component_TraversedEntry, { authStore: __props.authStore, clientOptions: __props.clientOptions, document: __props.document, entries: entry.children || [], eventBus: __props.eventBus, expandedItems: __props.expandedItems, level: __props.level + 1, options: __props.options, securitySchemes: __props.securitySchemes, selectedClient: __props.selectedClient, selectedServer: __props.selectedServer }, null, 8, [ "authStore", "clientOptions", "document", "entries", "eventBus", "expandedItems", "level", "options", "securitySchemes", "selectedClient", "selectedServer" ])]), _: 2 }, 1032, [ "id", "eventBus", "isCollapsed", "layout" ])) : isModel(entry) && __props.document.components?.schemas?.[entry.name] ? (openBlock(), createBlock(Model_default, { key: 4, id: entry.id, eventBus: __props.eventBus, isCollapsed: !__props.expandedItems[entry.id], name: entry.name, options: __props.options, schema: unref(getResolvedRef)(__props.document.components.schemas[entry.name]) }, null, 8, [ "id", "eventBus", "isCollapsed", "name", "options", "schema" ])) : createCommentVNode("", true)]), _: 2 }, 1032, ["id", "expanded"]); }), 128); }; } }); //#endregion export { TraversedEntry_vue_vue_type_script_setup_true_lang_default as default }; //# sourceMappingURL=TraversedEntry.vue.script.js.map