В проекте мы используем синтаксис интерфейса экспорта / импорта, например:
export interface Interfacename {
}
Из-за ошибки «нет принтера для ExportDeclaration» из-за создания документации, мне нужно написать ExportDeclaration.
У меня есть InterfaceDeclaration, написанное кем-то другим. Вот оно:
const ts = require('typescript');
module.exports = ((node: TSTypings.InterfaceDeclaration,
tokens: x.artifacts.astDocs.ITokens,
rootPath: string): string => {
const type = <string>node.name.escapedText;
const properties = node.members.filter((member: TSTypings.TypeElement) =>
[ts.SyntaxKind.PropertySignature, ts.SyntaxKind.PropertyDeclaration].indexOf(member.kind) !== -1)
.sort(sortProps);
const methods = node.members.filter((member: TSTypings.TypeElement) =>
[ts.SyntaxKind.MethodSignature, ts.SyntaxKind.MethodDeclaration].indexOf(member.kind) !== -1)
.sort(sortProps);
const signature = node.members
.filter((member: TSTypings.TypeElement) => [ts.SyntaxKind.IndexSignature].indexOf(member.kind) !== -1)
.sort(sortProps);
const template = signature.length ? TEMPLATE_INTERFACE_SIGNATURE : TEMPLATE_INTERFACE;
logInfo('%s \x1b[33mPRINTER ClassDeclaration %d %s %s\x1b[0m', SPEEDY, node.kind, type, rootPath);
return print(template, {
type,
parent_type_path: rootPath.length > 1 ? `module:${rootPath}` : '',
description: tokens.types[type].desc,
properties: plot(properties, tokens, rootPath).join('\r'),
additionals: extractAdditionals(node),
methods: plot(methods, tokens, rootPath).join('\r'),
ismemberof: rootPath.split('.')[0] ? '@memberOf' : '',
signature: signature.length
? plotType(signature, tokens).map(plotPrintableArray.bind(this, tokens)).join(' | ')
: ''
});
Я бы хотел взять образец из этой декларации выше, но я не знаю, какой персонал должен быть напечатан в конце. Каковы эти свойства и как получить хороший для моей проблемы?