@at_2nd/directory-scanner

0.0.9 • Public • Published

概要

ディレクトリを探索しながら再帰的に関数を実行する。

インストール

npm install @at_2nd/directory-scanner

用例

./test直下の.txtファイルの内容を一括取得 ただし、ファイル名の先頭がhoge_のファイルは無視する

const scan = require("@at_2nd/directory-scanner");
const fs = require("fs/promises");

(async ()=>
{
	const dir = "./test";//スキャン対象
	const option = //scan option
	{
		subdir:false,//サブディレクトリを探索しない
		file:{txt:info=>fs.readFile(info.path,{encoding:"utf-8"})},//.txtを読み込んで返す
		filter:info=>!/^hoge_/.test(info.name)//ファイル名の先頭がhoge_のファイルを無視する
	};
	const result = await scan(dir,option);
	console.log(result);
})();

引数

dir:string

探索対象のパス

option:object

探索設定

*option.subdir:boolean サブディレクトリを探索するかの設定。デフォルトはtrue。

*option.dir:async function(result) ディレクトリ探索結果を加工するコールバック。 探索結果を受け取り、加工後の結果を返す。 デフォルトは無加工で返す。(result=>result)と等価。

*option.file:boolean|async function(info)|object ファイルを発見した時の挙動設定。デフォルトはtrue。コールバックにはinfoオブジェクトが渡される。

{
	"filename":filename,//ファイル名
	"name":name,//拡張子を除いたファイル名
	"ext":extention,//拡張子
	"path":fullPath//フルパス
};
*`false`:ファイルを無視する
*`true`:infoをそのまま返す。(info=>info)と等価。
*`function`:infoを受け取り、結果を返すコールバック。
*`object`:拡張子別の個別設定。拡張子をkeyとして、booleanもしくはfunctionの値を持つ。挙動は上記と同じ。

*option.filter:boolean|async function(info)|object ファイルを発見した時に有効なファイルとして扱うかどうかの設定。

*`false`:無効なファイルとする
*`true`:有効なファイルとする
*`function`:infoを受け取り、結果を返すコールバック。trueを返すと有効、falseを返すと無効。
*`object`:拡張子別の個別設定。拡張子をkeyとして、booleanもしくはfunctionの値を持つ。挙動は上記と同じ。

Package Sidebar

Install

npm i @at_2nd/directory-scanner

Weekly Downloads

0

Version

0.0.9

License

MIT

Unpacked Size

5.34 kB

Total Files

4

Last publish

Collaborators

  • at_2nd