@vidispine/vdt-js 22.3.0 → 22.3.1-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.es.js CHANGED
@@ -7,9 +7,28 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
7
7
  import _createClass from '@babel/runtime/helpers/createClass';
8
8
  import parseFileSize from 'filesize';
9
9
 
10
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
+ var gcd = function gcd(a, b) {
11
+ return b ? gcd(b, a % b) : a;
12
+ };
11
13
 
12
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ var parseAspectRatio = function parseAspectRatio(_ref) {
15
+ var width = _ref.width,
16
+ height = _ref.height;
17
+ var denominator = gcd(width, height);
18
+ var widthRatio = width / denominator;
19
+ var heightRatio = height / denominator;
20
+
21
+ if (widthRatio > 21) {
22
+ heightRatio = 1;
23
+ widthRatio = (width / height).toFixed(2);
24
+ }
25
+
26
+ return [widthRatio, heightRatio].join(':');
27
+ };
28
+
29
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+
31
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
32
 
14
33
  var parseKeyValuePairType = function parseKeyValuePairType() {
15
34
  var keyValuePairType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -17,7 +36,7 @@ var parseKeyValuePairType = function parseKeyValuePairType() {
17
36
  var keyValuePairTypeReducer = function keyValuePairTypeReducer(a, _ref) {
18
37
  var key = _ref.key,
19
38
  value = _ref.value;
20
- return _objectSpread$8(_objectSpread$8({}, a), {}, _defineProperty({}, key, value));
39
+ return _objectSpread$b(_objectSpread$b({}, a), {}, _defineProperty({}, key, value));
21
40
  };
22
41
 
23
42
  return keyValuePairType.reduce(keyValuePairTypeReducer, {});
@@ -247,9 +266,9 @@ var roles = /*#__PURE__*/Object.freeze({
247
266
  var _excluded$8 = ["value"],
248
267
  _excluded2$2 = ["start", "end"];
249
268
 
250
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
269
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
251
270
 
252
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
271
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
253
272
 
254
273
  var COMBINED_PROPERTY_KEYS = ['uuid', 'user', 'timestamp', 'change', 'conflict', 'mode', 'name', 'id', 'referenced', 'data', 'inheritance'];
255
274
  var GROUP_PROPERTY_KEYS = [].concat(COMBINED_PROPERTY_KEYS, ['cycle']);
@@ -334,7 +353,7 @@ var parseValueObject = function parseValueObject(valueObject) {
334
353
  }
335
354
 
336
355
  var parsedValue = parseValue(valueObject === null || valueObject === void 0 ? void 0 : valueObject.value);
337
- return _objectSpread$7(_objectSpread$7({}, valueObject), parsedValue !== undefined ? parsedValue : {});
356
+ return _objectSpread$a(_objectSpread$a({}, valueObject), parsedValue !== undefined ? parsedValue : {});
338
357
  };
339
358
 
340
359
  var parseFieldValue = function parseFieldValue(value) {
@@ -355,7 +374,7 @@ var parseFieldObject = function parseFieldObject(fieldObject) {
355
374
  return fieldObjectWithoutValue;
356
375
  }
357
376
 
358
- return _objectSpread$7(_objectSpread$7({}, fieldObject), {}, {
377
+ return _objectSpread$a(_objectSpread$a({}, fieldObject), {}, {
359
378
  value: _toConsumableArray(Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
360
379
  });
361
380
  };
@@ -386,10 +405,10 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
386
405
  value = _ref2[1];
387
406
 
388
407
  if (GROUP_PROPERTY_KEYS.includes(name)) {
389
- groupAttributes = _objectSpread$7(_objectSpread$7({}, groupAttributes), {}, _defineProperty({}, name, value));
408
+ groupAttributes = _objectSpread$a(_objectSpread$a({}, groupAttributes), {}, _defineProperty({}, name, value));
390
409
  } else if (isField(value)) {
391
410
  try {
392
- field.push(_objectSpread$7({
411
+ field.push(_objectSpread$a({
393
412
  name: name
394
413
  }, parseField$1(value)));
395
414
  } catch (error) {
@@ -397,7 +416,7 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
397
416
  }
398
417
  } else if (isGroup(value)) {
399
418
  (Array.isArray(value) ? value : [value]).forEach(function (v) {
400
- group.push(_objectSpread$7({
419
+ group.push(_objectSpread$a({
401
420
  name: name
402
421
  }, parseGroupsAndFields(v)));
403
422
  });
@@ -405,7 +424,7 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
405
424
  throw Error("Unhandled value for \"".concat(name, "\""));
406
425
  }
407
426
  });
408
- return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, groupAttributes), group.length > 0 ? {
427
+ return _objectSpread$a(_objectSpread$a(_objectSpread$a({}, groupAttributes), group.length > 0 ? {
409
428
  group: group
410
429
  } : {}), field.length > 0 ? {
411
430
  field: field
@@ -426,7 +445,7 @@ var parseTimespan$1 = function parseTimespan() {
426
445
  group = _parseGroupsAndFields.group,
427
446
  field = _parseGroupsAndFields.field;
428
447
 
429
- return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, group ? {
448
+ return _objectSpread$a(_objectSpread$a(_objectSpread$a({}, group ? {
430
449
  group: group
431
450
  } : {}), field ? {
432
451
  field: field
@@ -479,9 +498,9 @@ var _excluded$7 = ["value"],
479
498
  _excluded2$1 = ["field", "group"],
480
499
  _excluded3 = ["field", "group"];
481
500
 
482
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
501
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
483
502
 
484
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
503
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
485
504
 
486
505
  var parseValueList = function parseValueList() {
487
506
  var valueList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -523,7 +542,7 @@ var parseField = function parseField() {
523
542
  attributes = _objectWithoutProperties(field, _excluded$7);
524
543
 
525
544
  var parsedValueList = parseValueList(value, options);
526
- if (includeAttributes || includeFieldAttributes) return _objectSpread$6(_objectSpread$6({}, attributes), {}, {
545
+ if (includeAttributes || includeFieldAttributes) return _objectSpread$9(_objectSpread$9({}, attributes), {}, {
527
546
  value: parsedValueList
528
547
  });
529
548
  return parsedValueList;
@@ -658,8 +677,8 @@ var parseGroupList = function parseGroupList() {
658
677
  currentGroup = _output$key.group;
659
678
  var parsedField = parsedGroup.field,
660
679
  parsedGroupList = parsedGroup.group;
661
- output[key].field = _objectSpread$6(_objectSpread$6({}, currentField), parsedField);
662
- output[key].group = _objectSpread$6(_objectSpread$6({}, currentGroup), parsedGroupList);
680
+ output[key].field = _objectSpread$9(_objectSpread$9({}, currentField), parsedField);
681
+ output[key].group = _objectSpread$9(_objectSpread$9({}, currentGroup), parsedGroupList);
663
682
  } else {
664
683
  output[key] = parsedGroup;
665
684
  }
@@ -742,9 +761,9 @@ var parseTimespan = function parseTimespan() {
742
761
  return output;
743
762
  };
744
763
 
745
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
764
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
746
765
 
747
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
766
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
748
767
  /**
749
768
  * Parses timespanList according to specified options.
750
769
  * The attributes can be targeted for each sub-type.
@@ -793,15 +812,15 @@ var parseTimespanList = function parseTimespanList() {
793
812
  var parsedTimespan = parseTimespan(thisTimespan, options);
794
813
 
795
814
  if (flat) {
796
- output = _objectSpread$5(_objectSpread$5({}, output), parsedTimespan);
815
+ output = _objectSpread$8(_objectSpread$8({}, output), parsedTimespan);
797
816
  } else if (output[key]) {
798
817
  var _output$key = output[key],
799
818
  currentField = _output$key.field,
800
819
  currentGroup = _output$key.group;
801
820
  var parsedField = parsedTimespan.field,
802
821
  parsedGroup = parsedTimespan.group;
803
- output[key].field = _objectSpread$5(_objectSpread$5({}, currentField), parsedField);
804
- output[key].group = _objectSpread$5(_objectSpread$5({}, currentGroup), parsedGroup);
822
+ output[key].field = _objectSpread$8(_objectSpread$8({}, currentField), parsedField);
823
+ output[key].group = _objectSpread$8(_objectSpread$8({}, currentGroup), parsedGroup);
805
824
  } else {
806
825
  output[key] = parsedTimespan;
807
826
  }
@@ -866,90 +885,6 @@ var parseSimpleMetadataType = function parseSimpleMetadataType() {
866
885
  return parseKeyValuePairType(field);
867
886
  };
868
887
 
869
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
870
-
871
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
872
-
873
- /**
874
- * Parses highlight timespan in VidiCore into key/value object.
875
- * The attributes can be targeted for each sub-type.
876
- * @param {Object[]} highlightTimespan - A VidiCore timespan object.
877
- * @param {Object} options - Options which change how the timespans are parsed.
878
- * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
879
- * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
880
- * @param {string} options.joinValue - String to join the values, eg ','.
881
- */
882
- var parseHighlightTimespan = function parseHighlightTimespan() {
883
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
884
- _ref$field = _ref.field,
885
- field = _ref$field === void 0 ? [] : _ref$field,
886
- start = _ref.start,
887
- end = _ref.end;
888
-
889
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
890
- var _options$arrayOnSingl = options.arrayOnSingle,
891
- arrayOnSingle = _options$arrayOnSingl === void 0 ? true : _options$arrayOnSingl,
892
- _options$joinValue = options.joinValue,
893
- joinValue = _options$joinValue === void 0 ? undefined : _options$joinValue,
894
- _options$timespanAsLi = options.timespanAsList,
895
- timespanAsList = _options$timespanAsLi === void 0 ? undefined : _options$timespanAsLi;
896
- var initialValue = timespanAsList ? {
897
- start: start,
898
- end: end
899
- } : {};
900
- var fieldList = field.reduce(function (a, _ref2) {
901
- var name = _ref2.name,
902
- _ref2$value = _ref2.value,
903
- valueList = _ref2$value === void 0 ? [] : _ref2$value;
904
- if (valueList.length === 0) return a;
905
- var fieldValue;
906
-
907
- if (arrayOnSingle === false && valueList.length === 1) {
908
- var _valueList = _slicedToArray(valueList, 1);
909
-
910
- fieldValue = _valueList[0];
911
- } else if (joinValue) fieldValue = valueList.join(joinValue);else fieldValue = valueList;
912
-
913
- return _objectSpread$4(_objectSpread$4({}, a), {}, _defineProperty({}, name, fieldValue));
914
- }, initialValue);
915
- return fieldList;
916
- };
917
-
918
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
919
-
920
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
921
- /**
922
- * Parses highlight timespans from VidiCore into key/value object.
923
- * The attributes can be targeted for each sub-type.
924
- * @param {Object} highlightTimespanList - A list of timespans from VidiCore.
925
- * @param {Object} options - Options which change how the timespans are parsed.
926
- * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
927
- * @param {string} options.joinValue - String to join the values, eg ','.
928
- * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
929
- * @param {boolean} [options.flat=false] - Flatten to field-name/field-value (Note: field-values may be overwritten).
930
- * @param {boolean} [options.flatTimespan=false] - Flatten timespan to object with start/end as key.
931
- * @param {string} [options.joinTimespan=_] - Character to join the start/end timecodes.
932
- */
933
-
934
- var parseHighlightTimespanList = function parseHighlightTimespanList() {
935
- var highlightTimespanList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
936
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
937
- var flat = options.flat,
938
- timespanAsList = options.timespanAsList,
939
- _options$joinTimespan = options.joinTimespan,
940
- joinTimespan = _options$joinTimespan === void 0 ? '_' : _options$joinTimespan,
941
- flatTimespan = options.flatTimespan;
942
- if (timespanAsList === true) return highlightTimespanList.map(function (timespan) {
943
- return parseHighlightTimespan(timespan, options);
944
- });
945
- if (flat === true || flatTimespan === true) return highlightTimespanList.reduce(function (a, timespan) {
946
- return _objectSpread$3(_objectSpread$3({}, a), parseHighlightTimespan(timespan, options));
947
- }, {});
948
- return highlightTimespanList.reduce(function (a, timespan) {
949
- return _objectSpread$3(_objectSpread$3({}, a), {}, _defineProperty({}, [timespan.start, timespan.end].join(joinTimespan), parseHighlightTimespan(timespan, options)));
950
- }, {});
951
- };
952
-
953
888
  var MAP_CONSTANT_TO_DEN_NUM = {
954
889
  PAL: {
955
890
  denominator: 25,
@@ -1793,11 +1728,6 @@ var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds) {
1793
1728
  timeCodeOptions = _objectWithoutProperties(options, _excluded$4);
1794
1729
 
1795
1730
  var secondsWithDot = "".concat(seconds).replace(/,/g, '.');
1796
- var amountOfDigits = secondsWithDot.replace('.', '').length;
1797
-
1798
- if (amountOfDigits > 16) {
1799
- throw new Error("Amount of second digits cannot be more than 16, is ".concat(amountOfDigits));
1800
- }
1801
1731
 
1802
1732
  if (Number.isNaN(+secondsWithDot)) {
1803
1733
  throw new Error("seconds must be digits, is ".concat(seconds));
@@ -1838,9 +1768,9 @@ var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds) {
1838
1768
 
1839
1769
  var _excluded$3 = ["exceedingMode", "timeBase"];
1840
1770
 
1841
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1771
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1842
1772
 
1843
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1773
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1844
1774
  var MAP_SEPARATOR_TO_OPTIONS = {
1845
1775
  ':': {
1846
1776
  dropFrame: false,
@@ -1986,7 +1916,7 @@ var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte) {
1986
1916
 
1987
1917
  var timeBaseInstance = createTimeBase(timeBase);
1988
1918
 
1989
- var mergedOptions = _objectSpread$2(_objectSpread$2({}, timeCodeOptionsFromSmpte), {}, {
1919
+ var mergedOptions = _objectSpread$7(_objectSpread$7({}, timeCodeOptionsFromSmpte), {}, {
1990
1920
  dropFrame: isDropFrameTimeBase(timeBaseInstance)
1991
1921
  }, timeCodeOptions);
1992
1922
 
@@ -2245,9 +2175,9 @@ var createFacetType = function createFacetType() {
2245
2175
  });
2246
2176
  };
2247
2177
 
2248
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2178
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2249
2179
 
2250
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2180
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2251
2181
 
2252
2182
  var parseFacetType = function parseFacetType() {
2253
2183
  var facetType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -2256,7 +2186,7 @@ var parseFacetType = function parseFacetType() {
2256
2186
  var facetFieldReducer = function facetFieldReducer(a, _ref) {
2257
2187
  var fieldValue = _ref.fieldValue,
2258
2188
  value = _ref.value;
2259
- return _objectSpread$1(_objectSpread$1({}, a), {}, _defineProperty({}, fieldValue, value));
2189
+ return _objectSpread$6(_objectSpread$6({}, a), {}, _defineProperty({}, fieldValue, value));
2260
2190
  };
2261
2191
 
2262
2192
  facetType.forEach(function (_ref2) {
@@ -2268,41 +2198,95 @@ var parseFacetType = function parseFacetType() {
2268
2198
  return output;
2269
2199
  };
2270
2200
 
2271
- var _excluded$1 = ["property"];
2201
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2272
2202
 
2273
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2203
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2274
2204
 
2275
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2276
- var sampleRateSymbols = {
2277
- kB: 'kHz',
2278
- B: 'Hz',
2279
- mB: 'mHz'
2280
- };
2281
- var bitRateSymbols = {
2282
- kB: 'kbps',
2283
- B: 'bps',
2284
- MB: 'mbps'
2285
- };
2205
+ /**
2206
+ * Parses highlight timespan in VidiCore into key/value object.
2207
+ * The attributes can be targeted for each sub-type.
2208
+ * @param {Object[]} highlightTimespan - A VidiCore timespan object.
2209
+ * @param {Object} options - Options which change how the timespans are parsed.
2210
+ * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
2211
+ * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
2212
+ * @param {string} options.joinValue - String to join the values, eg ','.
2213
+ */
2214
+ var parseHighlightTimespan = function parseHighlightTimespan() {
2215
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2216
+ _ref$field = _ref.field,
2217
+ field = _ref$field === void 0 ? [] : _ref$field,
2218
+ start = _ref.start,
2219
+ end = _ref.end;
2286
2220
 
2287
- var gcd = function gcd(a, b) {
2288
- return b ? gcd(b, a % b) : a;
2221
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2222
+ var _options$arrayOnSingl = options.arrayOnSingle,
2223
+ arrayOnSingle = _options$arrayOnSingl === void 0 ? true : _options$arrayOnSingl,
2224
+ _options$joinValue = options.joinValue,
2225
+ joinValue = _options$joinValue === void 0 ? undefined : _options$joinValue,
2226
+ _options$timespanAsLi = options.timespanAsList,
2227
+ timespanAsList = _options$timespanAsLi === void 0 ? undefined : _options$timespanAsLi;
2228
+ var initialValue = timespanAsList ? {
2229
+ start: start,
2230
+ end: end
2231
+ } : {};
2232
+ var fieldList = field.reduce(function (a, _ref2) {
2233
+ var name = _ref2.name,
2234
+ _ref2$value = _ref2.value,
2235
+ valueList = _ref2$value === void 0 ? [] : _ref2$value;
2236
+ if (valueList.length === 0) return a;
2237
+ var fieldValue;
2238
+
2239
+ if (arrayOnSingle === false && valueList.length === 1) {
2240
+ var _valueList = _slicedToArray(valueList, 1);
2241
+
2242
+ fieldValue = _valueList[0];
2243
+ } else if (joinValue) fieldValue = valueList.join(joinValue);else fieldValue = valueList;
2244
+
2245
+ return _objectSpread$5(_objectSpread$5({}, a), {}, _defineProperty({}, name, fieldValue));
2246
+ }, initialValue);
2247
+ return fieldList;
2289
2248
  };
2290
2249
 
2291
- var parseAspectRatio = function parseAspectRatio(_ref) {
2292
- var width = _ref.width,
2293
- height = _ref.height;
2294
- var denominator = gcd(width, height);
2295
- var widthRatio = width / denominator;
2296
- var heightRatio = height / denominator;
2250
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2297
2251
 
2298
- if (widthRatio > 21) {
2299
- heightRatio = 1;
2300
- widthRatio = (width / height).toFixed(2);
2301
- }
2252
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2253
+ /**
2254
+ * Parses highlight timespans from VidiCore into key/value object.
2255
+ * The attributes can be targeted for each sub-type.
2256
+ * @param {Object} highlightTimespanList - A list of timespans from VidiCore.
2257
+ * @param {Object} options - Options which change how the timespans are parsed.
2258
+ * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
2259
+ * @param {string} options.joinValue - String to join the values, eg ','.
2260
+ * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
2261
+ * @param {boolean} [options.flat=false] - Flatten to field-name/field-value (Note: field-values may be overwritten).
2262
+ * @param {boolean} [options.flatTimespan=false] - Flatten timespan to object with start/end as key.
2263
+ * @param {string} [options.joinTimespan=_] - Character to join the start/end timecodes.
2264
+ */
2302
2265
 
2303
- return [widthRatio, heightRatio].join(':');
2266
+ var parseHighlightTimespanList = function parseHighlightTimespanList() {
2267
+ var highlightTimespanList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
2268
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2269
+ var flat = options.flat,
2270
+ timespanAsList = options.timespanAsList,
2271
+ _options$joinTimespan = options.joinTimespan,
2272
+ joinTimespan = _options$joinTimespan === void 0 ? '_' : _options$joinTimespan,
2273
+ flatTimespan = options.flatTimespan;
2274
+ if (timespanAsList === true) return highlightTimespanList.map(function (timespan) {
2275
+ return parseHighlightTimespan(timespan, options);
2276
+ });
2277
+ if (flat === true || flatTimespan === true) return highlightTimespanList.reduce(function (a, timespan) {
2278
+ return _objectSpread$4(_objectSpread$4({}, a), parseHighlightTimespan(timespan, options));
2279
+ }, {});
2280
+ return highlightTimespanList.reduce(function (a, timespan) {
2281
+ return _objectSpread$4(_objectSpread$4({}, a), {}, _defineProperty({}, [timespan.start, timespan.end].join(joinTimespan), parseHighlightTimespan(timespan, options)));
2282
+ }, {});
2304
2283
  };
2305
2284
 
2285
+ var _excluded$1 = ["property"];
2286
+
2287
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2288
+
2289
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2306
2290
  var parseBaseMediaInfoType = function parseBaseMediaInfoType() {
2307
2291
  var baseMediaInfoType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2308
2292
 
@@ -2310,7 +2294,64 @@ var parseBaseMediaInfoType = function parseBaseMediaInfoType() {
2310
2294
  props = _objectWithoutProperties(baseMediaInfoType, _excluded$1);
2311
2295
 
2312
2296
  var parsedKeyValuePairType = parseKeyValuePairType(keyValuePairType);
2313
- return _objectSpread(_objectSpread({}, parsedKeyValuePairType), props);
2297
+ return _objectSpread$3(_objectSpread$3({}, parsedKeyValuePairType), props);
2298
+ };
2299
+
2300
+ var sampleRateSymbols = {
2301
+ kB: 'kHz',
2302
+ B: 'Hz',
2303
+ mB: 'mHz'
2304
+ };
2305
+ var bitRateSymbols = {
2306
+ kB: 'kbps',
2307
+ B: 'bps',
2308
+ MB: 'mbps'
2309
+ };
2310
+ /**
2311
+ * Parses the technical information of a AudioComponentType.
2312
+ * @param {Object} audioComponentType - A AudioComponentType from VidiCore.
2313
+ * @returns {Object} Parsed component object.
2314
+ */
2315
+
2316
+ var parseAudioComponentType = function parseAudioComponentType() {
2317
+ var audioComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2318
+ var _audioComponentType$t = audioComponentType.timeBase,
2319
+ timeBase = _audioComponentType$t === void 0 ? {} : _audioComponentType$t,
2320
+ audioChannels = audioComponentType.channelCount,
2321
+ audioCodec = audioComponentType.codec,
2322
+ _audioComponentType$m = audioComponentType.mediaInfo,
2323
+ mediaInfo = _audioComponentType$m === void 0 ? {} : _audioComponentType$m,
2324
+ bitrate = audioComponentType.bitrate,
2325
+ _audioComponentType$m2 = audioComponentType.metadata,
2326
+ metadata = _audioComponentType$m2 === void 0 ? [] : _audioComponentType$m2;
2327
+ var audioMediaInfo = parseBaseMediaInfoType(mediaInfo);
2328
+ var audioMetadata = parseKeyValuePairType(metadata);
2329
+ var audioFormat = audioMediaInfo.Format,
2330
+ audioBitDepth = audioMediaInfo.Resolution,
2331
+ audioBitRateMode = audioMediaInfo.Bit_rate_mode;
2332
+ var audioSamplerateSamples = timeBase.denominator ? timeBase.denominator / timeBase.numerator : undefined;
2333
+ var audioSamplerate = audioSamplerateSamples ? parseFileSize(audioSamplerateSamples, {
2334
+ base: 10,
2335
+ round: 1,
2336
+ symbols: sampleRateSymbols
2337
+ }) : undefined;
2338
+ var audioBitrate = bitrate ? parseFileSize(bitrate, {
2339
+ base: 10,
2340
+ round: 2,
2341
+ symbols: bitRateSymbols
2342
+ }) : undefined;
2343
+ return {
2344
+ audioFormat: audioFormat,
2345
+ audioCodec: audioCodec,
2346
+ audioSamplerate: audioSamplerate,
2347
+ audioSamplerateSamples: audioSamplerateSamples,
2348
+ audioBitDepth: audioBitDepth,
2349
+ audioBitrate: audioBitrate,
2350
+ audioBitRateMode: audioBitRateMode,
2351
+ audioChannels: audioChannels,
2352
+ audioMediaInfo: audioMediaInfo,
2353
+ audioMetadata: audioMetadata
2354
+ };
2314
2355
  };
2315
2356
 
2316
2357
  var parseFileType = function parseFileType(fileType) {
@@ -2337,16 +2378,60 @@ var parseFileType = function parseFileType(fileType) {
2337
2378
  };
2338
2379
  };
2339
2380
 
2340
- var parseContainerComponent = function parseContainerComponent(containerComponent) {
2341
- var _containerComponent$m = containerComponent.mediaInfo,
2342
- mediaInfo = _containerComponent$m === void 0 ? {} : _containerComponent$m,
2343
- _containerComponent$m2 = containerComponent.metadata,
2344
- metadata = _containerComponent$m2 === void 0 ? [] : _containerComponent$m2,
2345
- fileList = containerComponent.file,
2346
- durationTimeCode = containerComponent.duration,
2347
- startTimestamp = containerComponent.startTimestamp,
2348
- startTimecode = containerComponent.startTimecode,
2349
- timeCodeTimeBase = containerComponent.timeCodeTimeBase;
2381
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2382
+
2383
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2384
+ /**
2385
+ * Parses the technical information of a BinaryComponentType.
2386
+ * @param {Object} binaryComponentType - A BinaryComponentType from VidiCore.
2387
+ * @returns {Object} Parsed component object.
2388
+ */
2389
+
2390
+ var parseBinaryComponentType = function parseBinaryComponentType() {
2391
+ var binaryComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2392
+ var fileList = binaryComponentType.file,
2393
+ _binaryComponentType$ = binaryComponentType.mediaInfo,
2394
+ mediaInfo = _binaryComponentType$ === void 0 ? {} : _binaryComponentType$,
2395
+ _binaryComponentType$2 = binaryComponentType.metadata,
2396
+ metadata = _binaryComponentType$2 === void 0 ? [] : _binaryComponentType$2;
2397
+ var binaryMetadata = parseKeyValuePairType(metadata);
2398
+ var binaryMediaInfo = parseBaseMediaInfoType(mediaInfo);
2399
+ var parsedBinaryComponent = {
2400
+ binaryMetadata: binaryMetadata,
2401
+ binaryMediaInfo: binaryMediaInfo
2402
+ };
2403
+
2404
+ if (fileList) {
2405
+ var _fileList = _slicedToArray(fileList, 1),
2406
+ fileType = _fileList[0];
2407
+
2408
+ var parsedFileType = parseFileType(fileType);
2409
+ parsedBinaryComponent = _objectSpread$2(_objectSpread$2({}, parsedBinaryComponent), parsedFileType);
2410
+ }
2411
+
2412
+ return parsedBinaryComponent;
2413
+ };
2414
+
2415
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2416
+
2417
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2418
+ /**
2419
+ * Parses the technical information of a ContainerComponentType.
2420
+ * @param {Object} containerComponentType - A ContainerComponentType from VidiCore.
2421
+ * @returns {Object} Parsed component object.
2422
+ */
2423
+
2424
+ var parseContainerComponentType = function parseContainerComponentType() {
2425
+ var containerComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2426
+ var _containerComponentTy = containerComponentType.mediaInfo,
2427
+ mediaInfo = _containerComponentTy === void 0 ? {} : _containerComponentTy,
2428
+ _containerComponentTy2 = containerComponentType.metadata,
2429
+ metadata = _containerComponentTy2 === void 0 ? [] : _containerComponentTy2,
2430
+ fileList = containerComponentType.file,
2431
+ durationTimeCode = containerComponentType.duration,
2432
+ startTimestamp = containerComponentType.startTimestamp,
2433
+ startTimecode = containerComponentType.startTimecode,
2434
+ timeCodeTimeBase = containerComponentType.timeCodeTimeBase;
2350
2435
  var containerMetadata = parseKeyValuePairType(metadata);
2351
2436
  var containerMediaInfo = parseBaseMediaInfoType(mediaInfo);
2352
2437
  var containerFormat = containerMediaInfo.Format;
@@ -2355,7 +2440,7 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2355
2440
  textFormat = containerMediaInfo.Text_Format_List;
2356
2441
 
2357
2442
  if (containerFormat === undefined) {
2358
- var format = containerComponent.format;
2443
+ var format = containerComponentType.format;
2359
2444
  containerFormat = format;
2360
2445
 
2361
2446
  if (format && format.includes(',')) {
@@ -2367,7 +2452,7 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2367
2452
  }
2368
2453
  }
2369
2454
 
2370
- var parsedContainerComponent = {
2455
+ var parsedContainerComponentType = {
2371
2456
  containerFormat: containerFormat,
2372
2457
  videoFormat: videoFormat,
2373
2458
  audioFormat: audioFormat,
@@ -2377,21 +2462,21 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2377
2462
  };
2378
2463
 
2379
2464
  if (containerMetadata.componentOriginalFilename) {
2380
- parsedContainerComponent.originalFilename = containerMetadata.componentOriginalFilename;
2465
+ parsedContainerComponentType.originalFilename = containerMetadata.componentOriginalFilename;
2381
2466
  }
2382
2467
 
2383
2468
  if (durationTimeCode !== undefined && durationTimeCode.samples !== 0) {
2384
2469
  var timeCode = formatTimeCodeType(durationTimeCode);
2385
- parsedContainerComponent.durationTimeCode = timeCode.toObject();
2386
- parsedContainerComponent.duration = timeCode.toDuration();
2470
+ parsedContainerComponentType.durationTimeCode = timeCode.toObject();
2471
+ parsedContainerComponentType.duration = timeCode.toDuration();
2387
2472
  }
2388
2473
 
2389
2474
  if (startTimestamp) {
2390
- parsedContainerComponent.startTimestamp = formatTimeCodeType(startTimestamp).toObject();
2475
+ parsedContainerComponentType.startTimestamp = formatTimeCodeType(startTimestamp).toObject();
2391
2476
  }
2392
2477
 
2393
2478
  if (startTimecode !== undefined && timeCodeTimeBase) {
2394
- parsedContainerComponent.startTimecode = formatTimeCodeType({
2479
+ parsedContainerComponentType.startTimecode = formatTimeCodeType({
2395
2480
  samples: startTimecode,
2396
2481
  timeBase: timeCodeTimeBase
2397
2482
  });
@@ -2402,22 +2487,29 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2402
2487
  fileType = _fileList[0];
2403
2488
 
2404
2489
  var parsedFileType = parseFileType(fileType);
2405
- parsedContainerComponent = _objectSpread(_objectSpread({}, parsedContainerComponent), parsedFileType);
2490
+ parsedContainerComponentType = _objectSpread$1(_objectSpread$1({}, parsedContainerComponentType), parsedFileType);
2406
2491
  }
2407
2492
 
2408
- return parsedContainerComponent;
2493
+ return parsedContainerComponentType;
2409
2494
  };
2410
2495
 
2411
- var parseVideoComponent = function parseVideoComponent(videoComponent) {
2412
- var videoCodec = videoComponent.codec,
2413
- bitrate = videoComponent.bitrate,
2414
- fieldOrder = videoComponent.fieldOrder,
2415
- _videoComponent$resol = videoComponent.resolution,
2416
- resolution = _videoComponent$resol === void 0 ? {} : _videoComponent$resol,
2417
- _videoComponent$media = videoComponent.mediaInfo,
2418
- mediaInfo = _videoComponent$media === void 0 ? {} : _videoComponent$media,
2419
- _videoComponent$metad = videoComponent.metadata,
2420
- metadata = _videoComponent$metad === void 0 ? [] : _videoComponent$metad;
2496
+ /**
2497
+ * Parses the technical information of a VideoComponentType.
2498
+ * @param {Object} videoComponentType - A VideoComponentType from VidiCore.
2499
+ * @returns {Object} Parsed component object.
2500
+ */
2501
+
2502
+ var parseVideoComponentType = function parseVideoComponentType() {
2503
+ var videoComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2504
+ var videoCodec = videoComponentType.codec,
2505
+ bitrate = videoComponentType.bitrate,
2506
+ fieldOrder = videoComponentType.fieldOrder,
2507
+ _videoComponentType$r = videoComponentType.resolution,
2508
+ resolution = _videoComponentType$r === void 0 ? {} : _videoComponentType$r,
2509
+ _videoComponentType$m = videoComponentType.mediaInfo,
2510
+ mediaInfo = _videoComponentType$m === void 0 ? {} : _videoComponentType$m,
2511
+ _videoComponentType$m2 = videoComponentType.metadata,
2512
+ metadata = _videoComponentType$m2 === void 0 ? [] : _videoComponentType$m2;
2421
2513
  var videoMediaInfo = parseBaseMediaInfoType(mediaInfo);
2422
2514
  var videoMetadata = parseKeyValuePairType(metadata);
2423
2515
  var videoFormat = videoMediaInfo.Format,
@@ -2426,8 +2518,8 @@ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2426
2518
  colorPrimaries = videoMediaInfo['Color primaries'],
2427
2519
  chromaSubsampling = videoMediaInfo.Colorimetry;
2428
2520
  var timeBase;
2429
- var averageFrameRate = videoComponent.averageFrameRate,
2430
- realBaseFrameRate = videoComponent.realBaseFrameRate;
2521
+ var averageFrameRate = videoComponentType.averageFrameRate,
2522
+ realBaseFrameRate = videoComponentType.realBaseFrameRate;
2431
2523
 
2432
2524
  if (realBaseFrameRate !== undefined) {
2433
2525
  timeBase = {
@@ -2446,7 +2538,7 @@ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2446
2538
  var samples = videoMediaInfo['Frame count'];
2447
2539
 
2448
2540
  if (samples === undefined) {
2449
- var numberOfPackets = videoComponent.numberOfPackets;
2541
+ var numberOfPackets = videoComponentType.numberOfPackets;
2450
2542
  if (numberOfPackets !== undefined) samples = numberOfPackets;
2451
2543
  }
2452
2544
 
@@ -2493,69 +2585,21 @@ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2493
2585
  };
2494
2586
  };
2495
2587
 
2496
- var parseAudioComponent = function parseAudioComponent(audioComponent) {
2497
- var _audioComponent$timeB = audioComponent.timeBase,
2498
- timeBase = _audioComponent$timeB === void 0 ? {} : _audioComponent$timeB,
2499
- audioChannels = audioComponent.channelCount,
2500
- audioCodec = audioComponent.codec,
2501
- _audioComponent$media = audioComponent.mediaInfo,
2502
- mediaInfo = _audioComponent$media === void 0 ? {} : _audioComponent$media,
2503
- bitrate = audioComponent.bitrate,
2504
- _audioComponent$metad = audioComponent.metadata,
2505
- metadata = _audioComponent$metad === void 0 ? [] : _audioComponent$metad;
2506
- var audioMediaInfo = parseBaseMediaInfoType(mediaInfo);
2507
- var audioMetadata = parseKeyValuePairType(metadata);
2508
- var audioFormat = audioMediaInfo.Format,
2509
- audioBitDepth = audioMediaInfo.Resolution,
2510
- audioBitRateMode = audioMediaInfo.Bit_rate_mode;
2511
- var audioSamplerateSamples = timeBase.denominator ? timeBase.denominator / timeBase.numerator : undefined;
2512
- var audioSamplerate = audioSamplerateSamples ? parseFileSize(audioSamplerateSamples, {
2513
- base: 10,
2514
- round: 1,
2515
- symbols: sampleRateSymbols
2516
- }) : undefined;
2517
- var audioBitrate = bitrate ? parseFileSize(bitrate, {
2518
- base: 10,
2519
- round: 2,
2520
- symbols: bitRateSymbols
2521
- }) : undefined;
2522
- return {
2523
- audioFormat: audioFormat,
2524
- audioCodec: audioCodec,
2525
- audioSamplerate: audioSamplerate,
2526
- audioSamplerateSamples: audioSamplerateSamples,
2527
- audioBitDepth: audioBitDepth,
2528
- audioBitrate: audioBitrate,
2529
- audioBitRateMode: audioBitRateMode,
2530
- audioChannels: audioChannels,
2531
- audioMediaInfo: audioMediaInfo,
2532
- audioMetadata: audioMetadata
2533
- };
2534
- };
2535
-
2536
- var parseBinaryComponent = function parseBinaryComponent(binaryComponent) {
2537
- var fileList = binaryComponent.file,
2538
- _binaryComponent$medi = binaryComponent.mediaInfo,
2539
- mediaInfo = _binaryComponent$medi === void 0 ? {} : _binaryComponent$medi,
2540
- _binaryComponent$meta = binaryComponent.metadata,
2541
- metadata = _binaryComponent$meta === void 0 ? [] : _binaryComponent$meta;
2542
- var binaryMetadata = parseKeyValuePairType(metadata);
2543
- var binaryMediaInfo = parseBaseMediaInfoType(mediaInfo);
2544
- var parsedBinaryComponent = {
2545
- binaryMetadata: binaryMetadata,
2546
- binaryMediaInfo: binaryMediaInfo
2547
- };
2548
-
2549
- if (fileList) {
2550
- var _fileList2 = _slicedToArray(fileList, 1),
2551
- fileType = _fileList2[0];
2552
-
2553
- var parsedFileType = parseFileType(fileType);
2554
- parsedBinaryComponent = _objectSpread(_objectSpread({}, parsedBinaryComponent), parsedFileType);
2555
- }
2588
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2556
2589
 
2557
- return parsedBinaryComponent;
2558
- };
2590
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2591
+ /**
2592
+ * Parses the technical information of a ShapeType and its various components.
2593
+ *
2594
+ * Will only parse the first videoComponent, audioComponent, binaryComponent in the corresponding array.
2595
+ * To parse a selected component see:
2596
+ * - {@link parseContainerComponentType}
2597
+ * - {@link parseVideoComponentType}
2598
+ * - {@link parseAudioComponentType}
2599
+ * - {@link parseBinaryComponentType}
2600
+ * @param {Object} shapeType - A ShapeType from VidiCore.
2601
+ * @returns {Object} Parsed shape object.
2602
+ */
2559
2603
 
2560
2604
  var parseShapeType = function parseShapeType() {
2561
2605
  var shapeType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -2578,7 +2622,7 @@ var parseShapeType = function parseShapeType() {
2578
2622
  parsedShape.mimeType = _mimeTypeList[0];
2579
2623
 
2580
2624
  if (containerComponent) {
2581
- var parsedContainerComponent = parseContainerComponent(containerComponent);
2625
+ var parsedContainerComponent = parseContainerComponentType(containerComponent, shapeType);
2582
2626
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedContainerComponent);
2583
2627
  }
2584
2628
 
@@ -2586,7 +2630,7 @@ var parseShapeType = function parseShapeType() {
2586
2630
  var _videoComponentList = _slicedToArray(videoComponentList, 1),
2587
2631
  videoComponent = _videoComponentList[0];
2588
2632
 
2589
- var parsedVideoComponent = parseVideoComponent(videoComponent);
2633
+ var parsedVideoComponent = parseVideoComponentType(videoComponent, shapeType);
2590
2634
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedVideoComponent);
2591
2635
  }
2592
2636
 
@@ -2594,7 +2638,7 @@ var parseShapeType = function parseShapeType() {
2594
2638
  var _audioComponentList = _slicedToArray(audioComponentList, 1),
2595
2639
  audioComponent = _audioComponentList[0];
2596
2640
 
2597
- var parsedAudioComponent = parseAudioComponent(audioComponent);
2641
+ var parsedAudioComponent = parseAudioComponentType(audioComponent, shapeType);
2598
2642
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedAudioComponent);
2599
2643
  }
2600
2644
 
@@ -2602,13 +2646,47 @@ var parseShapeType = function parseShapeType() {
2602
2646
  var _binaryComponentList = _slicedToArray(binaryComponentList, 1),
2603
2647
  binaryComponent = _binaryComponentList[0];
2604
2648
 
2605
- var parsedBinaryComponent = parseBinaryComponent(binaryComponent);
2649
+ var parsedBinaryComponent = parseBinaryComponentType(binaryComponent, shapeType);
2606
2650
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedBinaryComponent);
2607
2651
  }
2608
2652
 
2609
2653
  return parsedShape;
2610
2654
  };
2611
2655
 
2656
+ /* eslint-disable no-console */
2657
+ /**
2658
+ * @deprecated please use {@link parseAudioComponentType}
2659
+ */
2660
+
2661
+ var parseAudioComponent = function parseAudioComponent(audioComponent) {
2662
+ console.warn('parseAudioComponent is deprecated, please use parseAudioComponentType');
2663
+ return parseAudioComponentType(audioComponent);
2664
+ };
2665
+ /**
2666
+ * @deprecated please use {@link parseBinaryComponentType}
2667
+ */
2668
+
2669
+ var parseBinaryComponent = function parseBinaryComponent(binaryComponent) {
2670
+ console.warn('parseBinaryComponent is deprecated, please use parseBinaryComponentType');
2671
+ return parseBinaryComponentType(binaryComponent);
2672
+ };
2673
+ /**
2674
+ * @deprecated please use {@link parseContainerComponentType}
2675
+ */
2676
+
2677
+ var parseContainerComponent = function parseContainerComponent(containerComponent) {
2678
+ console.warn('parseContainerComponent is deprecated, please use parseContainerComponentType');
2679
+ return parseContainerComponentType(containerComponent);
2680
+ };
2681
+ /**
2682
+ * @deprecated please use {@link parseVideoComponentType}
2683
+ */
2684
+
2685
+ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2686
+ console.warn('parseVideoComponent is deprecated, please use parseVideoComponentType');
2687
+ return parseVideoComponentType(videoComponent);
2688
+ };
2689
+
2612
2690
  var IMAGE_MIME_TYPES = ['image/apng', 'image/bmp', 'image/gif', 'image/jpeg', 'image/x-icon', 'image/png', 'image/svg+xml'];
2613
2691
  var VIDEO_MIME_TYPES = ['video/mp4'];
2614
2692
  var AUDIO_MIME_TYPES = ['audio/mp4', 'audio/mpeg', 'audio/x-aac', 'audio/aac', 'audio/x-wav', 'audio/wav', 'audio/accp', 'audio/ogg', 'audio/webm', 'audio/x-flac'];
@@ -2939,5 +3017,5 @@ var getDocumentType = function getDocumentType() {
2939
3017
  return undefined;
2940
3018
  };
2941
3019
 
2942
- export { SYSTEM_FIELDGROUPS, SYSTEM_FIELDS, TimeBase, TimeCode, createFacetType, createMetadataType, createTimeBase, createTimeCode, filterShapeSource, findNearestThumbnail, formatTimeBaseText, formatTimeBaseType, formatTimeCodeSeconds, formatTimeCodeSmpte, formatTimeCodeText, formatTimeCodeType, getDocumentType, getShapeMediaType, metadataTypeToWebVtt, parseAspectRatio, parseAudioComponent, parseBaseMediaInfoType, parseBinaryComponent, parseContainerComponent, parseFacetType, parseFileType, parseHighlightTimespan, parseHighlightTimespanList, parseKeyValuePairType, parseMediaConvertPreset, parseMetadataType, parseNowDate, parseShapeType, parseSimpleMetadataType, parseTimespan, parseTimespanList, parseTranscodePreset, parseVideoComponent, roles };
3020
+ export { SYSTEM_FIELDGROUPS, SYSTEM_FIELDS, TimeBase, TimeCode, createFacetType, createMetadataType, createTimeBase, createTimeCode, filterShapeSource, findNearestThumbnail, formatTimeBaseText, formatTimeBaseType, formatTimeCodeSeconds, formatTimeCodeSmpte, formatTimeCodeText, formatTimeCodeType, getDocumentType, getShapeMediaType, metadataTypeToWebVtt, parseAudioComponent, parseAudioComponentType, parseBinaryComponent, parseBinaryComponentType, parseContainerComponent, parseContainerComponentType, parseFacetType, parseFileType, parseHighlightTimespan, parseHighlightTimespanList, parseKeyValuePairType, parseMediaConvertPreset, parseMetadataType, parseNowDate, parseShapeType, parseSimpleMetadataType, parseTimespan, parseTimespanList, parseTranscodePreset, parseVideoComponent, parseVideoComponentType, roles };
2943
3021
  //# sourceMappingURL=index.es.js.map