docs/src/templates/Typedoc/utils.js

45 lines
1.1 KiB
JavaScript

export const cleanTypedocData = (data, useClasses) => {
const nodes = data.children
const cleanData = nodes
.map((node) => {
const child =
node.children &&
node.children.filter(({ kindString }) => kindString === 'Class')[0]
return {
...node,
name: node.name.replace(/"/g, '').replace('src/', ''),
child
}
})
.filter(({ name }) => (useClasses || []).includes(name))
.sort((a, b) => useClasses.indexOf(a.name) - useClasses.indexOf(b.name))
.map(({ child }) => child)
.map((node) => ({
...node,
children:
node && node.children && node.children.sort((a, b) => a.id - b.id)
}))
return cleanData
}
// more kinds: 'Property', 'Enumeration'
const showKindOfProperty = {
Method: { onlyPublic: true },
Property: { onlyPublic: true }
}
export const filterByKindOfProperty = ({ kindString, flags }) => {
const config = showKindOfProperty[kindString]
if (!config) return
// filter out static methods by default
if (flags.isStatic) return
if (config.onlyPublic && !flags.isPublic) return
return true
}