1
hao
2025-05-19 8ef9c48b03ec22db9a56746f898993cb41eb4753
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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;
}