README
in.expander.dir
Directory expander for in.
Using standalone
npm install in.expander.dir --save
var ex = require('in.expander.dir');
It returns a promise.
ex.dir('./*.md')
.then(function(arrayOfNames){})
.catch(function(e){});
It provides extended info
ex.dir('./*.md')
.then(function(arrayOfNames){
arrayOfNames.info.forEach(function(file) {
file.value === './README.md'; // the value in arrayOfNames
file.fullname === '/ect/etc/.../README.md';
file.dir === '/etc/etc/etc'
file.uid === 919;
file.size === 28856;
file.isSymbolicLink() === false;
//etc...
})
});
It can search for only files
.files()
ex.files('./node_modules/**/*')
.then(function(arrayOfFileNames){})
It can search for only dirs
.dirs()
ex.dirs('./node_modules/**/*')
.then(function(arrayOfDirNames){})
Using with in.
This expander comes bundled with in.
npm install in. --save
Basic
require('in.');
$in(function(
filenames // in. {{ $files('./**/*.json') }}
){
filenames instanceof Array // of filenames
// filenames.info
});
$in(function(
files // in. {{ $files('./**/*.json').info }}
){
files instanceof Array // of full file info
});
Advanced
Files in local directory modified in last 10 seconds
$in(function(
names /* in. {{ $files('*').info
.filter ({mtime}) -> mtime > Date.now() - 10 * 1000
.map ({value}) -> value
}} */
){
console.log(names)
});
Combine name and file size
$in(function(
details // in. {{ name: f.name, size: f.size for f in $files('*').info }}
){
details[0] === { name: 'file_name', size: 919 };
});
And finally
$in(function(movies) { // in. {{ $files('~/Desktop/**/*.avi').info }}
movies[4].m[0] === 'Her';
movies[4].m[1] === 'untitled folder/stuff/untitled folder/movies/from clive/';
});