function append_to(config, obj) {
		if(config === undefined) {
			//console.warn('Warning: config internal append_to() called with undefined first argument!');
			config = {};
		} else if(! (config && (typeof config === 'object')) ) {
			throw new TypeError("Attempt to append an object into " + (typeof config) + "!");
		}
		if(! (obj && (typeof obj === 'object')) ) {
			 throw new TypeError("Attempt to append non-object (" + (typeof obj) + ")!");
		}
		Object.keys(obj).forEach(function(key) {
			var new_value = obj[key];

			// Arrays
			if(new_value && (new_value instanceof Array)) {
				if(config[key] && (config[key] instanceof Array)) {
					config[key] = config[key].concat(new_value);
				} else if(config[key] === undefined) {
					config[key] = [].concat(new_value);
				} else {
					throw new TypeError("Attempt to append an array into " + (typeof config[key]) + "!");
				}
				return;
			}

			// Objects
			if(new_value && (typeof new_value === 'object')) {
				config[key] = append_to(config[key], new_value).config;
				return;
			}

			// Other
			config[key] = new_value;
		});
		return {"and": append_to.bind({}, config), "config":config};
	}
function append_to(config, obj) {
		if(config === undefined) {
			
			config = {};
		} else if(! (config && (typeof config === 'object')) ) {
			throw new TypeError("Attempt to append an object into " + (typeof config) + "!");
		}
		if(! (obj && (typeof obj === 'object')) ) {
			 throw new TypeError("Attempt to append non-object (" + (typeof obj) + ")!");
		}
		Object.keys(obj).forEach(function(key) {
			var new_value = obj[key];

			
			if(new_value && (new_value instanceof Array)) {
				if(config[key] && (config[key] instanceof Array)) {
					config[key] = config[key].concat(new_value);
				} else if(config[key] === undefined) {
					config[key] = [].concat(new_value);
				} else {
					throw new TypeError("Attempt to append an array into " + (typeof config[key]) + "!");
				}
				return;
			}

			
			if(new_value && (typeof new_value === 'object')) {
				config[key] = append_to(config[key], new_value).config;
				return;
			}

			
			config[key] = new_value;
		});
		return {"and": append_to.bind({}, config), "config":config};
	}
function append_to ( config , obj ) { if ( config === undefined ) { //console.warn('Warning: config internal append_to() called with undefined first argument!'); config = { } ; } else if ( ! ( config && ( typeof config === 'object' ) ) ) { throw new TypeError ( "Attempt to append an object into " + ( typeof config ) + "!" ) ; } if ( ! ( obj && ( typeof obj === 'object' ) ) ) { throw new TypeError ( "Attempt to append non-object (" + ( typeof obj ) + ")!" ) ; } Object . keys ( obj ) . forEach ( function ( key ) { var new_value = obj [ key ] ; // Arrays if ( new_value && ( new_value instanceof Array ) ) { if ( config [ key ] && ( config [ key ] instanceof Array ) ) { config [ key ] = config [ key ] . concat ( new_value ) ; } else if ( config [ key ] === undefined ) { config [ key ] = [ ] . concat ( new_value ) ; } else { throw new TypeError ( "Attempt to append an array into " + ( typeof config [ key ] ) + "!" ) ; } return ; } // Objects if ( new_value && ( typeof new_value === 'object' ) ) { config [ key ] = append_to ( config [ key ] , new_value ) . config ; return ; } // Other config [ key ] = new_value ; } ) ; return { "and" : append_to . bind ( { } , config ) , "config" : config } ; }
/* Append config file into config object
/ * Append config file into config object