rest-chronicle
Version:
autodocumentate rest api
34 lines (33 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _constants = require("../constants");
var _Base = _interopRequireDefault(require("./Base"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class JSONReporter extends _Base.default {
_generate(groups, map) {
const injected = Object.keys(groups).map(groupName => ({
group: groupName,
titles: Object.keys(groups[groupName]).map(title => ({
name: title,
actions: groups[groupName][title].map(id => map.get(id)).map(action => ({
request: action.request,
response: action.response
}))
}))
}));
return JSON.stringify(injected, null, _constants.DEFAULT_JSON_OFFSET);
}
async write(actions) {
const {
groups,
map
} = this._build(actions);
const content = this._generate(groups, map);
await _fsExtra.default.writeFile(this.file, content);
}
}
exports.default = JSONReporter;