function processor(actionFn, from, to) {
  from = fs.createReadStream(from);
  to = fs.createWriteStream(to);

  from
    .pipe(actionFn)
    .pipe(to);
  return new Promise(resolve => {
    from
      .on('end', resolve());
  });
}
/**
 * Process the crypto
 * @param  {Object} actionFn action function for pipe
 * @param  {String} from     File path to src
 * @param  {String} to       File path to destination
 * @return {Object}          Promise resolves after the process is end
 */
Process the crypto
@param  {Object} actionFn action function for pipe
@param  {String} from     File path to src
@param  {String} to       File path to destination
@return {Object}          Promise resolves after the process is end
Process the crypto @param { Object } actionFn action function for pipe @param { String } from File path to src @param { String } to File path to destination @return { Object } Promise resolves after the process is end
function processor(actionFn, from, to) {
  from = fs.createReadStream(from);
  to = fs.createWriteStream(to);
  from
    .pipe(actionFn)
    .pipe(to);
  return new Promise(resolve => {
    from
      .on('end', resolve());
  });
}
function processor ( actionFn , from , to ) { from = fs . createReadStream ( from ) ; to = fs . createWriteStream ( to ) ; from . pipe ( actionFn ) . pipe ( to ) ; return new Promise ( resolve => { from . on ( 'end' , resolve ( ) ) ; } ) ; }
Process the crypto
 @param  {Object} actionFn action function for pipe
 @param  {String} from     File path to src
 @param  {String} to       File path to destination
 @return {Object}          Promise resolves after the process is end
Process the crypto @param { Object } actionFn action function for pipe @param { String } from File path to src @param { String } to File path to destination @return { Object } Promise resolves after the process is end