openapi-ts-mock-generator
Version:
typescript mock data generator based openapi
161 lines • 5.59 kB
JavaScript
;
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function(key) {
_define_property(target, key, source[key]);
});
}
return target;
}
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = function(target, all) {
for(var name in all)__defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = function(to, from, except, desc) {
if (from && typeof from === "object" || typeof from === "function") {
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
try {
var _loop = function() {
var key = _step.value;
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: function() {
return from[key];
},
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
};
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally{
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally{
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return to;
};
var __toCommonJS = function(mod) {
return __copyProps(__defProp({}, "__esModule", {
value: true
}), mod);
};
// src/core/options.ts
var options_exports = {};
__export(options_exports, {
mergeOptions: function() {
return mergeOptions;
},
transformCliOptions: function() {
return transformCliOptions;
},
validateOptions: function() {
return validateOptions;
}
});
module.exports = __toCommonJS(options_exports);
// src/core/config.ts
var import_faker = require("@faker-js/faker");
var defaultOptions = {
path: "",
arrayMinLength: 1,
arrayMaxLength: 3,
includeCodes: void 0,
baseDir: "./",
specialPath: void 0,
handlerUrl: "*",
fakerLocale: "ko",
generateTarget: "api,schema",
clear: false,
// TypeScriptCodeOptions
isStatic: false,
isOptional: false
};
var FAKER_SEED = 1;
var faker = new import_faker.Faker({
locale: [
import_faker.ko
]
});
faker.seed(FAKER_SEED);
// src/core/options.ts
var mergeOptions = function(userOptions) {
return _object_spread({}, defaultOptions, userOptions);
};
var transformCliOptions = function(rawOptions) {
return {
path: rawOptions.path || defaultOptions.path,
baseDir: rawOptions.baseDir || defaultOptions.baseDir,
arrayMinLength: parseInt(rawOptions.arrayMinLength) || defaultOptions.arrayMinLength,
arrayMaxLength: parseInt(rawOptions.arrayMaxLength) || defaultOptions.arrayMaxLength,
handlerUrl: rawOptions.handlerUrl || defaultOptions.handlerUrl,
fakerLocale: rawOptions.locales || defaultOptions.fakerLocale,
generateTarget: rawOptions.generateTarget || defaultOptions.generateTarget,
specialPath: rawOptions.specialPath || defaultOptions.specialPath,
clear: rawOptions.clear || defaultOptions.clear,
includeCodes: rawOptions.includeCodes ? rawOptions.includeCodes.toString().split(",").map(function(code) {
return parseInt(code);
}) : void 0,
// TypeScriptCodeOptions
isStatic: rawOptions.static || defaultOptions.isStatic,
isOptional: rawOptions.optional || defaultOptions.isOptional
};
};
var validateOptions = function(options) {
var errors = [];
if (!options.path) {
errors.push("path is required");
}
if (options.arrayMinLength && options.arrayMaxLength && options.arrayMinLength > options.arrayMaxLength) {
errors.push("arrayMinLength should not be greater than arrayMaxLength");
}
if (options.generateTarget && !options.generateTarget.split(",").every(function(target) {
return [
"api",
"schema"
].includes(target.trim());
})) {
errors.push("generateTarget should contain only 'api' and/or 'schema'");
}
return errors;
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
mergeOptions: mergeOptions,
transformCliOptions: transformCliOptions,
validateOptions: validateOptions
});
//# sourceMappingURL=options.js.map