@scalar/api-reference
Version:
Generate beautiful API references from OpenAPI documents
41 lines (40 loc) • 1.59 kB
JavaScript
import { defineComponent as v, computed as p, createElementBlock as t, createCommentVNode as l, openBlock as n, createElementVNode as f, unref as i, Fragment as u, createTextVNode as r, toDisplayString as o } from "vue";
import { isArraySchema as m } from "@scalar/workspace-store/schemas/v3.1/strict/type-guards";
import { isTypeObject as y } from "./helpers/is-type-object.js";
const c = {
key: 0,
class: "schema-type"
}, d = ["title"], b = /* @__PURE__ */ v({
__name: "SchemaHeading",
props: {
value: {},
name: {}
},
setup(a) {
const s = p(() => "type" in a.value ? a.value.type : a.value.enum ? "enum" : m(a.value) && a.value.items ? "array" : y(a.value) && (a.value.properties || a.value.additionalProperties) ? "object" : "unknown");
return (e, k) => typeof e.value == "object" ? (n(), t("span", c, [
f("span", {
class: "schema-type-icon",
title: "type" in e.value && typeof e.value.type == "string" ? e.value.type : "type" in e.value && Array.isArray(e.value.type) ? e.value.type.join(" | ") : "unknown type"
}, [
i(y)(e.value) ? (n(), t(u, { key: 0 }, [
r(" {} ")
], 64)) : l("", !0),
i(m)(e.value) ? (n(), t(u, { key: 1 }, [
r(" [] ")
], 64)) : l("", !0),
e.value.enum ? (n(), t(u, { key: 2 }, [
r(" enum ")
], 64)) : l("", !0)
], 8, d),
e.name ? (n(), t(u, { key: 0 }, [
r(o(e.name), 1)
], 64)) : (n(), t(u, { key: 1 }, [
r(o(s.value), 1)
], 64))
])) : l("", !0);
}
});
export {
b as default
};