axios-mock-server
Version:
RESTful mock server using axios
43 lines • 2.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var fs_1 = __importDefault(require("fs"));
var path_1 = __importDefault(require("path"));
var getConfig_1 = require("./getConfig");
var listFiles_1 = require("./listFiles");
var createRouteString_1 = __importDefault(require("./createRouteString"));
var getTarget = function (filePath) {
return !filePath
? getConfig_1.defaultConfig.target
: /(\n|^)export default/.test(fs_1.default.readFileSync(filePath, 'utf8'))
? 'es6'
: 'cjs';
};
var findExportingFile = function (filePaths) {
return filePaths.find(function (filePath) { return /export/.test(fs_1.default.readFileSync(filePath, 'utf8')); });
};
var getMockFilePaths = function (input, filename) {
if (filename === void 0) { filename = ''; }
return listFiles_1.listFiles(input)
.filter(function (filePath) {
return filePath !== filename &&
!getConfig_1.mockFileRegExp.test(filePath) &&
/^\.(js|ts)$/.test(path_1.default.extname(filePath)) &&
/(\n|^)(export default|module.exports)/.test(fs_1.default.readFileSync(filePath, 'utf8'));
})
.sort()
.reverse();
};
exports.default = (function (input, config, baseURL) {
var _a, _b;
if (baseURL === void 0) { baseURL = ''; }
var mockFilePaths = getMockFilePaths(input, config.outputFilename);
var ext = config.outputExt ||
((_a = config.outputFilename) !== null && _a !== void 0 ? _a : '').split('.').pop() ||
(mockFilePaths[0] ? path_1.default.extname(mockFilePaths[0]).slice(1) : getConfig_1.defaultConfig.outputExt);
var text = createRouteString_1.default(input, config.target || getTarget(findExportingFile(mockFilePaths)), ext === 'ts', mockFilePaths, baseURL);
return { text: text, filePath: path_1.default.posix.join(input, (_b = config.outputFilename) !== null && _b !== void 0 ? _b : "$mock." + ext) };
});
//# sourceMappingURL=buildRouteFile.js.map