mihawk
Version:
A tiny & simple mock server tool, support json,js,cjs,ts(typescript).
39 lines (38 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.scanExistedRoutes = exports.findJsonFiles = void 0;
const path_1 = require("path");
const fs_extra_1 = require("fs-extra");
const path_2 = require("../utils/path");
const print_1 = require("../utils/print");
function findJsonFiles(targetDirPath, jsonExt = 'json') {
const filePathList = [];
targetDirPath = (0, path_2.absifyPath)(targetDirPath);
if ((0, fs_extra_1.existsSync)(targetDirPath)) {
const fileExt = `.${(jsonExt || 'json').replace(/^\.+/g, '')}`;
function _scanDir(dirPath, baseDirPath) {
const subItems = (0, fs_extra_1.readdirSync)(dirPath, { withFileTypes: true });
for (const item of subItems) {
const subPath = (0, path_1.join)(dirPath, item.name);
if (item.isFile() && item.name.endsWith(fileExt)) {
filePathList.push((0, path_1.relative)(baseDirPath, subPath));
}
else if (item.isDirectory()) {
_scanDir(subPath, baseDirPath);
}
}
}
_scanDir(targetDirPath, targetDirPath);
}
else {
print_1.Printer.warn(`mock data dir ${targetDirPath} not existed!`);
}
return filePathList;
}
exports.findJsonFiles = findJsonFiles;
function scanExistedRoutes(dataDirPath, jsonExt = 'json') {
const ext = jsonExt || 'json';
const existedJsonPaths = findJsonFiles(dataDirPath, ext);
return existedJsonPaths.map(jsonPath => (0, path_2.getRouteByJsonPath)(jsonPath, ext));
}
exports.scanExistedRoutes = scanExistedRoutes;