1.0.0 • Published 8 years ago

file-filter v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

file-filter

NPM version build status Test coverage

Filter a list of files to including only the unique files, based on content

Install

$ npm install --save file-filter

Usage

var fileFilter = require('file-filter');

fileFilter(['file-filter', 'file1.txt', 'duplicateFile1.txt', 'file2.txt']).then(results => {
	// results => {strict: {...}, loose: {...}, unprocessed: {...}}
});

CLI

$ npm install --global file-filter
$ file-filter --help

  Filter a list of files to only the unique files, based on content

  Usage
    $ file-filter [input]
    $ [input] | file-filter

  Options
    -i Invert the results so that it shows you only the duplicates. Default: false
    -s Append the summary about the number of unique files and duplicates. Default: false
    -S Show only the summary about the number of unique files and duplicates. Default: false
    -W By default, the comparisons ignore whitespace. This makes it so that it respects whitespace differences. Default: false
  Examples
    $ file-filter file1.txt duplicateFile1.txt file2.txt
    file1.txt
    file2.txt

  # Assuming we're in a directory that has the same files as above
    $ ls | file-filter
    file1.txt
    file2.txt

API

fileFilter(input)

Returns a Promise that resolves to an object of objects, containing the results of the comparisons.

The object returned is structured like so:

	{
		// Strict contains the result of a strict comparison
		strict: {
			uniques: [...], // Array of strings of the unique filenames
			duplicates: [...], // Array of strings of the duplicate filenames
			files: [{name, hash, content}, ...] // Array of objects containing file name, the file hash and content used for the comparison
		},

		// Loose contains the result, but it ignores all whitespace in the comparison
		loose: {
			uniques: [...],
			duplicates: [...],
			files: [...]
		},

		// Unprocessed contains two arrays, one for any directories and one for anything else that was passed in but can't be read for whatever reason.
		unprocessed: {
			dirs: [...],
			misc: [...]
		}
	}

input

Required Type: string|Array

This is the list of files to filter. It can be an array of files, or a newline separated string.

License

MIT © Nate Cavanaugh