Spaces:
Runtime error
Runtime error
; | |
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; | |
}; | |