public visitInterface()

in src/docgen/render/markdown-render.ts [282:320]


  public visitInterface(
    iface: InterfaceSchema,
  ): MarkdownDocument {
    const md = new MarkdownDocument({
      id: this.anchorFormatter({
        id: iface.id,
        displayName: iface.displayName,
        fqn: iface.fqn,
        ...this.metadata,
      }),
      header: { title: iface.displayName },
    });

    if (iface.interfaces.length > 0) {
      const bases = [];
      for (const base of iface.interfaces) {
        bases.push(this.linkFormatter(base, this.metadata));
      }
      md.bullet(`${MarkdownDocument.italic('Extends:')} ${bases.join(', ')}`);
      md.lines('');
    }

    if (iface.implementations.length > 0) {
      const impls = [];
      for (const impl of iface.implementations) {
        impls.push(this.linkFormatter(impl, this.metadata));
      }
      md.bullet(`${MarkdownDocument.italic('Implemented By:')} ${impls.join(', ')}`);
      md.lines('');
    }

    if (iface.docs) {
      md.docs(iface.docs);
    }

    md.section(this.visitInstanceMethods(iface.instanceMethods));
    md.section(this.visitProperties(iface.properties));
    return md;
  }