plugify-plugins-types-generator
Version:
tool to generate d.ts for plugify plugins by pplugin file (ESM)
17 lines (15 loc) • 769 B
JavaScript
import { plugifyNameConvert, plugifyTypeConvert } from "../plugify/parser.js";
export const plugifyCallbacksGenerator = (map, docsViewer, docsToItemURL) => {
return [...map.values()].map((method) => `
/**
* @description ${method.description}
*
* {@link ${docsViewer}${docsToItemURL}#item-${method.name}|Docs}
*
* ${method.paramTypes.map(param => `@param ${param.name} ${param.description}`).join(`\n * `)}
*/
function ${method.name}(${method.paramTypes
.map((param) => `${plugifyNameConvert(param.name)}: ${param.enum?.name || plugifyTypeConvert(param.type)}`)
.join(', ')}): ${method.retType.enum?.name || plugifyTypeConvert(method.retType.type)};`)
.join('\n');
};