swagger-to-mock
Version:
mock data generator from Swagger (OpenAPI 3)
47 lines • 3.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var response_1 = require("./response");
var util_1 = require("./util");
var parse_1 = require("./parse");
var dataType_1 = require("./dataType");
// Compose mock data
exports.composeMockData = function (responses, schemas) {
var ret = {};
Object.keys(responses).forEach(function (path) {
var res = responses[path];
var pathKey = util_1.normalizePath(path);
if (res) {
var val = res[response_1.APPLICATION_JSON];
if ("example" in val) {
ret[pathKey] = val.example;
}
else if ("examples" in val) {
ret[pathKey] = val.examples;
}
else if ("schema" in val) {
var schema = val.schema;
var ref = schema[parse_1.REF];
if (ref) {
var schemaName = util_1.getSchemaName(ref);
if (schemaName) {
var values = schemas[schemaName];
ret[pathKey] = values;
}
}
else {
if (dataType_1.isObject(schema)) {
ret[pathKey] = parse_1.parseObject(schema, schemas);
}
else if (dataType_1.isArray(schema)) {
ret[pathKey] = parse_1.parseArray(schema, schemas);
}
else {
ret[pathKey] = val.schema.properties;
}
}
}
}
});
return ret;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb3NlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQTZEO0FBRTdELCtCQUFzRDtBQUN0RCxpQ0FBdUQ7QUFDdkQsdUNBQStDO0FBTS9DLG9CQUFvQjtBQUNQLFFBQUEsZUFBZSxHQUFHLFVBQzdCLFNBQXdCLEVBQ3hCLE9BQWdCO0lBRWhCLElBQUksR0FBRyxHQUFRLEVBQUUsQ0FBQztJQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLElBQUk7UUFDakMsSUFBTSxHQUFHLEdBQVEsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQU0sT0FBTyxHQUFHLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsMkJBQWdCLENBQUMsQ0FBQztZQUNsQyxJQUFJLFNBQVMsSUFBSSxHQUFHLEVBQUU7Z0JBQ3BCLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO2FBQzVCO2lCQUFNLElBQUksVUFBVSxJQUFJLEdBQUcsRUFBRTtnQkFDNUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7YUFDN0I7aUJBQU0sSUFBSSxRQUFRLElBQUksR0FBRyxFQUFFO2dCQUNsQixJQUFBLG1CQUFNLENBQVM7Z0JBQ3ZCLElBQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFHLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsSUFBTSxVQUFVLEdBQUcsb0JBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdEMsSUFBSSxVQUFVLEVBQUU7d0JBQ2QsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNuQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO3FCQUN2QjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLG1CQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQ3BCLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxtQkFBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDN0M7eUJBQU0sSUFBSSxrQkFBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO3dCQUMxQixHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsa0JBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7cUJBQzVDO3lCQUFNO3dCQUNMLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztxQkFDdEM7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyJ9