linearizeEncodings.js 604 B

123456789101112131415161718192021222324252627
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = linearizeEncodings;
  6. // Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]
  7. // Convert to [1-1, 1-2, 2, 3-1, 3-2]
  8. function linearizeEncodings(encodings) {
  9. var linearEncodings = [];
  10. function nextLevel(encoded) {
  11. if (Array.isArray(encoded)) {
  12. for (var i = 0; i < encoded.length; i++) {
  13. nextLevel(encoded[i]);
  14. }
  15. } else {
  16. encoded.text = encoded.text || "";
  17. encoded.data = encoded.data || "";
  18. linearEncodings.push(encoded);
  19. }
  20. }
  21. nextLevel(encodings);
  22. return linearEncodings;
  23. }