12345678910111213141516171819 |
- "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;
- };
|