media-groups.js 924 B

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.forEachMediaGroup = void 0;
  6. /**
  7. * Loops through all supported media groups in master and calls the provided
  8. * callback for each group
  9. *
  10. * @param {Object} master
  11. * The parsed master manifest object
  12. * @param {string[]} groups
  13. * The media groups to call the callback for
  14. * @param {Function} callback
  15. * Callback to call for each media group
  16. */
  17. var forEachMediaGroup = function forEachMediaGroup(master, groups, callback) {
  18. groups.forEach(function (mediaType) {
  19. for (var groupKey in master.mediaGroups[mediaType]) {
  20. for (var labelKey in master.mediaGroups[mediaType][groupKey]) {
  21. var mediaProperties = master.mediaGroups[mediaType][groupKey][labelKey];
  22. callback(mediaProperties, mediaType, groupKey, labelKey);
  23. }
  24. }
  25. });
  26. };
  27. exports.forEachMediaGroup = forEachMediaGroup;