23 lines
517 B
JavaScript
23 lines
517 B
JavaScript
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;
|
|
}
|