docusaurus-plugin-typedoc-api
Version:
Docusaurus plugin that provides source code API documentation powered by TypeDoc.
63 lines (59 loc) • 2.49 kB
JavaScript
'use strict';
const react = require('react');
const helpers = require('../utils/helpers.js');
const Type = require('./Type.js');
const TypeParametersGeneric = require('./TypeParametersGeneric.js');
const jsxRuntime = require('react/jsx-runtime');
/* eslint-disable no-nested-ternary */
// https://github.com/TypeStrong/typedoc-default-themes/blob/master/src/default/partials/member.signature.title.hbs
function MemberSignatureTitle({
useArrow,
hideName,
sig
}) {
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
children: [!hideName && sig.name !== '__type' ? helpers.escapeMdx(sig.name) :
// Constructor signature
sig.kind === 16_384 ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
children: [sig.flags?.isAbstract && /*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: "abstract "
}), /*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: "new "
})]
}) : null, /*#__PURE__*/jsxRuntime.jsx(TypeParametersGeneric.TypeParametersGeneric, {
params: sig.typeParameter
}), /*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: "("
}), sig.parameters?.map((param, index) => /*#__PURE__*/jsxRuntime.jsxs(react.Fragment, {
children: [index > 0 && /*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: ", "
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
children: [param.flags?.isRest && /*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: "..."
}), param.name, /*#__PURE__*/jsxRuntime.jsxs("span", {
className: "tsd-signature-symbol",
children: [(param.flags?.isOptional || 'defaultValue' in param) && '?', ': ']
}), /*#__PURE__*/jsxRuntime.jsx(Type.Type, {
type: param.type
})]
})]
}, param.id)), /*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: ")"
}), sig.type && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
className: "tsd-signature-symbol",
children: useArrow ? ' => ' : ': '
}), /*#__PURE__*/jsxRuntime.jsx(Type.Type, {
type: sig.type
})]
})]
});
}
exports.MemberSignatureTitle = MemberSignatureTitle;
//# sourceMappingURL=MemberSignatureTitle.js.map