frontend/.pnpm-store/v3/files/d8/b98f9ffd38f659c55d4b10ab22a2fc10625771a164583c8018197d2962f332f17b87a517b13d5f90895223a1738b403f399152864caf8720329b87a7aefc4b

20 lines
571 B
Plaintext

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