/
documentation.ts
48 lines (43 loc) · 1.17 KB
/
documentation.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { api, Initializer } from "../index";
export interface DocumentationApi {
documentation: {
[key: string]: any;
};
build: Function;
}
/**
* Documentation of Actions.
*/
export class Documentation extends Initializer {
constructor() {
super();
this.name = "documentation";
this.loadPriority = 999;
}
async initialize() {
api.documentation = {
documentation: {},
build: () => {
let action;
for (const i in api.actions.actions) {
for (const j in api.actions.actions[i]) {
action = api.actions.actions[i][j];
if (action.toDocument !== false) {
if (!api.documentation.documentation[action.name]) {
api.documentation.documentation[action.name] = {};
}
api.documentation.documentation[action.name][action.version] = {
name: action.name,
version: action.version,
description: action.description,
inputs: action.inputs,
outputExample: action.outputExample
};
}
}
}
}
};
api.documentation.build();
}
}