@vidispine/vdt-js 23.1.0 → 23.2.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
@@ -21,242 +21,58 @@ var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
21
21
  var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
22
22
  var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
23
23
 
24
- var gcd=function gcd(a,b){return b?gcd(b,a%b):a;};var parseAspectRatio=function parseAspectRatio(aspectRatio){var _ref=aspectRatio||{},width=_ref.width,height=_ref.height;if(width===undefined||height===undefined){return undefined;}var denominator=gcd(width,height);var widthRatio=width/denominator;var heightRatio=height/denominator;if(widthRatio>21){heightRatio=1;widthRatio=(width/height).toFixed(2);}return [widthRatio,heightRatio].join(':');};
25
-
26
- /**
27
- *
28
- * @param keyValuePairTypes
29
- * @returns
30
- *
31
- * @category Other
32
- */var parseKeyValuePairTypes=function parseKeyValuePairTypes(keyValuePairTypes){return Object.fromEntries(keyValuePairTypes.map(function(_ref){var key=_ref.key,value=_ref.value;return [key,value];}));};
33
-
34
- /**
35
- * Const object with VidiCore role names
36
- *
37
- * @category Auth
38
- */var ROLE_NAMES={ACCESSCONTROL_READ:'_accesscontrol_read',ACCESSCONTROL_WRITE:'_accesscontrol_write',ADMINISTRATOR:'_administrator',AUTO_PROJECTION_READ:'_auto_projection_read',AUTO_PROJECTION_WRITE:'_auto_projection_write',COLLECTION_NOTIFICATION_READ:'_collection_notification_read',COLLECTION_NOTIFICATION_WRITE:'_collection_notification_write',COLLECTION_READ:'_collection_read',COLLECTION_WRITE:'_collection_write',CONFIGURATION_READ:'_configuration_read',DELETION_LOCK_NOTIFICATION_READ:'_deletion_lock_notification_read',DELETION_LOCK_NOTIFICATION_WRITE:'_deletion_lock_notification_write',DELETION_LOCK_READ:'_deletion_lock_read',DELETION_LOCK_WRITE:'_deletion_lock_write',DOCUMENT_NOTIFICATION_READ:'_document_notification_read',DOCUMENT_NOTIFICATION_WRITE:'_document_notification_write',DOCUMENT_READ:'_document_read',DOCUMENT_WRITE:'_document_write',ERROR_READ:'_error_read',ERROR_WRITE:'_error_write',EXPORT:'_export',EXPORT_TEMPLATE_READ:'_export_template_read',EXPORT_TEMPLATE_WRITE:'_export_template_write',EXTERNAL_ID_READ:'_external_id_read',EXTERNAL_ID_WRITE:'_external_id_write',FILE_NOTIFICATION_READ:'_file_notification_read',FILE_NOTIFICATION_WRITE:'_file_notification_write',FILE_READ:'_file_read',FILE_WRITE:'_file_write',GROUP_READ:'_group_read',GROUP_WRITE:'_group_write',IMPORT_WRITE:'_import',ITEM_ID_READ:'_item_id_read',ITEM_ID_WRITE:'_item_id_write',ITEM_NOTIFICATION_READ:'_item_notification_read',ITEM_NOTIFICATION_WRITE:'_item_notification_write',ITEM_WRITE:'_item_write',ITEM_SEARCH:'_item_search',ITEM_SHAPE_READ:'_item_shape_read',ITEM_SHAPE_WRITE:'_item_shape_write',ITEM_TIMELINE_READ:'_item_timeline_read',ITEM_TIMELINE_WRITE:'_item_timeline_write',ITEM_URI:'_item_uri',JOB_NOTIFICATION_READ:'_job_notification_read',JOB_NOTIFICATION_WRITE:'_job_notification_write',JOB_READ:'_job_read',JOB_WRITE:'_job_write',LIBRARY_READ:'_library_read',LIBRARY_WRITE:'_library_write',LOCK_READ:'_lock_read',LOCK_WRITE:'_lock_write',LOG_READ:'_log_read',METADATA_DATASET_READ:'_metadata_dataset_read',METADATA_DATASET_WRITE:'_metadata_dataset_write',METADATA_FIELD_GROUP_READ:'_metadata_field_group_read',METADATA_FIELD_GROUP_WRITE:'_metadata_field_group_write',METADATA_FIELD_READ:'_metadata_field_read',METADATA_FIELD_WRITE:'_metadata_field_write',METADATA_GLOBAL_READ:'_metadata_global_read',METADATA_GLOBAL_WRITE:'_metadata_global_write',METADATA_LOCK_READ:'_metadata_lock_read',METADATA_LOCK_WRITE:'_metadata_lock_write',METADATA_READ:'_metadata_read',METADATA_SCHEMA_READ:'_metadata_schema_read',METADATA_SCHEMA_WRITE:'_metadata_schema_write',METADATA_WRITE:'_metadata_write',OTIF_ANALYZE:'_otif_analyze',OTIF_READ:'_otif_read',OTIF_WRITE:'_otif_write',PLACEHOLDER_NOTIFICATION_READ:'_placeholder_notification_read',PLACEHOLDER_NOTIFICATION_WRITE:'_placeholder_notification_write',PROJECTION_READ:'_projection_read',PROJECTION_WRITE:'_projection_write',QUOTA_NOTIFICATION_READ:'_quota_notification_read',QUOTA_NOTIFICATION_WRITE:'_quota_notification_write',QUOTA_READ:'_quota_read',QUOTA_WRITE:'_quota_write',RELATION_READ:'_relation_read',RELATION_WRITE:'_relation_write',RESOURCE_READ:'_resource_read',RESOURCE_WRITE:'_resource_write',RUN_AS:'_run_as',SEARCH:'_search',SEQUENCE_READ:'_sequence_read',SEQUENCE_WRITE:'_sequence_write',SHAPE_TAG_READ:'_shape_tag_read',SHAPE_TAG_WRITE:'_shape_tag_write',SITE_MANAGER:'_site_manager',SITE_RULE_READ:'_site_rule_read',SITE_RULE_WRITE:'_site_rule_write',STORAGE_GROUP_READ:'_storage_group_read',STORAGE_GROUP_WRITE:'_storage_group_write',STORAGE_NOTIFICATION_READ:'_storage_notification_read',STORAGE_NOTIFICATION_WRITE:'_storage_notification_write',STORAGE_READ:'_storage_read',STORAGE_RULE_READ:'_storage_rule_read',STORAGE_RULE_WRITE:'_storage_rule_write',STORAGE_WRITE:'_storage_write',SUPER_ACCESS_USER:'_super_access_user',TASKDEFINITION_READ:'_taskdefinition_read',TASKDEFINITION_WRITE:'_taskdefinition_write',THUMBNAIL_READ:'_thumbnail_read',THUMBNAIL_WRITE:'_thumbnail_write',TRANSCODER:'_transcoder',TRANSFER_READ:'_transfer_read',TRANSFER_WRITE:'_transfer_write',USER:'_user',VXA:'_vxa',VXA_READ:'_vxa_read'};
39
-
40
- /**
41
- * Array with all available VidiCore system/default field group names
42
- *
43
- * @category Metadata
44
- */var SYSTEM_FIELDGROUPS=['stl_subtitle','stl_tti','stl_gsi','mrk_marker','pho_validation','pho_resource','pho_error','facedetect_rect','facedetect_face','originalTrackFilename','stl_gsiHeader'];
45
-
46
- /**
47
- * Array with all available VidiCore system/default field names (including transient)
48
- *
49
- * @category Metadata
50
- */var SYSTEM_FIELDS=['title','user','shapeTag','representativeThumbnail','representativeThumbnailNoAuth','representativeItems','itemId','collectionId','mediaType','mimeType','created','startTimeCode','startSeconds','fieldValidationError','schemaValidationError','originalFilename','originalUri','originalAudioCodec','originalVideoCodec','originalHeight','originalWidth','originalFormat','durationSeconds','durationTimeCode','solr-index','__user','__collection','__collection_size','__ancestor_collection','__ancestor_collection_size','__shape','__shape_size','__shape_last_added','__placeholder_shape_size','__version','__version_count','__storage','__storage_size','__shapetag_{tag}_hash_{hash}','__storage_{tag}','__storage_{tag}_size','__storagegroup','__storagegroup_size','__sequence','__sequence_size','__metadata_last_modified','__external_id','__deletion_lock_id','__deletion_lock_expiry','__child_collection','__child_collection_size','__parent_collection','__parent_collection_size','__items_size','stl_text','stl_justification','stl_xrelative','stl_yrelative','stl_vertical','stl_verticalbase','stl_horizontalbase','stl_sizerelative','stl_color','stl_outline','stl_outlinecolor','stl_outlinesize','stl_font','stl_service','stl_tti','stl_gsi','cct','tcd','tcf','oet','cd','mnc','cpn','dfc','tcp','tcs','tet','tnb','tnd','en','co','tng','rd','mnr','dsc','opt','lc','tpt','tn','slr','tns','rn','pub','dsn','ecd','mrk_zerolength','mrk_text','mrk_color','pho_resource_name','pho_error_level','pho_error_code','pho_error_description','facedetect_rect_width','facedetect_rect_height','facedetect_rect_y','facedetect_rect_x','facedetect_pid','facedetect_rect','trackId','eidr_actor','eidr_alternateId','eidr_countryOfOrigin','eidr_director','eidr_id','eidr_referentType','eidr_releaseDate','eidr_resourceName','eidr_status','eidr_sync','ttml_div','ttml_root','vxa_collection_id','vxaId','vxaLocalPath','tco','cs','ebn','tf','cf','sgn','tci','jc','vp','sn'];
51
-
52
- var SHARED_ATTRIBUTE_KEYS=['uuid','user','timestamp','change','conflict','mode'];var SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS=['name','id','referenced','data','inheritance'];
53
-
54
- /**
55
- * Array with all available metadata field value attributes
56
- *
57
- * @category Metadata
58
- */var FIELD_VALUE_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),['value','lang']);
59
-
60
- /**
61
- * Array with all available metadata field attributes
62
- *
63
- * @category Metadata
64
- */var FIELD_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),_toConsumableArray__default["default"](SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS),['value','reference','type','track']);
65
-
66
- /**
67
- * Array with all available metadata group attributes
68
- *
69
- * @category Metadata
70
- */var GROUP_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),_toConsumableArray__default["default"](SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS),['cycle','field','group']);
71
-
72
- var _excluded$e=["value"],_excluded2$2=["start","end","base"];function ownKeys$m(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;}function _objectSpread$m(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$m(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$m(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var isValueObject=function isValueObject(o){return Object.prototype.toString.call(o)==='[object Object]'&&o.value!==undefined;};var isFieldType=function isFieldType(v){return ['string','boolean','number'].includes(_typeof__default["default"](v));};var isFieldObject=function isFieldObject(o){return isValueObject(o)&&((o===null||o===void 0?void 0:o.value)===null||isValueObject(o.value)||isFieldType(o.value));};var isObject=function isObject(o){return Object.prototype.toString.call(o)==='[object Object]';};var isDate=function isDate(o){return Object.prototype.toString.call(o)==='[object Date]';};var isField=function isField(value){if(value===null){return true;}if(Array.isArray(value)){return value.some(isField);}return isFieldType(value)||isFieldObject(value)||isDate(value);};var isGroup=function isGroup(value){var isGroupObject=function isGroupObject(v){return isObject(v)&&v.value===undefined&&!!Object.entries(value);};if(Array.isArray(value)){return value.every(isGroup);}return isGroupObject(value);};var tryPluralize=function tryPluralize(str,arr){return str+(arr.length>1?'s':'');};var ensureKeysAreValid=function ensureKeysAreValid(keysToCheck,keysToMatch){var unsupportedKeys=keysToCheck.filter(function(k){return !keysToMatch.includes(k);});if(unsupportedKeys.length){throw Error("Unsupported ".concat(tryPluralize('key',unsupportedKeys)," (").concat(unsupportedKeys.join(', '),")"));}};var parseValue$1=function parseValue(value){if(Array.isArray(value)){throw Error('Invalid value inside value object, cannot be array');}if([undefined,null].includes(value))return {};if(isDate(value))return {value:value.toISOString()};return {value:value.toString()};};var parseValueObject=function parseValueObject(valueObject){ensureKeysAreValid(Object.keys(valueObject),FIELD_VALUE_ATTRIBUTE_KEYS);if(Object.keys(valueObject).length===0){throw Error('Invalid value object, cannot be empty object');}if(typeof(valueObject===null||valueObject===void 0?void 0:valueObject.value)==='string'){return valueObject;}var parsedValue=parseValue$1(valueObject===null||valueObject===void 0?void 0:valueObject.value);return _objectSpread$m(_objectSpread$m({},valueObject),parsedValue!==undefined?parsedValue:{});};var parseFieldValue=function parseFieldValue(value){if([undefined,null].includes(value))return undefined;if(Array.isArray(value))return value.flatMap(parseFieldValue);if(isValueObject(value))return parseValueObject(value);return parseValue$1(value);};var parseFieldObject=function parseFieldObject(fieldObject){ensureKeysAreValid(Object.keys(fieldObject),FIELD_ATTRIBUTE_KEYS);var parsedFieldValue=parseFieldValue(fieldObject===null||fieldObject===void 0?void 0:fieldObject.value);if(parsedFieldValue===undefined){fieldObject.value;var fieldObjectWithoutValue=_objectWithoutProperties__default["default"](fieldObject,_excluded$e);return fieldObjectWithoutValue;}return _objectSpread$m(_objectSpread$m({},fieldObject),{},{value:_toConsumableArray__default["default"](Array.isArray(parsedFieldValue)?parsedFieldValue:[parsedFieldValue])});};var parseField$1=function parseField(field){if(isFieldObject(field)){return parseFieldObject(field);}var parsedFieldValue=parseFieldValue(field);if(parsedFieldValue===undefined){return undefined;}return {value:_toConsumableArray__default["default"](Array.isArray(parsedFieldValue)?parsedFieldValue:[parsedFieldValue])};};var parseGroupsAndFields=function parseGroupsAndFields(groupOrField){var group=[];var field=[];var groupAttributes={};Object.entries(groupOrField||{}).forEach(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,2),name=_ref2[0],value=_ref2[1];if(GROUP_ATTRIBUTE_KEYS.includes(name)){groupAttributes=_objectSpread$m(_objectSpread$m({},groupAttributes),{},_defineProperty__default["default"]({},name,value));}else if(isField(value)){try{field.push(_objectSpread$m({name:name},parseField$1(value)));}catch(error){throw Error(error.message+(name?" for field \"".concat(name,"\""):''));}}else if(isGroup(value)){(Array.isArray(value)?value:[value]).forEach(function(childGroup){group.push(_objectSpread$m({name:name},parseGroupsAndFields(childGroup)));});}else {throw Error("Unhandled value for \"".concat(name,"\""));}});return _objectSpread$m(_objectSpread$m(_objectSpread$m({},groupAttributes),group.length>0?{group:group}:{}),field.length>0?{field:field}:{});};var parseTimespan$1=function parseTimespan(timespan){var _timespan$start=timespan.start,start=_timespan$start===void 0?'-INF':_timespan$start,_timespan$end=timespan.end,end=_timespan$end===void 0?'+INF':_timespan$end,_timespan$base=timespan.base,base=_timespan$base===void 0?undefined:_timespan$base,groupsAndFields=_objectWithoutProperties__default["default"](timespan,_excluded2$2);var _parseGroupsAndFields=parseGroupsAndFields(groupsAndFields),group=_parseGroupsAndFields.group,field=_parseGroupsAndFields.field;return _objectSpread$m(_objectSpread$m(_objectSpread$m({},group?{group:group}:{}),field?{field:field}:{}),{},{start:start.toString(),end:end.toString()},base?{base:base}:{});};/**
73
- * Create a VidiCore metadata object from a more dense/simplified structure
74
- *
75
- * @param input To create VidiCore metadata object of
76
- * @returns A VidiCore metadata object
77
- *
78
- * @category Metadata
79
- */var createMetadataType=function createMetadataType(input){return {timespan:(Array.isArray(input)?input:[input||{}]).map(function(t){return parseTimespan$1(t);})};};
80
-
81
- /**
82
- * @private
83
- *
84
- * Function to sort timespan lists with
85
- *
86
- * TODO:
87
- * - Take different time bases in account
88
- * - Also compare end if start is same (lowest end first)
89
- *
90
- * @param timespan1 first timespan to compare
91
- * @param timespan2 second timespan to compare
92
- * @returns -1 if first is before second, 1 if first is after second, 0 if same start
93
- */var sortTimespanList=function sortTimespanList(timespan1,timespan2){var _timespan1$start,_timespan2$start;var _ref=(timespan1===null||timespan1===void 0?void 0:(_timespan1$start=timespan1.start)===null||_timespan1$start===void 0?void 0:_timespan1$start.split('@'))||[],_ref2=_slicedToArray__default["default"](_ref,1),firstStart=_ref2[0];var _ref3=(timespan2===null||timespan2===void 0?void 0:(_timespan2$start=timespan2.start)===null||_timespan2$start===void 0?void 0:_timespan2$start.split('@'))||[],_ref4=_slicedToArray__default["default"](_ref3,1),secondStart=_ref4[0];if(Number(firstStart)<Number(secondStart)){return -1;}if(Number(firstStart)>Number(secondStart)){return 1;}return 0;};
94
-
95
- /**
96
- * @private
97
- *
98
- * Wrap in array if not already an array, and return empty array if v is undefined
99
- *
100
- * @param v value to return as array
101
- * @returns input value wrapped as array
102
- */var asArray=function asArray(v){return Array.isArray(v)?v:v&&[v]||[];};/**
103
- * @private
104
- *
105
- * Wrap in array if not already an array, and return empty array if v is undefined
106
- *
107
- * @param v value to return as array
108
- * @returns input value wrapped as array
109
- */var asSingle=function asSingle(v){return Array.isArray(v)?v.pop():v;};/**
110
- * @private
111
- * Check if array is string array (+ type guard)
112
- *
113
- * @param arr Array to check if string array
114
- * @returns true if string array
115
- */var isStringArray=function isStringArray(arr){return (arr===null||arr===void 0?void 0:arr.every(function(v){return typeof v==='string';}))||false;};
116
-
117
- var _excluded$d=["value"];function ownKeys$l(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;}function _objectSpread$l(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$l(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$l(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$f={includeValueAttributes:false};/**
118
- * @internal
119
- * Parse the value object inside a field value list
120
- *
121
- * @param value The Vidicore metadata value type
122
- * @param options For how to parse the value object
123
- * @returns The parsed value
124
- */function parseValue(value,options){var _defaultOptions=_objectSpread$l(_objectSpread$l({},defaultOptions$f),options||{}),includeValueAttributes=_defaultOptions.includeValueAttributes;if(includeValueAttributes===false){return value===null||value===void 0?void 0:value.value;}var stringValue=value.value,attributes=_objectWithoutProperties__default["default"](value,_excluded$d);var valueAttributes=includeValueAttributes===true&&attributes||Array.isArray(includeValueAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,1),key=_ref2[0];return includeValueAttributes.includes(key);}))||{};return _objectSpread$l(_objectSpread$l({},valueAttributes),{},{value:stringValue});}
125
-
126
- var _excluded$c=["joinValue","arrayOnSingleValue"];function ownKeys$k(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;}function _objectSpread$k(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$k(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$k(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$e=_objectSpread$k(_objectSpread$k({},defaultOptions$f),{},{joinValue:undefined,arrayOnSingleValue:true});/**
127
- * @internal
128
- *
129
- * @param valueList
130
- * @param options
131
- * @returns
132
- */function parseValueList(valueList,options){var _defaultOptions=_objectSpread$k(_objectSpread$k({},defaultOptions$e),options||{}),joinValue=_defaultOptions.joinValue,arrayOnSingleValue=_defaultOptions.arrayOnSingleValue,parseValueOptions=_objectWithoutProperties__default["default"](_defaultOptions,_excluded$c);var parsedValueList=valueList===null||valueList===void 0?void 0:valueList.map(function(v){return parseValue(v,parseValueOptions);});if(isStringArray(parsedValueList)&&joinValue)return parsedValueList===null||parsedValueList===void 0?void 0:parsedValueList.join(joinValue);if(arrayOnSingleValue!==true&&(parsedValueList===null||parsedValueList===void 0?void 0:parsedValueList.length)<=1)return parsedValueList===null||parsedValueList===void 0?void 0:parsedValueList[0];return parsedValueList;}
133
-
134
- var _excluded$b=["includeFieldAttributes"],_excluded2$1=["value"];function ownKeys$j(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;}function _objectSpread$j(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$j(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$j(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$d=_objectSpread$j({includeFieldAttributes:false},defaultOptions$e);/**
135
- * @internal
136
- *
137
- * @param field
138
- * @param options
139
- * @returns
140
- */var parseField=function parseField(field,options){var _defaultOptions=_objectSpread$j(_objectSpread$j({},defaultOptions$d),options||{}),includeFieldAttributes=_defaultOptions.includeFieldAttributes,parseValueListOptions=_objectWithoutProperties__default["default"](_defaultOptions,_excluded$b);var value=field.value,attributes=_objectWithoutProperties__default["default"](field,_excluded2$1);var parsedValueList=parseValueList(value,parseValueListOptions);var fieldAttributes=includeFieldAttributes===true&&attributes||Array.isArray(includeFieldAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,1),key=_ref2[0];return includeFieldAttributes.includes(key);}))||{};return includeFieldAttributes?_objectSpread$j(_objectSpread$j({},fieldAttributes),{},{value:parsedValueList}):parsedValueList;};
141
-
142
- function ownKeys$i(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;}function _objectSpread$i(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$i(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$i(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$c=_objectSpread$i(_objectSpread$i({},defaultOptions$d),{},{fieldAsList:false,arrayOnSingleField:false,overrideField:undefined});/**
143
- * Parse a metadata field list according to selected options
144
- *
145
- * @remarks
146
- * When parsing duplicate fields (same field name in the same field list) it will:
147
- * - with default options: combine field values to one array within the same field name key
148
- * - with `joinValue` enabled: join values within each field (returns array with string for each field value)
149
- * - with `fieldAsList` enabled: separate fields in the list/array (as usual, even if not duplicate)
150
- * - with `includeFieldAttributes` enabled: return an array of field objects
151
- * - with `overrideField` enabled: return the latest duplicated field it parses
152
- *
153
- * @param fieldList Field list to parse
154
- * @param [options=defaultOptions] Options for how to parse the field list
155
- * @returns A parsed field list
156
- *
157
- * @category Metadata
158
- */var parseFieldList=function parseFieldList(fieldList,options){var parseFieldListOptions=_objectSpread$i(_objectSpread$i({},defaultOptions$c),options||{});var fieldAsList=parseFieldListOptions.fieldAsList,arrayOnSingleField=parseFieldListOptions.arrayOnSingleField,overrideField=parseFieldListOptions.overrideField;var shouldOverride=overrideField===true&&fieldAsList===false;var output={};fieldList===null||fieldList===void 0?void 0:fieldList.forEach(function(field){var name=field.name;var parsedField=parseField(field,parseFieldListOptions);var parsedFieldOutput=arrayOnSingleField===true?asArray(parsedField):parsedField;var existingParsedFields=output[name];if(!existingParsedFields)output[name]=parsedFieldOutput;else if(shouldOverride)output[name]=parsedField;else output[name]=[asArray(existingParsedFields),asArray(parsedField)].flat();});return fieldAsList===true?Object.values(output).flat():output;};
159
-
160
- var _excluded$a=["field","group"];function ownKeys$h(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;}function _objectSpread$h(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$h(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$h(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultParseGroupOptions=_objectSpread$h(_objectSpread$h({},defaultOptions$c),{},{includeGroupAttributes:false,groupAsList:false,arrayOnSingleGroup:false,overrideGroup:undefined});/**
161
- * @internal
162
- *
163
- * (Kept here due to circular dependency otherwise)
164
- *
165
- * @param group
166
- * @param options
167
- * @returns
168
- */var parseGroup=function parseGroup(group,options){var parseGroupOptions=_objectSpread$h(_objectSpread$h({},defaultParseGroupOptions),options||{});var includeGroupAttributes=parseGroupOptions.includeGroupAttributes;var parseFieldListOptions=Object.fromEntries(Object.entries(parseGroupOptions).filter(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,1),key=_ref2[0];return Object.keys(defaultOptions$c).includes(key);}));var fieldList=group.field,groupList=group.group,attributes=_objectWithoutProperties__default["default"](group,_excluded$a);var parsedFieldList=fieldList&&parseFieldList(fieldList,parseFieldListOptions);// eslint-disable-next-line @typescript-eslint/no-use-before-define
169
- var parsedGroupList=groupList&&parseGroupList(groupList,parseGroupOptions);var groupAttributes=includeGroupAttributes===true&&attributes||Array.isArray(includeGroupAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref3){var _ref4=_slicedToArray__default["default"](_ref3,1),key=_ref4[0];return includeGroupAttributes.includes(key);}))||{};return _objectSpread$h(_objectSpread$h(_objectSpread$h({},groupAttributes),parseFieldListOptions!==null&&parseFieldListOptions!==void 0&&parseFieldListOptions.fieldAsList?parsedFieldList&&{field:parsedFieldList}||{}:parsedFieldList),parseGroupOptions!==null&&parseGroupOptions!==void 0&&parseGroupOptions.groupAsList?parsedGroupList&&{group:parsedGroupList}||{}:parsedGroupList);};var defaultOptions$b=defaultParseGroupOptions;/**
170
- * Parse a metadata group list according to selected options
171
- *
172
- * @remarks
173
- * Parsing duplicate groups (same group name in the same group list) it will:
174
- * - with default options: combine group objects to one array within the same group name key
175
- * - with `groupAsList` enabled: return separate group objects in a list/array (as usual, even if not duplicate)
176
- * - with `overrideGroup` enabled: return the latest duplicated group it parses
177
- *
178
- * @param groupList Group list to parse
179
- * @param options options for how to parse list
180
- * @returns A parsed group list
181
- *
182
- * @category Metadata
183
- */var parseGroupList=function parseGroupList(groupList,options){var parseGroupOptions=_objectSpread$h(_objectSpread$h({},defaultOptions$b),options||{});var groupAsList=parseGroupOptions.groupAsList,arrayOnSingleGroup=parseGroupOptions.arrayOnSingleGroup,overrideGroup=parseGroupOptions.overrideGroup;var shouldOverride=overrideGroup===true&&groupAsList===false;var output={};groupList===null||groupList===void 0?void 0:groupList.forEach(function(group){var name=group.name;var parsedGroup=parseGroup(group,parseGroupOptions);var parsedGroupOutput=arrayOnSingleGroup===true?asArray(parsedGroup):parsedGroup;var existingParsedGroups=output[name];if(!existingParsedGroups)output[name]=parsedGroupOutput;else if(shouldOverride)output[name]=parsedGroup;else output[name]=[asArray(existingParsedGroups),asArray(parsedGroup)].flat();});if(groupAsList){return Object.values(output).flat();}return output;};
184
-
185
- var _excluded$9=["field","group"];function ownKeys$g(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;}function _objectSpread$g(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$g(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$g(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$a=_objectSpread$g(_objectSpread$g({},defaultOptions$b),{},{includeTimespanAttributes:false,flat:false,arrayOnSingle:false,arrayOnSingleValue:true,arrayOnSingleGroup:undefined,arrayOnSingleField:undefined});/**
186
- *
187
- * Parses timespan according to specified options
188
- *
189
- * @remarks
190
- * To ensure a flat (no array) representation when using `flat: true`, the parser will also set `overrideGroup` and `overrideField` to true (unless those are explicitly set false)
191
- *
192
- * @param timespan - A VidiCore metadata timespan
193
- * @param options - Options to change how it is parsed
194
- * @returns Timespan parsed according to options
195
- *
196
- * @see {@link parseGroupList} and {@link parseFieldList} for more info
197
- *
198
- * @category Metadata
199
- */var parseTimespan=function parseTimespan(timespan,options){var parseTimespanOptions=_objectSpread$g(_objectSpread$g({},defaultOptions$a),options||{});var includeTimespanAttributes=parseTimespanOptions.includeTimespanAttributes,arrayOnSingle=parseTimespanOptions.arrayOnSingle,flat=parseTimespanOptions.flat;var parseGroupListOptions=Object.fromEntries(Object.entries(options).map(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,2),key=_ref2[0],value=_ref2[1];if(Object.keys(defaultOptions$b).includes(key)){if(['arrayOnSingleGroup','arrayOnSingleField','arrayOnSingleValue'].includes(key)&&(value!==undefined?value:arrayOnSingle===true)){return [key,true];}if(['overrideGroup','overrideField'].includes(key)&&(value!==undefined?value:flat===true)){return [key,true];}return [key,value];}return undefined;}).filter(function(e){return !!e;}));var parseFieldListOptions=Object.fromEntries(Object.entries(options).map(function(_ref3){var _ref4=_slicedToArray__default["default"](_ref3,2),key=_ref4[0],value=_ref4[1];if(Object.keys(defaultOptions$c).includes(key)){if(['arrayOnSingleField','arrayOnSingleValue'].includes(key)&&(value!==undefined?value:arrayOnSingle===true)){return [key,true];}if(['overrideField'].includes(key)&&(value!==undefined?value:flat===true)){return [key,true];}return [key,value];}return undefined;}).filter(function(e){return !!e;}));var _ref5=timespan||{},fieldList=_ref5.field,groupList=_ref5.group,attributes=_objectWithoutProperties__default["default"](_ref5,_excluded$9);var parsedFieldList=fieldList&&parseFieldList(fieldList,parseFieldListOptions);// eslint-disable-next-line @typescript-eslint/no-use-before-define
200
- var parsedGroupList=groupList&&parseGroupList(groupList,parseGroupListOptions);var timespanAttributes=includeTimespanAttributes===true&&attributes||Array.isArray(includeTimespanAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref6){var _ref7=_slicedToArray__default["default"](_ref6,1),key=_ref7[0];return includeTimespanAttributes.includes(key);}))||{};return _objectSpread$g(_objectSpread$g(_objectSpread$g({},timespanAttributes),parseFieldListOptions!==null&&parseFieldListOptions!==void 0&&parseFieldListOptions.fieldAsList?{field:parsedFieldList}:parsedFieldList),parseGroupListOptions!==null&&parseGroupListOptions!==void 0&&parseGroupListOptions.groupAsList?{group:parsedGroupList}:parsedGroupList);};
201
-
202
- var _excluded$8=["timespanAsList","joinTimespan","sortTimespan","flat","flatTimespan"];function ownKeys$f(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;}function _objectSpread$f(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$f(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$f(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$9=_objectSpread$f(_objectSpread$f({},defaultOptions$a),{},{timespanAsList:false,joinTimespan:'_',sortTimespan:false,flat:false,flatTimespan:undefined});/**
203
- * Parses timespanList according to specified options.
204
- * The attributes can be targeted for each sub-type.
205
- *
206
- * @param timespanList - A Vidicore metadata timespan list
207
- * @param options - Options which change how the metadataType is parsed.
208
- * @returns Timespan list parsed according to options
209
- *
210
- * @see {@link parseTimespan} for more info
211
- *
212
- * @category Metadata
213
- */var parseTimespanList=function parseTimespanList(timespanList,options){var parseTimespanListOptions=_objectSpread$f(_objectSpread$f({},defaultOptions$9),options||{});var timespanAsList=parseTimespanListOptions.timespanAsList,joinTimespan=parseTimespanListOptions.joinTimespan,sortTimespan=parseTimespanListOptions.sortTimespan,flat=parseTimespanListOptions.flat,flatTimespan=parseTimespanListOptions.flatTimespan,otherOptions=_objectWithoutProperties__default["default"](parseTimespanListOptions,_excluded$8);var parseTimespanOptions=_objectSpread$f({flat:flat},otherOptions);if(sortTimespan)timespanList.sort(sortTimespanList);var shouldFlatten=(flatTimespan!==undefined?flatTimespan===true:flat===true)&&timespanAsList===false;var output={};timespanList===null||timespanList===void 0?void 0:timespanList.forEach(function(timespan){var start=timespan.start,end=timespan.end;var key=shouldFlatten?'flat':[start,end].join(joinTimespan);var parsedTimespan=parseTimespan(timespan,parseTimespanOptions);var existingParsedTimespans=output[key];if(!existingParsedTimespans)output[key]=parsedTimespan;else if(shouldFlatten){if(start==='-INF'&&end==='+INF'){output[key]=_objectSpread$f(_objectSpread$f({},asSingle(existingParsedTimespans)),parsedTimespan);}else {output[key]=_objectSpread$f(_objectSpread$f({},parsedTimespan),asSingle(existingParsedTimespans));}}else output[key]=[].concat(_toConsumableArray__default["default"](asArray(existingParsedTimespans)),[parsedTimespan]);});if(timespanAsList===true){return Object.values(output);}if(shouldFlatten){return Object.values(output).pop();}return output;};
214
-
215
- var _excluded$7=["timespan"];function ownKeys$e(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;}function _objectSpread$e(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$e(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$e(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$8=_objectSpread$e(_objectSpread$e({},defaultOptions$9),{},{includeMetadataAttributes:false,flat:false});/**
216
- * Parses MetadataType according to specified options
217
- *
218
- * @remarks
219
- * Be aware that you need to take into account that the returned groups and fields can be an array if it has multiple values or groups/fields with same name.
220
- * If you are certain your metadata type won't return multiple groups/fields/values with same name or don't mind that they _might_ be overridden:
221
- * you can use the option `flat` along with `joinValue` or `arrayOnSingleValue: false`.
222
- *
223
- * @param metadataType - A MetadataType from VidiCore
224
- * @param options - Options which change how the metadataType is parsed
225
- * @returns Metadata object parsed according to options
226
- *
227
- * @see {@link parseTimespanList} for more info
228
- *
229
- * @category Metadata
230
- */function parseMetadataType(metadataType,options){var parseMetadataTypeOptions=_objectSpread$e(_objectSpread$e({},defaultOptions$8),options||{});var includeMetadataAttributes=parseMetadataTypeOptions.includeMetadataAttributes,flat=parseMetadataTypeOptions.flat;var _ref=metadataType||{},_ref$timespan=_ref.timespan,timespanList=_ref$timespan===void 0?[]:_ref$timespan,attributes=_objectWithoutProperties__default["default"](_ref,_excluded$7);var parseTimespanListOptions=Object.fromEntries(Object.entries(options).map(function(_ref2){var _ref3=_slicedToArray__default["default"](_ref2,2),key=_ref3[0],value=_ref3[1];if(Object.keys(defaultOptions$9).includes(key)){if(['onlyGeneric','overrideGroup','overrideField'].includes(key)&&(value!==undefined?value:flat===true)){return [key,true];}return [key,value];}return undefined;}).filter(function(e){return !!e;}));var parsedTimespanList=parseTimespanList(timespanList,parseTimespanListOptions);var metadataAttributes=includeMetadataAttributes===true&&_objectSpread$e(_objectSpread$e({},attributes),attributes.revision?{revision:attributes.revision.split(',')}:{})||Array.isArray(includeMetadataAttributes)&&Object.fromEntries(Object.entries(attributes).map(function(_ref4){var _ref5=_slicedToArray__default["default"](_ref4,2),key=_ref5[0],value=_ref5[1];if(includeMetadataAttributes.includes(key)){return [key,key==='revision'&&typeof value==='string'?value.split(','):value];}return undefined;}).filter(function(o){return !!o;}))||{};return _objectSpread$e(_objectSpread$e({},metadataAttributes),parseTimespanListOptions!==null&&parseTimespanListOptions!==void 0&&parseTimespanListOptions.timespanAsList?{timespan:parsedTimespanList}:parsedTimespanList);}
231
-
232
- /**
233
- * Parse simple (key/value) metadata
234
- *
235
- * Not indexed metadata, available on almost all entities (storages, library, user, group, etc...)
236
- *
237
- * @param simpleMetadataType A VidiCore simple metadata object
238
- * @returns A parsed simple metadata object
239
- *
240
- * @category Metadata
241
- */var parseSimpleMetadataType=function parseSimpleMetadataType(simpleMetadataType){var _ref=simpleMetadataType||{},_ref$field=_ref.field,field=_ref$field===void 0?[]:_ref$field;return parseKeyValuePairTypes(field);};
242
-
243
- var MAP_CONSTANT_TO_DEN_NUM={PAL:{denominator:25,numerator:1},NTSC:{denominator:30000,numerator:1001},NTSC30:{denominator:30,numerator:1},29.97:{denominator:30000,numerator:1001},59.94:{denominator:60000,numerator:1001},23.976:{denominator:48000,numerator:2002},23.98:{denominator:48000,numerator:2002}};var TIME_BASE_CONSTANTS=Object.keys(MAP_CONSTANT_TO_DEN_NUM);
244
-
245
- function ownKeys$d(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;}function _objectSpread$d(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$d(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$d(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$7={toText:{constant:false,fraction:false},toRate:{fixed:true,rounded:false}};/**
246
- * TimeBase class representing the TimeBaseType in VidiCore
247
- *
248
- * For more info, see the [Time bases section in VidiCore API Docs](https://apidoc.vidispine.com/latest/time.html#time-bases)
249
- *
250
- * @category Time
251
- */var TimeBase=/*#__PURE__*/function(){/** The numerator for the TimeBase */ /** The denominator for the TimeBase */ /**
24
+ var gcd=function gcd(a,b){return b?gcd(b,a%b):a;};var parseAspectRatio=function parseAspectRatio(aspectRatio){var _ref=aspectRatio||{},width=_ref.width,height=_ref.height;if(width===void 0||height===void 0){return void 0;}var denominator=gcd(width,height);var widthRatio=width/denominator;var heightRatio=height/denominator;if(widthRatio>21){heightRatio=1;widthRatio=(width/height).toFixed(2);}return [widthRatio,heightRatio].join(":");};
25
+
26
+ var parseKeyValuePairTypes=function parseKeyValuePairTypes(keyValuePairTypes){return Object.fromEntries((keyValuePairTypes===null||keyValuePairTypes===void 0?void 0:keyValuePairTypes.map(function(_ref){var key=_ref.key,value=_ref.value;return [key,value];}))||[]);};
27
+
28
+ var ROLE_NAMES={ACCESSCONTROL_READ:"_accesscontrol_read",ACCESSCONTROL_WRITE:"_accesscontrol_write",ADMINISTRATOR:"_administrator",AUTO_PROJECTION_READ:"_auto_projection_read",AUTO_PROJECTION_WRITE:"_auto_projection_write",COLLECTION_NOTIFICATION_READ:"_collection_notification_read",COLLECTION_NOTIFICATION_WRITE:"_collection_notification_write",COLLECTION_READ:"_collection_read",COLLECTION_WRITE:"_collection_write",CONFIGURATION_READ:"_configuration_read",DELETION_LOCK_NOTIFICATION_READ:"_deletion_lock_notification_read",DELETION_LOCK_NOTIFICATION_WRITE:"_deletion_lock_notification_write",DELETION_LOCK_READ:"_deletion_lock_read",DELETION_LOCK_WRITE:"_deletion_lock_write",DOCUMENT_NOTIFICATION_READ:"_document_notification_read",DOCUMENT_NOTIFICATION_WRITE:"_document_notification_write",DOCUMENT_READ:"_document_read",DOCUMENT_WRITE:"_document_write",ERROR_READ:"_error_read",ERROR_WRITE:"_error_write",EXPORT:"_export",EXPORT_TEMPLATE_READ:"_export_template_read",EXPORT_TEMPLATE_WRITE:"_export_template_write",EXTERNAL_ID_READ:"_external_id_read",EXTERNAL_ID_WRITE:"_external_id_write",FILE_NOTIFICATION_READ:"_file_notification_read",FILE_NOTIFICATION_WRITE:"_file_notification_write",FILE_READ:"_file_read",FILE_WRITE:"_file_write",GROUP_READ:"_group_read",GROUP_WRITE:"_group_write",IMPORT_WRITE:"_import",ITEM_ID_READ:"_item_id_read",ITEM_ID_WRITE:"_item_id_write",ITEM_NOTIFICATION_READ:"_item_notification_read",ITEM_NOTIFICATION_WRITE:"_item_notification_write",ITEM_WRITE:"_item_write",ITEM_SEARCH:"_item_search",ITEM_SHAPE_READ:"_item_shape_read",ITEM_SHAPE_WRITE:"_item_shape_write",ITEM_TIMELINE_READ:"_item_timeline_read",ITEM_TIMELINE_WRITE:"_item_timeline_write",ITEM_URI:"_item_uri",JOB_NOTIFICATION_READ:"_job_notification_read",JOB_NOTIFICATION_WRITE:"_job_notification_write",JOB_READ:"_job_read",JOB_WRITE:"_job_write",LIBRARY_READ:"_library_read",LIBRARY_WRITE:"_library_write",LOCK_READ:"_lock_read",LOCK_WRITE:"_lock_write",LOG_READ:"_log_read",METADATA_DATASET_READ:"_metadata_dataset_read",METADATA_DATASET_WRITE:"_metadata_dataset_write",METADATA_FIELD_GROUP_READ:"_metadata_field_group_read",METADATA_FIELD_GROUP_WRITE:"_metadata_field_group_write",METADATA_FIELD_READ:"_metadata_field_read",METADATA_FIELD_WRITE:"_metadata_field_write",METADATA_GLOBAL_READ:"_metadata_global_read",METADATA_GLOBAL_WRITE:"_metadata_global_write",METADATA_LOCK_READ:"_metadata_lock_read",METADATA_LOCK_WRITE:"_metadata_lock_write",METADATA_READ:"_metadata_read",METADATA_SCHEMA_READ:"_metadata_schema_read",METADATA_SCHEMA_WRITE:"_metadata_schema_write",METADATA_WRITE:"_metadata_write",OTIF_ANALYZE:"_otif_analyze",OTIF_READ:"_otif_read",OTIF_WRITE:"_otif_write",PLACEHOLDER_NOTIFICATION_READ:"_placeholder_notification_read",PLACEHOLDER_NOTIFICATION_WRITE:"_placeholder_notification_write",PROJECTION_READ:"_projection_read",PROJECTION_WRITE:"_projection_write",QUOTA_NOTIFICATION_READ:"_quota_notification_read",QUOTA_NOTIFICATION_WRITE:"_quota_notification_write",QUOTA_READ:"_quota_read",QUOTA_WRITE:"_quota_write",RELATION_READ:"_relation_read",RELATION_WRITE:"_relation_write",RESOURCE_READ:"_resource_read",RESOURCE_WRITE:"_resource_write",RUN_AS:"_run_as",SEARCH:"_search",SEQUENCE_READ:"_sequence_read",SEQUENCE_WRITE:"_sequence_write",SHAPE_TAG_READ:"_shape_tag_read",SHAPE_TAG_WRITE:"_shape_tag_write",SITE_MANAGER:"_site_manager",SITE_RULE_READ:"_site_rule_read",SITE_RULE_WRITE:"_site_rule_write",STORAGE_GROUP_READ:"_storage_group_read",STORAGE_GROUP_WRITE:"_storage_group_write",STORAGE_NOTIFICATION_READ:"_storage_notification_read",STORAGE_NOTIFICATION_WRITE:"_storage_notification_write",STORAGE_READ:"_storage_read",STORAGE_RULE_READ:"_storage_rule_read",STORAGE_RULE_WRITE:"_storage_rule_write",STORAGE_WRITE:"_storage_write",SUPER_ACCESS_USER:"_super_access_user",TASKDEFINITION_READ:"_taskdefinition_read",TASKDEFINITION_WRITE:"_taskdefinition_write",THUMBNAIL_READ:"_thumbnail_read",THUMBNAIL_WRITE:"_thumbnail_write",TRANSCODER:"_transcoder",TRANSFER_READ:"_transfer_read",TRANSFER_WRITE:"_transfer_write",USER:"_user",VXA:"_vxa",VXA_READ:"_vxa_read"};
29
+
30
+ var SYSTEM_FIELDGROUPS=["stl_subtitle","stl_tti","stl_gsi","mrk_marker","pho_validation","pho_resource","pho_error","facedetect_rect","facedetect_face","originalTrackFilename","stl_gsiHeader"];
31
+
32
+ var SYSTEM_FIELDS=["title","user","shapeTag","representativeThumbnail","representativeThumbnailNoAuth","representativeItems","itemId","collectionId","mediaType","mimeType","created","startTimeCode","startSeconds","fieldValidationError","schemaValidationError","originalFilename","originalUri","originalAudioCodec","originalVideoCodec","originalHeight","originalWidth","originalFormat","durationSeconds","durationTimeCode","solr-index","__user","__collection","__collection_size","__ancestor_collection","__ancestor_collection_size","__shape","__shape_size","__shape_last_added","__placeholder_shape_size","__version","__version_count","__storage","__storage_size","__shapetag_{tag}_hash_{hash}","__storage_{tag}","__storage_{tag}_size","__storagegroup","__storagegroup_size","__sequence","__sequence_size","__metadata_last_modified","__external_id","__deletion_lock_id","__deletion_lock_expiry","__child_collection","__child_collection_size","__parent_collection","__parent_collection_size","__items_size","stl_text","stl_justification","stl_xrelative","stl_yrelative","stl_vertical","stl_verticalbase","stl_horizontalbase","stl_sizerelative","stl_color","stl_outline","stl_outlinecolor","stl_outlinesize","stl_font","stl_service","stl_tti","stl_gsi","cct","tcd","tcf","oet","cd","mnc","cpn","dfc","tcp","tcs","tet","tnb","tnd","en","co","tng","rd","mnr","dsc","opt","lc","tpt","tn","slr","tns","rn","pub","dsn","ecd","mrk_zerolength","mrk_text","mrk_color","pho_resource_name","pho_error_level","pho_error_code","pho_error_description","facedetect_rect_width","facedetect_rect_height","facedetect_rect_y","facedetect_rect_x","facedetect_pid","facedetect_rect","trackId","eidr_actor","eidr_alternateId","eidr_countryOfOrigin","eidr_director","eidr_id","eidr_referentType","eidr_releaseDate","eidr_resourceName","eidr_status","eidr_sync","ttml_div","ttml_root","vxa_collection_id","vxaId","vxaLocalPath","tco","cs","ebn","tf","cf","sgn","tci","jc","vp","sn"];
33
+
34
+ var SHARED_ATTRIBUTE_KEYS=["uuid","user","timestamp","change","conflict","mode"];var SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS=["name","id","referenced","data","inheritance"];
35
+
36
+ var FIELD_VALUE_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),["value","lang"]);
37
+
38
+ var FIELD_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),_toConsumableArray__default["default"](SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS),["value","reference","type","track"]);
39
+
40
+ var GROUP_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),_toConsumableArray__default["default"](SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS),["cycle","field","group"]);
41
+
42
+ var _excluded$e=["value"],_excluded2$2=["start","end","base"];function ownKeys$o(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;}function _objectSpread$o(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$o(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$o(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var isValueObject=function isValueObject(o){return Object.prototype.toString.call(o)==="[object Object]"&&o.value!==void 0;};var isFieldType=function isFieldType(v){return ["string","boolean","number"].includes(_typeof__default["default"](v));};var isFieldObject=function isFieldObject(o){return isValueObject(o)&&((o===null||o===void 0?void 0:o.value)===null||isValueObject(o.value)||isFieldType(o.value));};var isObject=function isObject(o){return Object.prototype.toString.call(o)==="[object Object]";};var isDate=function isDate(o){return Object.prototype.toString.call(o)==="[object Date]";};var isField=function isField(value){if(value===null){return true;}if(Array.isArray(value)){return value.some(isField);}return isFieldType(value)||isFieldObject(value)||isDate(value);};var isGroup=function isGroup(value){var isGroupObject=function isGroupObject(v){return isObject(v)&&v.value===void 0&&!!Object.entries(value);};if(Array.isArray(value)){return value.every(isGroup);}return isGroupObject(value);};var tryPluralize=function tryPluralize(str,arr){return str+(arr.length>1?"s":"");};var ensureKeysAreValid=function ensureKeysAreValid(keysToCheck,keysToMatch){var unsupportedKeys=keysToCheck.filter(function(k){return !keysToMatch.includes(k);});if(unsupportedKeys.length){throw Error("Unsupported ".concat(tryPluralize("key",unsupportedKeys)," (").concat(unsupportedKeys.join(", "),")"));}};var parseValue$1=function parseValue(value){if(Array.isArray(value)){throw Error("Invalid value inside value object, cannot be array");}if([void 0,null].includes(value))return {};if(isDate(value))return {value:value.toISOString()};return {value:value.toString()};};var parseValueObject=function parseValueObject(valueObject){ensureKeysAreValid(Object.keys(valueObject),FIELD_VALUE_ATTRIBUTE_KEYS);if(Object.keys(valueObject).length===0){throw Error("Invalid value object, cannot be empty object");}if(typeof(valueObject===null||valueObject===void 0?void 0:valueObject.value)==="string"){return valueObject;}var parsedValue=parseValue$1(valueObject===null||valueObject===void 0?void 0:valueObject.value);return _objectSpread$o(_objectSpread$o({},valueObject),parsedValue!==void 0?parsedValue:{});};var parseFieldValue=function parseFieldValue(value){if([void 0,null].includes(value))return void 0;if(Array.isArray(value))return value.flatMap(parseFieldValue);if(isValueObject(value))return parseValueObject(value);return parseValue$1(value);};var parseFieldObject=function parseFieldObject(fieldObject){ensureKeysAreValid(Object.keys(fieldObject),FIELD_ATTRIBUTE_KEYS);var parsedFieldValue=parseFieldValue(fieldObject===null||fieldObject===void 0?void 0:fieldObject.value);if(parsedFieldValue===void 0){fieldObject.value;var fieldObjectWithoutValue=_objectWithoutProperties__default["default"](fieldObject,_excluded$e);return fieldObjectWithoutValue;}return _objectSpread$o(_objectSpread$o({},fieldObject),{},{value:_toConsumableArray__default["default"](Array.isArray(parsedFieldValue)?parsedFieldValue:[parsedFieldValue])});};var parseField$1=function parseField(field){if(isFieldObject(field)){return parseFieldObject(field);}var parsedFieldValue=parseFieldValue(field);if(parsedFieldValue===void 0){return void 0;}return {value:_toConsumableArray__default["default"](Array.isArray(parsedFieldValue)?parsedFieldValue:[parsedFieldValue])};};var parseGroupsAndFields=function parseGroupsAndFields(groupOrField){var group=[];var field=[];var groupAttributes={};Object.entries(groupOrField||{}).forEach(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,2),name=_ref2[0],value=_ref2[1];if(GROUP_ATTRIBUTE_KEYS.includes(name)){groupAttributes=_objectSpread$o(_objectSpread$o({},groupAttributes),{},_defineProperty__default["default"]({},name,value));}else if(isField(value)){try{field.push(_objectSpread$o({name:name},parseField$1(value)));}catch(error){throw Error(error.message+(name?" for field \"".concat(name,"\""):""));}}else if(isGroup(value)){(Array.isArray(value)?value:[value]).forEach(function(childGroup){group.push(_objectSpread$o({name:name},parseGroupsAndFields(childGroup)));});}else {throw Error("Unhandled value for \"".concat(name,"\""));}});return _objectSpread$o(_objectSpread$o(_objectSpread$o({},groupAttributes),group.length>0?{group:group}:{}),field.length>0?{field:field}:{});};var parseTimespan$1=function parseTimespan(timespan){var _timespan$start=timespan.start,start=_timespan$start===void 0?"-INF":_timespan$start,_timespan$end=timespan.end,end=_timespan$end===void 0?"+INF":_timespan$end,_timespan$base=timespan.base,base=_timespan$base===void 0?void 0:_timespan$base,groupsAndFields=_objectWithoutProperties__default["default"](timespan,_excluded2$2);var _parseGroupsAndFields=parseGroupsAndFields(groupsAndFields),group=_parseGroupsAndFields.group,field=_parseGroupsAndFields.field;return _objectSpread$o(_objectSpread$o(_objectSpread$o({},group?{group:group}:{}),field?{field:field}:{}),{},{start:start.toString(),end:end.toString()},base?{base:base}:{});};var createMetadataType=function createMetadataType(input){return {timespan:(Array.isArray(input)?input:[input||{}]).map(function(t){return parseTimespan$1(t);})};};
43
+
44
+ var sortTimespanList=function sortTimespanList(timespan1,timespan2){var _timespan1$start,_timespan2$start;var _ref=(timespan1===null||timespan1===void 0?void 0:(_timespan1$start=timespan1.start)===null||_timespan1$start===void 0?void 0:_timespan1$start.split("@"))||[],_ref2=_slicedToArray__default["default"](_ref,1),firstStart=_ref2[0];var _ref3=(timespan2===null||timespan2===void 0?void 0:(_timespan2$start=timespan2.start)===null||_timespan2$start===void 0?void 0:_timespan2$start.split("@"))||[],_ref4=_slicedToArray__default["default"](_ref3,1),secondStart=_ref4[0];if(Number(firstStart)<Number(secondStart)){return -1;}if(Number(firstStart)>Number(secondStart)){return 1;}return 0;};
45
+
46
+ var asArray=function asArray(v){return Array.isArray(v)?v:v&&[v]||[];};var asSingle=function asSingle(v){return Array.isArray(v)?v.pop():v;};var isStringArray=function isStringArray(arr){return (arr===null||arr===void 0?void 0:arr.every(function(v){return typeof v==="string";}))||false;};
47
+
48
+ var _excluded$d=["value"];function ownKeys$n(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;}function _objectSpread$n(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$n(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$n(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$g={includeValueAttributes:false};function parseValue(value,options){var _defaultOptions=_objectSpread$n(_objectSpread$n({},defaultOptions$g),options||{}),includeValueAttributes=_defaultOptions.includeValueAttributes;if(includeValueAttributes===false){return value===null||value===void 0?void 0:value.value;}var stringValue=value.value,attributes=_objectWithoutProperties__default["default"](value,_excluded$d);var valueAttributes=includeValueAttributes===true&&attributes||Array.isArray(includeValueAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,1),key=_ref2[0];return includeValueAttributes.includes(key);}))||{};return _objectSpread$n(_objectSpread$n({},valueAttributes),{},{value:stringValue});}
49
+
50
+ var _excluded$c=["joinValue","arrayOnSingleValue"];function ownKeys$m(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;}function _objectSpread$m(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$m(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$m(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$f=_objectSpread$m(_objectSpread$m({},defaultOptions$g),{},{joinValue:void 0,arrayOnSingleValue:true});function parseValueList(valueList,options){var _defaultOptions=_objectSpread$m(_objectSpread$m({},defaultOptions$f),options||{}),joinValue=_defaultOptions.joinValue,arrayOnSingleValue=_defaultOptions.arrayOnSingleValue,parseValueOptions=_objectWithoutProperties__default["default"](_defaultOptions,_excluded$c);var parsedValueList=valueList===null||valueList===void 0?void 0:valueList.map(function(v){return parseValue(v,parseValueOptions);});if(isStringArray(parsedValueList)&&joinValue)return parsedValueList===null||parsedValueList===void 0?void 0:parsedValueList.join(joinValue);if(arrayOnSingleValue!==true&&(parsedValueList===null||parsedValueList===void 0?void 0:parsedValueList.length)<=1)return parsedValueList===null||parsedValueList===void 0?void 0:parsedValueList[0];return parsedValueList;}
51
+
52
+ var _excluded$b=["includeFieldAttributes"],_excluded2$1=["value"];function ownKeys$l(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;}function _objectSpread$l(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$l(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$l(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$e=_objectSpread$l({includeFieldAttributes:false},defaultOptions$f);var parseField=function parseField(field,options){var _defaultOptions=_objectSpread$l(_objectSpread$l({},defaultOptions$e),options||{}),includeFieldAttributes=_defaultOptions.includeFieldAttributes,parseValueListOptions=_objectWithoutProperties__default["default"](_defaultOptions,_excluded$b);var value=field.value,attributes=_objectWithoutProperties__default["default"](field,_excluded2$1);var parsedValueList=parseValueList(value,parseValueListOptions);var fieldAttributes=includeFieldAttributes===true&&attributes||Array.isArray(includeFieldAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,1),key=_ref2[0];return includeFieldAttributes.includes(key);}))||{};return includeFieldAttributes?_objectSpread$l(_objectSpread$l({},fieldAttributes),{},{value:parsedValueList}):parsedValueList;};
53
+
54
+ function ownKeys$k(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;}function _objectSpread$k(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$k(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$k(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$d=_objectSpread$k(_objectSpread$k({},defaultOptions$e),{},{fieldAsList:false,arrayOnSingleField:false,overrideField:void 0});var parseFieldList=function parseFieldList(fieldList,options){var parseFieldListOptions=_objectSpread$k(_objectSpread$k({},defaultOptions$d),options||{});var fieldAsList=parseFieldListOptions.fieldAsList,arrayOnSingleField=parseFieldListOptions.arrayOnSingleField,overrideField=parseFieldListOptions.overrideField;var shouldOverride=overrideField===true&&fieldAsList===false;var output={};fieldList===null||fieldList===void 0?void 0:fieldList.forEach(function(field){var name=field.name;var parsedField=parseField(field,parseFieldListOptions);var parsedFieldOutput=arrayOnSingleField===true?asArray(parsedField):parsedField;var existingParsedFields=output[name];if(!existingParsedFields)output[name]=parsedFieldOutput;else if(shouldOverride)output[name]=parsedField;else output[name]=[asArray(existingParsedFields),asArray(parsedField)].flat();});return fieldAsList===true?Object.values(output).flat():output;};
55
+
56
+ var _excluded$a=["field","group"];function ownKeys$j(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;}function _objectSpread$j(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$j(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$j(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultParseGroupOptions=_objectSpread$j(_objectSpread$j({},defaultOptions$d),{},{includeGroupAttributes:false,groupAsList:false,arrayOnSingleGroup:false,overrideGroup:void 0});var parseGroup=function parseGroup(group,options){var parseGroupOptions=_objectSpread$j(_objectSpread$j({},defaultParseGroupOptions),options||{});var includeGroupAttributes=parseGroupOptions.includeGroupAttributes;var parseFieldListOptions=Object.fromEntries(Object.entries(parseGroupOptions).filter(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,1),key=_ref2[0];return Object.keys(defaultOptions$d).includes(key);}));var fieldList=group.field,groupList=group.group,attributes=_objectWithoutProperties__default["default"](group,_excluded$a);var parsedFieldList=fieldList&&parseFieldList(fieldList,parseFieldListOptions);var parsedGroupList=groupList&&parseGroupList(groupList,parseGroupOptions);var groupAttributes=includeGroupAttributes===true&&attributes||Array.isArray(includeGroupAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref3){var _ref4=_slicedToArray__default["default"](_ref3,1),key=_ref4[0];return includeGroupAttributes.includes(key);}))||{};return _objectSpread$j(_objectSpread$j(_objectSpread$j({},groupAttributes),parseFieldListOptions!==null&&parseFieldListOptions!==void 0&&parseFieldListOptions.fieldAsList?parsedFieldList&&{field:parsedFieldList}||{}:parsedFieldList),parseGroupOptions!==null&&parseGroupOptions!==void 0&&parseGroupOptions.groupAsList?parsedGroupList&&{group:parsedGroupList}||{}:parsedGroupList);};var defaultOptions$c=defaultParseGroupOptions;var parseGroupList=function parseGroupList(groupList,options){var parseGroupOptions=_objectSpread$j(_objectSpread$j({},defaultOptions$c),options||{});var groupAsList=parseGroupOptions.groupAsList,arrayOnSingleGroup=parseGroupOptions.arrayOnSingleGroup,overrideGroup=parseGroupOptions.overrideGroup;var shouldOverride=overrideGroup===true&&groupAsList===false;var output={};groupList===null||groupList===void 0?void 0:groupList.forEach(function(group){var name=group.name;var parsedGroup=parseGroup(group,parseGroupOptions);var parsedGroupOutput=arrayOnSingleGroup===true?asArray(parsedGroup):parsedGroup;var existingParsedGroups=output[name];if(!existingParsedGroups)output[name]=parsedGroupOutput;else if(shouldOverride)output[name]=parsedGroup;else output[name]=[asArray(existingParsedGroups),asArray(parsedGroup)].flat();});if(groupAsList){return Object.values(output).flat();}return output;};
57
+
58
+ var _excluded$9=["field","group"];function ownKeys$i(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;}function _objectSpread$i(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$i(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$i(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$b=_objectSpread$i(_objectSpread$i({},defaultOptions$c),{},{includeTimespanAttributes:false,flat:false,arrayOnSingle:false,arrayOnSingleValue:true,arrayOnSingleGroup:void 0,arrayOnSingleField:void 0});var parseTimespan=function parseTimespan(timespan,options){var parseTimespanOptions=_objectSpread$i(_objectSpread$i({},defaultOptions$b),options||{});var includeTimespanAttributes=parseTimespanOptions.includeTimespanAttributes,arrayOnSingle=parseTimespanOptions.arrayOnSingle,flat=parseTimespanOptions.flat;var parseGroupListOptions=Object.fromEntries(Object.entries(options).map(function(_ref){var _ref2=_slicedToArray__default["default"](_ref,2),key=_ref2[0],value=_ref2[1];if(Object.keys(defaultOptions$c).includes(key)){if(["arrayOnSingleGroup","arrayOnSingleField","arrayOnSingleValue"].includes(key)&&(value!==void 0?value:arrayOnSingle===true)){return [key,true];}if(["overrideGroup","overrideField"].includes(key)&&(value!==void 0?value:flat===true)){return [key,true];}return [key,value];}return void 0;}).filter(function(e){return !!e;}));var parseFieldListOptions=Object.fromEntries(Object.entries(options).map(function(_ref3){var _ref4=_slicedToArray__default["default"](_ref3,2),key=_ref4[0],value=_ref4[1];if(Object.keys(defaultOptions$d).includes(key)){if(["arrayOnSingleField","arrayOnSingleValue"].includes(key)&&(value!==void 0?value:arrayOnSingle===true)){return [key,true];}if(["overrideField"].includes(key)&&(value!==void 0?value:flat===true)){return [key,true];}return [key,value];}return void 0;}).filter(function(e){return !!e;}));var _ref5=timespan||{},fieldList=_ref5.field,groupList=_ref5.group,attributes=_objectWithoutProperties__default["default"](_ref5,_excluded$9);var parsedFieldList=fieldList&&parseFieldList(fieldList,parseFieldListOptions);var parsedGroupList=groupList&&parseGroupList(groupList,parseGroupListOptions);var timespanAttributes=includeTimespanAttributes===true&&attributes||Array.isArray(includeTimespanAttributes)&&Object.fromEntries(Object.entries(attributes).filter(function(_ref6){var _ref7=_slicedToArray__default["default"](_ref6,1),key=_ref7[0];return includeTimespanAttributes.includes(key);}))||{};return _objectSpread$i(_objectSpread$i(_objectSpread$i({},timespanAttributes),parseFieldListOptions!==null&&parseFieldListOptions!==void 0&&parseFieldListOptions.fieldAsList?{field:parsedFieldList}:parsedFieldList),parseGroupListOptions!==null&&parseGroupListOptions!==void 0&&parseGroupListOptions.groupAsList?{group:parsedGroupList}:parsedGroupList);};
59
+
60
+ var _excluded$8=["timespanAsList","joinTimespan","sortTimespan","flat","flatTimespan"];function ownKeys$h(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;}function _objectSpread$h(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$h(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$h(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$a=_objectSpread$h(_objectSpread$h({},defaultOptions$b),{},{timespanAsList:false,joinTimespan:"_",sortTimespan:false,flat:false,flatTimespan:void 0});var parseTimespanList=function parseTimespanList(timespanList,options){var parseTimespanListOptions=_objectSpread$h(_objectSpread$h({},defaultOptions$a),options||{});var timespanAsList=parseTimespanListOptions.timespanAsList,joinTimespan=parseTimespanListOptions.joinTimespan,sortTimespan=parseTimespanListOptions.sortTimespan,flat=parseTimespanListOptions.flat,flatTimespan=parseTimespanListOptions.flatTimespan,otherOptions=_objectWithoutProperties__default["default"](parseTimespanListOptions,_excluded$8);var parseTimespanOptions=_objectSpread$h({flat:flat},otherOptions);if(sortTimespan)timespanList.sort(sortTimespanList);var shouldFlatten=(flatTimespan!==void 0?flatTimespan===true:flat===true)&&timespanAsList===false;var output={};timespanList===null||timespanList===void 0?void 0:timespanList.forEach(function(timespan){var start=timespan.start,end=timespan.end;var key=shouldFlatten?"flat":[start,end].join(joinTimespan);var parsedTimespan=parseTimespan(timespan,parseTimespanOptions);var existingParsedTimespans=output[key];if(!existingParsedTimespans)output[key]=parsedTimespan;else if(shouldFlatten){if(start==="-INF"&&end==="+INF"){output[key]=_objectSpread$h(_objectSpread$h({},asSingle(existingParsedTimespans)),parsedTimespan);}else {output[key]=_objectSpread$h(_objectSpread$h({},parsedTimespan),asSingle(existingParsedTimespans));}}else output[key]=[].concat(_toConsumableArray__default["default"](asArray(existingParsedTimespans)),[parsedTimespan]);});if(timespanAsList===true){return Object.values(output);}if(shouldFlatten){return Object.values(output).pop();}return output;};
61
+
62
+ var _excluded$7=["timespan"];function ownKeys$g(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;}function _objectSpread$g(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$g(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$g(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$9=_objectSpread$g(_objectSpread$g({},defaultOptions$a),{},{includeMetadataAttributes:false,flat:false});function parseMetadataType(metadataType,options){var parseMetadataTypeOptions=_objectSpread$g(_objectSpread$g({},defaultOptions$9),options||{});var includeMetadataAttributes=parseMetadataTypeOptions.includeMetadataAttributes,flat=parseMetadataTypeOptions.flat;var _ref=metadataType||{},_ref$timespan=_ref.timespan,timespanList=_ref$timespan===void 0?[]:_ref$timespan,attributes=_objectWithoutProperties__default["default"](_ref,_excluded$7);var parseTimespanListOptions=Object.fromEntries(Object.entries(options).map(function(_ref2){var _ref3=_slicedToArray__default["default"](_ref2,2),key=_ref3[0],value=_ref3[1];if(Object.keys(defaultOptions$a).includes(key)){if(["onlyGeneric","overrideGroup","overrideField"].includes(key)&&(value!==void 0?value:flat===true)){return [key,true];}return [key,value];}return void 0;}).filter(function(e){return !!e;}));var parsedTimespanList=parseTimespanList(timespanList,parseTimespanListOptions);var metadataAttributes=includeMetadataAttributes===true&&_objectSpread$g(_objectSpread$g({},attributes),attributes.revision?{revision:attributes.revision.split(",")}:{})||Array.isArray(includeMetadataAttributes)&&Object.fromEntries(Object.entries(attributes).map(function(_ref4){var _ref5=_slicedToArray__default["default"](_ref4,2),key=_ref5[0],value=_ref5[1];if(includeMetadataAttributes.includes(key)){return [key,key==="revision"&&typeof value==="string"?value.split(","):value];}return void 0;}).filter(function(o){return !!o;}))||{};return _objectSpread$g(_objectSpread$g({},metadataAttributes),parseTimespanListOptions!==null&&parseTimespanListOptions!==void 0&&parseTimespanListOptions.timespanAsList?{timespan:parsedTimespanList}:parsedTimespanList);}
63
+
64
+ var parseSimpleMetadataType=function parseSimpleMetadataType(simpleMetadataType){var _ref=simpleMetadataType||{},_ref$field=_ref.field,field=_ref$field===void 0?[]:_ref$field;return parseKeyValuePairTypes(field);};
65
+
66
+ var MAP_CONSTANT_TO_DEN_NUM={PAL:{denominator:25,numerator:1},NTSC:{denominator:3e4,numerator:1001},NTSC30:{denominator:30,numerator:1},29.97:{denominator:3e4,numerator:1001},59.94:{denominator:6e4,numerator:1001},23.976:{denominator:48e3,numerator:2002},23.98:{denominator:48e3,numerator:2002}};var TIME_BASE_CONSTANTS=Object.keys(MAP_CONSTANT_TO_DEN_NUM);
67
+
68
+ function ownKeys$f(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;}function _objectSpread$f(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$f(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$f(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$8={toText:{constant:false,fraction:false},toRate:{fixed:true,rounded:false}};var TimeBase=/*#__PURE__*/function(){/** The numerator for the TimeBase */ /** The denominator for the TimeBase */ /**
252
69
  * Constructor for TimeBase
253
70
  *
254
71
  * @param timeBaseType A TimeBaseType object
255
72
  */function TimeBase(timeBaseType){_classCallCheck__default["default"](this,TimeBase);_defineProperty__default["default"](this,"numerator",1);_defineProperty__default["default"](this,"denominator",1);var _ref=timeBaseType||{},_ref$numerator=_ref.numerator,numerator=_ref$numerator===void 0?1:_ref$numerator,_ref$denominator=_ref.denominator,denominator=_ref$denominator===void 0?1:_ref$denominator;this.numerator=Number(numerator);this.denominator=Number(denominator);}/**
256
73
  * Get TimeBase in a constant representation (e.g. "PAL") if possible, otherwise undefined
257
74
  * @returns Constant representation of the TimeBase
258
- */_createClass__default["default"](TimeBase,[{key:"toConstant",value:function toConstant(){var _this=this;var constant;// If multiple equal den/num, it selects first in MAP_CONSTANT_TO_DEN_NUM
259
- Object.entries(MAP_CONSTANT_TO_DEN_NUM).find(function(timeBaseConstant){var _timeBaseConstant=_slicedToArray__default["default"](timeBaseConstant,2),thisTimeBaseText=_timeBaseConstant[0],thisTimeBaseType=_timeBaseConstant[1];var numerator=thisTimeBaseType.numerator,denominator=thisTimeBaseType.denominator;if(numerator===_this.numerator&&denominator===_this.denominator){constant=thisTimeBaseText;return true;}return false;});return constant;}/**
75
+ */_createClass__default["default"](TimeBase,[{key:"toConstant",value:function toConstant(){var _this=this;var constant;Object.entries(MAP_CONSTANT_TO_DEN_NUM).find(function(timeBaseConstant){var _timeBaseConstant=_slicedToArray__default["default"](timeBaseConstant,2),thisTimeBaseText=_timeBaseConstant[0],thisTimeBaseType=_timeBaseConstant[1];var numerator=thisTimeBaseType.numerator,denominator=thisTimeBaseType.denominator;if(numerator===_this.numerator&&denominator===_this.denominator){constant=thisTimeBaseText;return true;}return false;});return constant;}/**
260
76
  * Get TimeBase as a VidiCore TimeBaseType string
261
77
  *
262
78
  * @remarks
@@ -266,7 +82,7 @@ Object.entries(MAP_CONSTANT_TO_DEN_NUM).find(function(timeBaseConstant){var _tim
266
82
  *
267
83
  * @param options For how to display it as text
268
84
  * @returns Text representation of the TimeBase
269
- */},{key:"toText",value:function toText(options){var _defaultOptions$toTex=_objectSpread$d(_objectSpread$d({},defaultOptions$7.toText),options),constant=_defaultOptions$toTex.constant,fraction=_defaultOptions$toTex.fraction;if(constant){var _timeBaseText=this.toConstant();if(_timeBaseText)return _timeBaseText;}if(fraction||this.numerator>1){var _timeBaseText2=[this.denominator,this.numerator].join(':');return _timeBaseText2;}var timeBaseText=String(this.denominator);return timeBaseText;}/**
85
+ */},{key:"toText",value:function toText(options){var _defaultOptions$toTex=_objectSpread$f(_objectSpread$f({},defaultOptions$8.toText),options),constant=_defaultOptions$toTex.constant,fraction=_defaultOptions$toTex.fraction;if(constant){var timeBaseText2=this.toConstant();if(timeBaseText2)return timeBaseText2;}if(fraction||this.numerator>1){var _timeBaseText=[this.denominator,this.numerator].join(":");return _timeBaseText;}var timeBaseText=String(this.denominator);return timeBaseText;}/**
270
86
  * Output TimeBase as frame rate (by default max 16 decimal places)
271
87
  *
272
88
  * @remarks
@@ -277,7 +93,7 @@ Object.entries(MAP_CONSTANT_TO_DEN_NUM).find(function(timeBaseConstant){var _tim
277
93
  * @param options On how to return the rate
278
94
  *
279
95
  * @return Rate of the TimeBase
280
- */},{key:"toRate",value:function toRate(options){var rate=this.denominator/this.numerator;if(Number.isInteger(rate)){return rate;}var _defaultOptions$toRat=_objectSpread$d(_objectSpread$d({},defaultOptions$7.toRate),options||{}),rounded=_defaultOptions$toRat.rounded,fixed=_defaultOptions$toRat.fixed;if(rounded){return Math.round(rate);}if(fixed===true||typeof fixed==='number'){return Number(rate.toFixed(typeof fixed==='boolean'?2:fixed));}return rate;}/**
96
+ */},{key:"toRate",value:function toRate(options){var rate=this.denominator/this.numerator;if(Number.isInteger(rate)){return rate;}var _defaultOptions$toRat=_objectSpread$f(_objectSpread$f({},defaultOptions$8.toRate),options||{}),rounded=_defaultOptions$toRat.rounded,fixed=_defaultOptions$toRat.fixed;if(rounded){return Math.round(rate);}if(fixed===true||typeof fixed==="number"){return Number(rate.toFixed(typeof fixed==="boolean"?2:fixed));}return rate;}/**
281
97
  * Get TimeBase in a object representation
282
98
  *
283
99
  * @returns TimeBase as `{denominator, numerator}` object
@@ -285,66 +101,24 @@ Object.entries(MAP_CONSTANT_TO_DEN_NUM).find(function(timeBaseConstant){var _tim
285
101
  * @deprecated Use {@link TimeBase#toObject | toObject} instead
286
102
  *
287
103
  * @returns TimeBase as `{denominator, numerator}` object
288
- */},{key:"toJson",value:function toJson(){// eslint-disable-next-line no-console
289
- console.warn('Deprecated - use toObject instead');return this.toObject();}}]);return TimeBase;}();
290
-
291
- /**
292
- * Format a string representation of a time base to a TimeBase Instance
293
- *
294
- * @param timeBaseText The string to format to a TimeBase instance
295
- * @returns A TimeBase Instance
296
- *
297
- * @category Time
298
- */var formatTimeBaseText=function formatTimeBaseText(timeBaseText){if(timeBaseText===undefined){return new TimeBase();}if(typeof timeBaseText==='number'){return new TimeBase({denominator:timeBaseText});}if(typeof timeBaseText==='string'&&timeBaseText.includes(':')){var _timeBaseText$split=timeBaseText.split(':'),_timeBaseText$split2=_slicedToArray__default["default"](_timeBaseText$split,2),denominator=_timeBaseText$split2[0],numerator=_timeBaseText$split2[1];return new TimeBase({denominator:denominator,numerator:numerator});}if(TIME_BASE_CONSTANTS.includes(timeBaseText)){return new TimeBase(MAP_CONSTANT_TO_DEN_NUM[timeBaseText]);}if(!['string','number'].includes(_typeof__default["default"](timeBaseText))||Number.isNaN(Number(timeBaseText))){throw new Error("timeBaseText must be a number or ".concat(TIME_BASE_CONSTANTS.join(',')," - is ").concat(JSON.stringify(timeBaseText)));}return new TimeBase({denominator:Number(timeBaseText)});};
299
-
300
- /**
301
- * Create a TimeBase instance of an object
302
- *
303
- * @param timeBase A TimeBase object
304
- * @returns A TimeBase instance
305
- *
306
- * @category Time
307
- */var formatTimeBaseType=function formatTimeBaseType(timeBase){return new TimeBase(timeBase);};
308
-
309
- /**
310
- * Create a TimeBase Instance from a number, string or object representation of a time base
311
- *
312
- * @param timeBase Input to create time base from
313
- * @returns A TimeBase instance
314
- *
315
- * @category Time
316
- */var createTimeBase=function createTimeBase(timeBase){if(timeBase instanceof TimeBase){return timeBase;}if(typeof timeBase==='string'||typeof timeBase==='number'){return formatTimeBaseText(timeBase);}return formatTimeBaseType(timeBase);};
317
-
318
- /**
319
- * @private
320
- *
321
- * Drops 4 frames (0-3) for 59.97 and 2 frames (0-1) for 29.97/NTSC
322
- *
323
- * @param timeBase Time base to get amount of frames to drop for
324
- * @returns Amount of frame drops for specified time base, false if no frame drops
325
- */var getAmountOfFrameDrops=function getAmountOfFrameDrops(timeBase){var timeBaseConstant=timeBase.toConstant();return timeBaseConstant==='59.94'&&4||['NTSC','29.97'].includes(timeBaseConstant)&&2||false;};
326
-
327
- /**
328
- * @private
329
- *
330
- * Check if TimeBase drops frames
331
- *
332
- * @param timeBase TimeBase Instance to check
333
- * @returns true if time base drops frames, false otherwise
334
- */var isDropFrameTimeBase=function isDropFrameTimeBase(timeBase){return getAmountOfFrameDrops(timeBase)>0;};
335
-
336
- var _excluded$6=["hours"];function ownKeys$c(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;}function _objectSpread$c(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$c(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$c(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var getDroppedFramesFromSamples=function getDroppedFramesFromSamples(timeCode){var samples=timeCode.samples,timeBase=timeCode.timeBase;var amountOfFrameDrops=getAmountOfFrameDrops(timeBase);if(!amountOfFrameDrops)return 0;var roundedFrameRate=timeBase.toRate({rounded:true});var oneMinuteNotDroppedFrames=60*roundedFrameRate;var amountOfFramesToDropPerMinute=60*roundedFrameRate-amountOfFrameDrops;var tenMinuteFrames=10*(oneMinuteNotDroppedFrames-amountOfFrameDrops)+amountOfFrameDrops;var amountOfTenMinuteChunks=Math.floor((samples+1)/tenMinuteFrames);var minuteRemainder=Math.max(0,(samples+1)%tenMinuteFrames-oneMinuteNotDroppedFrames);var amountOfOneMinuteReminderChunks=Math.floor(minuteRemainder/amountOfFramesToDropPerMinute);var frameRemainder=minuteRemainder%amountOfFramesToDropPerMinute;var amountOfFrameRemainderChunks=frameRemainder>0?amountOfFrameDrops:0;return amountOfTenMinuteChunks*9*amountOfFrameDrops+amountOfOneMinuteReminderChunks*amountOfFrameDrops+amountOfFrameRemainderChunks;};var defaultOptions$6={conformTimeBase:{dropFrame:undefined,frameSeparator:undefined},toText:{constant:false,fraction:false,includeTimeBaseForSeconds:false},toDuration:{format:undefined}};/**
337
- * TimeCode class representing the TimeCodeType in VidiCore
338
- *
339
- * For more info, see the [Time Codes section of VidiCore API Docs](https://apidoc.vidispine.com/latest/time.html#time-codes)
340
- *
341
- * @category Time
342
- */var TimeCode=/*#__PURE__*/function(){/** Amount of samples for the time code */ /** The time base for the time code */ /** If time code is dropFrame or not (by default checks timeBase) */ /** Separator for frame in smpte output (default ":" for non-drop-frame and ";" for dropFrame) */ /**
104
+ */},{key:"toJson",value:function toJson(){console.warn("Deprecated - use toObject instead");return this.toObject();}}]);return TimeBase;}();
105
+
106
+ var formatTimeBaseText=function formatTimeBaseText(timeBaseText){if(timeBaseText===void 0){return new TimeBase();}if(typeof timeBaseText==="number"){return new TimeBase({denominator:timeBaseText});}if(typeof timeBaseText==="string"&&timeBaseText.includes(":")){var _timeBaseText$split=timeBaseText.split(":"),_timeBaseText$split2=_slicedToArray__default["default"](_timeBaseText$split,2),denominator=_timeBaseText$split2[0],numerator=_timeBaseText$split2[1];return new TimeBase({denominator:denominator,numerator:numerator});}if(TIME_BASE_CONSTANTS.includes(timeBaseText)){return new TimeBase(MAP_CONSTANT_TO_DEN_NUM[timeBaseText]);}if(!["string","number"].includes(_typeof__default["default"](timeBaseText))||Number.isNaN(Number(timeBaseText))){throw new Error("timeBaseText must be a number or ".concat(TIME_BASE_CONSTANTS.join(",")," - is ").concat(JSON.stringify(timeBaseText)));}return new TimeBase({denominator:Number(timeBaseText)});};
107
+
108
+ var formatTimeBaseType=function formatTimeBaseType(timeBase){return new TimeBase(timeBase);};
109
+
110
+ var createTimeBase=function createTimeBase(timeBase){if(timeBase instanceof TimeBase){return timeBase;}if(typeof timeBase==="string"||typeof timeBase==="number"){return formatTimeBaseText(timeBase);}return formatTimeBaseType(timeBase);};
111
+
112
+ var getAmountOfFrameDrops=function getAmountOfFrameDrops(timeBase){var timeBaseConstant=timeBase.toConstant();return timeBaseConstant==="59.94"&&4||["NTSC","29.97"].includes(timeBaseConstant)&&2||false;};
113
+
114
+ var isDropFrameTimeBase=function isDropFrameTimeBase(timeBase){return getAmountOfFrameDrops(timeBase)>0;};
115
+
116
+ var _excluded$6=["hours"];function ownKeys$e(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;}function _objectSpread$e(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$e(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$e(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var getDroppedFramesFromSamples=function getDroppedFramesFromSamples(timeCode){var samples=timeCode.samples,timeBase=timeCode.timeBase;var amountOfFrameDrops=getAmountOfFrameDrops(timeBase);if(!amountOfFrameDrops)return 0;var roundedFrameRate=timeBase.toRate({rounded:true});var oneMinuteNotDroppedFrames=60*roundedFrameRate;var amountOfFramesToDropPerMinute=60*roundedFrameRate-amountOfFrameDrops;var tenMinuteFrames=10*(oneMinuteNotDroppedFrames-amountOfFrameDrops)+amountOfFrameDrops;var amountOfTenMinuteChunks=Math.floor((samples+1)/tenMinuteFrames);var minuteRemainder=Math.max(0,(samples+1)%tenMinuteFrames-oneMinuteNotDroppedFrames);var amountOfOneMinuteReminderChunks=Math.floor(minuteRemainder/amountOfFramesToDropPerMinute);var frameRemainder=minuteRemainder%amountOfFramesToDropPerMinute;var amountOfFrameRemainderChunks=frameRemainder>0?amountOfFrameDrops:0;return amountOfTenMinuteChunks*9*amountOfFrameDrops+amountOfOneMinuteReminderChunks*amountOfFrameDrops+amountOfFrameRemainderChunks;};var defaultOptions$7={conformTimeBase:{dropFrame:void 0,frameSeparator:void 0},toText:{constant:false,fraction:false,includeTimeBaseForSeconds:false},toDuration:{format:void 0}};var TimeCode=/*#__PURE__*/function(){/** Amount of samples for the time code */ /** The time base for the time code */ /**
343
117
  * Constructor for TimeCode
344
118
  *
345
119
  * @param timeCodeType Object to create TimeCode of
346
120
  * @param options Options for the timeCode
347
- */function TimeCode(timeCodeType,options){var _options$dropFrame,_options$frameSeparat;_classCallCheck__default["default"](this,TimeCode);_defineProperty__default["default"](this,"samples",0);_defineProperty__default["default"](this,"timeBase",new TimeBase());_defineProperty__default["default"](this,"dropFrame",void 0);_defineProperty__default["default"](this,"frameSeparator",void 0);var _ref=timeCodeType||{},samples=_ref.samples,timeBase=_ref.timeBase;if(samples!==undefined){if(typeof samples==='number'){this.samples=samples;}else if(typeof samples==='string'){if(samples==='-INF'){this.samples=-Infinity;}else if(samples==='+INF'){this.samples=Infinity;}else {this.samples=Number(samples);}}else {throw new Error("samples is not number/string/-Inf/+Inf is: ".concat(samples));}}if(timeBase!==undefined){if(timeBase instanceof TimeBase){this.timeBase=timeBase;}else {this.timeBase=createTimeBase(timeBase);}}this.dropFrame=(_options$dropFrame=options===null||options===void 0?void 0:options.dropFrame)!==null&&_options$dropFrame!==void 0?_options$dropFrame:isDropFrameTimeBase(this.timeBase);this.frameSeparator=(_options$frameSeparat=options===null||options===void 0?void 0:options.frameSeparator)!==null&&_options$frameSeparat!==void 0?_options$frameSeparat:this.dropFrame?';':':';}/**
121
+ */function TimeCode(timeCodeType,options){var _options$dropFrame,_options$frameSeparat;_classCallCheck__default["default"](this,TimeCode);_defineProperty__default["default"](this,"samples",0);_defineProperty__default["default"](this,"timeBase",new TimeBase());var _ref=timeCodeType||{},samples=_ref.samples,timeBase=_ref.timeBase;if(samples!==void 0){if(typeof samples==="number"){this.samples=samples;}else if(typeof samples==="string"){if(samples==="-INF"){this.samples=-Infinity;}else if(samples==="+INF"){this.samples=Infinity;}else {this.samples=Number(samples);}}else {throw new Error("samples is not number/string/-Inf/+Inf is: ".concat(samples));}}if(timeBase!==void 0){if(timeBase instanceof TimeBase){this.timeBase=timeBase;}else {this.timeBase=createTimeBase(timeBase);}}this.dropFrame=(_options$dropFrame=options===null||options===void 0?void 0:options.dropFrame)!==null&&_options$dropFrame!==void 0?_options$dropFrame:isDropFrameTimeBase(this.timeBase);this.frameSeparator=(_options$frameSeparat=options===null||options===void 0?void 0:options.frameSeparator)!==null&&_options$frameSeparat!==void 0?_options$frameSeparat:this.dropFrame?";":":";}/**
348
122
  * Return this TimeCode added with the supplied timeCodeType
349
123
  * - If time bases differ, it will retain the time base of this TimeCode instance
350
124
  * - If supplied time code has a more granular time base, it will round down exceeding samples (hasn't reached that sample yet)
@@ -358,21 +132,21 @@ var _excluded$6=["hours"];function ownKeys$c(object,enumerableOnly){var keys=Obj
358
132
  *
359
133
  * @param timeCode A TimeCode instance you want to add with
360
134
  * @returns A new TimeCode instance with the addition applied
361
- */_createClass__default["default"](TimeCode,[{key:"add",value:function add(timeCode){if(!(timeCode!==null&&timeCode!==void 0&&timeCode.timeBase)||(timeCode===null||timeCode===void 0?void 0:timeCode.samples)===undefined){throw Error('Invalid timeCodeType, cannot be added');}var _ref2=(timeCode===null||timeCode===void 0?void 0:timeCode.timeBase)||{},numerator=_ref2.numerator,denominator=_ref2.denominator;var conformedTimeCode=timeCode;if(numerator!==this.timeBase.numerator||denominator!==this.timeBase.denominator){conformedTimeCode=timeCode.conformTimeBase(this.timeBase);}var _conformedTimeCode=conformedTimeCode,samples=_conformedTimeCode.samples;return new TimeCode({samples:this.samples+samples,timeBase:this.timeBase});}/**
362
- * Return this TimeCode subtracted with the supplied timeCodeType
363
- * - If time bases differ, it will retain the time base of the instance time code
364
- * - If supplied time code has a more granular time base, it will round down exceeding samples (hasn't reached that sample yet)
365
- *
366
- * @remarks
367
- * If you don't want to "lose" frames in the manner described above, make sure time code you're operating on has higher time base granularity
368
-
369
- * To exemplify:
370
- * - "101@50".subtract("25@25") => "51@50"
371
- * - while "50@25".subtract("51@50") => "25@25"
372
- *
373
- * @param timeCode A TimeCode instance you want to subtract with
374
- * @returns A new TimeCode instance with the subtraction applied
375
- */},{key:"subtract",value:function subtract(timeCode){if(!(timeCode!==null&&timeCode!==void 0&&timeCode.timeBase)||(timeCode===null||timeCode===void 0?void 0:timeCode.samples)===undefined){throw Error('Invalid timeCodeType, cannot be subtracted');}var _timeCode$timeBase=timeCode.timeBase;_timeCode$timeBase=_timeCode$timeBase===void 0?{}:_timeCode$timeBase;var numerator=_timeCode$timeBase.numerator,denominator=_timeCode$timeBase.denominator;var conformedTimeCode=timeCode;if(numerator!==this.timeBase.numerator||denominator!==this.timeBase.denominator){conformedTimeCode=timeCode.conformTimeBase(this.timeBase);}var _conformedTimeCode2=conformedTimeCode,samples=_conformedTimeCode2.samples;return new TimeCode({samples:this.samples-samples,timeBase:this.timeBase});}/**
135
+ */_createClass__default["default"](TimeCode,[{key:"add",value:function add(timeCode){if(!(timeCode!==null&&timeCode!==void 0&&timeCode.timeBase)||(timeCode===null||timeCode===void 0?void 0:timeCode.samples)===void 0){throw Error("Invalid timeCodeType, cannot be added");}var _ref2=(timeCode===null||timeCode===void 0?void 0:timeCode.timeBase)||{},numerator=_ref2.numerator,denominator=_ref2.denominator;var conformedTimeCode=timeCode;if(numerator!==this.timeBase.numerator||denominator!==this.timeBase.denominator){conformedTimeCode=timeCode.conformTimeBase(this.timeBase);}var _conformedTimeCode=conformedTimeCode,samples=_conformedTimeCode.samples;return new TimeCode({samples:this.samples+samples,timeBase:this.timeBase});}/**
136
+ * Return this TimeCode subtracted with the supplied timeCodeType
137
+ * - If time bases differ, it will retain the time base of the instance time code
138
+ * - If supplied time code has a more granular time base, it will round down exceeding samples (hasn't reached that sample yet)
139
+ *
140
+ * @remarks
141
+ * If you don't want to "lose" frames in the manner described above, make sure time code you're operating on has higher time base granularity
142
+
143
+ * To exemplify:
144
+ * - "101@50".subtract("25@25") => "51@50"
145
+ * - while "50@25".subtract("51@50") => "25@25"
146
+ *
147
+ * @param timeCode A TimeCode instance you want to subtract with
148
+ * @returns A new TimeCode instance with the subtraction applied
149
+ */},{key:"subtract",value:function subtract(timeCode){if(!(timeCode!==null&&timeCode!==void 0&&timeCode.timeBase)||(timeCode===null||timeCode===void 0?void 0:timeCode.samples)===void 0){throw Error("Invalid timeCodeType, cannot be subtracted");}var _timeCode$timeBase=timeCode.timeBase;_timeCode$timeBase=_timeCode$timeBase===void 0?{}:_timeCode$timeBase;var numerator=_timeCode$timeBase.numerator,denominator=_timeCode$timeBase.denominator;var conformedTimeCode=timeCode;if(numerator!==this.timeBase.numerator||denominator!==this.timeBase.denominator){conformedTimeCode=timeCode.conformTimeBase(this.timeBase);}var _conformedTimeCode2=conformedTimeCode,samples=_conformedTimeCode2.samples;return new TimeCode({samples:this.samples-samples,timeBase:this.timeBase});}/**
376
150
  * Creates a new TimeCode instance with specified timeBase and samples adjusted to that.
377
151
  *
378
152
  * @remarks
@@ -382,7 +156,7 @@ var _excluded$6=["hours"];function ownKeys$c(object,enumerableOnly){var keys=Obj
382
156
  * @param timeBase The TimeBase it should conform the TimeCode to
383
157
  * @param options Explicitly set TimeCode options, by default these are derived from `timeBase`
384
158
  * @returns A new TimeCode instance with the conformTo timeBase applied
385
- */},{key:"conformTimeBase",value:function conformTimeBase(timeBase,options){var conformToTimeBase=timeBase instanceof TimeBase?timeBase:createTimeBase(timeBase);var samples=Math.floor(this.samples/(this.timeBase.toRate({fixed:false})/conformToTimeBase.toRate({fixed:false})));var mergedOptions=_objectSpread$c(_objectSpread$c({},defaultOptions$6.conformTimeBase),options||{});return new TimeCode({samples:samples,timeBase:conformToTimeBase},mergedOptions);}/**
159
+ */},{key:"conformTimeBase",value:function conformTimeBase(timeBase,options){var conformToTimeBase=timeBase instanceof TimeBase?timeBase:createTimeBase(timeBase);var samples=Math.floor(this.samples/(this.timeBase.toRate({fixed:false})/conformToTimeBase.toRate({fixed:false})));var mergedOptions=_objectSpread$e(_objectSpread$e({},defaultOptions$7.conformTimeBase),options||{});return new TimeCode({samples:samples,timeBase:conformToTimeBase},mergedOptions);}/**
386
160
  * Get TimeCode as a text representation
387
161
  *
388
162
  * @remarks
@@ -392,22 +166,24 @@ var _excluded$6=["hours"];function ownKeys$c(object,enumerableOnly){var keys=Obj
392
166
  *
393
167
  * @param options Options for how to format text
394
168
  * @returns Text representation of TimeCode
395
- */},{key:"toText",value:function toText(options){var timeCodeText="".concat(this.samples);var mergedOptions=_objectSpread$c(_objectSpread$c({},defaultOptions$6.toText),options||{});var timeBaseText=this.timeBase.toText(mergedOptions);if(options!==null&&options!==void 0&&options.includeTimeBaseForSeconds||!['1','1:1'].includes(timeBaseText)){timeCodeText=[this.samples,timeBaseText].join('@');}return timeCodeText;}/**
396
- * Get TimeCode in a units object representation
169
+ */},{key:"toText",value:function toText(options){var timeCodeText="".concat(this.samples);var mergedOptions=_objectSpread$e(_objectSpread$e({},defaultOptions$7.toText),options||{});var timeBaseText=this.timeBase.toText(mergedOptions);if(options!==null&&options!==void 0&&options.includeTimeBaseForSeconds||!["1","1:1"].includes(timeBaseText)){timeCodeText=[this.samples,timeBaseText].join("@");}return timeCodeText;}/**
170
+ * Get TimeCode in a units object representation
171
+ *
172
+ * @remarks
173
+ * If samples is `Infinity` it also returns `Infinity` for all units
397
174
  *
398
175
  * @returns Units (time and frames) for the time code
399
- */},{key:"toUnits",value:function toUnits(){var totalSamples=this.samples+(this.dropFrame?getDroppedFramesFromSamples(this):0);var roundedFrameRate=this.timeBase.toRate({rounded:true});// Calculated without drop-frame but with 2 decimal places
400
- if(['23.976','23.98'].includes(this.timeBase.toConstant())){roundedFrameRate=this.timeBase.toRate({fixed:true});}var hours=Math.floor(totalSamples/(3600*roundedFrameRate));var minutes=Math.floor(totalSamples/(60*roundedFrameRate))%60;var seconds=Math.floor(totalSamples/roundedFrameRate)%60;var frames=Math.floor(totalSamples%roundedFrameRate);return {hours:hours,minutes:minutes,seconds:seconds,frames:frames};}/**
176
+ */},{key:"toUnits",value:function toUnits(){if(this.samples===Infinity){return {hours:Infinity,minutes:Infinity,seconds:Infinity,frames:Infinity};}var totalSamples=this.samples+(this.dropFrame?getDroppedFramesFromSamples(this):0);var roundedFrameRate=this.timeBase.toRate({rounded:true});if(["23.976","23.98"].includes(this.timeBase.toConstant())){roundedFrameRate=this.timeBase.toRate({fixed:true});}var hours=Math.floor(totalSamples/(3600*roundedFrameRate));var minutes=Math.floor(totalSamples/(60*roundedFrameRate))%60;var seconds=Math.floor(totalSamples/roundedFrameRate)%60;var frames=Math.floor(totalSamples%roundedFrameRate);return {hours:hours,minutes:minutes,seconds:seconds,frames:frames};}/**
401
177
  * Get TimeCode in a time object representation
402
178
  *
403
179
  * Note: "milliseconds" is rounded down - use "partialSeconds" for another representation
404
180
  *
405
181
  * @returns Time for the time code
406
- */},{key:"toTime",value:function toTime(){var totalSamples=this.samples+getDroppedFramesFromSamples(this);var _this$toUnits=this.toUnits(),hours=_this$toUnits.hours,minutes=_this$toUnits.minutes,seconds=_this$toUnits.seconds;var roundedFrameRate=this.timeBase.toRate({rounded:true});var framesPrecise=totalSamples%roundedFrameRate;var milliseconds=Math.floor(1000*framesPrecise/roundedFrameRate);var partialSeconds=framesPrecise/roundedFrameRate;return {hours:hours,minutes:minutes,seconds:seconds,milliseconds:milliseconds,partialSeconds:partialSeconds};}/**
182
+ */},{key:"toTime",value:function toTime(){var totalSamples=this.samples+getDroppedFramesFromSamples(this);var _this$toUnits=this.toUnits(),hours=_this$toUnits.hours,minutes=_this$toUnits.minutes,seconds=_this$toUnits.seconds;var roundedFrameRate=this.timeBase.toRate({rounded:true});var framesPrecise=totalSamples%roundedFrameRate;var milliseconds=Math.floor(1e3*framesPrecise/roundedFrameRate);var partialSeconds=framesPrecise/roundedFrameRate;return {hours:hours,minutes:minutes,seconds:seconds,milliseconds:milliseconds,partialSeconds:partialSeconds};}/**
407
183
  * Get TimeCode in a seconds representation
408
184
  *
409
185
  * @returns Total seconds for the time code
410
- */},{key:"toSeconds",value:function toSeconds(){var _this$timeBase=this.timeBase,numerator=_this$timeBase.numerator,denominator=_this$timeBase.denominator;return Math.round(1000*+(this.samples*numerator/denominator))/1000;}/**
186
+ */},{key:"toSeconds",value:function toSeconds(){var _this$timeBase=this.timeBase,numerator=_this$timeBase.numerator,denominator=_this$timeBase.denominator;return Math.round(1e3*+(this.samples*numerator/denominator))/1e3;}/**
411
187
  * Get TimeCode in a duration representation
412
188
  *
413
189
  * The time unit keys for the format string are:
@@ -425,11 +201,11 @@ if(['23.976','23.98'].includes(this.timeBase.toConstant())){roundedFrameRate=thi
425
201
  *
426
202
  * @param options Options for how to display duration
427
203
  * @returns Duration representation of the TimeCode
428
- */},{key:"toDuration",value:function toDuration(options){var _defaultOptions$toDur=_objectSpread$c(_objectSpread$c({},defaultOptions$6.toDuration),options||{}),format=_defaultOptions$toDur.format;var _this$toTime=this.toTime(),hours=_this$toTime.hours,rest=_objectWithoutProperties__default["default"](_this$toTime,_excluded$6);var minutes=rest.minutes,seconds=rest.seconds,milliseconds=rest.milliseconds;if(!!format&&typeof format!=='string'){throw Error('format has to be a string');}var isBefore=function isBefore(unit,units){return !format.includes(unit)||!units.some(function(u){return format.includes(u)&&format.lastIndexOf(unit)>format.indexOf(u);});};if(!!format&&!(isBefore('h',['m','s','S'])&&isBefore('m',['s','S'])&&isBefore('s',['S']))){throw Error('format order is unsupported (has to be h, m, s then S)');}if(!format){return "".concat(hours>0?"".concat(hours,":").concat("".concat(minutes).padStart(2,'0')):minutes,":").concat("".concat(seconds).padStart(2,'0'));}var countConsecutiveChars=function countConsecutiveChars(i,arr){var j=i;while(arr[j]===arr[j+1]){j+=1;}return j-i+1;};var timeUnitKeys=['h','m','s','S'];var output=[];_toConsumableArray__default["default"](format).forEach(function(c,i,arr){switch(c){case'h':{if(arr[i-1]==='h'){break;}var amount=countConsecutiveChars(i,arr);output.push("".concat(hours).padStart(amount,'0'));if(timeUnitKeys.includes(arr[i+amount])){output.push(':');}break;}case'm':{if(arr[i-1]==='m'){break;}var _amount=countConsecutiveChars(i,arr);if(!format.includes('h')){minutes+=hours*60;}output.push("".concat(minutes).padStart(_amount,'0'));if(timeUnitKeys.includes(arr[i+_amount])){output.push(':');}break;}case's':{if(arr[i-1]==='s'){break;}var _amount2=countConsecutiveChars(i,arr);if(!format.includes('m')){seconds+=minutes*60;}output.push("".concat(seconds).padStart(_amount2,'0'));if(timeUnitKeys.includes(arr[i+_amount2])){output.push('.');}break;}case'S':{if(arr[i-1]==='S'){break;}var _amount3=countConsecutiveChars(i,arr);if(!format.includes('s')){milliseconds+=seconds*1000;}output.push("".concat(Math.round(milliseconds/Math.pow(10,3-_amount3))).padStart(_amount3,'0'));break;}default:output.push(c);}});return output.join('');}/**
204
+ */},{key:"toDuration",value:function toDuration(options){var _defaultOptions$toDur=_objectSpread$e(_objectSpread$e({},defaultOptions$7.toDuration),options||{}),format=_defaultOptions$toDur.format;var _this$toTime=this.toTime(),hours=_this$toTime.hours,rest=_objectWithoutProperties__default["default"](_this$toTime,_excluded$6);var minutes=rest.minutes,seconds=rest.seconds,milliseconds=rest.milliseconds;if(!!format&&typeof format!=="string"){throw Error("format has to be a string");}var isBefore=function isBefore(unit,units){return !format.includes(unit)||!units.some(function(u){return format.includes(u)&&format.lastIndexOf(unit)>format.indexOf(u);});};if(!!format&&!(isBefore("h",["m","s","S"])&&isBefore("m",["s","S"])&&isBefore("s",["S"]))){throw Error("format order is unsupported (has to be h, m, s then S)");}if(!format){return "".concat(hours>0?"".concat(hours,":").concat("".concat(minutes).padStart(2,"0")):minutes,":").concat("".concat(seconds).padStart(2,"0"));}var countConsecutiveChars=function countConsecutiveChars(i,arr){var j=i;while(arr[j]===arr[j+1]){j+=1;}return j-i+1;};var timeUnitKeys=["h","m","s","S"];var output=[];_toConsumableArray__default["default"](format).forEach(function(c,i,arr){switch(c){case"h":{if(arr[i-1]==="h"){break;}var amount=countConsecutiveChars(i,arr);output.push("".concat(hours).padStart(amount,"0"));if(timeUnitKeys.includes(arr[i+amount])){output.push(":");}break;}case"m":{if(arr[i-1]==="m"){break;}var _amount=countConsecutiveChars(i,arr);if(!format.includes("h")){minutes+=hours*60;}output.push("".concat(minutes).padStart(_amount,"0"));if(timeUnitKeys.includes(arr[i+_amount])){output.push(":");}break;}case"s":{if(arr[i-1]==="s"){break;}var _amount2=countConsecutiveChars(i,arr);if(!format.includes("m")){seconds+=minutes*60;}output.push("".concat(seconds).padStart(_amount2,"0"));if(timeUnitKeys.includes(arr[i+_amount2])){output.push(".");}break;}case"S":{if(arr[i-1]==="S"){break;}var _amount3=countConsecutiveChars(i,arr);if(!format.includes("s")){milliseconds+=seconds*1e3;}output.push("".concat(Math.round(milliseconds/Math.pow(10,3-_amount3))).padStart(_amount3,"0"));break;}default:output.push(c);}});return output.join("");}/**
429
205
  * Get TimeCode in a smpte representation
430
206
  *
431
207
  * @returns Smpte representation of the TimeCode
432
- */},{key:"toSmpte",value:function toSmpte(){if(this.samples===-Infinity)return '00:00:00:00';var _this$toUnits2=this.toUnits(),hours=_this$toUnits2.hours,minutes=_this$toUnits2.minutes,seconds=_this$toUnits2.seconds,frames=_this$toUnits2.frames;var hhmmss=[hours.toFixed().padStart(2,'0'),minutes.toFixed().padStart(2,'0'),seconds.toFixed().padStart(2,'0')].join(':');var framePadLength=Math.max(2,"".concat(this.timeBase.toRate({rounded:true})-1).length);return [hhmmss,"".concat(frames).padStart(framePadLength,'0')].join(this.frameSeparator);}/**
208
+ */},{key:"toSmpte",value:function toSmpte(){if(this.samples===-Infinity)return "00:00:00:00";var _this$toUnits2=this.toUnits(),hours=_this$toUnits2.hours,minutes=_this$toUnits2.minutes,seconds=_this$toUnits2.seconds,frames=_this$toUnits2.frames;var hhmmss=[hours.toFixed().padStart(2,"0"),minutes.toFixed().padStart(2,"0"),seconds.toFixed().padStart(2,"0")].join(":");var framePadLength=Math.max(2,"".concat(this.timeBase.toRate({rounded:true})-1).length);return [hhmmss,"".concat(frames).padStart(framePadLength,"0")].join(this.frameSeparator);}/**
433
209
  * Get TimeCode as a VidiCore TimeCodeType object
434
210
  *
435
211
  * @returns TimeCode as `{ samples, timeBase }`
@@ -437,300 +213,77 @@ if(['23.976','23.98'].includes(this.timeBase.toConstant())){roundedFrameRate=thi
437
213
  * @deprecated Use {@link TimeCode#toObject | toObject} instead
438
214
  *
439
215
  * @returns TimeCode as `{ samples, timeBase }`
440
- */},{key:"toJson",value:function toJson(){// eslint-disable-next-line no-console
441
- console.warn('Deprecated - use toObject instead');return this.toObject();}}]);return TimeCode;}();
442
-
443
- /* eslint-disable no-self-assign */ /**
444
- * @private
445
- *
446
- * Using Euclid's algorithm
447
- *
448
- * @param num1 a number
449
- * @param num2 another number
450
- * @returns The greatest common divisor of num1 and num2
451
- */var getGreatestCommonDivisor=function getGreatestCommonDivisor(num1,num2){var a=Math.abs(num1);var b=Math.abs(num2);while(a&&b&&a!==b){if(a>b){var _ref=[a-b,b];a=_ref[0];b=_ref[1];}else {var _ref2=[a,b-a];a=_ref2[0];b=_ref2[1];}}return a||b;};
452
-
453
- var _excluded$5=["timeBase","useGCD"];/**
454
- * Format seconds to TimeCode object
455
- *
456
- * @remarks
457
- * Input time base is always considered as 1:1 since it expects seconds as input
458
- *
459
- * Note: Max 15 digits accuracy (double precision float64), e.g.
460
- * - 10^6 seconds can have 10^9 decimals (nanosecond) precision
461
- * - 10^9 seconds can have 10^6 decimals (microsecond) precision
462
- * - 10^12 seconds can have 10^3 decimals (millisecond) precision
463
- *
464
- * @param seconds With or without decimals ("." and "," are both interpreted as decimal)
465
- * @param options Options for how to format the seconds to a TimeCode
466
- * @returns A TimeCode instance
467
- *
468
- * @category Time
469
- */var formatTimeCodeSeconds=function formatTimeCodeSeconds(seconds,options){var _ref=options||{},timeBase=_ref.timeBase,_ref$useGCD=_ref.useGCD,useGCD=_ref$useGCD===void 0?false:_ref$useGCD,timeCodeOptions=_objectWithoutProperties__default["default"](_ref,_excluded$5);var secondsWithDot="".concat(seconds).replace(/,/g,'.');if(Number.isNaN(+secondsWithDot)){throw new Error("seconds must be digits, is ".concat(seconds));}var denominator=1;var samples;if(Number.isInteger(+secondsWithDot)){samples=+secondsWithDot*denominator;}else {var _ms$length;var _secondsWithDot$split=secondsWithDot.split('.'),_secondsWithDot$split2=_slicedToArray__default["default"](_secondsWithDot$split,2),ms=_secondsWithDot$split2[1];var decimalPlaces=Math.min((_ms$length=ms===null||ms===void 0?void 0:ms.length)!==null&&_ms$length!==void 0?_ms$length:0,16);denominator*=Math.pow(10,decimalPlaces);samples=Math.round(Number(secondsWithDot)*denominator);}if(timeBase===undefined&&useGCD){var gcd=getGreatestCommonDivisor(denominator,samples);samples/=gcd;denominator/=gcd;}var timeCode=new TimeCode({samples:samples,timeBase:{denominator:denominator,numerator:1}},timeCodeOptions);return timeBase!==undefined?timeCode.conformTimeBase(createTimeBase(timeBase),timeCodeOptions):timeCode;};
216
+ */},{key:"toJson",value:function toJson(){console.warn("Deprecated - use toObject instead");return this.toObject();}}]);return TimeCode;}();
217
+
218
+ var getGreatestCommonDivisor=function getGreatestCommonDivisor(num1,num2){var a=Math.abs(num1);var b=Math.abs(num2);while(a&&b&&a!==b){if(a>b){var _ref=[a-b,b];a=_ref[0];b=_ref[1];}else {var _ref2=[a,b-a];a=_ref2[0];b=_ref2[1];}}return a||b;};
219
+
220
+ var _excluded$5=["timeBase","useGCD"];var formatTimeCodeSeconds=function formatTimeCodeSeconds(seconds,options){var _ref=options||{},timeBase=_ref.timeBase,_ref$useGCD=_ref.useGCD,useGCD=_ref$useGCD===void 0?false:_ref$useGCD,timeCodeOptions=_objectWithoutProperties__default["default"](_ref,_excluded$5);var secondsWithDot="".concat(seconds).replace(/,/g,".");if(Number.isNaN(+secondsWithDot)){throw new Error("seconds must be digits, is ".concat(seconds));}var denominator=1;var samples;if(Number.isInteger(+secondsWithDot)){samples=+secondsWithDot*denominator;}else {var _ms$length;var _secondsWithDot$split=secondsWithDot.split("."),_secondsWithDot$split2=_slicedToArray__default["default"](_secondsWithDot$split,2),ms=_secondsWithDot$split2[1];var decimalPlaces=Math.min((_ms$length=ms===null||ms===void 0?void 0:ms.length)!==null&&_ms$length!==void 0?_ms$length:0,16);denominator*=Math.pow(10,decimalPlaces);samples=Math.round(Number(secondsWithDot)*denominator);}if(timeBase===void 0&&useGCD){var gcd=getGreatestCommonDivisor(denominator,samples);samples/=gcd;denominator/=gcd;}var timeCode=new TimeCode({samples:samples,timeBase:{denominator:denominator,numerator:1}},timeCodeOptions);return timeBase!==void 0?timeCode.conformTimeBase(createTimeBase(timeBase),timeCodeOptions):timeCode;};
470
221
 
471
222
  var getDroppedFramesFromSmpte=function getDroppedFramesFromSmpte(_ref,samples,timeBase){var _ref2=_slicedToArray__default["default"](_ref,4),hh=_ref2[0],mm=_ref2[1],ss=_ref2[2],ff=_ref2[3];var roundedFrameRate=timeBase.toRate({rounded:true});var dropFrames=getAmountOfFrameDrops(timeBase);if(samples===0||!dropFrames){return 0;}var shouldDropMinute=mm%10!==0;var shouldDropSecond=shouldDropMinute&&ss===0;var hourFrames=hh*(3600*roundedFrameRate-54*dropFrames);var minuteFrames=mm*60*roundedFrameRate-(mm-Math.ceil(mm/10))*dropFrames;var secondFrames=ss*roundedFrameRate-(shouldDropMinute&&ss>1?dropFrames:0);if(shouldDropSecond&&ff<dropFrames){throw new Error("Frame does not exist for ".concat(timeBase.toConstant()||timeBase.toRate()," drop-frame"));}var frameFrames=shouldDropSecond?ff-dropFrames:ff;var samplesWithoutDroppedFrames=hourFrames+minuteFrames+secondFrames+frameFrames;return samples-samplesWithoutDroppedFrames;};var getSamplesFromSmpte=function getSamplesFromSmpte(smpteValues,timeBase,dropFrame){var _smpteValues=_slicedToArray__default["default"](smpteValues,4),hh=_smpteValues[0],mm=_smpteValues[1],ss=_smpteValues[2],ff=_smpteValues[3];var roundedFrameRate=timeBase.toRate({rounded:true});var samples=hh*3600*roundedFrameRate+mm*60*roundedFrameRate+ss*roundedFrameRate+ff;return samples-(dropFrame?getDroppedFramesFromSmpte(smpteValues,samples,timeBase):0);};
472
223
 
473
- var splitSmpte=function splitSmpte(smpte){var _ref=(smpte===null||smpte===void 0?void 0:smpte.match(/[^0-9:\-_]/))||[],_ref2=_slicedToArray__default["default"](_ref,1),nonColonFrameSeparator=_ref2[0];var smpteValues=[];if(nonColonFrameSeparator){var _smpte$split=smpte.split(nonColonFrameSeparator),_smpte$split2=_slicedToArray__default["default"](_smpte$split,2),hhmmss=_smpte$split2[0],ff=_smpte$split2[1];smpteValues=[].concat(_toConsumableArray__default["default"](hhmmss.split(':')),[ff]);}else {smpteValues=smpte.split(':');}if(smpteValues.length!==4){throw new Error('Invalid format, must be "##:##:##:##');}if(smpteValues.some(function(n){return Number.isNaN(n);})){throw new Error('Invalid format, values must be numbers');}var smpteFrameSeparator=nonColonFrameSeparator||':';return {smpteValues:smpteValues.map(Number),smpteFrameSeparator:smpteFrameSeparator};};
474
-
475
- var _excluded$4=["exceedingMode","timeBase"];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;}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;}var EXCEEDING_OPTIONS=['error','add','ignore'];var defaultOptions$5={exceedingMode:'error',timeBase:undefined,dropFrame:undefined,frameSeparator:undefined};/**
476
- * Format smpte text to a TimeCode Instance
477
- *
478
- * Options for `exceedingMode`:
479
- * - `add` will be overflow to higher unit (e.g. PAL and 00:00:00:25 => 00:00:01:00)
480
- * - `ignore` will be truncated (e.g. PAL and 00:00:00:25 => 00:00:00:24)
481
- * - `error` will throw error (e.g. PAL and 00:00:00:25 => Error)
482
- *
483
- * @param smpte String representation of smpte
484
- * @param options Options for creating the time code from smpte
485
- * @returns TimeCode instance created from smpte string
486
- *
487
- * @category Time
488
- */var formatTimeCodeSmpte=function formatTimeCodeSmpte(smpte,options){var _ref=_objectSpread$b(_objectSpread$b({},defaultOptions$5),options)||{},exceedingMode=_ref.exceedingMode,timeBase=_ref.timeBase,timeCodeOptions=_objectWithoutProperties__default["default"](_ref,_excluded$4);if([null,undefined].includes(smpte)){throw new Error("smpte cannot be undefined or null");}if(typeof smpte!=='string'){throw new Error("smpte must be a string, is ".concat(JSON.stringify(smpte)));}var _splitSmpte=splitSmpte(smpte),smpteValues=_splitSmpte.smpteValues,smpteFrameSeparator=_splitSmpte.smpteFrameSeparator;var timeBaseInstance=createTimeBase(timeBase);var mergedOptions=_objectSpread$b(_objectSpread$b({},timeCodeOptions),{},{frameSeparator:(timeCodeOptions===null||timeCodeOptions===void 0?void 0:timeCodeOptions.frameSeparator)||smpteFrameSeparator},(timeCodeOptions===null||timeCodeOptions===void 0?void 0:timeCodeOptions.dropFrame)===undefined?{dropFrame:timeBase!==undefined?isDropFrameTimeBase(timeBaseInstance):[';',','].includes(smpteFrameSeparator)}:{});var roundedFrameRate=timeBaseInstance.toRate({rounded:true});var maxFrame=Math.max(0,roundedFrameRate-1);if(smpteValues.some(function(v){return v<0;})){throw new Error('Negative values are not supported');}var samples;switch(exceedingMode){case'error':{var _smpteValues=_slicedToArray__default["default"](smpteValues,4),hours=_smpteValues[0],minutes=_smpteValues[1],seconds=_smpteValues[2],frames=_smpteValues[3];if(hours>=100){throw Error('Minutes has to be less than 60');}if(minutes>=60){throw Error('Minutes has to be less than 60');}if(seconds>=60){throw Error('Seconds has to be less than 60');}if(frames>maxFrame){throw Error("Frames has to be less or equal to ".concat(maxFrame));}samples=getSamplesFromSmpte(smpteValues,timeBaseInstance,mergedOptions===null||mergedOptions===void 0?void 0:mergedOptions.dropFrame);break;}case'ignore':{var _smpteValues2=_slicedToArray__default["default"](smpteValues,4),_hours=_smpteValues2[0],_minutes=_smpteValues2[1],_seconds=_smpteValues2[2],_frames=_smpteValues2[3];var truncatedSmpteValues=[Math.min(100,_hours),Math.min(59,_minutes),Math.min(59,_seconds),Math.min(maxFrame,_frames)];samples=getSamplesFromSmpte(truncatedSmpteValues,timeBaseInstance,mergedOptions===null||mergedOptions===void 0?void 0:mergedOptions.dropFrame);break;}case'add':{samples=getSamplesFromSmpte(smpteValues,timeBaseInstance,mergedOptions===null||mergedOptions===void 0?void 0:mergedOptions.dropFrame);break;}default:{throw new Error("Invalid exceedingMode, options are ".concat(JSON.stringify(EXCEEDING_OPTIONS)));}}return new TimeCode({samples:samples,timeBase:timeBaseInstance},mergedOptions);};
489
-
490
- var _excluded$3=["timeBase"];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;}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;}var defaultOptions$4={timeBase:undefined,dropFrame:undefined,frameSeparator:undefined};/**
491
- * Format text to a TimeCode instance
492
- *
493
- * @returns A TimeCode instance
494
- *
495
- * @category Time
496
- */var formatTimeCodeText=function formatTimeCodeText(timeCodeText,options){var _timeCodeObject;var _ref=_objectSpread$a(_objectSpread$a({},defaultOptions$4),options)||{},timeBase=_ref.timeBase,timeCodeOptions=_objectWithoutProperties__default["default"](_ref,_excluded$3);var timeCodeObject;if(timeCodeText===undefined){timeCodeObject={samples:0};}else if(typeof timeCodeText==='number'){timeCodeObject={samples:timeCodeText};}else if(timeCodeText.includes('@')){var _timeCodeText$split=timeCodeText.split('@'),_timeCodeText$split2=_slicedToArray__default["default"](_timeCodeText$split,2),samplesString=_timeCodeText$split2[0],timeBaseText=_timeCodeText$split2[1];var samples=Number(samplesString);timeCodeObject={samples:samples,timeBase:formatTimeBaseText(timeBaseText)};}else if(timeCodeText==='-INF'){timeCodeObject={samples:-Infinity};}else if(timeCodeText==='+INF'){timeCodeObject={samples:Infinity};}else {timeCodeObject={samples:Number(timeCodeText)};}if(Number.isNaN((_timeCodeObject=timeCodeObject)===null||_timeCodeObject===void 0?void 0:_timeCodeObject.samples)||timeCodeObject.timeBase&&!(timeCodeObject.timeBase instanceof TimeBase)){throw new Error("timeCodeText must be a number or sample@timeBase - is ".concat(timeCodeText));}var timeCode=new TimeCode(timeCodeObject,timeCodeOptions);return timeBase?timeCode.conformTimeBase(createTimeBase(timeBase),timeCodeOptions):timeCode;};
497
-
498
- 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;}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;}var defaultOptions$3={dropFrame:undefined,frameSeparator:undefined};/**
499
- * Format an object to a TimeCode instance
500
- *
501
- * @param timeCode To create TimeCode instance of
502
- * @param options For the TimeCode constructor
503
- * @returns A TimeCode instance
504
- *
505
- * @category Time
506
- */var formatTimeCodeType=function formatTimeCodeType(timeCode,options){return new TimeCode(timeCode,_objectSpread$9(_objectSpread$9({},defaultOptions$3),options));};
507
-
508
- var hasSmpteFormat=function hasSmpteFormat(s){return !!s.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/);};var isNumber=function isNumber(s){return !Number.isNaN(Number(s));};/**
509
- * Create a TimeCode instance from smpte, seconds/samples, timeCode object or string
510
- *
511
- * @param timeCode Smpte, seconds/samples, timeCode object or string
512
- * @param options For the format functions
513
- * @returns A TimeCode instance
514
- *
515
- * @category Time
516
- */var createTimeCode=function createTimeCode(timeCode,options){if(timeCode instanceof TimeCode){return timeCode;}if(typeof timeCode!=='string'&&typeof timeCode!=='number')// TimeCode object
517
- return formatTimeCodeType(timeCode,options);// SMPTE
518
- if(typeof timeCode==='string'&&hasSmpteFormat(timeCode))return formatTimeCodeSmpte(timeCode,options);if(['string','number'].includes(_typeof__default["default"](timeCode))&&isNumber(timeCode))return formatTimeCodeSeconds(timeCode,options);if(typeof timeCode==='string'){return formatTimeCodeText(timeCode,options);}return undefined;};
519
-
520
- 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;}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;}function timeToCueTime(_ref){var _ref$hours=_ref.hours,hours=_ref$hours===void 0?0:_ref$hours,_ref$minutes=_ref.minutes,minutes=_ref$minutes===void 0?0:_ref$minutes,_ref$seconds=_ref.seconds,seconds=_ref$seconds===void 0?0:_ref$seconds,_ref$partialSeconds=_ref.partialSeconds,partialSeconds=_ref$partialSeconds===void 0?0:_ref$partialSeconds;var hourStr=hours.toFixed().padStart(2,'0');var minStr=minutes.toFixed().padStart(2,'0');var secondsStr=seconds.toFixed().padStart(2,'0');var partialStr=(partialSeconds*10).toFixed().padStart(3,'0');return "".concat(hourStr,":").concat(minStr,":").concat(secondsStr,".").concat(partialStr);}var defaultOptions$2={subtitleGroup:'stl_subtitle',subtitleField:'stl_text'};/**
521
- * Convert metadata subtitle groups to WebVtt subtitles
522
- *
523
- * @param metadataType - Vidicore metadata object (should include subtitleGroup and subtitleField)
524
- * @param options - options for how to map subtitle group
525
- * @returns WebVtt subtitles
526
- *
527
- * @category Metadata
528
- */var metadataTypeToWebVtt=function metadataTypeToWebVtt(metadataType,options){var _defaultOptions=_objectSpread$8(_objectSpread$8({},defaultOptions$2),options||{}),subtitleGroup=_defaultOptions.subtitleGroup,subtitleField=_defaultOptions.subtitleField;var _ref2=metadataType||{},_ref2$timespan=_ref2.timespan,timespanList=_ref2$timespan===void 0?[]:_ref2$timespan;if(timespanList.length===0)return '';var parsedTimespans=parseTimespanList(timespanList,{includeTimespanAttributes:true,sortTimespan:true,timespanAsList:true,overrideGroup:true,joinValue:','});var vttCues=parsedTimespans.map(function(timespan){var _ref3=(Array.isArray(timespan)?timespan[0]:timespan)||{},startText=_ref3.start,endText=_ref3.end,_ref3$subtitleGroup=_ref3[subtitleGroup];_ref3$subtitleGroup=_ref3$subtitleGroup===void 0?{}:_ref3$subtitleGroup;var text=_ref3$subtitleGroup[subtitleField];if(!text)return '';var start=timeToCueTime(formatTimeCodeText(startText).toTime());var end=timeToCueTime(formatTimeCodeText(endText).toTime());return "".concat(start," --> ").concat(end," line:0%\r").concat(text,"\r");});return "WEBVTT\n\n\n".concat(vttCues.join('\n'));};
529
-
530
- /**
531
- * Create a Vidicore facet list
532
- *
533
- * @param fieldList Input to create facet of
534
- * @param options Options for creating the facet
535
- * @returns A VidiCore facet list
536
- *
537
- * @category Search
538
- */var createFacetType=function createFacetType(){var fieldList=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{count:true};return fieldList.map(function(field){return {field:field,name:field,count:options.count!==undefined?options===null||options===void 0?void 0:options.count:true,exclude:fieldList};});};
539
-
540
- 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;}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;}/** Parsed facet type */ /**
541
- * Parse a VidiCore facet type list
542
- *
543
- * @param facetType A facet type list to parse
544
- * @returns A parsed facet type list
545
- *
546
- * @category Search
547
- */var parseFacetType=function parseFacetType(){var facetType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var output={};facetType.forEach(function(_ref){var name=_ref.name,field=_ref.field,count=_ref.count;output[name||field]=count.reduce(function(acc,_ref2){var fieldValue=_ref2.fieldValue,value=_ref2.value;return _objectSpread$7(_objectSpread$7({},acc),{},_defineProperty__default["default"]({},fieldValue,value));},{});});return output;};
548
-
549
- 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;}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;}var defaultOptions$1={arrayOnSingle:true,joinValue:undefined,timespanAsList:false};/**
550
- * Parses highlight timespan in VidiCore into key/value object.
551
- * The attributes can be targeted for each sub-type.
552
- * @param timespan - A VidiCore search timespan
553
- * @param options - Options which change how the timespans are parsed
554
- *
555
- * @category Search
556
- */var parseHighlightTimespan=function parseHighlightTimespan(timespan,options){var _defaultOptions=_objectSpread$6(_objectSpread$6({},defaultOptions$1),options||{}),_defaultOptions$array=_defaultOptions.arrayOnSingle,arrayOnSingle=_defaultOptions$array===void 0?true:_defaultOptions$array,_defaultOptions$joinV=_defaultOptions.joinValue,joinValue=_defaultOptions$joinV===void 0?undefined:_defaultOptions$joinV,_defaultOptions$times=_defaultOptions.timespanAsList,timespanAsList=_defaultOptions$times===void 0?false:_defaultOptions$times;var _ref=timespan||{},_ref$field=_ref.field,field=_ref$field===void 0?[]:_ref$field,start=_ref.start,end=_ref.end;var initialValue=timespanAsList?{start:start,end:end}:{};var fieldList=field.reduce(function(acc,curr){var name=curr.name,_curr$value=curr.value,valueList=_curr$value===void 0?[]:_curr$value;if(valueList.length===0)return acc;var fieldValue;if(arrayOnSingle===false&&valueList.length===1){var _valueList=_slicedToArray__default["default"](valueList,1);fieldValue=_valueList[0];}else if(joinValue)fieldValue=valueList.join(joinValue);else fieldValue=valueList;return _objectSpread$6(_objectSpread$6({},acc),{},_defineProperty__default["default"]({},name,fieldValue));},initialValue);return fieldList;};
557
-
558
- var _excluded$2=["timespanAsList","joinTimespan","flat","flatTimespan"];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;}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;}var defaultOptions=_objectSpread$5(_objectSpread$5({},defaultOptions$1),{},{timespanAsList:false,joinTimespan:'_',flat:false,flatTimespan:false});/**
559
- * Parses highlight timespans from VidiCore into key/value object.
560
- * The attributes can be targeted for each sub-type.
561
- *
562
- * @param highlightTimespanList - A list of timespans from VidiCore.
563
- * @param options - Options to change how the timespans are parsed
564
- *
565
- * @category Search
566
- */var parseHighlightTimespanList=function parseHighlightTimespanList(){var highlightTimespanList=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var options=arguments.length>1?arguments[1]:undefined;var _defaultOptions=_objectSpread$5(_objectSpread$5({},defaultOptions),options||{}),timespanAsList=_defaultOptions.timespanAsList,_defaultOptions$joinT=_defaultOptions.joinTimespan,joinTimespan=_defaultOptions$joinT===void 0?'_':_defaultOptions$joinT,flat=_defaultOptions.flat,flatTimespan=_defaultOptions.flatTimespan,parseHighlightTimespanOptions=_objectWithoutProperties__default["default"](_defaultOptions,_excluded$2);if(timespanAsList===true)return highlightTimespanList.map(function(timespan){return parseHighlightTimespan(timespan,_objectSpread$5(_objectSpread$5({},parseHighlightTimespanOptions),{},{timespanAsList:timespanAsList}));});if(flat===true||flatTimespan===true)return highlightTimespanList.reduce(function(a,timespan){return _objectSpread$5(_objectSpread$5({},a),parseHighlightTimespan(timespan,options));},{});return highlightTimespanList.reduce(function(a,timespan){return _objectSpread$5(_objectSpread$5({},a),{},_defineProperty__default["default"]({},[timespan.start,timespan.end].join(joinTimespan),parseHighlightTimespan(timespan,options)));},{});};
567
-
568
- /**
569
- * Parse Vidicore "NOW" constants to a date object
570
- *
571
- * Format: `NOW[+/-][number][HOUR/DAY/MONTH/YEAR(s)]` (e.g. "NOW-2HOURS")
572
- *
573
- * @remarks
574
- * Returns an approximate date since it's created client side
575
- *
576
- * @param value A "NOW" constant
577
- * @returns A date from the NOW constant
578
- *
579
- * @category Search
580
- */var parseNowDate=function parseNowDate(){var value=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'NOW';if(value.startsWith('NOW')){if(value==='NOW')return new Date();var sign=value[3];var number=Number(value.match(/(\d+)/)[0]);var unit=value.match(/(\d.*)/)[0].replace(/\d/g,'');var nowDiff=new Date();switch(unit){case'HOUR':case'HOURS':if(sign==='+')nowDiff.setHours(nowDiff.getHours()+number);if(sign==='-')nowDiff.setHours(nowDiff.getHours()-number);break;case'DAY':case'DAYS':if(sign==='+')nowDiff.setDate(nowDiff.getDate()+number);if(sign==='-')nowDiff.setDate(nowDiff.getDate()-number);break;case'MONTH':case'MONTHS':if(sign==='+')nowDiff.setMonth(nowDiff.getMonth()+number);if(sign==='-')nowDiff.setMonth(nowDiff.getMonth()-number);break;case'YEAR':case'YEARS':if(sign==='+')nowDiff.setFullYear(nowDiff.getFullYear()+number);if(sign==='-')nowDiff.setFullYear(nowDiff.getFullYear()-number);break;}return nowDiff;}return new Date(value);};
224
+ var splitSmpte=function splitSmpte(smpte){var _ref=(smpte===null||smpte===void 0?void 0:smpte.match(/[^0-9:\-_]/))||[],_ref2=_slicedToArray__default["default"](_ref,1),nonColonFrameSeparator=_ref2[0];var smpteValues=[];if(nonColonFrameSeparator){var _smpte$split=smpte.split(nonColonFrameSeparator),_smpte$split2=_slicedToArray__default["default"](_smpte$split,2),hhmmss=_smpte$split2[0],ff=_smpte$split2[1];smpteValues=[].concat(_toConsumableArray__default["default"](hhmmss.split(":")),[ff]);}else {smpteValues=smpte.split(":");}if(smpteValues.length!==4){throw new Error('Invalid format, must be "##:##:##:##');}if(smpteValues.some(function(n){return Number.isNaN(n);})){throw new Error("Invalid format, values must be numbers");}var smpteFrameSeparator=nonColonFrameSeparator||":";return {smpteValues:smpteValues.map(Number),smpteFrameSeparator:smpteFrameSeparator};};
225
+
226
+ var _excluded$4=["exceedingMode","timeBase"];function ownKeys$d(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;}function _objectSpread$d(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$d(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$d(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var EXCEEDING_OPTIONS=["error","add","ignore"];var defaultOptions$6={exceedingMode:"error",timeBase:void 0,dropFrame:void 0,frameSeparator:void 0};var formatTimeCodeSmpte=function formatTimeCodeSmpte(smpte,options){var _defaultOptions$optio=_objectSpread$d(_objectSpread$d({},defaultOptions$6),options),exceedingMode=_defaultOptions$optio.exceedingMode,timeBase=_defaultOptions$optio.timeBase,timeCodeOptions=_objectWithoutProperties__default["default"](_defaultOptions$optio,_excluded$4);if([null,void 0].includes(smpte)){throw new Error("smpte cannot be undefined or null");}if(typeof smpte!=="string"){throw new Error("smpte must be a string, is ".concat(JSON.stringify(smpte)));}var _splitSmpte=splitSmpte(smpte),smpteValues=_splitSmpte.smpteValues,smpteFrameSeparator=_splitSmpte.smpteFrameSeparator;var timeBaseInstance=createTimeBase(timeBase);var mergedOptions=_objectSpread$d(_objectSpread$d({},timeCodeOptions),{},{frameSeparator:(timeCodeOptions===null||timeCodeOptions===void 0?void 0:timeCodeOptions.frameSeparator)||smpteFrameSeparator},(timeCodeOptions===null||timeCodeOptions===void 0?void 0:timeCodeOptions.dropFrame)===void 0?{dropFrame:timeBase!==void 0?isDropFrameTimeBase(timeBaseInstance):[";",","].includes(smpteFrameSeparator)}:{});var roundedFrameRate=timeBaseInstance.toRate({rounded:true});var maxFrame=Math.max(0,roundedFrameRate-1);if(smpteValues.some(function(v){return v<0;})){throw new Error("Negative values are not supported");}var samples;switch(exceedingMode){case"error":{var _smpteValues=_slicedToArray__default["default"](smpteValues,4),hours=_smpteValues[0],minutes=_smpteValues[1],seconds=_smpteValues[2],frames=_smpteValues[3];if(hours>=100){throw Error("Minutes has to be less than 60");}if(minutes>=60){throw Error("Minutes has to be less than 60");}if(seconds>=60){throw Error("Seconds has to be less than 60");}if(frames>maxFrame){throw Error("Frames has to be less or equal to ".concat(maxFrame));}samples=getSamplesFromSmpte(smpteValues,timeBaseInstance,mergedOptions===null||mergedOptions===void 0?void 0:mergedOptions.dropFrame);break;}case"ignore":{var _smpteValues2=_slicedToArray__default["default"](smpteValues,4),_hours=_smpteValues2[0],_minutes=_smpteValues2[1],_seconds=_smpteValues2[2],_frames=_smpteValues2[3];var truncatedSmpteValues=[Math.min(100,_hours),Math.min(59,_minutes),Math.min(59,_seconds),Math.min(maxFrame,_frames)];samples=getSamplesFromSmpte(truncatedSmpteValues,timeBaseInstance,mergedOptions===null||mergedOptions===void 0?void 0:mergedOptions.dropFrame);break;}case"add":{samples=getSamplesFromSmpte(smpteValues,timeBaseInstance,mergedOptions===null||mergedOptions===void 0?void 0:mergedOptions.dropFrame);break;}default:{throw new Error("Invalid exceedingMode, options are ".concat(JSON.stringify(EXCEEDING_OPTIONS)));}}return new TimeCode({samples:samples,timeBase:timeBaseInstance},mergedOptions);};
227
+
228
+ var _excluded$3=["timeBase"];function ownKeys$c(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;}function _objectSpread$c(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$c(Object(source),!0).forEach(function(key){_defineProperty__default["default"](target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$c(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var defaultOptions$5={timeBase:void 0,dropFrame:void 0,frameSeparator:void 0};var formatTimeCodeText=function formatTimeCodeText(timeCodeText,options){var _timeCodeObject;var _defaultOptions$optio=_objectSpread$c(_objectSpread$c({},defaultOptions$5),options),timeBase=_defaultOptions$optio.timeBase,timeCodeOptions=_objectWithoutProperties__default["default"](_defaultOptions$optio,_excluded$3);var timeCodeObject;if(timeCodeText===void 0){timeCodeObject={samples:0};}else if(typeof timeCodeText==="number"){timeCodeObject={samples:timeCodeText};}else if(timeCodeText.includes("@")){var _timeCodeText$split=timeCodeText.split("@"),_timeCodeText$split2=_slicedToArray__default["default"](_timeCodeText$split,2),samplesString=_timeCodeText$split2[0],timeBaseText=_timeCodeText$split2[1];var samples=Number(samplesString);timeCodeObject={samples:samples,timeBase:formatTimeBaseText(timeBaseText)};}else if(timeCodeText==="-INF"){timeCodeObject={samples:-Infinity};}else if(timeCodeText==="+INF"){timeCodeObject={samples:Infinity};}else {timeCodeObject={samples:Number(timeCodeText)};}if(Number.isNaN((_timeCodeObject=timeCodeObject)===null||_timeCodeObject===void 0?void 0:_timeCodeObject.samples)||timeCodeObject.timeBase&&!(timeCodeObject.timeBase instanceof TimeBase)){throw new Error("timeCodeText must be a number or sample@timeBase - is ".concat(timeCodeText));}var timeCode=new TimeCode(timeCodeObject,timeCodeOptions);return timeBase?timeCode.conformTimeBase(createTimeBase(timeBase),timeCodeOptions):timeCode;};
229
+
230
+ 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;}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;}var defaultOptions$4={dropFrame:void 0,frameSeparator:void 0};var formatTimeCodeType=function formatTimeCodeType(timeCode,options){return new TimeCode(timeCode,_objectSpread$b(_objectSpread$b({},defaultOptions$4),options));};
231
+
232
+ var hasSmpteFormat=function hasSmpteFormat(s){return !!s.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/);};var isNumber=function isNumber(s){return !Number.isNaN(Number(s));};var createTimeCode=function createTimeCode(timeCode,options){if(timeCode instanceof TimeCode){return timeCode;}if(typeof timeCode!=="string"&&typeof timeCode!=="number")return formatTimeCodeType(timeCode,options);if(typeof timeCode==="string"&&hasSmpteFormat(timeCode))return formatTimeCodeSmpte(timeCode,options);if(["string","number"].includes(_typeof__default["default"](timeCode))&&isNumber(timeCode))return formatTimeCodeSeconds(timeCode,options);if(typeof timeCode==="string"){return formatTimeCodeText(timeCode,options);}return void 0;};
233
+
234
+ 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;}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;}function timeToCueTime(_ref){var _ref$hours=_ref.hours,hours=_ref$hours===void 0?0:_ref$hours,_ref$minutes=_ref.minutes,minutes=_ref$minutes===void 0?0:_ref$minutes,_ref$seconds=_ref.seconds,seconds=_ref$seconds===void 0?0:_ref$seconds,_ref$partialSeconds=_ref.partialSeconds,partialSeconds=_ref$partialSeconds===void 0?0:_ref$partialSeconds;var hourStr=hours.toFixed().padStart(2,"0");var minStr=minutes.toFixed().padStart(2,"0");var secondsStr=seconds.toFixed().padStart(2,"0");var partialStr=(partialSeconds*10).toFixed().padStart(3,"0");return "".concat(hourStr,":").concat(minStr,":").concat(secondsStr,".").concat(partialStr);}var defaultOptions$3={subtitleGroup:"stl_subtitle",subtitleField:"stl_text"};var metadataTypeToWebVtt=function metadataTypeToWebVtt(metadataType,options){var _defaultOptions=_objectSpread$a(_objectSpread$a({},defaultOptions$3),options||{}),subtitleGroup=_defaultOptions.subtitleGroup,subtitleField=_defaultOptions.subtitleField;var _ref2=metadataType||{},_ref2$timespan=_ref2.timespan,timespanList=_ref2$timespan===void 0?[]:_ref2$timespan;if(timespanList.length===0)return "";var parsedTimespans=parseTimespanList(timespanList,{includeTimespanAttributes:true,sortTimespan:true,timespanAsList:true,overrideGroup:true,joinValue:","});var vttCues=parsedTimespans.map(function(timespan){var _ref3=(Array.isArray(timespan)?timespan[0]:timespan)||{},startText=_ref3.start,endText=_ref3.end,_ref3$subtitleGroup=_ref3[subtitleGroup];_ref3$subtitleGroup=_ref3$subtitleGroup===void 0?{}:_ref3$subtitleGroup;var text=_ref3$subtitleGroup[subtitleField];if(!text)return "";var start=timeToCueTime(formatTimeCodeText(startText).toTime());var end=timeToCueTime(formatTimeCodeText(endText).toTime());return "".concat(start," --> ").concat(end," line:0%\r").concat(text,"\r");});return "WEBVTT\n\n\n".concat(vttCues.join("\n"));};
235
+
236
+ 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;}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;}var defaultOptions$2={count:true,exclude:true};var createSearchFacetList=function createSearchFacetList(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var mergedOptions=_objectSpread$9(_objectSpread$9({},defaultOptions$2),options);var count=mergedOptions.count,exclude=mergedOptions.exclude;return input.map(function(nameOrSearchFacet){if(typeof nameOrSearchFacet==="string"){return _objectSpread$9({field:nameOrSearchFacet,name:nameOrSearchFacet,count:count},exclude===true?{exclude:[nameOrSearchFacet]}:{});}return nameOrSearchFacet;});};
237
+
238
+ 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;}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;}var parseFacetList=function parseFacetList(){var facetList=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];return facetList===null||facetList===void 0?void 0:facetList.map(function(_ref){var name=_ref.name,field=_ref.field,count=_ref.count,range=_ref.range;return _objectSpread$8({facetName:name,fieldName:field,count:count===null||count===void 0?void 0:count.reduce(function(acc,_ref2){var fieldValue=_ref2.fieldValue,value=_ref2.value;return _objectSpread$8(_objectSpread$8({},acc),{},_defineProperty__default["default"]({},fieldValue,value));},{})},range?{range:range.map(function(_ref3){var value=_ref3.value,start=_ref3.start,end=_ref3.end;return {start:Number.isNaN(+start)?start:Number(start),end:Number.isNaN(+end)?end:Number(end),count:Number(value)||0};})}:{});});};
239
+
240
+ 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;}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;}var parseFacetType=function parseFacetType(){var facetType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var output={};facetType.forEach(function(_ref){var name=_ref.name,field=_ref.field,count=_ref.count;output[name||field]=count.reduce(function(acc,_ref2){var fieldValue=_ref2.fieldValue,value=_ref2.value;return _objectSpread$7(_objectSpread$7({},acc),{},_defineProperty__default["default"]({},fieldValue,value));},{});});return output;};
241
+
242
+ 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;}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;}var defaultOptions$1={arrayOnSingle:true,joinValue:void 0,timespanAsList:false};var parseHighlightTimespan=function parseHighlightTimespan(timespan,options){var _defaultOptions=_objectSpread$6(_objectSpread$6({},defaultOptions$1),options||{}),_defaultOptions$array=_defaultOptions.arrayOnSingle,arrayOnSingle=_defaultOptions$array===void 0?true:_defaultOptions$array,_defaultOptions$joinV=_defaultOptions.joinValue,joinValue=_defaultOptions$joinV===void 0?void 0:_defaultOptions$joinV,_defaultOptions$times=_defaultOptions.timespanAsList,timespanAsList=_defaultOptions$times===void 0?false:_defaultOptions$times;var _ref=timespan||{},_ref$field=_ref.field,field=_ref$field===void 0?[]:_ref$field,start=_ref.start,end=_ref.end;var initialValue=timespanAsList?{start:start,end:end}:{};var fieldList=field.reduce(function(acc,curr){var name=curr.name,_curr$value=curr.value,valueList=_curr$value===void 0?[]:_curr$value;if(valueList.length===0)return acc;var fieldValue;if(arrayOnSingle===false&&valueList.length===1){var _valueList=_slicedToArray__default["default"](valueList,1);fieldValue=_valueList[0];}else if(joinValue)fieldValue=valueList.join(joinValue);else fieldValue=valueList;return _objectSpread$6(_objectSpread$6({},acc),{},_defineProperty__default["default"]({},name,fieldValue));},initialValue);return fieldList;};
243
+
244
+ var _excluded$2=["timespanAsList","joinTimespan","flat","flatTimespan"];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;}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;}var defaultOptions=_objectSpread$5(_objectSpread$5({},defaultOptions$1),{},{timespanAsList:false,joinTimespan:"_",flat:false,flatTimespan:false});var parseHighlightTimespanList=function parseHighlightTimespanList(){var highlightTimespanList=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var options=arguments.length>1?arguments[1]:undefined;var _defaultOptions=_objectSpread$5(_objectSpread$5({},defaultOptions),options||{}),timespanAsList=_defaultOptions.timespanAsList,_defaultOptions$joinT=_defaultOptions.joinTimespan,joinTimespan=_defaultOptions$joinT===void 0?"_":_defaultOptions$joinT,flat=_defaultOptions.flat,flatTimespan=_defaultOptions.flatTimespan,parseHighlightTimespanOptions=_objectWithoutProperties__default["default"](_defaultOptions,_excluded$2);if(timespanAsList===true)return highlightTimespanList.map(function(timespan){return parseHighlightTimespan(timespan,_objectSpread$5(_objectSpread$5({},parseHighlightTimespanOptions),{},{timespanAsList:timespanAsList}));});if(flat===true||flatTimespan===true)return highlightTimespanList.reduce(function(a,timespan){return _objectSpread$5(_objectSpread$5({},a),parseHighlightTimespan(timespan,options));},{});return highlightTimespanList.reduce(function(a,timespan){return _objectSpread$5(_objectSpread$5({},a),{},_defineProperty__default["default"]({},[timespan.start,timespan.end].join(joinTimespan),parseHighlightTimespan(timespan,options)));},{});};
245
+
246
+ var parseNowDate=function parseNowDate(){var value=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"NOW";if(value.startsWith("NOW")){if(value==="NOW")return/* @__PURE__ */new Date();var sign=value[3];var number=Number(value.match(/(\d+)/)[0]);var unit=value.match(/(\d.*)/)[0].replace(/\d/g,"");var nowDiff=/* @__PURE__ */new Date();switch(unit){case"HOUR":case"HOURS":if(sign==="+")nowDiff.setHours(nowDiff.getHours()+number);if(sign==="-")nowDiff.setHours(nowDiff.getHours()-number);break;case"DAY":case"DAYS":if(sign==="+")nowDiff.setDate(nowDiff.getDate()+number);if(sign==="-")nowDiff.setDate(nowDiff.getDate()-number);break;case"MONTH":case"MONTHS":if(sign==="+")nowDiff.setMonth(nowDiff.getMonth()+number);if(sign==="-")nowDiff.setMonth(nowDiff.getMonth()-number);break;case"YEAR":case"YEARS":if(sign==="+")nowDiff.setFullYear(nowDiff.getFullYear()+number);if(sign==="-")nowDiff.setFullYear(nowDiff.getFullYear()-number);break;}return nowDiff;}return new Date(value);};
581
247
 
