| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 'use strict';var through = require('through2');var mkdirp = require('./mkdirp');function toFunction(dirpath) {  function stringResolver(chunk, callback) {    callback(null, dirpath);  }  return stringResolver;}function define(options) {  function mkdirpStream(resolver) {    // Handle resolver that's just a dirpath    if (typeof resolver === 'string') {      resolver = toFunction(resolver);    }    function makeFileDirs(chunk, enc, callback) {      resolver(chunk, onDirpath);      function onDirpath(dirpathErr, dirpath, mode) {        if (dirpathErr) {          return callback(dirpathErr);        }        mkdirp(dirpath, mode, onMkdirp);      }      function onMkdirp(mkdirpErr) {        if (mkdirpErr) {          return callback(mkdirpErr);        }        callback(null, chunk);      }    }    return through(options, makeFileDirs);  }  return mkdirpStream;}module.exports = define();module.exports.obj = define({ objectMode: true, highWaterMark: 16 });
 |