UNPKG

docusaurus-plugin-typedoc-api

Version:

Docusaurus plugin that provides source code API documentation powered by TypeDoc.

72 lines (68 loc) 3.01 kB
'use strict'; const react = require('react'); const useReflection = require('../hooks/useReflection.js'); const useReflectionMap = require('../hooks/useReflectionMap.js'); const helpers = require('../utils/helpers.js'); const visibility = require('../utils/visibility.js'); const AnchorLink = require('./AnchorLink.js'); const ApiItem = require('./ApiItem.js'); const CommentBadges = require('./CommentBadges.js'); const Flags = require('./Flags.js'); const MemberDeclaration = require('./MemberDeclaration.js'); const MemberGetterSetter = require('./MemberGetterSetter.js'); const MemberReference = require('./MemberReference.js'); const MemberSignatures = require('./MemberSignatures.js'); const SourceLink = require('./SourceLink.js'); const jsxRuntime = require('react/jsx-runtime'); // https://github.com/TypeStrong/typedoc-default-themes/blob/master/src/default/partials/members.hbs function Member({ id }) { const reflections = useReflectionMap.useReflectionMap(); const reflection = useReflection.useRequiredReflection(id); const comment = reflection.comment; let content = null; const apiOptions = react.useContext(ApiItem.ApiOptionsContext); const shouldHideInherited = reflection.inheritedFrom ? apiOptions.hideInherited : false; if (reflection.signatures) { content = /*#__PURE__*/jsxRuntime.jsx(MemberSignatures.MemberSignatures, { inPanel: true, sigs: reflection.signatures }); } else if (reflection.getSignature || reflection.setSignature) { content = /*#__PURE__*/jsxRuntime.jsx(MemberGetterSetter.MemberGetterSetter, { inPanel: true, getter: reflection.getSignature, setter: reflection.setSignature }); } else if ('target' in reflection && reflection.target) { content = /*#__PURE__*/jsxRuntime.jsx(MemberReference.MemberReference, { reflection: reflection }); } else { content = /*#__PURE__*/jsxRuntime.jsx(MemberDeclaration.MemberDeclaration, { id: id }); } return !shouldHideInherited && /*#__PURE__*/jsxRuntime.jsxs("section", { className: "tsd-panel tsd-member", children: [/*#__PURE__*/jsxRuntime.jsxs("h3", { className: "tsd-panel-header", children: [/*#__PURE__*/jsxRuntime.jsx(AnchorLink.AnchorLink, { id: reflection.name }), /*#__PURE__*/jsxRuntime.jsx(SourceLink.SourceLink, { sources: reflection.sources }), /*#__PURE__*/jsxRuntime.jsx(Flags.Flags, { flags: reflection.flags }), helpers.escapeMdx(reflection.name), CommentBadges.isCommentWithModifiers(comment) && /*#__PURE__*/jsxRuntime.jsx(CommentBadges.CommentBadges, { comment: comment })] }), content, reflection.groups?.map(group => /*#__PURE__*/jsxRuntime.jsx(react.Fragment, { children: group.children?.map(child => visibility.hasOwnDocument(child, reflections) ? null : /*#__PURE__*/jsxRuntime.jsx(Member, { id: child }, child)) }, group.title))] }); } exports.Member = Member; //# sourceMappingURL=Member.js.map