Sha256: 79570b9c4bc58eb334b2486d993ca12ed2d01a810711c3beab170a29c2a53382

Contents?: true

Size: 835 Bytes

Versions: 7

Compression:

Stored size: 835 Bytes

Contents

/*!
 * object.omit <https://github.com/jonschlinkert/object.omit>
 *
 * Copyright (c) 2014-2015, Jon Schlinkert.
 * Licensed under the MIT License.
 */

'use strict';

var isObject = require('is-extendable');
var forOwn = require('for-own');

module.exports = function omit(obj, keys) {
  if (!isObject(obj)) return {};

  var keys = [].concat.apply([], [].slice.call(arguments, 1));
  var last = keys[keys.length - 1];
  var res = {}, fn;

  if (typeof last === 'function') {
    fn = keys.pop();
  }

  var isFunction = typeof fn === 'function';
  if (!keys.length && !isFunction) {
    return obj;
  }

  forOwn(obj, function (value, key) {
    if (keys.indexOf(key) === -1) {

      if (!isFunction) {
        res[key] = value;
      } else if (fn(value, key, obj)) {
        res[key] = value;
      }
    }
  });
  return res;
};

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
brwy_rails-0.0.6 test/dummy/node_modules/object.omit/index.js
brwy_rails-0.0.5 test/dummy/node_modules/object.omit/index.js
blackboard-3.1.9 lib/site_template/node_modules/object.omit/index.js
brwy_rails-0.0.4 test/dummy/node_modules/object.omit/index.js
brwy_rails-0.0.3 test/dummy/node_modules/object.omit/index.js
brwy_rails-0.0.2 test/dummy/node_modules/object.omit/index.js
brwy_rails-0.0.1 test/dummy/node_modules/object.omit/index.js