UNPKG

plugify-plugins-types-generator

Version:

tool to generate d.ts for plugify plugins by pplugin file (ESM)

22 lines (19 loc) 940 B
import { plugifyNameConvert, plugifyTypeConvert } from "../plugify/parser.js" import { PlugifyType, Prototype } from "../types/plugify.js" export const plugifyCallbacksGenerator = (map: Map<string, Prototype>, docsViewer: string, docsToItemURL: string) => { 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 as PlugifyType)}`) .join(', ')}): ${method.retType.enum?.name || plugifyTypeConvert(method.retType.type as PlugifyType)};` ) .join('\n') }