582
248
  var _excluded$1=["property"];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;}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;}var parseBaseMediaInfoType=function parseBaseMediaInfoType(baseMediaInfoType){var _ref=baseMediaInfoType||{},_ref$property=_ref.property,keyValuePairTypes=_ref$property===void 0?[]:_ref$property,props=_objectWithoutProperties__default["default"](_ref,_excluded$1);var parsedKeyValuePairType=parseKeyValuePairTypes(keyValuePairTypes);return _objectSpread$4(_objectSpread$4({},parsedKeyValuePairType),props);};var parseAudioMediaInfoType=function parseAudioMediaInfoType(mediaInfoType){return parseBaseMediaInfoType(mediaInfoType);};var parseVideoMediaInfoType=function parseVideoMediaInfoType(mediaInfoType){return parseBaseMediaInfoType(mediaInfoType);};
583
249
 
584
- var sampleRateSymbols={kB:'kHz',B:'Hz',mB:'mHz'};var bitRateSymbols$1={kB:'kbps',B:'bps',MB:'mbps'};/**
585
- * Parses the technical information of a AudioComponentType.
586
- * @param audioComponentType - A AudioComponentType from VidiCore.
587
- * @returns Parsed component object.
588
- *
589
- * @category Shape
590
- */var parseAudioComponent=function parseAudioComponent(audioComponentType){var timeBase=audioComponentType.timeBase,audioChannels=audioComponentType.channelCount,audioCodec=audioComponentType.codec,mediaInfo=audioComponentType.mediaInfo,bitrate=audioComponentType.bitrate,metadata=audioComponentType.metadata;var audioMediaInfo=parseAudioMediaInfoType(mediaInfo);var audioFormat=audioMediaInfo.Format,audioBitDepth=audioMediaInfo.Resolution,audioBitRateMode=audioMediaInfo.Bit_rate_mode;var audioMetadata=parseKeyValuePairTypes(metadata||[]);var audioSamplerateSamples=timeBase!==null&&timeBase!==void 0&&timeBase.denominator?((timeBase===null||timeBase===void 0?void 0:timeBase.denominator)||1)/((timeBase===null||timeBase===void 0?void 0:timeBase.numerator)||1):undefined;var audioSamplerate=audioSamplerateSamples!==undefined?filesize.filesize(audioSamplerateSamples,{base:10,round:1,symbols:sampleRateSymbols}):undefined;var audioBitrate;var audioBitrateKbps;if(bitrate!==undefined){var _split;audioBitrate=filesize.filesize(bitrate,{round:2,symbols:bitRateSymbols$1});audioBitrateKbps=Number((_split=filesize.filesize(bitrate,{exponent:1,symbols:bitRateSymbols$1}).split(' kbps'))===null||_split===void 0?void 0:_split[0]);}return {audioFormat:audioFormat,audioCodec:audioCodec,audioSamplerate:audioSamplerate,audioSamplerateSamples:audioSamplerateSamples,audioBitDepth:audioBitDepth,audioBitrate:audioBitrate,audioBitrateKbps:audioBitrateKbps,audioBitRateMode:audioBitRateMode,audioChannels:audioChannels,audioMediaInfo:audioMediaInfo,audioMetadata:audioMetadata};};
591
-
592
- /**
593
- * Const object with all file states in VidiCore
594
- * (see https://apidoc.vidispine.com/latest/storage/storage.html#file-states for more info)
595
- *
596
- * @category File
597
- */var FILE_STATES={/** Just created, not used. */NONE:'NONE',/** Discovered or created, not yet marked as finished. */OPEN:'OPEN',/** File does no longer grow. */CLOSED:'CLOSED',/** The current state is not known. */UNKNOWN:'UNKNOWN',/** File is missing from the file system/storage. */MISSING:'MISSING',/** File has been missing for a longer period. Candidate for restoration from archive. */LOST:'LOST',/** File will appear on file system/storage, transfer subsystem or transcoder will create it. */TO_APPEAR:'TO_APPEAR',/** The file is no longer in use, and will be deleted at the next clean-up sweep. */TO_BE_DELETED:'TO_BE_DELETED',/** File is in use by transfer subsystem or transcoder. */BEING_READ:'BEING_READ',/** File is archived. */ARCHIVED:'ARCHIVED',/** File will be synchronized by multi-site agent. */AWAITING_SYNC:'AWAITING_SYNC'};
598
-
599
- /**
600
- * Parses a VidiCore file object
601
- *
602
- * @remarks
603
- * File sizes are parsed with JEDEC standard (base 2)
604
- *
605
- * @param fileType VidiCore file object
606
- * @returns A parsed file object
607
- *
608
- * @category File
609
- */var parseFileType=function parseFileType(fileType){var _fileType$uri=fileType.uri,uriList=_fileType$uri===void 0?[]:_fileType$uri,fileSizeBytes=fileType.size,hash=fileType.hash,path=fileType.path,fileId=fileType.id;var _uriList=_slicedToArray__default["default"](uriList,1),uri=_uriList[0];var fileSize=fileSizeBytes!==undefined?filesize.filesize(fileSizeBytes,{base:2,standard:'jedec'}):'';var fileName=path?path.split('/').pop():undefined;return {uri:uri,hash:hash,fileSize:fileSize,fileSizeBytes:fileSizeBytes,path:path,fileName:fileName,fileId:fileId};};
610
-
611
- 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;}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;}/**
612
- * Parses the technical information of a BinaryComponentType.
613
- * @param binaryComponentType - A BinaryComponentType from VidiCore.
614
- * @returns Parsed component object.
615
- *
616
- * @category Shape
617
- */var parseBinaryComponent=function parseBinaryComponent(){var binaryComponentType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var fileList=binaryComponentType.file,mediaInfo=binaryComponentType.mediaInfo,_binaryComponentType$=binaryComponentType.metadata,metadata=_binaryComponentType$===void 0?[]:_binaryComponentType$;var binaryMetadata=parseKeyValuePairTypes(metadata);var binaryMediaInfo=parseBaseMediaInfoType(mediaInfo);var parsedBinaryComponent={binaryMetadata:binaryMetadata,binaryMediaInfo:binaryMediaInfo};if(fileList){var _fileList=_slicedToArray__default["default"](fileList,1),fileType=_fileList[0];var parsedFileType=parseFileType(fileType);parsedBinaryComponent=_objectSpread$3(_objectSpread$3({},parsedBinaryComponent),parsedFileType);}return parsedBinaryComponent;};
618
-
619
- 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;}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;}/**
620
- * Parsed container component
621
- */ /**
622
- * Parses the technical information of a ContainerComponentType.
623
- * @param containerComponentType - A ContainerComponentType from VidiCore.
624
- * @returns Parsed component object.
625
- *
626
- * @category Shape
627
- */var parseContainerComponent=function parseContainerComponent(){var containerComponentType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var mediaInfo=containerComponentType.mediaInfo,metadata=containerComponentType.metadata,fileList=containerComponentType.file,durationTimeCode=containerComponentType.duration,startTimestamp=containerComponentType.startTimestamp,startTimecode=containerComponentType.startTimecode,timeCodeTimeBase=containerComponentType.timeCodeTimeBase;var containerMetadata=parseKeyValuePairTypes(metadata||[]);var containerMediaInfo=parseBaseMediaInfoType(mediaInfo);var containerFormat=containerMediaInfo.Format;var videoFormat=containerMediaInfo.Video_Format_List,audioFormat=containerMediaInfo.Audio_Format_List,textFormat=containerMediaInfo.Text_Format_List;if(containerFormat===undefined){var format=containerComponentType.format;containerFormat=format;if(format&&format.includes(',')){var formatList=format.split(',');var _formatList=_slicedToArray__default["default"](formatList,1);containerFormat=_formatList[0];}}var parsedContainerComponentType={containerFormat:containerFormat,videoFormat:videoFormat,audioFormat:audioFormat,textFormat:textFormat,containerMetadata:containerMetadata,containerMediaInfo:containerMediaInfo};if(containerMetadata.componentOriginalFilename){parsedContainerComponentType.originalFilename=containerMetadata.componentOriginalFilename;}if(durationTimeCode!==undefined&&durationTimeCode.samples!==0){var timeCode=formatTimeCodeType(durationTimeCode);parsedContainerComponentType.durationTimeCode=timeCode.toObject();parsedContainerComponentType.duration=timeCode.toDuration();}if(startTimestamp){parsedContainerComponentType.startTimestamp=formatTimeCodeType(startTimestamp).toObject();}if(startTimecode!==undefined&&timeCodeTimeBase){parsedContainerComponentType.startTimecode=formatTimeCodeType({samples:startTimecode,timeBase:timeCodeTimeBase});}if(fileList){var _fileList=_slicedToArray__default["default"](fileList,1),fileType=_fileList[0];var parsedFileType=parseFileType(fileType);parsedContainerComponentType=_objectSpread$2(_objectSpread$2({},parsedContainerComponentType),parsedFileType);}return parsedContainerComponentType;};
628
-
629
- var bitRateSymbols={kB:'kbps',B:'bps',MB:'mbps'};/**
630
- * Parses the technical information of a VideoComponentType.
631
- * @param {Object} videoComponentType - A VideoComponentType from VidiCore.
632
- * @returns {Object} Parsed component object.
633
- *
634
- * @category Shape
635
- */var parseVideoComponent=function parseVideoComponent(){var videoComponentType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var videoCodec=videoComponentType.codec,bitrate=videoComponentType.bitrate,fieldOrder=videoComponentType.fieldOrder,resolution=videoComponentType.resolution,mediaInfo=videoComponentType.mediaInfo,_videoComponentType$m=videoComponentType.metadata,metadata=_videoComponentType$m===void 0?[]:_videoComponentType$m;var videoMediaInfo=parseVideoMediaInfoType(mediaInfo);var videoMetadata=parseKeyValuePairTypes(metadata);var videoFormat=videoMediaInfo.Format,timeBaseText=videoMediaInfo['Frame rate'],colorSpace=videoMediaInfo['Color space'],colorPrimaries=videoMediaInfo['Color primaries'],chromaSubsampling=videoMediaInfo.Colorimetry;var timeBase;var averageFrameRate=videoComponentType.averageFrameRate,realBaseFrameRate=videoComponentType.realBaseFrameRate;if(realBaseFrameRate!==undefined){timeBase=formatTimeBaseType({numerator:realBaseFrameRate.denominator,denominator:realBaseFrameRate.numerator});}else if(timeBaseText!==undefined){timeBase=formatTimeBaseText(timeBaseText);}else if(averageFrameRate!==undefined){timeBase=formatTimeBaseType({numerator:averageFrameRate.denominator,denominator:averageFrameRate.numerator});}var samples=videoMediaInfo['Frame count'];if(samples===undefined){var numberOfPackets=videoComponentType.numberOfPackets;if(numberOfPackets!==undefined)samples=numberOfPackets.toString();}var timeCode;var frameRate;var smpte;if(samples&&timeBase){timeCode=formatTimeCodeType({samples:samples,timeBase:timeBase});frameRate=timeCode.timeBase.toConstant()||timeCode.timeBase.toRate();smpte=timeCode.toSmpte();}var _ref=resolution||{},height=_ref.height,width=_ref.width;var aspectRatio=parseAspectRatio(resolution);var dimension="".concat(width,"x").concat(height);var videoBitrate;var videoBitrateMbps;if(bitrate!==undefined){var _split;videoBitrate=filesize.filesize(bitrate,{round:2,symbols:bitRateSymbols});videoBitrateMbps=Number((_split=filesize.filesize(bitrate,{exponent:2,symbols:bitRateSymbols}).split(' mbps'))===null||_split===void 0?void 0:_split[0]);}return {videoFormat:videoFormat,dimension:dimension,frameRate:frameRate,height:height,width:width,timeBase:timeBase,timeCode:timeCode,videoCodec:videoCodec,smpte:smpte,videoBitrate:videoBitrate,videoBitrateMbps:videoBitrateMbps,fieldOrder:fieldOrder,colorSpace:colorSpace,chromaSubsampling:chromaSubsampling,aspectRatio:aspectRatio,colorPrimaries:colorPrimaries,videoMetadata:videoMetadata,videoMediaInfo:videoMediaInfo};};
636
-
637
- 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;}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;}// eslint-disable-next-line import/no-cycle
638
- /**
639
- * Parses the technical information of a ShapeType and its various components.
640
- *
641
- * Will only parse the first videoComponent, audioComponent, binaryComponent in the corresponding array.
642
- * To parse a selected component see:
643
- * - {@link parseContainerComponent}
644
- * - {@link parseVideoComponent}
645
- * - {@link parseAudioComponent}
646
- * - {@link parseBinaryComponent}
647
- * @param shapeType - A ShapeType from VidiCore.
648
- * @returns Parsed shape object.
649
- *
650
- * @category Shape
651
- */var parseShapeType=function parseShapeType(){var shapeType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var parsedShape={};var containerComponent=shapeType.containerComponent,videoComponentList=shapeType.videoComponent,audioComponentList=shapeType.audioComponent,binaryComponentList=shapeType.binaryComponent,_shapeType$mimeType=shapeType.mimeType,mimeTypeList=_shapeType$mimeType===void 0?[]:_shapeType$mimeType,_shapeType$tag=shapeType.tag,tagList=_shapeType$tag===void 0?[]:_shapeType$tag;var _tagList=_slicedToArray__default["default"](tagList,1);parsedShape.tag=_tagList[0];var _mimeTypeList=_slicedToArray__default["default"](mimeTypeList,1);parsedShape.mimeType=_mimeTypeList[0];if(containerComponent){var parsedContainerComponent=parseContainerComponent(containerComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedContainerComponent);}if(videoComponentList){var _videoComponentList=_slicedToArray__default["default"](videoComponentList,1),videoComponent=_videoComponentList[0];var parsedVideoComponent=parseVideoComponent(videoComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedVideoComponent);}if(audioComponentList){var _audioComponentList=_slicedToArray__default["default"](audioComponentList,1),audioComponent=_audioComponentList[0];var parsedAudioComponent=parseAudioComponent(audioComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedAudioComponent);}if(binaryComponentList){var _binaryComponentList=_slicedToArray__default["default"](binaryComponentList,1),binaryComponent=_binaryComponentList[0];var parsedBinaryComponent=parseBinaryComponent(binaryComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedBinaryComponent);}return parsedShape;};
652
-
653
- /**
654
- * Const object with document types
655
- *
656
- * @category Shape
657
- */var DOCUMENT_TYPES={PDF:'PDF',TEXT:'TEXT',MSWORD:'MSWORD',JSON:'JSON',XML:'XML'};
658
-
659
- /**
660
- * Const object with media types
661
- *
662
- * @category Shape
663
- */var SHAPE_MEDIA_TYPES={IMAGE:'IMAGE',AUDIO:'AUDIO',VIDEO:'VIDEO',DOCUMENT:'DOCUMENT',BINARY:'BINARY'};
664
-
665
- // eslint-disable-next-line import/no-cycle
666
- /**
667
- * Return a const for the document type of a shape (looks at mimeType)
668
- *
669
- * @param shape A VidiCore shape
670
- * @returns The document type for a shape
671
- *
672
- * @category Shape
673
- */var getShapeDocumentType=function getShapeDocumentType(){var shape=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};// shapeType.mimeType is always a string array,
674
- // but accepts passing in { mimeType: string } for backwards compatibility
675
- var mimeTypeArrayOrString=shape.mimeType;var mimeType=Array.isArray(mimeTypeArrayOrString)?mimeTypeArrayOrString[0]:mimeTypeArrayOrString;if(!mimeType)return undefined;if(mimeType.endsWith('/pdf'))return DOCUMENT_TYPES.PDF;if(mimeType.startsWith('text/'))return DOCUMENT_TYPES.TEXT;if(mimeType.endsWith('/msword'))return DOCUMENT_TYPES.MSWORD;if(mimeType.endsWith('/json'))return DOCUMENT_TYPES.JSON;if(mimeType.endsWith('/xml'))return DOCUMENT_TYPES.XML;return undefined;};
676
-
677
- var IMAGE_MIME_TYPES=['image/apng','image/bmp','image/gif','image/jpeg','image/x-icon','image/png','image/svg+xml'];var VIDEO_MIME_TYPES=['video/mp4'];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'];var DEFAULT_ALLOWED_MIME_TYPES=[].concat(VIDEO_MIME_TYPES,IMAGE_MIME_TYPES,AUDIO_MIME_TYPES);var DEFAULT_ALLOWED_METHODS=['http','https'];var MP4_MIMETYPE='video/mp4';var QUICKTIME_MIMETYPE='video/quicktime';var M4V_MIMETYPE='video/x-m4v';var MP4_CONTAINER='MPEG-4';var MOV_CONTAINER='mov';var H264_CODEC='h264';// Sort by tags in the order of previewShapeOrder, secondary alphabetical.
678
- // using reverse() so the first has highest index
679
- var PREVIEW_SHAPE_ORDER=['__mp4','__mp3_160k','__png','__jpeg','__gif','original'].reverse();var defaultSortPriority=function defaultSortPriority(_ref,_ref2){var firstEl=_ref.parsedShape.tag;var secondEl=_ref2.parsedShape.tag;if(PREVIEW_SHAPE_ORDER.includes(firstEl)||PREVIEW_SHAPE_ORDER.includes(secondEl)){return PREVIEW_SHAPE_ORDER.indexOf(secondEl)-PREVIEW_SHAPE_ORDER.indexOf(firstEl);}return firstEl.toLowerCase().localeCompare(secondEl.toLowerCase());};/**
680
- * Filter a shape type list to get shapes that are playable in a browser
681
- *
682
- * @param itemType
683
- * @param options
684
- * @returns
685
- *
686
- * @category Shape
687
- */var filterShapeSource=function filterShapeSource(itemType,options){var _ref3=options||{},_ref3$allowedMimeType=_ref3.allowedMimeTypes,allowedMimeTypes=_ref3$allowedMimeType===void 0?DEFAULT_ALLOWED_MIME_TYPES:_ref3$allowedMimeType,_ref3$allowedMethods=_ref3.allowedMethods,allowedMethods=_ref3$allowedMethods===void 0?DEFAULT_ALLOWED_METHODS:_ref3$allowedMethods,_ref3$sortPriority=_ref3.sortPriority,sortPriority=_ref3$sortPriority===void 0?defaultSortPriority:_ref3$sortPriority,_ref3$sourceKey=_ref3.sourceKey,sourceKey=_ref3$sourceKey===void 0?'src':_ref3$sourceKey,_ref3$mimeTypeKey=_ref3.mimeTypeKey,mimeTypeKey=_ref3$mimeTypeKey===void 0?'type':_ref3$mimeTypeKey,_ref3$shapeKey=_ref3.shapeKey,shapeKey=_ref3$shapeKey===void 0?'shape':_ref3$shapeKey,_ref3$parsedShapeKey=_ref3.parsedShapeKey,parsedShapeKey=_ref3$parsedShapeKey===void 0?'parsedShape':_ref3$parsedShapeKey;var _ref4=itemType||{},_ref4$shape=_ref4.shape,shapeList=_ref4$shape===void 0?[]:_ref4$shape;var filteredShapeList=shapeList.reduce(function(acc,shapeType){var type;var src;var parsedShape=parseShapeType(shapeType);var uri=parsedShape.uri,mimeType=parsedShape.mimeType,containerFormat=parsedShape.containerFormat,videoCodec=parsedShape.videoCodec;if(mimeType){type=mimeType;if((mimeType===QUICKTIME_MIMETYPE||mimeType===M4V_MIMETYPE)&&(containerFormat===MP4_CONTAINER||containerFormat===MOV_CONTAINER)&&videoCodec===H264_CODEC)type=MP4_MIMETYPE;}if(uri){if(allowedMethods){var _uri$split=uri.split('://'),_uri$split2=_slicedToArray__default["default"](_uri$split,1),thisMethod=_uri$split2[0];if(allowedMethods.includes(thisMethod))src=uri;}else {src=uri;}}if(src&&allowedMimeTypes.includes(type)){var _acc$push;acc.push((_acc$push={},_defineProperty__default["default"](_acc$push,sourceKey,src),_defineProperty__default["default"](_acc$push,mimeTypeKey,type),_defineProperty__default["default"](_acc$push,shapeKey,shapeType),_defineProperty__default["default"](_acc$push,parsedShapeKey,parsedShape),_acc$push));}return acc;},[]);if(typeof sortPriority==='function')filteredShapeList.sort(defaultSortPriority);return filteredShapeList;};
688
-
689
- /**
690
- * Returns a const for which media type a shape has
691
- *
692
- * @param shape
693
- * @returns
694
- *
695
- * @category Shape
696
- */var getShapeMediaType=function getShapeMediaType(shape){var parsedShape=parseShapeType(shape);var mimeType=parsedShape.mimeType,videoCodec=parsedShape.videoCodec,audioCodec=parsedShape.audioCodec;if(!mimeType)return undefined;if(mimeType.startsWith('audio/')){if(audioCodec!==undefined)return SHAPE_MEDIA_TYPES.AUDIO;}if(mimeType.startsWith('video/')){if(videoCodec!==undefined)return SHAPE_MEDIA_TYPES.VIDEO;if(audioCodec!==undefined)return SHAPE_MEDIA_TYPES.AUDIO;}if(mimeType.startsWith('image/'))return SHAPE_MEDIA_TYPES.IMAGE;if(mimeType.endsWith('/pdf'))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.startsWith('text/'))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith('/msword'))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith('/json'))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith('/xml'))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith('/octet-stream'))return SHAPE_MEDIA_TYPES.BINARY;return undefined;};
697
-
698
- /**
699
- * Find the thumbnail uri in a VidiCore item object that's nearest a timeCode
700
- *
701
- * @remarks
702
- * Time code is included in path of VidiCore thumbnail uris
703
- *
704
- * @param itemType A VidiCore item object
705
- * @param timeCode A timeCode to find nearest thumbnail to
706
- * @returns A URI of a thumbnail, `undefined` if item has no thumbnails
707
- *
708
- * @category Thumbnail
709
- */var findNearestThumbnail=function findNearestThumbnail(itemType,timeCode){var tcSeconds=createTimeCode(timeCode).toSeconds();var _ref=itemType||{},_ref$thumbnails=_ref.thumbnails,thumbnails=_ref$thumbnails===void 0?{}:_ref$thumbnails;var _thumbnails$uri=thumbnails.uri,srcList=_thumbnails$uri===void 0?[]:_thumbnails$uri;var srcTcSeconds=srcList.map(function(url){var tc=new URL(url).pathname.split('/').pop();return formatTimeCodeText(tc).toSeconds();});var nearestSrcIndex=srcTcSeconds.reduce(function(nearestIndex,curr,currIndex){return Math.abs(curr-tcSeconds)<Math.abs(srcTcSeconds[nearestIndex]-tcSeconds)?currIndex:nearestIndex;},0);return srcList[nearestSrcIndex];};
710
-
711
- var _excluded=["Codec"],_excluded2=["Codec"];/**
712
- * TODO
713
- */ /**
714
- * TODO
715
- *
716
- * @param mediaconvert
717
- * @returns
718
- *
719
- * @category Transcode
720
- */var parseMediaConvertPreset=function parseMediaConvertPreset(mediaconvert){var output={};var _ref=mediaconvert||{},_ref$outputSetting=_ref.outputSetting,outputSetting=_ref$outputSetting===void 0?[]:_ref$outputSetting;if(outputSetting.length===0)return output;var mc=JSON.parse(outputSetting[0]);var _mc$Settings=mc.Settings;_mc$Settings=_mc$Settings===void 0?{}:_mc$Settings;var ContainerSettings=_mc$Settings.ContainerSettings,VideoDescription=_mc$Settings.VideoDescription,AudioDescriptions=_mc$Settings.AudioDescriptions;if(ContainerSettings){output.containerFormat=ContainerSettings.Container;}if(VideoDescription){var _VideoDescription$Cod=VideoDescription.CodecSettings,CodecSettings=_VideoDescription$Cod===void 0?{}:_VideoDescription$Cod;var Codec=CodecSettings.Codec,otherSettings=_objectWithoutProperties__default["default"](CodecSettings,_excluded);output.videoFormat=Codec;var height=VideoDescription.Height,width=VideoDescription.Width;output.height=height;output.width=width;if(height&&width){output.dimension="".concat(width,"x").concat(height);output.aspectRatio=parseAspectRatio({height:height,width:width});}var _Object$values=Object.values(otherSettings),_Object$values2=_slicedToArray__default["default"](_Object$values,1),codecSpecs=_Object$values2[0];if(codecSpecs){output.fieldOrder=codecSpecs.InterlaceMode;if(output.fieldOrder&&output.fieldOrder.includes('TOP'))output.fieldOrder='interlaced';output.videoBitrate=codecSpecs.Bitrate;var numerator=codecSpecs.FramerateDenominator;// other way round to vs ¯\_(ツ)_/¯
721
- var denominator=codecSpecs.FramerateNumerator;var timeBase=formatTimeBaseType({denominator:denominator,numerator:numerator});output.timeBase=timeBase;output.frameRate=timeBase.toConstant()||timeBase.toRate();}}if(AudioDescriptions&&AudioDescriptions.length>0){var _AudioDescriptions$0$=AudioDescriptions[0].CodecSettings,_CodecSettings=_AudioDescriptions$0$===void 0?{}:_AudioDescriptions$0$;var _Codec=_CodecSettings.Codec,_otherSettings=_objectWithoutProperties__default["default"](_CodecSettings,_excluded2);output.audioFormat=_Codec;var _Object$values3=Object.values(_otherSettings),_Object$values4=_slicedToArray__default["default"](_Object$values3,1),_codecSpecs=_Object$values4[0];if(_codecSpecs){output.audioSamplerate=_codecSpecs.SampleRate;output.audioBitrate=_codecSpecs.Bitrate;output.audioBitRateMode=_codecSpecs.RateControlMode;}}return output;};
722
-
723
- 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;}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;}/**
724
- * Parse a VidiCore transcode preset
725
- *
726
- * @param transcodePresetType a VidiCore transcode preset
727
- * @returns A parsed transcode preset
728
- *
729
- * @category Transcode
730
- */var parseTranscodePreset=function parseTranscodePreset(transcodePresetType){var output={};var _ref=transcodePresetType||{},description=_ref.description,format=_ref.format,audio=_ref.audio,video=_ref.video,mediaconvert=_ref.mediaconvert;if(mediaconvert)return _objectSpread({description:description},parseMediaConvertPreset(mediaconvert));output.description=description;output.containerFormat=format;if(video){output.videoFormat=video.codec;output.videoBitrate=video.bitrate;if(video.framerate){var timeBase=formatTimeBaseType(video.framerate);output.timeBase=timeBase;output.frameRate=timeBase.toConstant()||timeBase.toRate();}if(video.scaling){var _video$scaling=video.scaling,height=_video$scaling.height,width=_video$scaling.width;output.height=height;output.width=width;if(height&&width){output.dimension="".concat(width,"x").concat(height);output.aspectRatio=parseAspectRatio({height:height,width:width});}}}if(audio){var audioFormat=audio.codec,channel=audio.channel;output.audioFormat=audioFormat;if(channel)output.audioChannels=channel.length;}return output;};
250
+ var sampleRateSymbols={kB:"kHz",B:"Hz",mB:"mHz"};var bitRateSymbols$1={kB:"kbps",B:"bps",MB:"mbps"};var parseAudioComponent=function parseAudioComponent(audioComponentType){var timeBase=audioComponentType.timeBase,audioChannels=audioComponentType.channelCount,audioCodec=audioComponentType.codec,mediaInfo=audioComponentType.mediaInfo,bitrate=audioComponentType.bitrate,metadata=audioComponentType.metadata;var audioMediaInfo=parseAudioMediaInfoType(mediaInfo);var audioFormat=audioMediaInfo.Format,audioBitDepth=audioMediaInfo.Resolution,audioBitRateMode=audioMediaInfo.Bit_rate_mode;var audioMetadata=parseKeyValuePairTypes(metadata||[]);var audioSamplerateSamples=timeBase!==null&&timeBase!==void 0&&timeBase.denominator?((timeBase===null||timeBase===void 0?void 0:timeBase.denominator)||1)/((timeBase===null||timeBase===void 0?void 0:timeBase.numerator)||1):void 0;var audioSamplerate=audioSamplerateSamples!==void 0?filesize.filesize(audioSamplerateSamples,{base:10,round:1,symbols:sampleRateSymbols}):void 0;var audioBitrate;var audioBitrateKbps;if(bitrate!==void 0){var _filesize$split;audioBitrate=filesize.filesize(bitrate,{round:2,symbols:bitRateSymbols$1});audioBitrateKbps=Number((_filesize$split=filesize.filesize(bitrate,{exponent:1,symbols:bitRateSymbols$1}).split(" kbps"))===null||_filesize$split===void 0?void 0:_filesize$split[0]);}return {audioFormat:audioFormat,audioCodec:audioCodec,audioSamplerate:audioSamplerate,audioSamplerateSamples:audioSamplerateSamples,audioBitDepth:audioBitDepth,audioBitrate:audioBitrate,audioBitrateKbps:audioBitrateKbps,audioBitRateMode:audioBitRateMode,audioChannels:audioChannels,audioMediaInfo:audioMediaInfo,audioMetadata:audioMetadata};};
251
+
252
+ var FILE_STATES={/** Just created, not used. */NONE:"NONE",/** Discovered or created, not yet marked as finished. */OPEN:"OPEN",/** File does no longer grow. */CLOSED:"CLOSED",/** The current state is not known. */UNKNOWN:"UNKNOWN",/** File is missing from the file system/storage. */MISSING:"MISSING",/** File has been missing for a longer period. Candidate for restoration from archive. */LOST:"LOST",/** File will appear on file system/storage, transfer subsystem or transcoder will create it. */TO_APPEAR:"TO_APPEAR",/** The file is no longer in use, and will be deleted at the next clean-up sweep. */TO_BE_DELETED:"TO_BE_DELETED",/** File is in use by transfer subsystem or transcoder. */BEING_READ:"BEING_READ",/** File is archived. */ARCHIVED:"ARCHIVED",/** File will be synchronized by multi-site agent. */AWAITING_SYNC:"AWAITING_SYNC"};
253
+
254
+ var parseFileType=function parseFileType(fileType){var _fileType$uri=fileType.uri,uriList=_fileType$uri===void 0?[]:_fileType$uri,fileSizeBytes=fileType.size,hash=fileType.hash,path=fileType.path,fileId=fileType.id,storageId=fileType.storage;var _uriList=_slicedToArray__default["default"](uriList,1),uri=_uriList[0];var fileSize=fileSizeBytes!==void 0?filesize.filesize(fileSizeBytes,{base:2,standard:"jedec"}):"";var paths=(path===null||path===void 0?void 0:path.split("/"))||[];var fileName=paths.pop()||"";var folderPath=paths.map(function(p){return "".concat(p,"/");}).join("")||void 0;return {uri:uri,hash:hash,fileSize:fileSize,fileSizeBytes:fileSizeBytes,path:path,fileName:fileName,fileId:fileId,storageId:storageId,folderPath:folderPath};};
255
+
256
+ 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;}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;}var parseBinaryComponent=function parseBinaryComponent(){var binaryComponentType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var fileList=binaryComponentType.file,mediaInfo=binaryComponentType.mediaInfo,_binaryComponentType$=binaryComponentType.metadata,metadata=_binaryComponentType$===void 0?[]:_binaryComponentType$;var binaryMetadata=parseKeyValuePairTypes(metadata);var binaryMediaInfo=parseBaseMediaInfoType(mediaInfo);var parsedBinaryComponent={binaryMetadata:binaryMetadata,binaryMediaInfo:binaryMediaInfo};if(fileList){var _fileList=_slicedToArray__default["default"](fileList,1),fileType=_fileList[0];var parsedFileType=parseFileType(fileType);parsedBinaryComponent=_objectSpread$3(_objectSpread$3({},parsedBinaryComponent),parsedFileType);}return parsedBinaryComponent;};
257
+
258
+ 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;}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;}var parseContainerComponent=function parseContainerComponent(){var containerComponentType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var mediaInfo=containerComponentType.mediaInfo,metadata=containerComponentType.metadata,fileList=containerComponentType.file,durationTimeCode=containerComponentType.duration,startTimestamp=containerComponentType.startTimestamp,startTimecode=containerComponentType.startTimecode,timeCodeTimeBase=containerComponentType.timeCodeTimeBase;var containerMetadata=parseKeyValuePairTypes(metadata||[]);var containerMediaInfo=parseBaseMediaInfoType(mediaInfo);var containerFormat=containerMediaInfo.Format;var videoFormat=containerMediaInfo.Video_Format_List,audioFormat=containerMediaInfo.Audio_Format_List,textFormat=containerMediaInfo.Text_Format_List;if(containerFormat===void 0){var format=containerComponentType.format;containerFormat=format;if(format&&format.includes(",")){var formatList=format.split(",");var _formatList=_slicedToArray__default["default"](formatList,1);containerFormat=_formatList[0];}}var parsedContainerComponentType={containerFormat:containerFormat,videoFormat:videoFormat,audioFormat:audioFormat,textFormat:textFormat,containerMetadata:containerMetadata,containerMediaInfo:containerMediaInfo};if(containerMetadata.componentOriginalFilename){parsedContainerComponentType.originalFilename=containerMetadata.componentOriginalFilename;}if(durationTimeCode!==void 0&&durationTimeCode.samples!==0){var timeCode=formatTimeCodeType(durationTimeCode);parsedContainerComponentType.durationTimeCode=timeCode.toObject();parsedContainerComponentType.duration=timeCode.toDuration();}if(startTimestamp){parsedContainerComponentType.startTimestamp=formatTimeCodeType(startTimestamp).toObject();}if(startTimecode!==void 0&&timeCodeTimeBase){parsedContainerComponentType.startTimecode=formatTimeCodeType({samples:startTimecode,timeBase:timeCodeTimeBase});}if(fileList){var _fileList=_slicedToArray__default["default"](fileList,1),fileType=_fileList[0];var parsedFileType=parseFileType(fileType);parsedContainerComponentType=_objectSpread$2(_objectSpread$2({},parsedContainerComponentType),parsedFileType);}return parsedContainerComponentType;};
259
+
260
+ var bitRateSymbols={kB:"kbps",B:"bps",MB:"mbps"};var parseVideoComponent=function parseVideoComponent(){var videoComponentType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var videoCodec=videoComponentType.codec,bitrate=videoComponentType.bitrate,fieldOrder=videoComponentType.fieldOrder,resolution=videoComponentType.resolution,mediaInfo=videoComponentType.mediaInfo,_videoComponentType$m=videoComponentType.metadata,metadata=_videoComponentType$m===void 0?[]:_videoComponentType$m;var videoMediaInfo=parseVideoMediaInfoType(mediaInfo);var videoMetadata=parseKeyValuePairTypes(metadata);var videoFormat=videoMediaInfo.Format,timeBaseText=videoMediaInfo["Frame rate"],colorSpace=videoMediaInfo["Color space"],colorPrimaries=videoMediaInfo["Color primaries"],chromaSubsampling=videoMediaInfo.Colorimetry;var timeBase;var averageFrameRate=videoComponentType.averageFrameRate,realBaseFrameRate=videoComponentType.realBaseFrameRate;if(realBaseFrameRate!==void 0){timeBase=formatTimeBaseType({numerator:realBaseFrameRate.denominator,denominator:realBaseFrameRate.numerator});}else if(timeBaseText!==void 0){timeBase=formatTimeBaseText(timeBaseText);}else if(averageFrameRate!==void 0){timeBase=formatTimeBaseType({numerator:averageFrameRate.denominator,denominator:averageFrameRate.numerator});}var samples=videoMediaInfo["Frame count"];if(samples===void 0){var numberOfPackets=videoComponentType.numberOfPackets;if(numberOfPackets!==void 0)samples=numberOfPackets.toString();}var timeCode;var frameRate;var smpte;if(samples&&timeBase){timeCode=formatTimeCodeType({samples:samples,timeBase:timeBase});frameRate=timeCode.timeBase.toConstant()||timeCode.timeBase.toRate();smpte=timeCode.toSmpte();}var _ref=resolution||{},height=_ref.height,width=_ref.width;var aspectRatio=parseAspectRatio(resolution);var dimension="".concat(width,"x").concat(height);var videoBitrate;var videoBitrateMbps;if(bitrate!==void 0){var _filesize$split;videoBitrate=filesize.filesize(bitrate,{round:2,symbols:bitRateSymbols});videoBitrateMbps=Number((_filesize$split=filesize.filesize(bitrate,{exponent:2,symbols:bitRateSymbols}).split(" mbps"))===null||_filesize$split===void 0?void 0:_filesize$split[0]);}return {videoFormat:videoFormat,dimension:dimension,frameRate:frameRate,height:height,width:width,timeBase:timeBase,timeCode:timeCode,videoCodec:videoCodec,smpte:smpte,videoBitrate:videoBitrate,videoBitrateMbps:videoBitrateMbps,fieldOrder:fieldOrder,colorSpace:colorSpace,chromaSubsampling:chromaSubsampling,aspectRatio:aspectRatio,colorPrimaries:colorPrimaries,videoMetadata:videoMetadata,videoMediaInfo:videoMediaInfo};};
261
+
262
+ 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;}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;}var parseShapeType=function parseShapeType(){var shapeType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var parsedShape={};var containerComponent=shapeType.containerComponent,videoComponentList=shapeType.videoComponent,audioComponentList=shapeType.audioComponent,binaryComponentList=shapeType.binaryComponent,_shapeType$mimeType=shapeType.mimeType,mimeTypeList=_shapeType$mimeType===void 0?[]:_shapeType$mimeType,_shapeType$tag=shapeType.tag,tagList=_shapeType$tag===void 0?[]:_shapeType$tag;var _tagList=_slicedToArray__default["default"](tagList,1);parsedShape.tag=_tagList[0];var _mimeTypeList=_slicedToArray__default["default"](mimeTypeList,1);parsedShape.mimeType=_mimeTypeList[0];if(containerComponent){var parsedContainerComponent=parseContainerComponent(containerComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedContainerComponent);}if(videoComponentList){var _videoComponentList=_slicedToArray__default["default"](videoComponentList,1),videoComponent=_videoComponentList[0];var parsedVideoComponent=parseVideoComponent(videoComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedVideoComponent);}if(audioComponentList){var _audioComponentList=_slicedToArray__default["default"](audioComponentList,1),audioComponent=_audioComponentList[0];var parsedAudioComponent=parseAudioComponent(audioComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedAudioComponent);}if(binaryComponentList){var _binaryComponentList=_slicedToArray__default["default"](binaryComponentList,1),binaryComponent=_binaryComponentList[0];var parsedBinaryComponent=parseBinaryComponent(binaryComponent);parsedShape=_objectSpread$1(_objectSpread$1({},parsedShape),parsedBinaryComponent);}return parsedShape;};
263
+
264
+ var DOCUMENT_TYPES={PDF:"PDF",TEXT:"TEXT",MSWORD:"MSWORD",JSON:"JSON",XML:"XML"};
265
+
266
+ var SHAPE_MEDIA_TYPES={IMAGE:"IMAGE",AUDIO:"AUDIO",VIDEO:"VIDEO",DOCUMENT:"DOCUMENT",BINARY:"BINARY"};
267
+
268
+ var getShapeDocumentType=function getShapeDocumentType(){var shape=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var mimeTypeArrayOrString=shape.mimeType;var mimeType=Array.isArray(mimeTypeArrayOrString)?mimeTypeArrayOrString[0]:mimeTypeArrayOrString;if(!mimeType)return void 0;if(mimeType.endsWith("/pdf"))return DOCUMENT_TYPES.PDF;if(mimeType.startsWith("text/"))return DOCUMENT_TYPES.TEXT;if(mimeType.endsWith("/msword"))return DOCUMENT_TYPES.MSWORD;if(mimeType.endsWith("/json"))return DOCUMENT_TYPES.JSON;if(mimeType.endsWith("/xml"))return DOCUMENT_TYPES.XML;return void 0;};
269
+
270
+ var IMAGE_MIME_TYPES=["image/apng","image/bmp","image/gif","image/jpeg","image/x-icon","image/png","image/svg+xml"];var VIDEO_MIME_TYPES=["video/mp4"];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"];var DEFAULT_ALLOWED_MIME_TYPES=[].concat(VIDEO_MIME_TYPES,IMAGE_MIME_TYPES,AUDIO_MIME_TYPES);var DEFAULT_ALLOWED_METHODS=["http","https"];var MP4_MIMETYPE="video/mp4";var QUICKTIME_MIMETYPE="video/quicktime";var M4V_MIMETYPE="video/x-m4v";var MP4_CONTAINER="MPEG-4";var MOV_CONTAINER="mov";var H264_CODEC="h264";var PREVIEW_SHAPE_ORDER=["__mp4","__mp3_160k","__png","__jpeg","__gif","original"].reverse();var defaultSortPriority=function defaultSortPriority(_ref,_ref2){var firstEl=_ref.parsedShape.tag;var secondEl=_ref2.parsedShape.tag;if(PREVIEW_SHAPE_ORDER.includes(firstEl)||PREVIEW_SHAPE_ORDER.includes(secondEl)){return PREVIEW_SHAPE_ORDER.indexOf(secondEl)-PREVIEW_SHAPE_ORDER.indexOf(firstEl);}return firstEl.toLowerCase().localeCompare(secondEl.toLowerCase());};var filterShapeSource=function filterShapeSource(itemType,options){var _ref3=options||{},_ref3$allowedMimeType=_ref3.allowedMimeTypes,allowedMimeTypes=_ref3$allowedMimeType===void 0?DEFAULT_ALLOWED_MIME_TYPES:_ref3$allowedMimeType,_ref3$allowedMethods=_ref3.allowedMethods,allowedMethods=_ref3$allowedMethods===void 0?DEFAULT_ALLOWED_METHODS:_ref3$allowedMethods,_ref3$sortPriority=_ref3.sortPriority,sortPriority=_ref3$sortPriority===void 0?defaultSortPriority:_ref3$sortPriority,_ref3$sourceKey=_ref3.sourceKey,sourceKey=_ref3$sourceKey===void 0?"src":_ref3$sourceKey,_ref3$mimeTypeKey=_ref3.mimeTypeKey,mimeTypeKey=_ref3$mimeTypeKey===void 0?"type":_ref3$mimeTypeKey,_ref3$shapeKey=_ref3.shapeKey,shapeKey=_ref3$shapeKey===void 0?"shape":_ref3$shapeKey,_ref3$parsedShapeKey=_ref3.parsedShapeKey,parsedShapeKey=_ref3$parsedShapeKey===void 0?"parsedShape":_ref3$parsedShapeKey;var _ref4=itemType||{},_ref4$shape=_ref4.shape,shapeList=_ref4$shape===void 0?[]:_ref4$shape;var filteredShapeList=shapeList.reduce(function(acc,shapeType){var type;var src;var parsedShape=parseShapeType(shapeType);var uri=parsedShape.uri,mimeType=parsedShape.mimeType,containerFormat=parsedShape.containerFormat,videoCodec=parsedShape.videoCodec;if(mimeType){type=mimeType;if((mimeType===QUICKTIME_MIMETYPE||mimeType===M4V_MIMETYPE)&&(containerFormat===MP4_CONTAINER||containerFormat===MOV_CONTAINER)&&videoCodec===H264_CODEC)type=MP4_MIMETYPE;}if(uri){if(allowedMethods){var _uri$split=uri.split("://"),_uri$split2=_slicedToArray__default["default"](_uri$split,1),thisMethod=_uri$split2[0];if(allowedMethods.includes(thisMethod))src=uri;}else {src=uri;}}if(src&&allowedMimeTypes.includes(type)){var _acc$push;acc.push((_acc$push={},_defineProperty__default["default"](_acc$push,sourceKey,src),_defineProperty__default["default"](_acc$push,mimeTypeKey,type),_defineProperty__default["default"](_acc$push,shapeKey,shapeType),_defineProperty__default["default"](_acc$push,parsedShapeKey,parsedShape),_acc$push));}return acc;},[]);if(typeof sortPriority==="function")filteredShapeList.sort(defaultSortPriority);return filteredShapeList;};
271
+
272
+ var getShapeMediaType=function getShapeMediaType(shape){var parsedShape=parseShapeType(shape);var mimeType=parsedShape.mimeType,videoCodec=parsedShape.videoCodec,audioCodec=parsedShape.audioCodec;if(!mimeType)return void 0;if(mimeType.startsWith("audio/")){if(audioCodec!==void 0)return SHAPE_MEDIA_TYPES.AUDIO;}if(mimeType.startsWith("video/")){if(videoCodec!==void 0)return SHAPE_MEDIA_TYPES.VIDEO;if(audioCodec!==void 0)return SHAPE_MEDIA_TYPES.AUDIO;}if(mimeType.startsWith("image/"))return SHAPE_MEDIA_TYPES.IMAGE;if(mimeType.endsWith("/pdf"))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.startsWith("text/"))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith("/msword"))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith("/json"))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith("/xml"))return SHAPE_MEDIA_TYPES.DOCUMENT;if(mimeType.endsWith("/octet-stream"))return SHAPE_MEDIA_TYPES.BINARY;return void 0;};
273
+
274
+ var findNearestThumbnail=function findNearestThumbnail(itemType,timeCode){var tcSeconds=createTimeCode(timeCode).toSeconds();var _ref=itemType||{},_ref$thumbnails=_ref.thumbnails,thumbnails=_ref$thumbnails===void 0?{}:_ref$thumbnails;var _thumbnails$uri=thumbnails.uri,srcList=_thumbnails$uri===void 0?[]:_thumbnails$uri;var srcTcSeconds=srcList.map(function(url){var tc=new URL(url).pathname.split("/").pop();return formatTimeCodeText(tc).toSeconds();});var nearestSrcIndex=srcTcSeconds.reduce(function(nearestIndex,curr,currIndex){return Math.abs(curr-tcSeconds)<Math.abs(srcTcSeconds[nearestIndex]-tcSeconds)?currIndex:nearestIndex;},0);return srcList[nearestSrcIndex];};
275
+
276
+ var _excluded=["Codec"],_excluded2=["Codec"];var parseMediaConvertPreset=function parseMediaConvertPreset(mediaconvert){var output={};var _ref=mediaconvert||{},_ref$outputSetting=_ref.outputSetting,outputSetting=_ref$outputSetting===void 0?[]:_ref$outputSetting;if(outputSetting.length===0)return output;var mc=JSON.parse(outputSetting[0]);var _mc$Settings=mc.Settings;_mc$Settings=_mc$Settings===void 0?{}:_mc$Settings;var ContainerSettings=_mc$Settings.ContainerSettings,VideoDescription=_mc$Settings.VideoDescription,AudioDescriptions=_mc$Settings.AudioDescriptions;if(ContainerSettings){output.containerFormat=ContainerSettings.Container;}if(VideoDescription){var _VideoDescription$Cod=VideoDescription.CodecSettings,CodecSettings=_VideoDescription$Cod===void 0?{}:_VideoDescription$Cod;var Codec=CodecSettings.Codec,otherSettings=_objectWithoutProperties__default["default"](CodecSettings,_excluded);output.videoFormat=Codec;var height=VideoDescription.Height,width=VideoDescription.Width;output.height=height;output.width=width;if(height&&width){output.dimension="".concat(width,"x").concat(height);output.aspectRatio=parseAspectRatio({height:height,width:width});}var _Object$values=Object.values(otherSettings),_Object$values2=_slicedToArray__default["default"](_Object$values,1),codecSpecs=_Object$values2[0];if(codecSpecs){output.fieldOrder=codecSpecs.InterlaceMode;if(output.fieldOrder&&output.fieldOrder.includes("TOP"))output.fieldOrder="interlaced";output.videoBitrate=codecSpecs.Bitrate;var numerator=codecSpecs.FramerateDenominator;var denominator=codecSpecs.FramerateNumerator;var timeBase=formatTimeBaseType({denominator:denominator,numerator:numerator});output.timeBase=timeBase;output.frameRate=timeBase.toConstant()||timeBase.toRate();}}if(AudioDescriptions&&AudioDescriptions.length>0){var _AudioDescriptions$0$=AudioDescriptions[0].CodecSettings,_CodecSettings=_AudioDescriptions$0$===void 0?{}:_AudioDescriptions$0$;var _Codec=_CodecSettings.Codec,_otherSettings=_objectWithoutProperties__default["default"](_CodecSettings,_excluded2);output.audioFormat=_Codec;var _Object$values3=Object.values(_otherSettings),_Object$values4=_slicedToArray__default["default"](_Object$values3,1),_codecSpecs=_Object$values4[0];if(_codecSpecs){output.audioSamplerate=_codecSpecs.SampleRate;output.audioBitrate=_codecSpecs.Bitrate;output.audioBitRateMode=_codecSpecs.RateControlMode;}}return output;};
277
+
278
+ 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;}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;}var parseTranscodePreset=function parseTranscodePreset(transcodePresetType){var output={};var _ref=transcodePresetType||{},description=_ref.description,format=_ref.format,audio=_ref.audio,video=_ref.video,mediaconvert=_ref.mediaconvert;if(mediaconvert)return _objectSpread({description:description},parseMediaConvertPreset(mediaconvert));output.description=description;output.containerFormat=format;if(video){output.videoFormat=video.codec;output.videoBitrate=video.bitrate;if(video.framerate){var timeBase=formatTimeBaseType(video.framerate);output.timeBase=timeBase;output.frameRate=timeBase.toConstant()||timeBase.toRate();}if(video.scaling){var _video$scaling=video.scaling,height=_video$scaling.height,width=_video$scaling.width;output.height=height;output.width=width;if(height&&width){output.dimension="".concat(width,"x").concat(height);output.aspectRatio=parseAspectRatio({height:height,width:width});}}}if(audio){var audioFormat=audio.codec,channel=audio.channel;output.audioFormat=audioFormat;if(channel)output.audioChannels=channel.length;}return output;};
279
+
280
+ var parseFieldDefinition=function parseFieldDefinition(field){if(!field)return void 0;var name=field.name,type=field.type,defaultValue=field.defaultValue,stringRestriction=field.stringRestriction,floatRestriction=field.floatRestriction,integerRestriction=field.integerRestriction,longRestriction=field.longRestriction,data=field.data,values=field.values;var _ref=stringRestriction||{},minLength=_ref.minLength,maxLength=_ref.maxLength,pattern=_ref.pattern;var _ref2=floatRestriction||integerRestriction||longRestriction||{},minInclusive=_ref2.minInclusive,maxInclusive=_ref2.maxInclusive;var options=((values===null||values===void 0?void 0:values.field)||[]).map(function(_ref3){var key=_ref3.key,value=_ref3.value;return {label:value,value:key};});var removeUndefined=function removeUndefined(obj){return Object.fromEntries(Object.entries(obj).filter(function(_ref4){var _ref5=_slicedToArray__default["default"](_ref4,2),value=_ref5[1];return value!==void 0;}));};var restrictions=removeUndefined({min:minInclusive,max:maxInclusive,minLength:minLength,maxLength:maxLength,pattern:pattern?new RegExp(pattern):void 0});var parsedData=parseKeyValuePairTypes(data);return {name:name,type:type,defaultValue:defaultValue,required:minInclusive!==void 0||minLength!==void 0&&minLength>0,restrictions:restrictions,data:parsedData,options:options};};var parseFieldDefinitionList=function parseFieldDefinitionList(fieldList){return fieldList===null||fieldList===void 0?void 0:fieldList.map(parseFieldDefinition).filter(function(f){return !!f;});};
281
+
282
+ var FIELD_DEFINITION_TYPES=["date","float","integer","long","string","string-exact","boolean","timeCode"];
731
283
 
