UNPKG

mihawk

Version:

A tiny & simple mock server tool, support json,js,cjs,ts(typescript).

39 lines (38 loc) 1.64 kB
'use strict'; 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;