lib/util/mixin.js
function mixin(a) {
	var k, key, o;
	var len = arguments.length;

	for (k = 1; k < len; k += 1) {
		o = arguments[k];

		for (key in o) {
			var v = o[key];

			if (o.hasOwnProperty(key)) {
				if (v === undefined || v === null) {
					delete a[key];
				} else {
					a[key] = o[key];
				}
			}
		}
	}

	return a;
}
function mixin(a) {
	var k, key, o;
	var len = arguments.length;

	for (k = 1; k < len; k += 1) {
		o = arguments[k];

		for (key in o) {
			var v = o[key];

			if (o.hasOwnProperty(key)) {
				if (v === undefined || v === null) {
					delete a[key];
				} else {
					a[key] = o[key];
				}
			}
		}
	}

	return a;
}
function mixin ( a ) { var k , key , o ; var len = arguments . length ; for ( k = 1 ; k < len ; k += 1 ) { o = arguments [ k ] ; for ( key in o ) { var v = o [ key ] ; if ( o . hasOwnProperty ( key ) ) { if ( v === undefined || v === null ) { delete a [ key ] ; } else { a [ key ] = o [ key ] ; } } } } return a ; }
mixin(a, ...sources)
mixin ( a ... sources )