UNPKG

@justjcurtis/difi

Version:

difi is a simple data manipulation, processing & cleaning utility for your command line

68 lines (64 loc) 1.98 kB
const { readFile, writeFile, removeDuplicates, removeBlanks, lowerCase, removeKeyword, removeBeforeKeyword, removeAfterKeyword } = require('./Shared/methods') const dProcess = (file, args) => { // console.log(args) console.log('Reading input file...') lines = readFile(file, args.input_delimiter) if (args.lower) { console.log('Lower casing every entry..') lines = lowerCase(lines); } if (args.duplicates) { console.log('Removing duplicates..') lines = removeDuplicates(lines); } if (args.blank_entries) { console.log('Removing blank entries..') lines = removeBlanks(lines); } if (args.remove_keyword) { console.log(`Removing entries containing keyword: ${args.remove_keyword}..`) lines = removeKeyword(lines, args.remove_keyword, args.ignore_case); } if (args.remove_after) { console.log(`Removing entries after keyword: ${args.remove_after}..`) lines = removeAfterKeyword(lines, args.remove_after, args.ignore_case); } if (args.remove_before) { console.log(`Removing entries before keyword: ${args.remove_before}..`) lines = removeBeforeKeyword(lines, args.remove_before, args.ignore_case); } if (args.sort) { console.log('Sorting entries..') lines = lines.sort(); } if (args.reverse) { console.log('Reversing entries..') lines = lines.reverse(); } if (args.print) { console.log('') let printString = "" for (let i = 0; i < lines.length; i++) { printString += lines[i] if (i < lines.length - 1) { printString += args.output_delimiter } } console.log(printString) } else { console.log(`Saving file at: ${args.output}`) writeFile(lines.join(args.output_delimiter), args.output) } } module.exports = { dProcess }