export default linearizeEncodings;

// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]
// Convert to [1-1, 1-2, 2, 3-1, 3-2]
function linearizeEncodings(encodings){
	var linearEncodings = [];
	function nextLevel(encoded){
		if(Array.isArray(encoded)){
			for(let i = 0; i < encoded.length; i++){
				nextLevel(encoded[i]);
			}
		}
		else{
			encoded.text = encoded.text || "";
			encoded.data = encoded.data || "";
			linearEncodings.push(encoded);
		}
	}
	nextLevel(encodings);

	return linearEncodings;
}