valid-directory
Version:
Check whether or not a directory and its descendants are valid
22 lines (21 loc) • 963 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const promises_1 = require("node:fs/promises");
const node_path_1 = require("node:path");
const valid_filename_1 = __importDefault(require("@bevry/valid-filename"));
/** Validate a directory and its descendants */
async function validate(fullPath) {
// https://nodejs.org/api/fs.html#fspromisesreaddirpath-options
const relativePaths = await (0, promises_1.readdir)(fullPath, { recursive: true });
const invalidRelativePaths = relativePaths.filter((relativePath) => !(0, valid_filename_1.default)((0, node_path_1.basename)(relativePath)));
if (invalidRelativePaths.length) {
return [false, invalidRelativePaths, relativePaths];
}
else {
return [true, [], relativePaths];
}
}
exports.default = validate;