Source: lib/util/map_utils.js

  1. /** @license
  2. * Copyright 2016 Google LLC
  3. * SPDX-License-Identifier: Apache-2.0
  4. */
  5. goog.provide('shaka.util.MapUtils');
  6. /**
  7. * @summary A set of map/object utility functions.
  8. */
  9. shaka.util.MapUtils = class {
  10. /**
  11. * @param {!Object.<KEY, VALUE>} object
  12. * @return {!Map.<KEY, VALUE>}
  13. * @template KEY,VALUE
  14. */
  15. static asMap(object) {
  16. const map = new Map();
  17. for (const key of Object.keys(object)) {
  18. map.set(key, object[key]);
  19. }
  20. return map;
  21. }
  22. /**
  23. * @param {!Map.<KEY, VALUE>} map
  24. * @return {!Object.<KEY, VALUE>}
  25. * @template KEY,VALUE
  26. */
  27. static asObject(map) {
  28. const obj = {};
  29. map.forEach((value, key) => {
  30. obj[key] = value;
  31. });
  32. return obj;
  33. }
  34. };