swagger-to-mock
Version:
mock data generator from Swagger (OpenAPI 3)
74 lines • 4.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var DataType;
(function (DataType) {
DataType["string"] = "string";
DataType["number"] = "number";
DataType["integer"] = "integer";
DataType["boolean"] = "boolean";
DataType["array"] = "array";
DataType["object"] = "object";
})(DataType = exports.DataType || (exports.DataType = {}));
(function (DataType) {
function defaultValue(schema) {
if (schema.example) {
return schema.example;
}
switch (schema.type) {
case DataType.string:
return getStringDefaultValue(schema);
case DataType.number:
case DataType.integer:
return 0;
case DataType.boolean:
return true;
case DataType.array:
return [];
case DataType.object:
return {};
default:
return {};
}
}
DataType.defaultValue = defaultValue;
function getStringDefaultValue(schema) {
if (schema.format) {
switch (schema.format) {
case "date":
return "2017-07-21";
case "date-time":
return "2017-07-21T17:32:28Z";
case "password":
return "password";
case "byte":
return "U3dhZ2dlciByb2Nrcw==";
case "binary":
return "binary";
default:
return "";
}
}
// TODO: pattern support
return "";
}
DataType.getStringDefaultValue = getStringDefaultValue;
})(DataType = exports.DataType || (exports.DataType = {}));
exports.isArray = function (property) {
return property.type === DataType.array;
};
exports.isObject = function (schema) {
return schema.type === DataType.object || schema.properties !== undefined;
};
exports.isAllOf = function (schema) {
return schema.allOf !== undefined;
};
exports.isOneOf = function (schema) {
return schema.oneOf !== undefined;
};
exports.isAnyOf = function (schema) {
return schema.anyOf !== undefined;
};
exports.isReferenceObject = function (schema) {
return "$ref" in schema;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YVR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDbEIsNkJBQWlCLENBQUE7SUFDakIsNkJBQWlCLENBQUE7SUFDakIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsMkJBQWUsQ0FBQTtJQUNmLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyxRQUFRLEdBQVIsZ0JBQVEsS0FBUixnQkFBUSxRQU9uQjtBQUVELFdBQWlCLFFBQVE7SUFDdkIsc0JBQTZCLE1BQW9CO1FBQy9DLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNsQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDdkI7UUFDRCxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsS0FBSyxRQUFRLENBQUMsTUFBTTtnQkFDbEIsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxLQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsS0FBSyxRQUFRLENBQUMsT0FBTztnQkFDbkIsT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNuQixPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssUUFBUSxDQUFDLEtBQUs7Z0JBQ2pCLE9BQU8sRUFBRSxDQUFDO1lBQ1osS0FBSyxRQUFRLENBQUMsTUFBTTtnQkFDbEIsT0FBTyxFQUFFLENBQUM7WUFDWjtnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQW5CZSxxQkFBWSxlQW1CM0IsQ0FBQTtJQUVELCtCQUFzQyxNQUFvQjtRQUN4RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsUUFBUSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNyQixLQUFLLE1BQU07b0JBQ1QsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLEtBQUssV0FBVztvQkFDZCxPQUFPLHNCQUFzQixDQUFDO2dCQUNoQyxLQUFLLFVBQVU7b0JBQ2IsT0FBTyxVQUFVLENBQUM7Z0JBQ3BCLEtBQUssTUFBTTtvQkFDVCxPQUFPLHNCQUFzQixDQUFDO2dCQUNoQyxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxRQUFRLENBQUM7Z0JBQ2xCO29CQUNFLE9BQU8sRUFBRSxDQUFDO2FBQ2I7U0FDRjtRQUNELHdCQUF3QjtRQUN4QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFuQmUsOEJBQXFCLHdCQW1CcEMsQ0FBQTtBQUNILENBQUMsRUExQ2dCLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBMEN4QjtBQUVZLFFBQUEsT0FBTyxHQUFHLFVBQ3JCLFFBQXNCO0lBRXRCLE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDO0FBQzFDLENBQUMsQ0FBQztBQUVXLFFBQUEsUUFBUSxHQUFHLFVBQ3RCLE1BQW9CO0lBRXBCLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDO0FBQzVFLENBQUMsQ0FBQztBQUVXLFFBQUEsT0FBTyxHQUFHLFVBQ3JCLE1BQW9CO0lBRXBCLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRVcsUUFBQSxPQUFPLEdBQUcsVUFDckIsTUFBb0I7SUFFcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFVyxRQUFBLE9BQU8sR0FBRyxVQUNyQixNQUFvQjtJQUVwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVXLFFBQUEsaUJBQWlCLEdBQUcsVUFDL0IsTUFBc0M7SUFFdEMsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDO0FBQzFCLENBQUMsQ0FBQyJ9