diff options
Diffstat (limited to 'node_modules/object.pick/index.js')
-rw-r--r-- | node_modules/object.pick/index.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/node_modules/object.pick/index.js b/node_modules/object.pick/index.js new file mode 100644 index 0000000..0ce0178 --- /dev/null +++ b/node_modules/object.pick/index.js @@ -0,0 +1,35 @@ +/*! + * object.pick <https://github.com/jonschlinkert/object.pick> + * + * Copyright (c) 2014-2015 Jon Schlinkert, contributors. + * Licensed under the MIT License + */ + +'use strict'; + +var isObject = require('isobject'); + +module.exports = function pick(obj, keys) { + if (!isObject(obj) && typeof obj !== 'function') { + return {}; + } + + var res = {}; + if (typeof keys === 'string') { + if (keys in obj) { + res[keys] = obj[keys]; + } + return res; + } + + var len = keys.length; + var idx = -1; + + while (++idx < len) { + var key = keys[idx]; + if (key in obj) { + res[key] = obj[key]; + } + } + return res; +}; |