1 | #!/usr/bin/env node
|
2 |
|
3 | const fs = require("fs");
|
4 | const path = require("path");
|
5 |
|
6 | function getFiles(base) {
|
7 | const directory = fs.readdirSync(base, { withFileTypes: true });
|
8 | const files = directory.map((dir) => {
|
9 | const res = path.resolve(base, dir.name);
|
10 | return dir.isDirectory() ? getFiles(res) : res;
|
11 | });
|
12 | return Array.prototype.concat(...files).filter((file) => file.indexOf(".ts") > 0);
|
13 | }
|
14 |
|
15 | const tests = getFiles("./test/programs");
|
16 |
|
17 | let source = "# typescript-json-schema test examples\n\n";
|
18 | tests.forEach((file) => {
|
19 | const contents = fs.readFileSync(file, "utf8");
|
20 | const folder = file.split("/").slice(-2)[0];
|
21 | source += `## [${folder}](./test/programs/${folder})\n\n\`\`\`ts\n${contents}\`\`\`\n\n\n`;
|
22 | });
|
23 |
|
24 | fs.writeFileSync("./api.md", source);
|