basesource.js 892 B

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. /**
  3. * @typedef Slice
  4. * @property {number} offset
  5. * @property {number} length
  6. */
  7. Object.defineProperty(exports, "__esModule", { value: true });
  8. exports.BaseSource = void 0;
  9. class BaseSource {
  10. /**
  11. *
  12. * @param {Slice[]} slices
  13. * @returns {ArrayBuffer[]}
  14. */
  15. async fetch(slices, signal = undefined) {
  16. return Promise.all(slices.map((slice) => this.fetchSlice(slice, signal)));
  17. }
  18. /**
  19. *
  20. * @param {Slice} slice
  21. * @returns {ArrayBuffer}
  22. */
  23. async fetchSlice(slice) {
  24. throw new Error(`fetching of slice ${slice} not possible, not implemented`);
  25. }
  26. /**
  27. * Returns the filesize if already determined and null otherwise
  28. */
  29. get fileSize() {
  30. return null;
  31. }
  32. async close() {
  33. // no-op by default
  34. }
  35. }
  36. exports.BaseSource = BaseSource;
  37. //# sourceMappingURL=basesource.js.map