3 releases

0.1.2 Jul 29, 2020
0.1.1 Jul 2, 2020
0.1.0 Jul 2, 2020

#23 in #markdown-tables

MIT license

10KB
149 lines

tsmd

Rust

Purpose

This is a CLI that generates .md documentation for interfaces in .ts source files.

Limitations

This project does not yet support the following desirable features

  • resolve non-interface declarations into meaningful docs
  • resolve generic parameters and contraints into meaninful docs
  • allow vector of source .ts files

Installation & Guide

cargo install tsmd

Running the following command will create ./input.md and fill it with a markdown table for each interface in ./input.ts.

tsmd -s ./input.ts

When ./input.ts looks like this,

export interface Output<A extends LowLevelAsset<unknown>> {
  id: string;
  timestamp: string;
  data: Omit<A, "">;
}

export interface LowLevelAsset<D> {
  filename?: string;
  filenames?: string[];
  data: D;
}

./input.md will look like the following.

## Output

| Field | Type |
| --- | --- |
| timestamp | `string` |
| id | `string` |
| data | `Omit<A, "">` |
## LowLevelAsset

| Field | Type |
| --- | --- |
| filenames? | `string[]` |
| filename? | `string` |
| data | `D` |

Dependencies

~8.5MB
~138K SLoC