How to use through2-filter - 10 common examples

To help you get started, we’ve selected a few through2-filter examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github senecajs / seneca-in-practice / problems / comparestdout-filterlogs.js View on Github external
_colourfn(wrap(expected, 34)) + '\n'
    }
    callback(null, output)
  }

  function flush (_callback) {
    outputStream.push('\n' + chalk.yellow(repeat('\u2500', 80)) + '\n\n')
    this.emit(equal ? 'pass' : 'fail', this.__(equal ? 'compare.pass' : 'compare.fail'))
    _callback(null)
    callback(null, equal) // process() callback
  }

  outputStream = through2.obj(transform.bind(this), flush.bind(this))

  tuple(this.submissionStdout.pipe(split()).pipe(filter.obj(checkSenecaLogs)),
        this.solutionStdout.pipe(split()).pipe(filter.obj(checkSenecaLogs)))
    .pipe(outputStream)
    .pipe(process.stdout)
}
github SamyPesse / gitkit-js / lib / TransferUtils / parseUploadPack.js View on Github external
function parseUploadPack(opts) {
    var filter = throughFilter.obj(function(line) {
        return line.type == parsePktLineMeta.TYPES.PACKFILE;
    });

    return combine.obj(
        // Parse as lines
        parsePktLines(),

        // Parse metatdata of lines
        parsePktLineMeta(),

        // Filter packs
        filter,

        // Parse pack as objects
        parsePack(opts),
github SamyPesse / gitkit-js / lib / TransferUtils / parseUploadPack.js View on Github external
return combine.obj(
        // Parse as lines
        parsePktLines(),

        // Parse metatdata of lines
        parsePktLineMeta(),

        // Filter packs
        filter,

        // Parse pack as objects
        parsePack(opts),

        // Not sure why... But without this filter, .on('data') doesn't work
        throughFilter.obj(function() {
            return true;
        })
    );
}
github netlify / cli / src / utils / api / deploy / hasher-segments.js View on Github external
// We map a hash to multiple fileObj's because the same file
    // might live in two different locations

    if (Array.isArray(shaMap[fileObj.hash])) {
      shaMap[fileObj.hash].push(fileObj)
    } else {
      shaMap[fileObj.hash] = [fileObj]
    }

    cb(null)
  })
}

// transform stream ctor that filters folder-walker results for only files
exports.fileFilterCtor = objFilterCtor(fileObj => {
  return fileObj.type === 'file'
})

exports.fnFilterCtor = objFilterCtor(fileObj => {
  // filter additional files out of our fn pipeline
  return fileObj.type === 'file' && !!fileObj.runtime
})

// Zip a file into a temporary directory
function zipFunction(item, tmpDir, cb) {
  const zipPath = path.join(tmpDir, item.normalizedPath + '.zip')
  const output = fs.createWriteStream(zipPath)
  const archive = archiver('zip')

  archive.file(item.filepath, { name: item.basename })
  archive.finalize()
github hypermodules / hyperamp / main / track-dict.js View on Github external
module.exports = makeTrackDict

function makeTrackDict (paths, cb) {
  var newTrackDict = {}
  var dest = concatTrackDict(newTrackDict)
  pump(walker(paths), FileFilter(), dest, handleEos)
  // Return dest so we can destroy it
  return dest

  function handleEos (err) {
    if (err) return cb(err)
    log.info('')
    cb(null, newTrackDict)
  }
}
var FileFilter = filter.objCtor(isValidFile)

function isValidFile (data, enc, cb) {
  if (data.type !== 'file') return false
  var ext = path.extname(data.basename).substring(1)
  return validExtensions.includes(ext)
}

function concatTrackDict (obj) {
  function writeTrackDict (data, enc, cb) {
    log.info(`Scanning ${data.filepath}`)
    parseMetadata(data, handleMeta)

    function handleMeta (err, meta) {
      if (err) throw err
      obj[meta.filepath] = meta
      cb(null)
github netlify / cli / src / utils / api / deploy / hasher-segments.js View on Github external
if (Array.isArray(shaMap[fileObj.hash])) {
      shaMap[fileObj.hash].push(fileObj)
    } else {
      shaMap[fileObj.hash] = [fileObj]
    }

    cb(null)
  })
}

// transform stream ctor that filters folder-walker results for only files
exports.fileFilterCtor = objFilterCtor(fileObj => {
  return fileObj.type === 'file'
})

exports.fnFilterCtor = objFilterCtor(fileObj => {
  // filter additional files out of our fn pipeline
  return fileObj.type === 'file' && !!fileObj.runtime
})

// Zip a file into a temporary directory
function zipFunction(item, tmpDir, cb) {
  const zipPath = path.join(tmpDir, item.normalizedPath + '.zip')
  const output = fs.createWriteStream(zipPath)
  const archive = archiver('zip')

  archive.file(item.filepath, { name: item.basename })
  archive.finalize()

  pump(archive, output, err => {
    if (err) return cb(err)
github netlify / js-client / src / deploy / hasher-segments.js View on Github external
if (Array.isArray(shaMap[fileObj.hash])) {
      shaMap[fileObj.hash].push(fileObj)
    } else {
      shaMap[fileObj.hash] = [fileObj]
    }
    statusCb({
      type: 'hashing',
      msg: `Hashing ${fileObj.relname}`,
      phase: 'progress'
    })
    cb(null)
  })
}

// transform stream ctor that filters folder-walker results for only files
exports.fileFilterCtor = objFilterCtor(fileObj => {
  return fileObj.type === 'file'
})
github smontanari / code-forensics / lib / tasks / coupling_analysis_tasks.js View on Github external
var tcAnalysis = function(period) {
              return helpers.codeMaat.temporalCouplingAnalysis(helpers.files.vcsNormalisedLog(period))
              .pipe(filter.obj(_.partial(utils.pathMatchers.isCoupledWith, context.parameters.targetFile)));
            };
github pelias / whosonfirst / src / components / recordNotVisitingNullIsland.js View on Github external
module.exports.create = function create() {
  return filter.obj(_.negate(isNullIslandPostalCode));
};
github smontanari / code-forensics / lib / tasks / coupling_analysis_tasks.js View on Github external
run: function(publisher) {
            publisher.enableDiagram('sum-of-coupling');
            var stream = helpers.codeMaat.sumCouplingAnalysis(helpers.files.vcsNormalisedLog(context.dateRange))
              .pipe(filter.obj(function(obj) { return context.repository.fileExists(obj.path); }));
            return utils.json.objectArrayToFileStream(publisher.addReportFile(), stream);
          }
        }, vcsFunctions.vcsLogDump);

through2-filter

A through2 to create an Array.prototype.filter analog for streams.

MIT
Latest version published 4 days ago

Package Health Score

80 / 100
Full package analysis

Popular through2-filter functions