@vidispine/vdt-js 22.3.0 → 22.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
@@ -22,9 +22,28 @@ var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallChec
22
22
  var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
23
23
  var parseFileSize__default = /*#__PURE__*/_interopDefaultLegacy(parseFileSize);
24
24
 
25
- 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; }
25
+ var gcd = function gcd(a, b) {
26
+ return b ? gcd(b, a % b) : a;
27
+ };
26
28
 
27
- 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__default["default"](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; }
29
+ var parseAspectRatio = function parseAspectRatio(_ref) {
30
+ var width = _ref.width,
31
+ height = _ref.height;
32
+ var denominator = gcd(width, height);
33
+ var widthRatio = width / denominator;
34
+ var heightRatio = height / denominator;
35
+
36
+ if (widthRatio > 21) {
37
+ heightRatio = 1;
38
+ widthRatio = (width / height).toFixed(2);
39
+ }
40
+
41
+ return [widthRatio, heightRatio].join(':');
42
+ };
43
+
44
+ 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; }
45
+
46
+ 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__default["default"](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; }
28
47
 
29
48
  var parseKeyValuePairType = function parseKeyValuePairType() {
30
49
  var keyValuePairType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -32,7 +51,7 @@ var parseKeyValuePairType = function parseKeyValuePairType() {
32
51
  var keyValuePairTypeReducer = function keyValuePairTypeReducer(a, _ref) {
33
52
  var key = _ref.key,
34
53
  value = _ref.value;
35
- return _objectSpread$8(_objectSpread$8({}, a), {}, _defineProperty__default["default"]({}, key, value));
54
+ return _objectSpread$b(_objectSpread$b({}, a), {}, _defineProperty__default["default"]({}, key, value));
36
55
  };
37
56
 
38
57
  return keyValuePairType.reduce(keyValuePairTypeReducer, {});
@@ -262,9 +281,9 @@ var roles = /*#__PURE__*/Object.freeze({
262
281
  var _excluded$8 = ["value"],
263
282
  _excluded2$2 = ["start", "end"];
264
283
 
265
- 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; }
284
+ 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; }
266
285
 
267
- 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__default["default"](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; }
286
+ 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__default["default"](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; }
268
287
 
269
288
  var COMBINED_PROPERTY_KEYS = ['uuid', 'user', 'timestamp', 'change', 'conflict', 'mode', 'name', 'id', 'referenced', 'data', 'inheritance'];
270
289
  var GROUP_PROPERTY_KEYS = [].concat(COMBINED_PROPERTY_KEYS, ['cycle']);
@@ -349,7 +368,7 @@ var parseValueObject = function parseValueObject(valueObject) {
349
368
  }
350
369
 
351
370
  var parsedValue = parseValue(valueObject === null || valueObject === void 0 ? void 0 : valueObject.value);
352
- return _objectSpread$7(_objectSpread$7({}, valueObject), parsedValue !== undefined ? parsedValue : {});
371
+ return _objectSpread$a(_objectSpread$a({}, valueObject), parsedValue !== undefined ? parsedValue : {});
353
372
  };
354
373
 
355
374
  var parseFieldValue = function parseFieldValue(value) {
@@ -370,7 +389,7 @@ var parseFieldObject = function parseFieldObject(fieldObject) {
370
389
  return fieldObjectWithoutValue;
371
390
  }
372
391
 
373
- return _objectSpread$7(_objectSpread$7({}, fieldObject), {}, {
392
+ return _objectSpread$a(_objectSpread$a({}, fieldObject), {}, {
374
393
  value: _toConsumableArray__default["default"](Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
375
394
  });
376
395
  };
@@ -401,10 +420,10 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
401
420
  value = _ref2[1];
402
421
 
403
422
  if (GROUP_PROPERTY_KEYS.includes(name)) {
404
- groupAttributes = _objectSpread$7(_objectSpread$7({}, groupAttributes), {}, _defineProperty__default["default"]({}, name, value));
423
+ groupAttributes = _objectSpread$a(_objectSpread$a({}, groupAttributes), {}, _defineProperty__default["default"]({}, name, value));
405
424
  } else if (isField(value)) {
406
425
  try {
407
- field.push(_objectSpread$7({
426
+ field.push(_objectSpread$a({
408
427
  name: name
409
428
  }, parseField$1(value)));
410
429
  } catch (error) {
@@ -412,7 +431,7 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
412
431
  }
413
432
  } else if (isGroup(value)) {
414
433
  (Array.isArray(value) ? value : [value]).forEach(function (v) {
415
- group.push(_objectSpread$7({
434
+ group.push(_objectSpread$a({
416
435
  name: name
417
436
  }, parseGroupsAndFields(v)));
418
437
  });
@@ -420,7 +439,7 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
420
439
  throw Error("Unhandled value for \"".concat(name, "\""));
421
440
  }
422
441
  });
423
- return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, groupAttributes), group.length > 0 ? {
442
+ return _objectSpread$a(_objectSpread$a(_objectSpread$a({}, groupAttributes), group.length > 0 ? {
424
443
  group: group
425
444
  } : {}), field.length > 0 ? {
426
445
  field: field
@@ -441,7 +460,7 @@ var parseTimespan$1 = function parseTimespan() {
441
460
  group = _parseGroupsAndFields.group,
442
461
  field = _parseGroupsAndFields.field;
443
462
 
444
- return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, group ? {
463
+ return _objectSpread$a(_objectSpread$a(_objectSpread$a({}, group ? {
445
464
  group: group
446
465
  } : {}), field ? {
447
466
  field: field
@@ -494,9 +513,9 @@ var _excluded$7 = ["value"],
494
513
  _excluded2$1 = ["field", "group"],
495
514
  _excluded3 = ["field", "group"];
496
515
 
497
- 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; }
516
+ 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; }
498
517
 
499
- 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__default["default"](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; }
518
+ 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__default["default"](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; }
500
519
 
501
520
  var parseValueList = function parseValueList() {
502
521
  var valueList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -538,7 +557,7 @@ var parseField = function parseField() {
538
557
  attributes = _objectWithoutProperties__default["default"](field, _excluded$7);
539
558
 
540
559
  var parsedValueList = parseValueList(value, options);
541
- if (includeAttributes || includeFieldAttributes) return _objectSpread$6(_objectSpread$6({}, attributes), {}, {
560
+ if (includeAttributes || includeFieldAttributes) return _objectSpread$9(_objectSpread$9({}, attributes), {}, {
542
561
  value: parsedValueList
543
562
  });
544
563
  return parsedValueList;
@@ -673,8 +692,8 @@ var parseGroupList = function parseGroupList() {
673
692
  currentGroup = _output$key.group;
674
693
  var parsedField = parsedGroup.field,
675
694
  parsedGroupList = parsedGroup.group;
676
- output[key].field = _objectSpread$6(_objectSpread$6({}, currentField), parsedField);
677
- output[key].group = _objectSpread$6(_objectSpread$6({}, currentGroup), parsedGroupList);
695
+ output[key].field = _objectSpread$9(_objectSpread$9({}, currentField), parsedField);
696
+ output[key].group = _objectSpread$9(_objectSpread$9({}, currentGroup), parsedGroupList);
678
697
  } else {
679
698
  output[key] = parsedGroup;
680
699
  }
@@ -757,9 +776,9 @@ var parseTimespan = function parseTimespan() {
757
776
  return output;
758
777
  };
759
778
 
760
- 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; }
779
+ 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; }
761
780
 
762
- 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__default["default"](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; }
781
+ 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__default["default"](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; }
763
782
  /**
764
783
  * Parses timespanList according to specified options.
765
784
  * The attributes can be targeted for each sub-type.
@@ -808,15 +827,15 @@ var parseTimespanList = function parseTimespanList() {
808
827
  var parsedTimespan = parseTimespan(thisTimespan, options);
809
828
 
810
829
  if (flat) {
811
- output = _objectSpread$5(_objectSpread$5({}, output), parsedTimespan);
830
+ output = _objectSpread$8(_objectSpread$8({}, output), parsedTimespan);
812
831
  } else if (output[key]) {
813
832
  var _output$key = output[key],
814
833
  currentField = _output$key.field,
815
834
  currentGroup = _output$key.group;
816
835
  var parsedField = parsedTimespan.field,
817
836
  parsedGroup = parsedTimespan.group;
818
- output[key].field = _objectSpread$5(_objectSpread$5({}, currentField), parsedField);
819
- output[key].group = _objectSpread$5(_objectSpread$5({}, currentGroup), parsedGroup);
837
+ output[key].field = _objectSpread$8(_objectSpread$8({}, currentField), parsedField);
838
+ output[key].group = _objectSpread$8(_objectSpread$8({}, currentGroup), parsedGroup);
820
839
  } else {
821
840
  output[key] = parsedTimespan;
822
841
  }
@@ -881,90 +900,6 @@ var parseSimpleMetadataType = function parseSimpleMetadataType() {
881
900
  return parseKeyValuePairType(field);
882
901
  };
883
902
 
884
- 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; }
885
-
886
- 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__default["default"](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; }
887
-
888
- /**
889
- * Parses highlight timespan in VidiCore into key/value object.
890
- * The attributes can be targeted for each sub-type.
891
- * @param {Object[]} highlightTimespan - A VidiCore timespan object.
892
- * @param {Object} options - Options which change how the timespans are parsed.
893
- * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
894
- * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
895
- * @param {string} options.joinValue - String to join the values, eg ','.
896
- */
897
- var parseHighlightTimespan = function parseHighlightTimespan() {
898
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
899
- _ref$field = _ref.field,
900
- field = _ref$field === void 0 ? [] : _ref$field,
901
- start = _ref.start,
902
- end = _ref.end;
903
-
904
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
905
- var _options$arrayOnSingl = options.arrayOnSingle,
906
- arrayOnSingle = _options$arrayOnSingl === void 0 ? true : _options$arrayOnSingl,
907
- _options$joinValue = options.joinValue,
908
- joinValue = _options$joinValue === void 0 ? undefined : _options$joinValue,
909
- _options$timespanAsLi = options.timespanAsList,
910
- timespanAsList = _options$timespanAsLi === void 0 ? undefined : _options$timespanAsLi;
911
- var initialValue = timespanAsList ? {
912
- start: start,
913
- end: end
914
- } : {};
915
- var fieldList = field.reduce(function (a, _ref2) {
916
- var name = _ref2.name,
917
- _ref2$value = _ref2.value,
918
- valueList = _ref2$value === void 0 ? [] : _ref2$value;
919
- if (valueList.length === 0) return a;
920
- var fieldValue;
921
-
922
- if (arrayOnSingle === false && valueList.length === 1) {
923
- var _valueList = _slicedToArray__default["default"](valueList, 1);
924
-
925
- fieldValue = _valueList[0];
926
- } else if (joinValue) fieldValue = valueList.join(joinValue);else fieldValue = valueList;
927
-
928
- return _objectSpread$4(_objectSpread$4({}, a), {}, _defineProperty__default["default"]({}, name, fieldValue));
929
- }, initialValue);
930
- return fieldList;
931
- };
932
-
933
- 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; }
934
-
935
- 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__default["default"](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; }
936
- /**
937
- * Parses highlight timespans from VidiCore into key/value object.
938
- * The attributes can be targeted for each sub-type.
939
- * @param {Object} highlightTimespanList - A list of timespans from VidiCore.
940
- * @param {Object} options - Options which change how the timespans are parsed.
941
- * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
942
- * @param {string} options.joinValue - String to join the values, eg ','.
943
- * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
944
- * @param {boolean} [options.flat=false] - Flatten to field-name/field-value (Note: field-values may be overwritten).
945
- * @param {boolean} [options.flatTimespan=false] - Flatten timespan to object with start/end as key.
946
- * @param {string} [options.joinTimespan=_] - Character to join the start/end timecodes.
947
- */
948
-
949
- var parseHighlightTimespanList = function parseHighlightTimespanList() {
950
- var highlightTimespanList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
951
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
952
- var flat = options.flat,
953
- timespanAsList = options.timespanAsList,
954
- _options$joinTimespan = options.joinTimespan,
955
- joinTimespan = _options$joinTimespan === void 0 ? '_' : _options$joinTimespan,
956
- flatTimespan = options.flatTimespan;
957
- if (timespanAsList === true) return highlightTimespanList.map(function (timespan) {
958
- return parseHighlightTimespan(timespan, options);
959
- });
960
- if (flat === true || flatTimespan === true) return highlightTimespanList.reduce(function (a, timespan) {
961
- return _objectSpread$3(_objectSpread$3({}, a), parseHighlightTimespan(timespan, options));
962
- }, {});
963
- return highlightTimespanList.reduce(function (a, timespan) {
964
- return _objectSpread$3(_objectSpread$3({}, a), {}, _defineProperty__default["default"]({}, [timespan.start, timespan.end].join(joinTimespan), parseHighlightTimespan(timespan, options)));
965
- }, {});
966
- };
967
-
968
903
  var MAP_CONSTANT_TO_DEN_NUM = {
969
904
  PAL: {
970
905
  denominator: 25,
@@ -1808,11 +1743,6 @@ var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds) {
1808
1743
  timeCodeOptions = _objectWithoutProperties__default["default"](options, _excluded$4);
1809
1744
 
1810
1745
  var secondsWithDot = "".concat(seconds).replace(/,/g, '.');
1811
- var amountOfDigits = secondsWithDot.replace('.', '').length;
1812
-
1813
- if (amountOfDigits > 16) {
1814
- throw new Error("Amount of second digits cannot be more than 16, is ".concat(amountOfDigits));
1815
- }
1816
1746
 
1817
1747
  if (Number.isNaN(+secondsWithDot)) {
1818
1748
  throw new Error("seconds must be digits, is ".concat(seconds));
@@ -1853,9 +1783,9 @@ var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds) {
1853
1783
 
1854
1784
  var _excluded$3 = ["exceedingMode", "timeBase"];
1855
1785
 
1856
- 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; }
1786
+ 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; }
1857
1787
 
1858
- 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__default["default"](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; }
1788
+ 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__default["default"](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; }
1859
1789
  var MAP_SEPARATOR_TO_OPTIONS = {
1860
1790
  ':': {
1861
1791
  dropFrame: false,
@@ -2001,7 +1931,7 @@ var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte) {
2001
1931
 
2002
1932
  var timeBaseInstance = createTimeBase(timeBase);
2003
1933
 
2004
- var mergedOptions = _objectSpread$2(_objectSpread$2({}, timeCodeOptionsFromSmpte), {}, {
1934
+ var mergedOptions = _objectSpread$7(_objectSpread$7({}, timeCodeOptionsFromSmpte), {}, {
2005
1935
  dropFrame: isDropFrameTimeBase(timeBaseInstance)
2006
1936
  }, timeCodeOptions);
2007
1937
 
@@ -2260,9 +2190,9 @@ var createFacetType = function createFacetType() {
2260
2190
  });
2261
2191
  };
2262
2192
 
2263
- 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; }
2193
+ 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; }
2264
2194
 
2265
- 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__default["default"](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; }
2195
+ 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__default["default"](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; }
2266
2196
 
2267
2197
  var parseFacetType = function parseFacetType() {
2268
2198
  var facetType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -2271,7 +2201,7 @@ var parseFacetType = function parseFacetType() {
2271
2201
  var facetFieldReducer = function facetFieldReducer(a, _ref) {
2272
2202
  var fieldValue = _ref.fieldValue,
2273
2203
  value = _ref.value;
2274
- return _objectSpread$1(_objectSpread$1({}, a), {}, _defineProperty__default["default"]({}, fieldValue, value));
2204
+ return _objectSpread$6(_objectSpread$6({}, a), {}, _defineProperty__default["default"]({}, fieldValue, value));
2275
2205
  };
2276
2206
 
2277
2207
  facetType.forEach(function (_ref2) {
@@ -2283,41 +2213,95 @@ var parseFacetType = function parseFacetType() {
2283
2213
  return output;
2284
2214
  };
2285
2215
 
2286
- var _excluded$1 = ["property"];
2216
+ 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; }
2287
2217
 
2288
- 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; }
2218
+ 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__default["default"](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; }
2289
2219
 
2290
- 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__default["default"](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; }
2291
- var sampleRateSymbols = {
2292
- kB: 'kHz',
2293
- B: 'Hz',
2294
- mB: 'mHz'
2295
- };
2296
- var bitRateSymbols = {
2297
- kB: 'kbps',
2298
- B: 'bps',
2299
- MB: 'mbps'
2300
- };
2220
+ /**
2221
+ * Parses highlight timespan in VidiCore into key/value object.
2222
+ * The attributes can be targeted for each sub-type.
2223
+ * @param {Object[]} highlightTimespan - A VidiCore timespan object.
2224
+ * @param {Object} options - Options which change how the timespans are parsed.
2225
+ * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
2226
+ * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
2227
+ * @param {string} options.joinValue - String to join the values, eg ','.
2228
+ */
2229
+ var parseHighlightTimespan = function parseHighlightTimespan() {
2230
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2231
+ _ref$field = _ref.field,
2232
+ field = _ref$field === void 0 ? [] : _ref$field,
2233
+ start = _ref.start,
2234
+ end = _ref.end;
2301
2235
 
2302
- var gcd = function gcd(a, b) {
2303
- return b ? gcd(b, a % b) : a;
2236
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2237
+ var _options$arrayOnSingl = options.arrayOnSingle,
2238
+ arrayOnSingle = _options$arrayOnSingl === void 0 ? true : _options$arrayOnSingl,
2239
+ _options$joinValue = options.joinValue,
2240
+ joinValue = _options$joinValue === void 0 ? undefined : _options$joinValue,
2241
+ _options$timespanAsLi = options.timespanAsList,
2242
+ timespanAsList = _options$timespanAsLi === void 0 ? undefined : _options$timespanAsLi;
2243
+ var initialValue = timespanAsList ? {
2244
+ start: start,
2245
+ end: end
2246
+ } : {};
2247
+ var fieldList = field.reduce(function (a, _ref2) {
2248
+ var name = _ref2.name,
2249
+ _ref2$value = _ref2.value,
2250
+ valueList = _ref2$value === void 0 ? [] : _ref2$value;
2251
+ if (valueList.length === 0) return a;
2252
+ var fieldValue;
2253
+
2254
+ if (arrayOnSingle === false && valueList.length === 1) {
2255
+ var _valueList = _slicedToArray__default["default"](valueList, 1);
2256
+
2257
+ fieldValue = _valueList[0];
2258
+ } else if (joinValue) fieldValue = valueList.join(joinValue);else fieldValue = valueList;
2259
+
2260
+ return _objectSpread$5(_objectSpread$5({}, a), {}, _defineProperty__default["default"]({}, name, fieldValue));
2261
+ }, initialValue);
2262
+ return fieldList;
2304
2263
  };
2305
2264
 
2306
- var parseAspectRatio = function parseAspectRatio(_ref) {
2307
- var width = _ref.width,
2308
- height = _ref.height;
2309
- var denominator = gcd(width, height);
2310
- var widthRatio = width / denominator;
2311
- var heightRatio = height / denominator;
2265
+ 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; }
2312
2266
 
2313
- if (widthRatio > 21) {
2314
- heightRatio = 1;
2315
- widthRatio = (width / height).toFixed(2);
2316
- }
2267
+ 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__default["default"](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; }
2268
+ /**
2269
+ * Parses highlight timespans from VidiCore into key/value object.
2270
+ * The attributes can be targeted for each sub-type.
2271
+ * @param {Object} highlightTimespanList - A list of timespans from VidiCore.
2272
+ * @param {Object} options - Options which change how the timespans are parsed.
2273
+ * @param {boolean} [options.arrayOnSingle=true] - Return an array if there is a single value.
2274
+ * @param {string} options.joinValue - String to join the values, eg ','.
2275
+ * @param {boolean} [options.timespanAsList=false] - Return timespans as list.
2276
+ * @param {boolean} [options.flat=false] - Flatten to field-name/field-value (Note: field-values may be overwritten).
2277
+ * @param {boolean} [options.flatTimespan=false] - Flatten timespan to object with start/end as key.
2278
+ * @param {string} [options.joinTimespan=_] - Character to join the start/end timecodes.
2279
+ */
2317
2280
 
2318
- return [widthRatio, heightRatio].join(':');
2281
+ var parseHighlightTimespanList = function parseHighlightTimespanList() {
2282
+ var highlightTimespanList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
2283
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2284
+ var flat = options.flat,
2285
+ timespanAsList = options.timespanAsList,
2286
+ _options$joinTimespan = options.joinTimespan,
2287
+ joinTimespan = _options$joinTimespan === void 0 ? '_' : _options$joinTimespan,
2288
+ flatTimespan = options.flatTimespan;
2289
+ if (timespanAsList === true) return highlightTimespanList.map(function (timespan) {
2290
+ return parseHighlightTimespan(timespan, options);
2291
+ });
2292
+ if (flat === true || flatTimespan === true) return highlightTimespanList.reduce(function (a, timespan) {
2293
+ return _objectSpread$4(_objectSpread$4({}, a), parseHighlightTimespan(timespan, options));
2294
+ }, {});
2295
+ return highlightTimespanList.reduce(function (a, timespan) {
2296
+ return _objectSpread$4(_objectSpread$4({}, a), {}, _defineProperty__default["default"]({}, [timespan.start, timespan.end].join(joinTimespan), parseHighlightTimespan(timespan, options)));
2297
+ }, {});
2319
2298
  };
2320
2299
 
2300
+ var _excluded$1 = ["property"];
2301
+
2302
+ 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; }
2303
+
2304
+ 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__default["default"](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; }
2321
2305
  var parseBaseMediaInfoType = function parseBaseMediaInfoType() {
2322
2306
  var baseMediaInfoType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2323
2307
 
@@ -2325,7 +2309,64 @@ var parseBaseMediaInfoType = function parseBaseMediaInfoType() {
2325
2309
  props = _objectWithoutProperties__default["default"](baseMediaInfoType, _excluded$1);
2326
2310
 
2327
2311
  var parsedKeyValuePairType = parseKeyValuePairType(keyValuePairType);
2328
- return _objectSpread(_objectSpread({}, parsedKeyValuePairType), props);
2312
+ return _objectSpread$3(_objectSpread$3({}, parsedKeyValuePairType), props);
2313
+ };
2314
+
2315
+ var sampleRateSymbols = {
2316
+ kB: 'kHz',
2317
+ B: 'Hz',
2318
+ mB: 'mHz'
2319
+ };
2320
+ var bitRateSymbols = {
2321
+ kB: 'kbps',
2322
+ B: 'bps',
2323
+ MB: 'mbps'
2324
+ };
2325
+ /**
2326
+ * Parses the technical information of a AudioComponentType.
2327
+ * @param {Object} audioComponentType - A AudioComponentType from VidiCore.
2328
+ * @returns {Object} Parsed component object.
2329
+ */
2330
+
2331
+ var parseAudioComponentType = function parseAudioComponentType() {
2332
+ var audioComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2333
+ var _audioComponentType$t = audioComponentType.timeBase,
2334
+ timeBase = _audioComponentType$t === void 0 ? {} : _audioComponentType$t,
2335
+ audioChannels = audioComponentType.channelCount,
2336
+ audioCodec = audioComponentType.codec,
2337
+ _audioComponentType$m = audioComponentType.mediaInfo,
2338
+ mediaInfo = _audioComponentType$m === void 0 ? {} : _audioComponentType$m,
2339
+ bitrate = audioComponentType.bitrate,
2340
+ _audioComponentType$m2 = audioComponentType.metadata,
2341
+ metadata = _audioComponentType$m2 === void 0 ? [] : _audioComponentType$m2;
2342
+ var audioMediaInfo = parseBaseMediaInfoType(mediaInfo);
2343
+ var audioMetadata = parseKeyValuePairType(metadata);
2344
+ var audioFormat = audioMediaInfo.Format,
2345
+ audioBitDepth = audioMediaInfo.Resolution,
2346
+ audioBitRateMode = audioMediaInfo.Bit_rate_mode;
2347
+ var audioSamplerateSamples = timeBase.denominator ? timeBase.denominator / timeBase.numerator : undefined;
2348
+ var audioSamplerate = audioSamplerateSamples ? parseFileSize__default["default"](audioSamplerateSamples, {
2349
+ base: 10,
2350
+ round: 1,
2351
+ symbols: sampleRateSymbols
2352
+ }) : undefined;
2353
+ var audioBitrate = bitrate ? parseFileSize__default["default"](bitrate, {
2354
+ base: 10,
2355
+ round: 2,
2356
+ symbols: bitRateSymbols
2357
+ }) : undefined;
2358
+ return {
2359
+ audioFormat: audioFormat,
2360
+ audioCodec: audioCodec,
2361
+ audioSamplerate: audioSamplerate,
2362
+ audioSamplerateSamples: audioSamplerateSamples,
2363
+ audioBitDepth: audioBitDepth,
2364
+ audioBitrate: audioBitrate,
2365
+ audioBitRateMode: audioBitRateMode,
2366
+ audioChannels: audioChannels,
2367
+ audioMediaInfo: audioMediaInfo,
2368
+ audioMetadata: audioMetadata
2369
+ };
2329
2370
  };
2330
2371
 
2331
2372
  var parseFileType = function parseFileType(fileType) {
@@ -2352,16 +2393,60 @@ var parseFileType = function parseFileType(fileType) {
2352
2393
  };
2353
2394
  };
2354
2395
 
2355
- var parseContainerComponent = function parseContainerComponent(containerComponent) {
2356
- var _containerComponent$m = containerComponent.mediaInfo,
2357
- mediaInfo = _containerComponent$m === void 0 ? {} : _containerComponent$m,
2358
- _containerComponent$m2 = containerComponent.metadata,
2359
- metadata = _containerComponent$m2 === void 0 ? [] : _containerComponent$m2,
2360
- fileList = containerComponent.file,
2361
- durationTimeCode = containerComponent.duration,
2362
- startTimestamp = containerComponent.startTimestamp,
2363
- startTimecode = containerComponent.startTimecode,
2364
- timeCodeTimeBase = containerComponent.timeCodeTimeBase;
2396
+ 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; }
2397
+
2398
+ 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__default["default"](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; }
2399
+ /**
2400
+ * Parses the technical information of a BinaryComponentType.
2401
+ * @param {Object} binaryComponentType - A BinaryComponentType from VidiCore.
2402
+ * @returns {Object} Parsed component object.
2403
+ */
2404
+
2405
+ var parseBinaryComponentType = function parseBinaryComponentType() {
2406
+ var binaryComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2407
+ var fileList = binaryComponentType.file,
2408
+ _binaryComponentType$ = binaryComponentType.mediaInfo,
2409
+ mediaInfo = _binaryComponentType$ === void 0 ? {} : _binaryComponentType$,
2410
+ _binaryComponentType$2 = binaryComponentType.metadata,
2411
+ metadata = _binaryComponentType$2 === void 0 ? [] : _binaryComponentType$2;
2412
+ var binaryMetadata = parseKeyValuePairType(metadata);
2413
+ var binaryMediaInfo = parseBaseMediaInfoType(mediaInfo);
2414
+ var parsedBinaryComponent = {
2415
+ binaryMetadata: binaryMetadata,
2416
+ binaryMediaInfo: binaryMediaInfo
2417
+ };
2418
+
2419
+ if (fileList) {
2420
+ var _fileList = _slicedToArray__default["default"](fileList, 1),
2421
+ fileType = _fileList[0];
2422
+
2423
+ var parsedFileType = parseFileType(fileType);
2424
+ parsedBinaryComponent = _objectSpread$2(_objectSpread$2({}, parsedBinaryComponent), parsedFileType);
2425
+ }
2426
+
2427
+ return parsedBinaryComponent;
2428
+ };
2429
+
2430
+ 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; }
2431
+
2432
+ 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__default["default"](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; }
2433
+ /**
2434
+ * Parses the technical information of a ContainerComponentType.
2435
+ * @param {Object} containerComponentType - A ContainerComponentType from VidiCore.
2436
+ * @returns {Object} Parsed component object.
2437
+ */
2438
+
2439
+ var parseContainerComponentType = function parseContainerComponentType() {
2440
+ var containerComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2441
+ var _containerComponentTy = containerComponentType.mediaInfo,
2442
+ mediaInfo = _containerComponentTy === void 0 ? {} : _containerComponentTy,
2443
+ _containerComponentTy2 = containerComponentType.metadata,
2444
+ metadata = _containerComponentTy2 === void 0 ? [] : _containerComponentTy2,
2445
+ fileList = containerComponentType.file,
2446
+ durationTimeCode = containerComponentType.duration,
2447
+ startTimestamp = containerComponentType.startTimestamp,
2448
+ startTimecode = containerComponentType.startTimecode,
2449
+ timeCodeTimeBase = containerComponentType.timeCodeTimeBase;
2365
2450
  var containerMetadata = parseKeyValuePairType(metadata);
2366
2451
  var containerMediaInfo = parseBaseMediaInfoType(mediaInfo);
2367
2452
  var containerFormat = containerMediaInfo.Format;
@@ -2370,7 +2455,7 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2370
2455
  textFormat = containerMediaInfo.Text_Format_List;
2371
2456
 
2372
2457
  if (containerFormat === undefined) {
2373
- var format = containerComponent.format;
2458
+ var format = containerComponentType.format;
2374
2459
  containerFormat = format;
2375
2460
 
2376
2461
  if (format && format.includes(',')) {
@@ -2382,7 +2467,7 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2382
2467
  }
2383
2468
  }
2384
2469
 
2385
- var parsedContainerComponent = {
2470
+ var parsedContainerComponentType = {
2386
2471
  containerFormat: containerFormat,
2387
2472
  videoFormat: videoFormat,
2388
2473
  audioFormat: audioFormat,
@@ -2392,21 +2477,21 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2392
2477
  };
2393
2478
 
2394
2479
  if (containerMetadata.componentOriginalFilename) {
2395
- parsedContainerComponent.originalFilename = containerMetadata.componentOriginalFilename;
2480
+ parsedContainerComponentType.originalFilename = containerMetadata.componentOriginalFilename;
2396
2481
  }
2397
2482
 
2398
2483
  if (durationTimeCode !== undefined && durationTimeCode.samples !== 0) {
2399
2484
  var timeCode = formatTimeCodeType(durationTimeCode);
2400
- parsedContainerComponent.durationTimeCode = timeCode.toObject();
2401
- parsedContainerComponent.duration = timeCode.toDuration();
2485
+ parsedContainerComponentType.durationTimeCode = timeCode.toObject();
2486
+ parsedContainerComponentType.duration = timeCode.toDuration();
2402
2487
  }
2403
2488
 
2404
2489
  if (startTimestamp) {
2405
- parsedContainerComponent.startTimestamp = formatTimeCodeType(startTimestamp).toObject();
2490
+ parsedContainerComponentType.startTimestamp = formatTimeCodeType(startTimestamp).toObject();
2406
2491
  }
2407
2492
 
2408
2493
  if (startTimecode !== undefined && timeCodeTimeBase) {
2409
- parsedContainerComponent.startTimecode = formatTimeCodeType({
2494
+ parsedContainerComponentType.startTimecode = formatTimeCodeType({
2410
2495
  samples: startTimecode,
2411
2496
  timeBase: timeCodeTimeBase
2412
2497
  });
@@ -2417,22 +2502,29 @@ var parseContainerComponent = function parseContainerComponent(containerComponen
2417
2502
  fileType = _fileList[0];
2418
2503
 
2419
2504
  var parsedFileType = parseFileType(fileType);
2420
- parsedContainerComponent = _objectSpread(_objectSpread({}, parsedContainerComponent), parsedFileType);
2505
+ parsedContainerComponentType = _objectSpread$1(_objectSpread$1({}, parsedContainerComponentType), parsedFileType);
2421
2506
  }
2422
2507
 
2423
- return parsedContainerComponent;
2508
+ return parsedContainerComponentType;
2424
2509
  };
2425
2510
 
2426
- var parseVideoComponent = function parseVideoComponent(videoComponent) {
2427
- var videoCodec = videoComponent.codec,
2428
- bitrate = videoComponent.bitrate,
2429
- fieldOrder = videoComponent.fieldOrder,
2430
- _videoComponent$resol = videoComponent.resolution,
2431
- resolution = _videoComponent$resol === void 0 ? {} : _videoComponent$resol,
2432
- _videoComponent$media = videoComponent.mediaInfo,
2433
- mediaInfo = _videoComponent$media === void 0 ? {} : _videoComponent$media,
2434
- _videoComponent$metad = videoComponent.metadata,
2435
- metadata = _videoComponent$metad === void 0 ? [] : _videoComponent$metad;
2511
+ /**
2512
+ * Parses the technical information of a VideoComponentType.
2513
+ * @param {Object} videoComponentType - A VideoComponentType from VidiCore.
2514
+ * @returns {Object} Parsed component object.
2515
+ */
2516
+
2517
+ var parseVideoComponentType = function parseVideoComponentType() {
2518
+ var videoComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2519
+ var videoCodec = videoComponentType.codec,
2520
+ bitrate = videoComponentType.bitrate,
2521
+ fieldOrder = videoComponentType.fieldOrder,
2522
+ _videoComponentType$r = videoComponentType.resolution,
2523
+ resolution = _videoComponentType$r === void 0 ? {} : _videoComponentType$r,
2524
+ _videoComponentType$m = videoComponentType.mediaInfo,
2525
+ mediaInfo = _videoComponentType$m === void 0 ? {} : _videoComponentType$m,
2526
+ _videoComponentType$m2 = videoComponentType.metadata,
2527
+ metadata = _videoComponentType$m2 === void 0 ? [] : _videoComponentType$m2;
2436
2528
  var videoMediaInfo = parseBaseMediaInfoType(mediaInfo);
2437
2529
  var videoMetadata = parseKeyValuePairType(metadata);
2438
2530
  var videoFormat = videoMediaInfo.Format,
@@ -2441,8 +2533,8 @@ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2441
2533
  colorPrimaries = videoMediaInfo['Color primaries'],
2442
2534
  chromaSubsampling = videoMediaInfo.Colorimetry;
2443
2535
  var timeBase;
2444
- var averageFrameRate = videoComponent.averageFrameRate,
2445
- realBaseFrameRate = videoComponent.realBaseFrameRate;
2536
+ var averageFrameRate = videoComponentType.averageFrameRate,
2537
+ realBaseFrameRate = videoComponentType.realBaseFrameRate;
2446
2538
 
2447
2539
  if (realBaseFrameRate !== undefined) {
2448
2540
  timeBase = {
@@ -2461,7 +2553,7 @@ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2461
2553
  var samples = videoMediaInfo['Frame count'];
2462
2554
 
2463
2555
  if (samples === undefined) {
2464
- var numberOfPackets = videoComponent.numberOfPackets;
2556
+ var numberOfPackets = videoComponentType.numberOfPackets;
2465
2557
  if (numberOfPackets !== undefined) samples = numberOfPackets;
2466
2558
  }
2467
2559
 
@@ -2508,69 +2600,21 @@ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2508
2600
  };
2509
2601
  };
2510
2602
 
2511
- var parseAudioComponent = function parseAudioComponent(audioComponent) {
2512
- var _audioComponent$timeB = audioComponent.timeBase,
2513
- timeBase = _audioComponent$timeB === void 0 ? {} : _audioComponent$timeB,
2514
- audioChannels = audioComponent.channelCount,
2515
- audioCodec = audioComponent.codec,
2516
- _audioComponent$media = audioComponent.mediaInfo,
2517
- mediaInfo = _audioComponent$media === void 0 ? {} : _audioComponent$media,
2518
- bitrate = audioComponent.bitrate,
2519
- _audioComponent$metad = audioComponent.metadata,
2520
- metadata = _audioComponent$metad === void 0 ? [] : _audioComponent$metad;
2521
- var audioMediaInfo = parseBaseMediaInfoType(mediaInfo);
2522
- var audioMetadata = parseKeyValuePairType(metadata);
2523
- var audioFormat = audioMediaInfo.Format,
2524
- audioBitDepth = audioMediaInfo.Resolution,
2525
- audioBitRateMode = audioMediaInfo.Bit_rate_mode;
2526
- var audioSamplerateSamples = timeBase.denominator ? timeBase.denominator / timeBase.numerator : undefined;
2527
- var audioSamplerate = audioSamplerateSamples ? parseFileSize__default["default"](audioSamplerateSamples, {
2528
- base: 10,
2529
- round: 1,
2530
- symbols: sampleRateSymbols
2531
- }) : undefined;
2532
- var audioBitrate = bitrate ? parseFileSize__default["default"](bitrate, {
2533
- base: 10,
2534
- round: 2,
2535
- symbols: bitRateSymbols
2536
- }) : undefined;
2537
- return {
2538
- audioFormat: audioFormat,
2539
- audioCodec: audioCodec,
2540
- audioSamplerate: audioSamplerate,
2541
- audioSamplerateSamples: audioSamplerateSamples,
2542
- audioBitDepth: audioBitDepth,
2543
- audioBitrate: audioBitrate,
2544
- audioBitRateMode: audioBitRateMode,
2545
- audioChannels: audioChannels,
2546
- audioMediaInfo: audioMediaInfo,
2547
- audioMetadata: audioMetadata
2548
- };
2549
- };
2550
-
2551
- var parseBinaryComponent = function parseBinaryComponent(binaryComponent) {
2552
- var fileList = binaryComponent.file,
2553
- _binaryComponent$medi = binaryComponent.mediaInfo,
2554
- mediaInfo = _binaryComponent$medi === void 0 ? {} : _binaryComponent$medi,
2555
- _binaryComponent$meta = binaryComponent.metadata,
2556
- metadata = _binaryComponent$meta === void 0 ? [] : _binaryComponent$meta;
2557
- var binaryMetadata = parseKeyValuePairType(metadata);
2558
- var binaryMediaInfo = parseBaseMediaInfoType(mediaInfo);
2559
- var parsedBinaryComponent = {
2560
- binaryMetadata: binaryMetadata,
2561
- binaryMediaInfo: binaryMediaInfo
2562
- };
2563
-
2564
- if (fileList) {
2565
- var _fileList2 = _slicedToArray__default["default"](fileList, 1),
2566
- fileType = _fileList2[0];
2567
-
2568
- var parsedFileType = parseFileType(fileType);
2569
- parsedBinaryComponent = _objectSpread(_objectSpread({}, parsedBinaryComponent), parsedFileType);
2570
- }
2603
+ 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; }
2571
2604
 
2572
- return parsedBinaryComponent;
2573
- };
2605
+ 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__default["default"](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; }
2606
+ /**
2607
+ * Parses the technical information of a ShapeType and its various components.
2608
+ *
2609
+ * Will only parse the first videoComponent, audioComponent, binaryComponent in the corresponding array.
2610
+ * To parse a selected component see:
2611
+ * - {@link parseContainerComponentType}
2612
+ * - {@link parseVideoComponentType}
2613
+ * - {@link parseAudioComponentType}
2614
+ * - {@link parseBinaryComponentType}
2615
+ * @param {Object} shapeType - A ShapeType from VidiCore.
2616
+ * @returns {Object} Parsed shape object.
2617
+ */
2574
2618
 
2575
2619
  var parseShapeType = function parseShapeType() {
2576
2620
  var shapeType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -2593,7 +2637,7 @@ var parseShapeType = function parseShapeType() {
2593
2637
  parsedShape.mimeType = _mimeTypeList[0];
2594
2638
 
2595
2639
  if (containerComponent) {
2596
- var parsedContainerComponent = parseContainerComponent(containerComponent);
2640
+ var parsedContainerComponent = parseContainerComponentType(containerComponent, shapeType);
2597
2641
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedContainerComponent);
2598
2642
  }
2599
2643
 
@@ -2601,7 +2645,7 @@ var parseShapeType = function parseShapeType() {
2601
2645
  var _videoComponentList = _slicedToArray__default["default"](videoComponentList, 1),
2602
2646
  videoComponent = _videoComponentList[0];
2603
2647
 
2604
- var parsedVideoComponent = parseVideoComponent(videoComponent);
2648
+ var parsedVideoComponent = parseVideoComponentType(videoComponent, shapeType);
2605
2649
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedVideoComponent);
2606
2650
  }
2607
2651
 
@@ -2609,7 +2653,7 @@ var parseShapeType = function parseShapeType() {
2609
2653
  var _audioComponentList = _slicedToArray__default["default"](audioComponentList, 1),
2610
2654
  audioComponent = _audioComponentList[0];
2611
2655
 
2612
- var parsedAudioComponent = parseAudioComponent(audioComponent);
2656
+ var parsedAudioComponent = parseAudioComponentType(audioComponent, shapeType);
2613
2657
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedAudioComponent);
2614
2658
  }
2615
2659
 
@@ -2617,13 +2661,47 @@ var parseShapeType = function parseShapeType() {
2617
2661
  var _binaryComponentList = _slicedToArray__default["default"](binaryComponentList, 1),
2618
2662
  binaryComponent = _binaryComponentList[0];
2619
2663
 
2620
- var parsedBinaryComponent = parseBinaryComponent(binaryComponent);
2664
+ var parsedBinaryComponent = parseBinaryComponentType(binaryComponent, shapeType);
2621
2665
  parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedBinaryComponent);
2622
2666
  }
2623
2667
 
2624
2668
  return parsedShape;
2625
2669
  };
2626
2670
 
2671
+ /* eslint-disable no-console */
2672
+ /**
2673
+ * @deprecated please use {@link parseAudioComponentType}
2674
+ */
2675
+
2676
+ var parseAudioComponent = function parseAudioComponent(audioComponent) {
2677
+ console.warn('parseAudioComponent is deprecated, please use parseAudioComponentType');
2678
+ return parseAudioComponentType(audioComponent);
2679
+ };
2680
+ /**
2681
+ * @deprecated please use {@link parseBinaryComponentType}
2682
+ */
2683
+
2684
+ var parseBinaryComponent = function parseBinaryComponent(binaryComponent) {
2685
+ console.warn('parseBinaryComponent is deprecated, please use parseBinaryComponentType');
2686
+ return parseBinaryComponentType(binaryComponent);
2687
+ };
2688
+ /**
2689
+ * @deprecated please use {@link parseContainerComponentType}
2690
+ */
2691
+
2692
+ var parseContainerComponent = function parseContainerComponent(containerComponent) {
2693
+ console.warn('parseContainerComponent is deprecated, please use parseContainerComponentType');
2694
+ return parseContainerComponentType(containerComponent);
2695
+ };
2696
+ /**
2697
+ * @deprecated please use {@link parseVideoComponentType}
2698
+ */
2699
+
2700
+ var parseVideoComponent = function parseVideoComponent(videoComponent) {
2701
+ console.warn('parseVideoComponent is deprecated, please use parseVideoComponentType');
2702
+ return parseVideoComponentType(videoComponent);
2703
+ };
2704
+
2627
2705
  var IMAGE_MIME_TYPES = ['image/apng', 'image/bmp', 'image/gif', 'image/jpeg', 'image/x-icon', 'image/png', 'image/svg+xml'];
2628
2706
  var VIDEO_MIME_TYPES = ['video/mp4'];
2629
2707
  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'];
@@ -2973,11 +3051,12 @@ exports.formatTimeCodeType = formatTimeCodeType;
2973
3051
  exports.getDocumentType = getDocumentType;
2974
3052
  exports.getShapeMediaType = getShapeMediaType;
2975
3053
  exports.metadataTypeToWebVtt = metadataTypeToWebVtt;
2976
- exports.parseAspectRatio = parseAspectRatio;
2977
3054
  exports.parseAudioComponent = parseAudioComponent;
2978
- exports.parseBaseMediaInfoType = parseBaseMediaInfoType;
3055
+ exports.parseAudioComponentType = parseAudioComponentType;
2979
3056
  exports.parseBinaryComponent = parseBinaryComponent;
3057
+ exports.parseBinaryComponentType = parseBinaryComponentType;
2980
3058
  exports.parseContainerComponent = parseContainerComponent;
3059
+ exports.parseContainerComponentType = parseContainerComponentType;
2981
3060
  exports.parseFacetType = parseFacetType;
2982
3061
  exports.parseFileType = parseFileType;
2983
3062
  exports.parseHighlightTimespan = parseHighlightTimespan;
@@ -2992,5 +3071,6 @@ exports.parseTimespan = parseTimespan;
2992
3071
  exports.parseTimespanList = parseTimespanList;
2993
3072
  exports.parseTranscodePreset = parseTranscodePreset;
2994
3073
  exports.parseVideoComponent = parseVideoComponent;
3074
+ exports.parseVideoComponentType = parseVideoComponentType;
2995
3075
  exports.roles = roles;
2996
3076
  //# sourceMappingURL=index.js.map