public visitParameter()

in src/docgen/render/markdown-render.ts [541:589]


  public visitParameter(
    parameter: ParameterSchema,
  ): MarkdownDocument {
    const optionality = parameter.optional ? 'Optional' : 'Required';

    const md = new MarkdownDocument({
      id: this.anchorFormatter({
        id: parameter.id,
        displayName: parameter.displayName,
        fqn: parameter.fqn,
        ...this.metadata,
      }),
      header: {
        title: parameter.displayName,
        sup: optionality,
        pre: true,
        strike: parameter.docs.deprecated,
      },
    });

    if (parameter.docs.deprecated) {
      md.bullet(
        `${MarkdownDocument.italic('Deprecated:')} ${parameter.docs.deprecationReason}`,
      );
      md.lines('');
    }


    const metadata: any = {
      Type: this.typeFormatter(parameter.type, this.metadata, this.linkFormatter),
    };

    if (parameter.default) {
      metadata.Default = MarkdownDocument.sanitize(parameter.default);
    }

    for (const [key, value] of Object.entries(metadata)) {
      md.bullet(`${MarkdownDocument.italic(`${key}:`)} ${value}`);
    }
    md.lines('');

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

    md.split();

    return md;
  }