{"_id":"@at_2nd/directory-scanner","_rev":"7-f74eb3fc00e0ac95103edb5f99598fdb","name":"@at_2nd/directory-scanner","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@at_2nd/directory-scanner","version":"0.0.1","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.1","_nodeVersion":"18.15.0","_npmVersion":"8.15.1","dist":{"integrity":"sha512-9CzbkiPiWvR4DsbfQ3CdiHDwQWgmppBztRkOjtcA79lyM0uE8hAYdD4/GynUssqJKh1HrY273kficU4yF7aM8A==","shasum":"d5023d1d78abf34dc1e8ec4112ed8650567eee5c","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.1.tgz","fileCount":2,"unpackedSize":2991,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICW4yTPn/BoZblKeXNEQQDjaQ8c1e+9xbSi0FIB7LgFJAiAkQRGcaJdZCxXfhKdb/b8oxXUtKYwld7eRDZftdILXfQ=="}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.1_1699865919544_0.2970414910323509"},"_hasShrinkwrap":false},"0.0.2":{"name":"@at_2nd/directory-scanner","version":"0.0.2","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.2","_nodeVersion":"18.15.0","_npmVersion":"8.15.1","dist":{"integrity":"sha512-KdRqAiglBMpVr3TXyxf70dUnVpl9TnucQ4xTM3NpJmNFju8q+pEXGeQ2oxHCShxFHiU+pt5EC6mFJyudsuPOwg==","shasum":"c318c66963cdb9657395d579f5f469346fe8fd20","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.2.tgz","fileCount":3,"unpackedSize":3490,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGrTD2qzepy8Ir4qvyQUa2/0/21/HzR5KBiAY7zVHisAIhAM8LMZxA17mgWaNLjm2Ieuc9fQy3NKtQU6+dMNW1thUm"}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.2_1699867452685_0.21590089415509395"},"_hasShrinkwrap":false},"0.0.4":{"name":"@at_2nd/directory-scanner","version":"0.0.4","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.4","_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"integrity":"sha512-7cg3rz3U9xMejltBFe+dJCNSb+IgEogOFW+D0bAhiZhdVMKFkf7QhGyh5ePE94HIf5yo3XCus/hYV5wygZp3tg==","shasum":"e39340b1c15a501dadc542353a7f5e8145dd33c3","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.4.tgz","fileCount":3,"unpackedSize":3301,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd2LvGCuNo4El+g6LpQ5EXBjTAiljQk5kNG0n5ON/tkAIhAKUWnyMd5QmGhiTU9aiUZQJH1bLJiwIvX3ndrWvnlBsX"}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.4_1702369428320_0.9697665830519371"},"_hasShrinkwrap":false},"0.0.5":{"name":"@at_2nd/directory-scanner","version":"0.0.5","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.5","_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"integrity":"sha512-fyAXDbCg4FMV4BL9ItydRWrTZSTBugeR3oScf38ziL6AfqLkd3nuXT4gvF36GXgwNbVrpJYClJTSLDeUcvQuJA==","shasum":"79c2a3ca2a84c1bfa4aaafc5980aad6597bf1b07","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.5.tgz","fileCount":3,"unpackedSize":3303,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDoroaTdRr+solCg9fTnrNBlWC/yFcDesMjOvmny3umAAiAE4StXcA31rMwy4ktApRRCacvWtmI5+6xWIXERW0Tp8w=="}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.5_1702369834400_0.9877370845070375"},"_hasShrinkwrap":false},"0.0.6":{"name":"@at_2nd/directory-scanner","version":"0.0.6","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.6","_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"integrity":"sha512-XKAdkwuIhTUxV2XBPzdf4mWVvKc1wJ29jctnqmXxE4w1tgeS6+UqAH0L+TnWqvSmQplJaQX4P8TcMLpWoS6rBQ==","shasum":"e81246423a29c7b01df3bc182b73fdfbbfb75d1a","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.6.tgz","fileCount":3,"unpackedSize":3377,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG8X/Knic6gq6YHqYy+KvD5CQOErWwYtYnzTI+DnNUQMAiBbHVt3JKVvItcCUEibmlxX+0NfFTTb6zmAoDtBy3fbLg=="}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.6_1702370163143_0.30049350925202045"},"_hasShrinkwrap":false},"0.0.7":{"name":"@at_2nd/directory-scanner","version":"0.0.7","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.7","_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"integrity":"sha512-syVlvZunG9kil+7YiezMxEeBMsQh5ovbW5QKz9IZKJ6WDabQENgospjvG8uqtMQXj5CsGVSmfPQyV2PVmJxxhA==","shasum":"89edc0be8e137a8179a298e0fe34ead4b3c025c1","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.7.tgz","fileCount":4,"unpackedSize":5327,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHS6zL02YurXXk9UXkCYzt0SK7+YQdfkNsfL/gZJQlngAiEA7vA9ohi/UCuWi9gtUsXwkA0m0EeLwU5rlPS7gvaKnEQ="}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.7_1703064015115_0.11217781262906179"},"_hasShrinkwrap":false},"0.0.8":{"name":"@at_2nd/directory-scanner","version":"0.0.8","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.8","_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"integrity":"sha512-e//bQhx4UjG2YlkK45iUSDAW8VP8hzubtcAnT3Xe0LgwWAt1pw023EBafQg8YW4S/aoKXm7oDUSSbIRUuOWJsA==","shasum":"27da5f6dd22e1da48720ca34b7ff7ce23f73572d","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.8.tgz","fileCount":4,"unpackedSize":5345,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/fMyfdPkIatReUU7861kOXFWFQQZSJinfeYscGAzRqAiAQVx8SjjWWvqKVO4GkPcrCsa96cyO4Dd2Y59XNzLsOOg=="}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.8_1703064837917_0.7588530968094522"},"_hasShrinkwrap":false},"0.0.9":{"name":"@at_2nd/directory-scanner","version":"0.0.9","description":"Do function recursive with directory.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","_id":"@at_2nd/directory-scanner@0.0.9","_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"integrity":"sha512-6N4Is7skKY5nqx3FZnpyIuBw9HVL8rtSAxzl/y3wdvg02PvnUSvNOAMXYVuVkcjikrBRuEe8Lh1KeYsAAUmI2A==","shasum":"4976f050bf8c7c47eacabd65ac5c798f1ec220ca","tarball":"https://registry.npmjs.org/@at_2nd/directory-scanner/-/directory-scanner-0.0.9.tgz","fileCount":4,"unpackedSize":5342,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuaMa0XBPzdNMcsX6k4nhONSpfkTPe7fwxjr0OcOR7ywIhAO1QhtOP4b38VJycmm30L4ijSbIJSVKZ4p1tXGlcYV7o"}]},"_npmUser":{"name":"at_2nd","email":"at2ndx@gmail.com"},"directories":{},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/directory-scanner_0.0.9_1703065054544_0.13223059245214408"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-13T08:58:39.433Z","0.0.1":"2023-11-13T08:58:39.702Z","modified":"2023-12-20T09:37:34.863Z","0.0.2":"2023-11-13T09:24:12.875Z","0.0.4":"2023-12-12T08:23:48.483Z","0.0.5":"2023-12-12T08:30:34.633Z","0.0.6":"2023-12-12T08:36:03.304Z","0.0.7":"2023-12-20T09:20:15.267Z","0.0.8":"2023-12-20T09:33:58.092Z","0.0.9":"2023-12-20T09:37:34.697Z"},"maintainers":[{"name":"at_2nd","email":"at2ndx@gmail.com"}],"description":"Do function recursive with directory.","keywords":["directory","recursive","function"],"author":{"name":"at_2nd"},"license":"MIT","readme":"## 概要\r\nディレクトリを探索しながら再帰的に関数を実行する。\r\n\r\n## インストール\r\n``` console\r\nnpm install @at_2nd/directory-scanner\r\n```\r\n\r\n## 用例\r\n./test直下の.txtファイルの内容を一括取得\r\nただし、ファイル名の先頭がhoge_のファイルは無視する\r\n```javascript\r\nconst scan = require(\"@at_2nd/directory-scanner\");\r\nconst fs = require(\"fs/promises\");\r\n\r\n(async ()=>\r\n{\r\n\tconst dir = \"./test\";//スキャン対象\r\n\tconst option = //scan option\r\n\t{\r\n\t\tsubdir:false,//サブディレクトリを探索しない\r\n\t\tfile:{txt:info=>fs.readFile(info.path,{encoding:\"utf-8\"})},//.txtを読み込んで返す\r\n\t\tfilter:info=>!/^hoge_/.test(info.name)//ファイル名の先頭がhoge_のファイルを無視する\r\n\t};\r\n\tconst result = await scan(dir,option);\r\n\tconsole.log(result);\r\n})();\r\n```\r\n\r\n## 引数\r\n\r\n### dir:string\r\n\r\n探索対象のパス\r\n\r\n### option:object\r\n\r\n探索設定\r\n\r\n*`option.subdir`:boolean\r\nサブディレクトリを探索するかの設定。デフォルトはtrue。\r\n\r\n*`option.dir`:async function(result)\r\nディレクトリ探索結果を加工するコールバック。\r\n探索結果を受け取り、加工後の結果を返す。\r\nデフォルトは無加工で返す。(result=>result)と等価。\r\n\r\n*`option.file`:boolean|async function(info)|object\r\nファイルを発見した時の挙動設定。デフォルトはtrue。コールバックにはinfoオブジェクトが渡される。\r\n```javascript\r\n{\r\n\t\"filename\":filename,//ファイル名\r\n\t\"name\":name,//拡張子を除いたファイル名\r\n\t\"ext\":extention,//拡張子\r\n\t\"path\":fullPath//フルパス\r\n};\r\n```\r\n\t*`false`:ファイルを無視する\r\n\t*`true`:infoをそのまま返す。(info=>info)と等価。\r\n\t*`function`:infoを受け取り、結果を返すコールバック。\r\n\t*`object`:拡張子別の個別設定。拡張子をkeyとして、booleanもしくはfunctionの値を持つ。挙動は上記と同じ。\r\n\r\n\r\n*`option.filter`:boolean|async function(info)|object\r\nファイルを発見した時に有効なファイルとして扱うかどうかの設定。\r\n\r\n\t*`false`:無効なファイルとする\r\n\t*`true`:有効なファイルとする\r\n\t*`function`:infoを受け取り、結果を返すコールバック。trueを返すと有効、falseを返すと無効。\r\n\t*`object`:拡張子別の個別設定。拡張子をkeyとして、booleanもしくはfunctionの値を持つ。挙動は上記と同じ。\r\n","readmeFilename":"README.md"}