import eachFiles from "./eachFiles"; /** * 通过谓词过滤文件 * * @param {LooseFolder} folder * @param {(file: File, index: number, files: Array) => boolean} predicate * @returns {Array} * @since 0.1.0 * @category Soil * @see {@linkcode mapFiles} * @example * * ```ts * _.log(_.filterFiles(_.pathDesktop.fsName, (file) => file.displayName[0] === "G")); * // 结果:桌面日志会记录所有桌面上以大写 G 开头的文件路径,不包括文件夹。 * ``` */ function filterFiles(folder: LooseFolder, predicate: (file: File, index: number, files: Array) => boolean): Array { const result: Array = []; eachFiles(folder, (file, index, files) => { if (predicate(file, index, files)) { result.push(file); } }); return result; } export default filterFiles;