1.0.2 • Published 2 years ago

@iyowei/scan-dir-sync v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

scanDirSync(path, worker, raw = false)

串行扫描文件夹,扫描的同时支持更新、过滤操作,一定程度复用遍历。

使用

项目中同时使用 lsDirSync()scanDirEachSync() 模块的话,推荐使用当前模块。

  • path 待扫描的路径,必需提供,{String}
  • worker 处理器,如果扫描的同时需要更新、过滤操作可提供,一定程度复用穷举,可选,{ Function }
    • 返回 {Object | Boolean}
      • false 过滤掉当前扫描结果
      • true 保留当前扫描结果
      • 对象字面量,保留 / 更新当前扫描结果
      • 其它类型则默认为没有任何处理
  • raw 是否专门返回未加工的扫描结果,使用 worker 后才会生效,默认 false可选,{ Boolean }
  • 返回,扫描结果 { Array }
    • 如果设置了 rawtrue,则返回 二维数组,第一项为加工后的扫描结果,第二项为未加工的扫描结果
    • 默认返回 一维数组,即:加工后的扫描结果
import { log } from "console";
import scanDirSync from "@iyowei/scan-dir-sync";

log(
  scanDirSync(
    process.cwd(),
    (cur, index) => {
      return index % 2 === 0 ? cur : false;
    },
    true
  )
);

/**
 * [
 *   [
 *     {
 *       path: '',
 *       dirent: [Dirent]
 *     },
 *     ...
 *   ],
 *   [
 *     {
 *       path: '',
 *       dirent: [Dirent]
 *     },
 *     ...
 *   ]
 * ]
 */

安装

Node Version Badge

# Pnpm
pnpm add @iyowei/scan-dir-sync

# yarn
yarn add @iyowei/scan-dir-sync

# npm
npm add @iyowei/scan-dir-sync

相关

  • lsDirSync(),串行扫描文件夹;
  • lsDir(),并行扫描文件夹;
  • scanDirEachSync(),可在扫描的同时更新或过滤数据,串行 实现;
  • scanDirEach(),可在扫描的同时更新或过滤数据,并行 实现;
  • scanDir()worker 选填,有 worker,行为同 scanDirEach() 一致,否则与 lsDir() 一致,如果项目中同时使用了 scanDirEach()lsDir(),则推荐使用 scanDir()

参与贡献

PRs Welcome