UNPKG

eslint-config-chain-able

Version:
20 lines (17 loc) 570 B
'use strict'; var aFrom = require('../array/from') , assign = require('./assign') , value = require('./valid-value'); module.exports = function (obj/*, propertyNames, options*/) { var copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]); if (copy !== obj && !propertyNames) return copy; var result = {}; if (propertyNames) { aFrom(propertyNames, function (propertyName) { if (options.ensure || propertyName in obj) result[propertyName] = obj[propertyName]; }); } else { assign(result, obj); } return result; };