How to use value-or-function - 9 common examples

To help you get started, we’ve selected a few value-or-function 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 gulpjs / resolve-options / index.js View on Github external
return constants[key];
    }

    var definition = config[key];
    // Ignore options that are not defined
    if (!definition) {
      return;
    }

    var option = options[key];

    if (option != null) {
      if (typeof option === 'function') {
        return;
      }
      option = normalize.call(resolver, definition.type, option);
      if (option != null) {
        constants[key] = option;
        return option;
      }
    }

    var fallback = definition.default;
    if (option == null && typeof fallback !== 'function') {
      constants[key] = fallback;
      return fallback;
    }
  }
github gulpjs / vinyl-fs / lib / dest / make-dirs.js View on Github external
'use strict';

var through = require('through2');
var valueOrFunction = require('value-or-function');

var fo = require('../file-operations');

var number = valueOrFunction.number;

function makeDirs(opt) {

  function makeFileDirs(file, enc, callback) {
    // TODO: Can this be put on file.stat?
    var dirMode = number(opt.dirMode, file);

    fo.mkdirp(file.dirname, dirMode, onMkdirp);

    function onMkdirp(mkdirpErr) {
      if (mkdirpErr) {
        return callback(mkdirpErr);
      }
      callback(null, file);
    }
  }
github gulpjs / vinyl-fs / lib / file-operations.js View on Github external
function getTimesDiff(fsStat, vinylStat) {

  var mtime = date(vinylStat.mtime) || 0;
  if (!mtime) {
    return;
  }

  var atime = date(vinylStat.atime) || 0;
  if (+mtime === +fsStat.mtime &&
      +atime === +fsStat.atime) {
    return;
  }

  if (!atime) {
    atime = date(fsStat.atime) || undefined;
  }

  var timesDiff = {
    mtime: vinylStat.mtime,
github gulpjs / vinyl-fs / lib / file-operations.js View on Github external
function getTimesDiff(fsStat, vinylStat) {

  var mtime = date(vinylStat.mtime) || 0;
  if (!mtime) {
    return;
  }

  var atime = date(vinylStat.atime) || 0;
  if (+mtime === +fsStat.mtime &&
      +atime === +fsStat.atime) {
    return;
  }

  if (!atime) {
    atime = date(fsStat.atime) || undefined;
  }

  var timesDiff = {
    mtime: vinylStat.mtime,
    atime: atime,
  };

  return timesDiff;
}
github gulpjs / vinyl-fs / lib / file-operations.js View on Github external
function getTimesDiff(fsStat, vinylStat) {

  var mtime = date(vinylStat.mtime) || 0;
  if (!mtime) {
    return;
  }

  var atime = date(vinylStat.atime) || 0;
  if (+mtime === +fsStat.mtime &&
      +atime === +fsStat.atime) {
    return;
  }

  if (!atime) {
    atime = date(fsStat.atime) || undefined;
  }

  var timesDiff = {
    mtime: vinylStat.mtime,
    atime: atime,
  };

  return timesDiff;
}
github gulpjs / vinyl-fs / lib / prepare-write.js View on Github external
'use strict';

var assign = require('object-assign');
var path = require('path');
var fs = require('graceful-fs');
var valueOrFunction = require('value-or-function');
var koalas = require('koalas');

var fo = require('./file-operations');

var boolean = valueOrFunction.boolean;
var number = valueOrFunction.number;
var string = valueOrFunction.string;

function prepareWrite(outFolder, file, opt, callback) {
  if (!opt) {
    opt = {};
  }

  var defaultMode = file.stat ? file.stat.mode : null;
  var options = assign({}, opt, {
    cwd: koalas(string(opt.cwd, file), process.cwd()),
    mode: koalas(number(opt.mode, file), defaultMode),
    dirMode: number(opt.dirMode, file),
    overwrite: koalas(boolean(opt.overwrite, file), true),
  });
  options.flag = (options.overwrite ? 'w' : 'wx');
github gulpjs / resolve-options / index.js View on Github external
function toResolve() {
      stack.push(key);
      var option = normalize.apply(resolver, args);

      if (option == null) {
        option = fallback;
        if (typeof option === 'function') {
          option = option.apply(resolver, appliedArgs);
        }
      }

      return option;
    }
github gulpjs / vinyl-fs / lib / prepare-write.js View on Github external
'use strict';

var assign = require('object-assign');
var path = require('path');
var fs = require('graceful-fs');
var valueOrFunction = require('value-or-function');
var koalas = require('koalas');

var fo = require('./file-operations');

var boolean = valueOrFunction.boolean;
var number = valueOrFunction.number;
var string = valueOrFunction.string;

function prepareWrite(outFolder, file, opt, callback) {
  if (!opt) {
    opt = {};
  }

  var defaultMode = file.stat ? file.stat.mode : null;
  var options = assign({}, opt, {
    cwd: koalas(string(opt.cwd, file), process.cwd()),
    mode: koalas(number(opt.mode, file), defaultMode),
    dirMode: number(opt.dirMode, file),
    overwrite: koalas(boolean(opt.overwrite, file), true),
  });
  options.flag = (options.overwrite ? 'w' : 'wx');
github gulpjs / vinyl-fs / lib / prepare-write.js View on Github external
'use strict';

var assign = require('object-assign');
var path = require('path');
var fs = require('graceful-fs');
var valueOrFunction = require('value-or-function');
var koalas = require('koalas');

var fo = require('./file-operations');

var boolean = valueOrFunction.boolean;
var number = valueOrFunction.number;
var string = valueOrFunction.string;

function prepareWrite(outFolder, file, opt, callback) {
  if (!opt) {
    opt = {};
  }

  var defaultMode = file.stat ? file.stat.mode : null;
  var options = assign({}, opt, {
    cwd: koalas(string(opt.cwd, file), process.cwd()),
    mode: koalas(number(opt.mode, file), defaultMode),
    dirMode: number(opt.dirMode, file),
    overwrite: koalas(boolean(opt.overwrite, file), true),
  });
  options.flag = (options.overwrite ? 'w' : 'wx');

  var cwd = path.resolve(options.cwd);

value-or-function

Normalize a value or function, applying extra args to the function

MIT
Latest version published 2 years ago

Package Health Score

68 / 100
Full package analysis