@vidispine/vdt-js 0.15.0-pre.7 → 21.4.0-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ function ownKeys(object, enumerableOnly) {
6
+ var keys = Object.keys(object);
7
+
8
+ if (Object.getOwnPropertySymbols) {
9
+ var symbols = Object.getOwnPropertySymbols(object);
10
+
11
+ if (enumerableOnly) {
12
+ symbols = symbols.filter(function (sym) {
13
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
14
+ });
15
+ }
16
+
17
+ keys.push.apply(keys, symbols);
18
+ }
19
+
20
+ return keys;
21
+ }
22
+
23
+ function _objectSpread2(target) {
24
+ for (var i = 1; i < arguments.length; i++) {
25
+ var source = arguments[i] != null ? arguments[i] : {};
26
+
27
+ if (i % 2) {
28
+ ownKeys(Object(source), true).forEach(function (key) {
29
+ _defineProperty(target, key, source[key]);
30
+ });
31
+ } else if (Object.getOwnPropertyDescriptors) {
32
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
33
+ } else {
34
+ ownKeys(Object(source)).forEach(function (key) {
35
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
36
+ });
37
+ }
38
+ }
39
+
40
+ return target;
41
+ }
42
+
5
43
  function _typeof(obj) {
6
44
  "@babel/helpers - typeof";
7
45
 
@@ -55,40 +93,6 @@ function _defineProperty(obj, key, value) {
55
93
  return obj;
56
94
  }
57
95
 
58
- function ownKeys(object, enumerableOnly) {
59
- var keys = Object.keys(object);
60
-
61
- if (Object.getOwnPropertySymbols) {
62
- var symbols = Object.getOwnPropertySymbols(object);
63
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
64
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
65
- });
66
- keys.push.apply(keys, symbols);
67
- }
68
-
69
- return keys;
70
- }
71
-
72
- function _objectSpread2(target) {
73
- for (var i = 1; i < arguments.length; i++) {
74
- var source = arguments[i] != null ? arguments[i] : {};
75
-
76
- if (i % 2) {
77
- ownKeys(Object(source), true).forEach(function (key) {
78
- _defineProperty(target, key, source[key]);
79
- });
80
- } else if (Object.getOwnPropertyDescriptors) {
81
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
82
- } else {
83
- ownKeys(Object(source)).forEach(function (key) {
84
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
85
- });
86
- }
87
- }
88
-
89
- return target;
90
- }
91
-
92
96
  function _objectWithoutPropertiesLoose(source, excluded) {
93
97
  if (source == null) return {};
94
98
  var target = {};
@@ -142,18 +146,21 @@ function _arrayWithHoles(arr) {
142
146
  }
143
147
 
144
148
  function _iterableToArray(iter) {
145
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
149
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
146
150
  }
147
151
 
148
152
  function _iterableToArrayLimit(arr, i) {
149
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
153
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
154
+
155
+ if (_i == null) return;
150
156
  var _arr = [];
151
157
  var _n = true;
152
158
  var _d = false;
153
- var _e = undefined;
159
+
160
+ var _s, _e;
154
161
 
155
162
  try {
156
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
163
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
157
164
  _arr.push(_s.value);
158
165
 
159
166
  if (i && _arr.length === i) break;
@@ -197,6 +204,11 @@ function _nonIterableRest() {
197
204
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
198
205
  }
199
206
 
207
+ var _excluded = ["value"],
208
+ _excluded2 = ["field", "group"],
209
+ _excluded3 = ["field", "group"],
210
+ _excluded4 = ["timespan"];
211
+
200
212
  var sortTimespanList = function sortTimespanList(_ref, _ref2) {
201
213
  var firstStart = _ref.start;
202
214
  var secondStart = _ref2.start;
@@ -263,7 +275,7 @@ var parseField = function parseField() {
263
275
 
264
276
  var _field$value = field.value,
265
277
  value = _field$value === void 0 ? [] : _field$value,
266
- attributes = _objectWithoutProperties(field, ["value"]);
278
+ attributes = _objectWithoutProperties(field, _excluded);
267
279
 
268
280
  var parsedValueList = parseValueList(value, options);
269
281
  if (includeAttributes || includeFieldAttributes) return _objectSpread2(_objectSpread2({}, attributes), {}, {
@@ -333,7 +345,7 @@ var parseGroup = function parseGroup() {
333
345
  fieldList = _group$field === void 0 ? [] : _group$field,
334
346
  _group$group = group.group,
335
347
  groupList = _group$group === void 0 ? [] : _group$group,
336
- attributes = _objectWithoutProperties(group, ["field", "group"]);
348
+ attributes = _objectWithoutProperties(group, _excluded2);
337
349
 
338
350
  var parsedFieldList = parseFieldList(fieldList, options);
339
351
  var parsedGroupList = parseGroupList(groupList, options); // eslint-disable-line no-use-before-define,max-len
@@ -417,7 +429,7 @@ var parseTimespan = function parseTimespan() {
417
429
  fieldList = _timespan$field === void 0 ? [] : _timespan$field,
418
430
  _timespan$group = timespan.group,
419
431
  groupList = _timespan$group === void 0 ? [] : _timespan$group,
420
- attributes = _objectWithoutProperties(timespan, ["field", "group"]);
432
+ attributes = _objectWithoutProperties(timespan, _excluded3);
421
433
 
422
434
  var field = parseFieldList(fieldList, options);
423
435
  var group = parseGroupList(groupList, options);
@@ -522,7 +534,7 @@ var parseMetadataType = function parseMetadataType() {
522
534
 
523
535
  var _metadataType$timespa2 = metadataType.timespan,
524
536
  timespanList = _metadataType$timespa2 === void 0 ? [] : _metadataType$timespa2,
525
- attributes = _objectWithoutProperties(metadataType, ["timespan"]);
537
+ attributes = _objectWithoutProperties(metadataType, _excluded4);
526
538
 
527
539
  if (sortTimespan) timespanList.sort(sortTimespanList);
528
540
  var timespan = parseTimespanList(timespanList, options);
@@ -534,20 +546,24 @@ var parseMetadataType = function parseMetadataType() {
534
546
  return timespan;
535
547
  };
536
548
 
549
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
550
+
537
551
  function createCommonjsModule(fn, module) {
538
552
  return module = { exports: {} }, fn(module, module.exports), module.exports;
539
553
  }
540
554
 
541
555
  var filesize = createCommonjsModule(function (module, exports) {
542
- /**
543
- * filesize
544
- *
545
- * @copyright 2020 Jason Mulligan <jason.mulligan@avoidwork.com>
546
- * @license BSD-3-Clause
547
- * @version 6.1.0
556
+ /**
557
+ * filesize
558
+ *
559
+ * @copyright 2021 Jason Mulligan <jason.mulligan@avoidwork.com>
560
+ * @license BSD-3-Clause
561
+ * @version 6.4.0
548
562
  */
563
+ (function (global, factory) {
564
+ module.exports = factory() ;
565
+ })(commonjsGlobal, function () {
549
566
 
550
- (function (global) {
551
567
  var b = /^(b|B)$/,
552
568
  symbol = {
553
569
  iec: {
@@ -562,37 +578,45 @@ var filesize = createCommonjsModule(function (module, exports) {
562
578
  fullform = {
563
579
  iec: ["", "kibi", "mebi", "gibi", "tebi", "pebi", "exbi", "zebi", "yobi"],
564
580
  jedec: ["", "kilo", "mega", "giga", "tera", "peta", "exa", "zetta", "yotta"]
581
+ },
582
+ roundingFuncs = {
583
+ floor: Math.floor,
584
+ ceil: Math.ceil
565
585
  };
566
- /**
567
- * filesize
568
- *
569
- * @method filesize
570
- * @param {Mixed} arg String, Int or Float to transform
571
- * @param {Object} descriptor [Optional] Flags
572
- * @return {String} Readable file size String
586
+ /**
587
+ * filesize
588
+ *
589
+ * @method filesize
590
+ * @param {Mixed} arg String, Int or Float to transform
591
+ * @param {Object} descriptor [Optional] Flags
592
+ * @return {String} Readable file size String
573
593
  */
574
594
 
575
595
  function filesize(arg) {
576
596
  var descriptor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
577
597
  var result = [],
578
598
  val = 0,
579
- e = void 0,
580
- base = void 0,
581
- bits = void 0,
582
- ceil = void 0,
583
- full = void 0,
584
- fullforms = void 0,
585
- locale = void 0,
586
- localeOptions = void 0,
587
- neg = void 0,
588
- num = void 0,
589
- output = void 0,
590
- round = void 0,
591
- unix = void 0,
592
- separator = void 0,
593
- spacer = void 0,
594
- standard = void 0,
595
- symbols = void 0;
599
+ e,
600
+ base,
601
+ bits,
602
+ ceil,
603
+ full,
604
+ fullforms,
605
+ locale,
606
+ localeOptions,
607
+ neg,
608
+ num,
609
+ output,
610
+ pad,
611
+ round,
612
+ u,
613
+ unix,
614
+ separator,
615
+ spacer,
616
+ standard,
617
+ symbols,
618
+ roundingFunc,
619
+ precision;
596
620
 
597
621
  if (isNaN(arg)) {
598
622
  throw new TypeError("Invalid number");
@@ -600,6 +624,7 @@ var filesize = createCommonjsModule(function (module, exports) {
600
624
 
601
625
  bits = descriptor.bits === true;
602
626
  unix = descriptor.unix === true;
627
+ pad = descriptor.pad === true;
603
628
  base = descriptor.base || 2;
604
629
  round = descriptor.round !== void 0 ? descriptor.round : unix ? 1 : 2;
605
630
  locale = descriptor.locale !== void 0 ? descriptor.locale : "";
@@ -612,9 +637,11 @@ var filesize = createCommonjsModule(function (module, exports) {
612
637
  full = descriptor.fullform === true;
613
638
  fullforms = descriptor.fullforms instanceof Array ? descriptor.fullforms : [];
614
639
  e = descriptor.exponent !== void 0 ? descriptor.exponent : -1;
640
+ roundingFunc = roundingFuncs[descriptor.roundingMethod] || Math.round;
615
641
  num = Number(arg);
616
642
  neg = num < 0;
617
- ceil = base > 2 ? 1000 : 1024; // Flipping a negative number to determine the size
643
+ ceil = base > 2 ? 1000 : 1024;
644
+ precision = isNaN(descriptor.precision) === false ? parseInt(descriptor.precision, 10) : 0; // Flipping a negative number to determine the size
618
645
 
619
646
  if (neg) {
620
647
  num = -num;
@@ -631,6 +658,10 @@ var filesize = createCommonjsModule(function (module, exports) {
631
658
 
632
659
 
633
660
  if (e > 8) {
661
+ if (precision > 0) {
662
+ precision += 8 - e;
663
+ }
664
+
634
665
  e = 8;
635
666
  }
636
667
 
@@ -641,7 +672,7 @@ var filesize = createCommonjsModule(function (module, exports) {
641
672
 
642
673
  if (num === 0) {
643
674
  result[0] = 0;
644
- result[1] = unix ? "" : symbol[standard][bits ? "bits" : "bytes"][e];
675
+ u = result[1] = unix ? "" : symbol[standard][bits ? "bits" : "bytes"][e];
645
676
  } else {
646
677
  val = num / (base === 2 ? Math.pow(2, e * 10) : Math.pow(1000, e));
647
678
 
@@ -654,14 +685,15 @@ var filesize = createCommonjsModule(function (module, exports) {
654
685
  }
655
686
  }
656
687
 
657
- result[0] = Number(val.toFixed(e > 0 ? round : 0));
688
+ var p = Math.pow(10, e > 0 ? round : 0);
689
+ result[0] = roundingFunc(val * p) / p;
658
690
 
659
691
  if (result[0] === ceil && e < 8 && descriptor.exponent === void 0) {
660
692
  result[0] = 1;
661
693
  e++;
662
694
  }
663
695
 
664
- result[1] = base === 10 && e === 1 ? bits ? "kb" : "kB" : symbol[standard][bits ? "bits" : "bytes"][e];
696
+ u = result[1] = base === 10 && e === 1 ? bits ? "kb" : "kB" : symbol[standard][bits ? "bits" : "bytes"][e];
665
697
 
666
698
  if (unix) {
667
699
  result[1] = standard === "jedec" ? result[1].charAt(0) : e > 0 ? result[1].replace(/B$/, "") : result[1];
@@ -676,6 +708,11 @@ var filesize = createCommonjsModule(function (module, exports) {
676
708
 
677
709
  if (neg) {
678
710
  result[0] = -result[0];
711
+ } // Setting optional precision
712
+
713
+
714
+ if (precision > 0) {
715
+ result[0] = result[0].toPrecision(precision);
679
716
  } // Applying custom symbol
680
717
 
681
718
 
@@ -687,26 +724,28 @@ var filesize = createCommonjsModule(function (module, exports) {
687
724
  result[0] = result[0].toLocaleString(locale, localeOptions);
688
725
  } else if (separator.length > 0) {
689
726
  result[0] = result[0].toString().replace(".", separator);
690
- } // Returning Array, Object, or String (default)
691
-
727
+ }
692
728
 
693
- if (output === "array") {
694
- return result;
729
+ if (pad && Number.isInteger(result[0]) === false && round > 0) {
730
+ var x = separator || ".",
731
+ tmp = result[0].toString().split(x),
732
+ s = tmp[1] || "",
733
+ l = s.length,
734
+ n = round - l;
735
+ result[0] = "".concat(tmp[0]).concat(x).concat(s.padEnd(l + n, "0"));
695
736
  }
696
737
 
697
738
  if (full) {
698
739
  result[1] = fullforms[e] ? fullforms[e] : fullform[standard][e] + (bits ? "bit" : "byte") + (result[0] === 1 ? "" : "s");
699
- }
740
+ } // Returning Array, Object, or String (default)
700
741
 
701
- if (output === "object") {
702
- return {
703
- value: result[0],
704
- symbol: result[1],
705
- exponent: e
706
- };
707
- }
708
742
 
709
- return result.join(spacer);
743
+ return output === "array" ? result : output === "object" ? {
744
+ value: result[0],
745
+ symbol: result[1],
746
+ exponent: e,
747
+ unit: u
748
+ } : result.join(spacer);
710
749
  } // Partial application for functional programming
711
750
 
712
751
 
@@ -714,13 +753,10 @@ var filesize = createCommonjsModule(function (module, exports) {
714
753
  return function (arg) {
715
754
  return filesize(arg, opt);
716
755
  };
717
- }; // CommonJS, AMD, script tag
718
-
756
+ };
719
757
 
720
- {
721
- module.exports = filesize;
722
- }
723
- })();
758
+ return filesize;
759
+ });
724
760
  });
725
761
 
726
762
  var _CONSTANT_TIMEBASES;
@@ -737,6 +773,12 @@ var CONSTANT_TIMEBASES = (_CONSTANT_TIMEBASES = {}, _defineProperty(_CONSTANT_TI
737
773
  }), _defineProperty(_CONSTANT_TIMEBASES, NTSC30, {
738
774
  denominator: 30,
739
775
  numerator: 1
776
+ }), _defineProperty(_CONSTANT_TIMEBASES, 29.97, {
777
+ denominator: 30000,
778
+ numerator: 1001
779
+ }), _defineProperty(_CONSTANT_TIMEBASES, 59.94, {
780
+ denominator: 60000,
781
+ numerator: 1001
740
782
  }), _CONSTANT_TIMEBASES);
741
783
  var FRAME_SEPARATORS = {
742
784
  ':': {
@@ -846,8 +888,8 @@ var TimeBase = /*#__PURE__*/function () {
846
888
 
847
889
  _classCallCheck(this, TimeBase);
848
890
 
849
- this.numerator = numerator;
850
- this.denominator = denominator;
891
+ this.numerator = Number(numerator);
892
+ this.denominator = Number(denominator);
851
893
  }
852
894
 
853
895
  _createClass(TimeBase, [{
@@ -1121,6 +1163,11 @@ var TimeCode = /*#__PURE__*/function () {
1121
1163
 
1122
1164
  return [hhmmss, frames.toFixed().padStart(2, '0')].join(frameSeparator);
1123
1165
  }
1166
+ }, {
1167
+ key: "toFraction",
1168
+ value: function toFraction() {
1169
+ return "".concat(this.samples, "@").concat(this.timeBase.denominator, ":").concat(this.timeBase.numerator);
1170
+ }
1124
1171
  }]);
1125
1172
 
1126
1173
  return TimeCode;
@@ -1160,7 +1207,7 @@ var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
1160
1207
  var denominator = Number(timeBaseText);
1161
1208
 
1162
1209
  if (Number.isNaN(denominator)) {
1163
- throw new Error("timeBaseText must be a number or PAL,NTSC,NTSC30 - is ".concat(timeBaseText));
1210
+ throw new Error("timeBaseText must be a number or ".concat(Object.keys(CONSTANT_TIMEBASES).join(','), " - is ").concat(timeBaseText));
1164
1211
  }
1165
1212
 
1166
1213
  return formatTimeBaseType({
@@ -1348,6 +1395,7 @@ var parseKeyValuePairType = function parseKeyValuePairType() {
1348
1395
  return keyValuePairType.reduce(keyValuePairTypeReducer, {});
1349
1396
  };
1350
1397
 
1398
+ var _excluded$1 = ["property"];
1351
1399
  var sampleRateSymbols = {
1352
1400
  kB: 'kHz',
1353
1401
  B: 'Hz',
@@ -1382,7 +1430,7 @@ var parseBaseMediaInfoType = function parseBaseMediaInfoType() {
1382
1430
  var baseMediaInfoType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1383
1431
 
1384
1432
  var keyValuePairType = baseMediaInfoType.property,
1385
- props = _objectWithoutProperties(baseMediaInfoType, ["property"]);
1433
+ props = _objectWithoutProperties(baseMediaInfoType, _excluded$1);
1386
1434
 
1387
1435
  var parsedKeyValuePairType = parseKeyValuePairType(keyValuePairType);
1388
1436
  return _objectSpread2(_objectSpread2({}, parsedKeyValuePairType), props);
@@ -1393,7 +1441,8 @@ var parseFileType = function parseFileType(fileType) {
1393
1441
  uriList = _fileType$uri === void 0 ? [] : _fileType$uri,
1394
1442
  fileSizeBytes = fileType.size,
1395
1443
  hash = fileType.hash,
1396
- path = fileType.path;
1444
+ path = fileType.path,
1445
+ fileId = fileType.id;
1397
1446
 
1398
1447
  var _uriList = _slicedToArray(uriList, 1),
1399
1448
  uri = _uriList[0];
@@ -1406,7 +1455,8 @@ var parseFileType = function parseFileType(fileType) {
1406
1455
  fileSize: fileSize,
1407
1456
  fileSizeBytes: fileSizeBytes,
1408
1457
  path: path,
1409
- fileName: fileName
1458
+ fileName: fileName,
1459
+ fileId: fileId
1410
1460
  };
1411
1461
  };
1412
1462
 
@@ -1454,7 +1504,8 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
1454
1504
  }
1455
1505
 
1456
1506
  if (durationTimeCode !== undefined && durationTimeCode.samples !== 0) {
1457
- parsedContainerComponent.duration = formatTimeCodeType(durationTimeCode).toDuration();
1507
+ parsedContainerComponent.durationTimeCode = formatTimeCodeType(durationTimeCode);
1508
+ parsedContainerComponent.duration = parsedContainerComponent.durationTimeCode.toDuration();
1458
1509
  }
1459
1510
 
1460
1511
  if (startTimestamp) {
@@ -1678,6 +1729,9 @@ var parseShapeType = function parseShapeType() {
1678
1729
  return parsedShape;
1679
1730
  };
1680
1731
 
1732
+ var _excluded$2 = ["Codec"],
1733
+ _excluded2$1 = ["Codec"];
1734
+
1681
1735
  var parseMediaConvertPreset = function parseMediaConvertPreset(transcodePresetType) {
1682
1736
  var output = {};
1683
1737
  var description = transcodePresetType.description,
@@ -1704,7 +1758,7 @@ var parseMediaConvertPreset = function parseMediaConvertPreset(transcodePresetTy
1704
1758
  CodecSettings = _VideoDescription$Cod === void 0 ? {} : _VideoDescription$Cod;
1705
1759
 
1706
1760
  var Codec = CodecSettings.Codec,
1707
- otherSettings = _objectWithoutProperties(CodecSettings, ["Codec"]);
1761
+ otherSettings = _objectWithoutProperties(CodecSettings, _excluded$2);
1708
1762
 
1709
1763
  output.videoFormat = Codec;
1710
1764
  var height = VideoDescription.Height,
@@ -1745,7 +1799,7 @@ var parseMediaConvertPreset = function parseMediaConvertPreset(transcodePresetTy
1745
1799
  _CodecSettings = _AudioDescriptions$0$ === void 0 ? {} : _AudioDescriptions$0$;
1746
1800
 
1747
1801
  var _Codec = _CodecSettings.Codec,
1748
- _otherSettings = _objectWithoutProperties(_CodecSettings, ["Codec"]);
1802
+ _otherSettings = _objectWithoutProperties(_CodecSettings, _excluded2$1);
1749
1803
 
1750
1804
  output.audioFormat = _Codec;
1751
1805
 
@@ -1886,6 +1940,9 @@ var createFacetType = function createFacetType() {
1886
1940
  });
1887
1941
  }; // eslint-disable-next-line import/prefer-default-export
1888
1942
 
1943
+ var _excluded$3 = ["groupName"],
1944
+ _excluded2$2 = ["start", "end"];
1945
+
1889
1946
  /* eslint-disable import/prefer-default-export */
1890
1947
  var parseValueList$1 = function parseValueList(value) {
1891
1948
  if (value === undefined) return [];
@@ -1894,10 +1951,15 @@ var parseValueList$1 = function parseValueList(value) {
1894
1951
  }];
1895
1952
 
1896
1953
  if (Array.isArray(value)) {
1897
- if (value.length > 0 && value[0].value) return value;
1898
- return value.map(function (thisValue) {
1954
+ return value.map(function (valueOrObject) {
1955
+ if (_typeof(valueOrObject) === 'object') {
1956
+ return _objectSpread2({
1957
+ value: valueOrObject.value || ''
1958
+ }, valueOrObject);
1959
+ }
1960
+
1899
1961
  return {
1900
- value: thisValue
1962
+ value: valueOrObject
1901
1963
  };
1902
1964
  });
1903
1965
  }
@@ -1978,7 +2040,7 @@ var parseGroupsOrFields = function parseGroupsOrFields(groupsOrFields) {
1978
2040
  } else if (Array.isArray(value)) {
1979
2041
  value.forEach(function (_ref4) {
1980
2042
  var groupName = _ref4.groupName,
1981
- groupValue = _objectWithoutProperties(_ref4, ["groupName"]);
2043
+ groupValue = _objectWithoutProperties(_ref4, _excluded$3);
1982
2044
 
1983
2045
  // eslint-disable-next-line no-use-before-define
1984
2046
  group.push(parseGroup$1({
@@ -2005,7 +2067,7 @@ var parseTimeSpan = function parseTimeSpan(timeSpan) {
2005
2067
  start = _timeSpan$start === void 0 ? '-INF' : _timeSpan$start,
2006
2068
  _timeSpan$end = timeSpan.end,
2007
2069
  end = _timeSpan$end === void 0 ? '+INF' : _timeSpan$end,
2008
- groupsOrFields = _objectWithoutProperties(timeSpan, ["start", "end"]);
2070
+ groupsOrFields = _objectWithoutProperties(timeSpan, _excluded2$2);
2009
2071
 
2010
2072
  var _parseGroupsOrFields2 = parseGroupsOrFields(groupsOrFields),
2011
2073
  group = _parseGroupsOrFields2.group,
@@ -2096,6 +2158,7 @@ var DEFAULT_ALLOWED_MIME_TYPES = [].concat(VIDEO_MIME_TYPES, IMAGE_MIME_TYPES, A
2096
2158
  var DEFAULT_ALLOWED_METHODS = ['http', 'https'];
2097
2159
  var MP4_MIMETYPE = 'video/mp4';
2098
2160
  var QUICKTIME_MIMETYPE = 'video/quicktime';
2161
+ var M4V_MIMETYPE = 'video/x-m4v';
2099
2162
  var MP4_CONTAINER = 'MPEG-4';
2100
2163
  var MOV_CONTAINER = 'mov';
2101
2164
  var H264_CODEC = 'h264'; // Sort by tags in the order of previewShapeOrder, secondary alphabetical.
@@ -2142,7 +2205,7 @@ var filterShapeSource = function filterShapeSource() {
2142
2205
 
2143
2206
  if (mimeType) {
2144
2207
  type = mimeType;
2145
- if (mimeType === QUICKTIME_MIMETYPE && (containerFormat === MP4_CONTAINER || containerFormat === MOV_CONTAINER) && videoCodec === H264_CODEC) type = MP4_MIMETYPE;
2208
+ if ((mimeType === QUICKTIME_MIMETYPE || mimeType === M4V_MIMETYPE) && (containerFormat === MP4_CONTAINER || containerFormat === MOV_CONTAINER) && videoCodec === H264_CODEC) type = MP4_MIMETYPE;
2146
2209
  }
2147
2210
 
2148
2211
  if (uri) {
@@ -2172,6 +2235,7 @@ var filterShapeSource = function filterShapeSource() {
2172
2235
  var IMAGE = 'IMAGE';
2173
2236
  var AUDIO = 'AUDIO';
2174
2237
  var VIDEO = 'VIDEO';
2238
+ var DOCUMENT = 'DOCUMENT';
2175
2239
 
2176
2240
  var getShapeMediaType = function getShapeMediaType() {
2177
2241
  var shape = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -2190,6 +2254,11 @@ var getShapeMediaType = function getShapeMediaType() {
2190
2254
  }
2191
2255
 
2192
2256
  if (mimeType.startsWith('image/')) return IMAGE;
2257
+ if (mimeType.endsWith('/pdf')) return DOCUMENT;
2258
+ if (mimeType.startsWith('text/')) return DOCUMENT;
2259
+ if (mimeType.endsWith('/msword')) return DOCUMENT;
2260
+ if (mimeType.endsWith('/json')) return DOCUMENT;
2261
+ if (mimeType.endsWith('/xml')) return DOCUMENT;
2193
2262
  return undefined;
2194
2263
  };
2195
2264
 
@@ -2508,6 +2577,26 @@ var parseHighlightTimespanList = function parseHighlightTimespanList() {
2508
2577
  }, {});
2509
2578
  };
2510
2579
 
2580
+ var PDF = 'PDF';
2581
+ var TEXT = 'TEXT';
2582
+ var MSWORD = 'MSWORD';
2583
+ var JSON$1 = 'JSON';
2584
+ var XML = 'XML';
2585
+
2586
+ var getDocumentType = function getDocumentType() {
2587
+ var shape = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2588
+ var mimeType = shape.mimeType;
2589
+ if (!mimeType) return undefined;
2590
+ if (mimeType.endsWith('/pdf')) return PDF;
2591
+ if (mimeType.startsWith('text/')) return TEXT;
2592
+ if (mimeType.endsWith('/msword')) return MSWORD;
2593
+ if (mimeType.endsWith('/json')) return JSON$1;
2594
+ if (mimeType.endsWith('/xml')) return XML;
2595
+ return undefined;
2596
+ };
2597
+
2598
+ exports.TimeBase = TimeBase;
2599
+ exports.TimeCode = TimeCode;
2511
2600
  exports.createFacetType = createFacetType;
2512
2601
  exports.createMetadataType = createMetadataType;
2513
2602
  exports.filterShapeSource = filterShapeSource;
@@ -2521,6 +2610,7 @@ exports.formatTimeBaseText = formatTimeBaseText;
2521
2610
  exports.formatTimeBaseType = formatTimeBaseType;
2522
2611
  exports.formatTimeCodeText = formatTimeCodeText;
2523
2612
  exports.formatTimeCodeType = formatTimeCodeType;
2613
+ exports.getDocumentType = getDocumentType;
2524
2614
  exports.getShapeMediaType = getShapeMediaType;
2525
2615
  exports.metadataTypeToWebVtt = metadataTypeToWebVtt;
2526
2616
  exports.parseAspectRatio = parseAspectRatio;