linearizeEncodings.js 517 B

12345678910111213141516171819202122
  1. export default linearizeEncodings;
  2. // Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]
  3. // Convert to [1-1, 1-2, 2, 3-1, 3-2]
  4. function linearizeEncodings(encodings){
  5. var linearEncodings = [];
  6. function nextLevel(encoded){
  7. if(Array.isArray(encoded)){
  8. for(let i = 0; i < encoded.length; i++){
  9. nextLevel(encoded[i]);
  10. }
  11. }
  12. else{
  13. encoded.text = encoded.text || "";
  14. encoded.data = encoded.data || "";
  15. linearEncodings.push(encoded);
  16. }
  17. }
  18. nextLevel(encodings);
  19. return linearEncodings;
  20. }