openapi-ts-mock-generator
Version:
typescript mock data generator based openapi
122 lines (119 loc) • 3.98 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
// src/core/types.ts
var HttpMethods = /* @__PURE__ */ ((HttpMethods2) => {
HttpMethods2["GET"] = "get";
HttpMethods2["PUT"] = "put";
HttpMethods2["POST"] = "post";
HttpMethods2["DELETE"] = "delete";
HttpMethods2["OPTIONS"] = "options";
HttpMethods2["HEAD"] = "head";
HttpMethods2["PATCH"] = "patch";
HttpMethods2["TRACE"] = "trace";
return HttpMethods2;
})(HttpMethods || {});
var isNotNullish = (value) => {
return value !== null && value !== void 0;
};
// src/core/config.ts
import { Faker, ko } from "@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 ARRAY_MIN_LENGTH = 1;
var ARRAY_MAX_LENGTH = 3;
var MIN_STRING_LENGTH = 3;
var MAX_STRING_LENGTH = 20;
var MIN_INTEGER = 1;
var MAX_INTEGER = 1e5;
var MIN_NUMBER = 0;
var MAX_NUMBER = 100;
var MIN_WORD_LENGTH = 0;
var MAX_WORD_LENGTH = 3;
var FAKER_SEED = 1;
var faker = new Faker({
locale: [ko]
});
faker.seed(FAKER_SEED);
var GEN_COMMENT = "/* Do not edit this file. */\n/* This file generated by openapi-ts-mock-generator. */\n\n";
// src/core/options.ts
var mergeOptions = (userOptions) => {
return __spreadValues(__spreadValues({}, defaultOptions), userOptions);
};
var transformCliOptions = (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((code) => parseInt(code)) : void 0,
// TypeScriptCodeOptions
isStatic: rawOptions.static || defaultOptions.isStatic,
isOptional: rawOptions.optional || defaultOptions.isOptional
};
};
var validateOptions = (options) => {
const 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((target) => ["api", "schema"].includes(target.trim()))) {
errors.push("generateTarget should contain only 'api' and/or 'schema'");
}
return errors;
};
export {
ARRAY_MAX_LENGTH,
ARRAY_MIN_LENGTH,
GEN_COMMENT,
HttpMethods,
MAX_INTEGER,
MAX_NUMBER,
MAX_STRING_LENGTH,
MAX_WORD_LENGTH,
MIN_INTEGER,
MIN_NUMBER,
MIN_STRING_LENGTH,
MIN_WORD_LENGTH,
defaultOptions,
faker,
isNotNullish,
mergeOptions,
transformCliOptions,
validateOptions
};
//# sourceMappingURL=index.mjs.map