swagger-to-mock
Version:
mock data generator from Swagger (OpenAPI 3)
31 lines • 2.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require("fs");
var path_1 = require("path");
// Extract schema name
exports.getSchemaName = function (ref) {
var re = /#\/components\/schemas\/(.*)/;
var matches = ref.match(re);
var found = matches;
if (found) {
return found[1];
}
return null;
};
// Replace `{}, /` charactors with `_`
exports.normalizePath = function (path) {
var replaced = path.replace(/^\/|{|}/g, "");
return replaced.replace(/\//g, "_");
};
// Write each response to JSON files.
exports.writeFiles = function (data, outputPath, log) {
Object.keys(data).forEach(function (key) {
var val = data[key];
var fileName = key + ".json";
var path = path_1.join(outputPath, fileName);
log(fileName);
var formatted = JSON.stringify(val, null, 2);
fs.writeFileSync(path, formatted);
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUJBQXlCO0FBQ3pCLDZCQUE0QjtBQUU1QixzQkFBc0I7QUFDVCxRQUFBLGFBQWEsR0FBRyxVQUFDLEdBQVc7SUFDdkMsSUFBTSxFQUFFLEdBQUcsOEJBQThCLENBQUM7SUFDMUMsSUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixJQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDdEIsSUFBSSxLQUFLLEVBQUU7UUFDVCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsc0NBQXNDO0FBQ3pCLFFBQUEsYUFBYSxHQUFHLFVBQUMsSUFBWTtJQUN4QyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5QyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQztBQUVGLHFDQUFxQztBQUN4QixRQUFBLFVBQVUsR0FBRyxVQUN4QixJQUE2QixFQUM3QixVQUFrQixFQUNsQixHQUEyQjtJQUUzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUc7UUFDM0IsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQU0sUUFBUSxHQUFNLEdBQUcsVUFBTyxDQUFDO1FBQy9CLElBQU0sSUFBSSxHQUFHLFdBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2QsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=