Blame view

node_modules/es5-ext/object/mixin.js 877 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  'use strict';
  
  var value = require('./valid-value')
  
    , defineProperty = Object.defineProperty
    , getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor
    , getOwnPropertyNames = Object.getOwnPropertyNames
    , getOwnPropertySymbols = Object.getOwnPropertySymbols;
  
  module.exports = function (target, source) {
  	var error, sourceObject = Object(value(source));
  	target = Object(value(target));
  	getOwnPropertyNames(sourceObject).forEach(function (name) {
  		try {
  			defineProperty(target, name, getOwnPropertyDescriptor(source, name));
  		} catch (e) { error = e; }
  	});
  	if (typeof getOwnPropertySymbols === 'function') {
  		getOwnPropertySymbols(sourceObject).forEach(function (symbol) {
  			try {
  				defineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));
  			} catch (e) { error = e; }
  		});
  	}
  	if (error !== undefined) throw error;
  	return target;
  };