732
284
  exports.DOCUMENT_TYPES = DOCUMENT_TYPES;
733
285
  exports.FIELD_ATTRIBUTE_KEYS = FIELD_ATTRIBUTE_KEYS;
286
+ exports.FIELD_DEFINITION_TYPES = FIELD_DEFINITION_TYPES;
734
287
  exports.FIELD_VALUE_ATTRIBUTE_KEYS = FIELD_VALUE_ATTRIBUTE_KEYS;
735
288
  exports.FILE_STATES = FILE_STATES;
736
289
  exports.GROUP_ATTRIBUTE_KEYS = GROUP_ATTRIBUTE_KEYS;
@@ -740,8 +293,8 @@ exports.SYSTEM_FIELDGROUPS = SYSTEM_FIELDGROUPS;
740
293
  exports.SYSTEM_FIELDS = SYSTEM_FIELDS;
741
294
  exports.TimeBase = TimeBase;
742
295
  exports.TimeCode = TimeCode;
743
- exports.createFacetType = createFacetType;
744
296
  exports.createMetadataType = createMetadataType;
297
+ exports.createSearchFacetList = createSearchFacetList;
745
298
  exports.createTimeBase = createTimeBase;
746
299
  exports.createTimeCode = createTimeCode;
747
300
  exports.filterShapeSource = filterShapeSource;
@@ -758,7 +311,9 @@ exports.metadataTypeToWebVtt = metadataTypeToWebVtt;
758
311
  exports.parseAudioComponent = parseAudioComponent;
759
312
  exports.parseBinaryComponent = parseBinaryComponent;
760
313
  exports.parseContainerComponent = parseContainerComponent;
314
+ exports.parseFacetList = parseFacetList;
761
315
  exports.parseFacetType = parseFacetType;
316
+ exports.parseFieldDefinitionList = parseFieldDefinitionList;
762
317
  exports.parseFieldList = parseFieldList;
763
318
  exports.parseFileType = parseFileType;
764
319
  exports.parseGroupList = parseGroupList;