| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 'use strict';var pumpify = require('pumpify');var lead = require('lead');var mkdirpStream = require('fs-mkdirp-stream');var createResolver = require('resolve-options');var config = require('./options');var prepare = require('./prepare');var linkFile = require('./link-file');var folderConfig = {  outFolder: {    type: 'string',  },};function symlink(outFolder, opt) {  if (!outFolder) {    throw new Error('Invalid symlink() folder argument.' +      ' Please specify a non-empty string or a function.');  }  var optResolver = createResolver(config, opt);  var folderResolver = createResolver(folderConfig, { outFolder: outFolder });  function dirpath(file, callback) {    var dirMode = optResolver.resolve('dirMode', file);    callback(null, file.dirname, dirMode);  }  var stream = pumpify.obj(    prepare(folderResolver, optResolver),    mkdirpStream.obj(dirpath),    linkFile(optResolver)  );  // Sink the stream to start flowing  return lead(stream);}module.exports = symlink;
 |