source/flat.js
function move_up(object, upside, new_name)
{
	let prefix

	if (upside)
	{
		upside[new_name] = object
		prefix = `${new_name}_`
	}
	else
	{
		upside = object
		prefix = ''
	}

	for (let key of Object.keys(object))
	{
		const child_object = object[key]

		if (is_object(child_object) && !is_pseudo_class(key) && !is_media_query(key))
		{
			delete object[key]
			move_up(child_object, upside, `${prefix}${key}`)
		}
	}
}
function move_up(object, upside, new_name)
{
	let prefix

	if (upside)
	{
		upside[new_name] = object
		prefix = `${new_name}_`
	}
	else
	{
		upside = object
		prefix = ''
	}

	for (let key of Object.keys(object))
	{
		const child_object = object[key]

		if (is_object(child_object) && !is_pseudo_class(key) && !is_media_query(key))
		{
			delete object[key]
			move_up(child_object, upside, `${prefix}${key}`)
		}
	}
}
function move_up ( object , upside , new_name ) { let prefix if ( upside ) { upside [ new_name ] = object prefix = ` ${ new_name } ` } else { upside = object prefix = '' } for ( let key of Object . keys ( object ) ) { const child_object = object [ key ] if ( is_object ( child_object ) && ! is_pseudo_class ( key ) && ! is_media_query ( key ) ) { delete object [ key ] move_up ( child_object , upside , ` ${ prefix } ${ key } ` ) } } }
moves child style classes to the surface of the style class tree prefixing them accordingly
moves child style classes to the surface of the style class tree prefixing them accordingly