@vidispine/vdt-js 23.1.0-pre.1 → 23.1.0-pre.2

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,25 +21,7 @@ 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) {
25
- return b ? gcd(b, a % b) : a;
26
- };
27
- var parseAspectRatio = function parseAspectRatio(aspectRatio) {
28
- var _ref = aspectRatio || {},
29
- width = _ref.width,
30
- height = _ref.height;
31
- if (width === undefined || height === undefined) {
32
- return undefined;
33
- }
34
- var denominator = gcd(width, height);
35
- var widthRatio = width / denominator;
36
- var heightRatio = height / denominator;
37
- if (widthRatio > 21) {
38
- heightRatio = 1;
39
- widthRatio = (width / height).toFixed(2);
40
- }
41
- return [widthRatio, heightRatio].join(':');
42
- };
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(':');};
43
25
 
44
26
  /**
45
27
  *
@@ -47,342 +29,54 @@ var parseAspectRatio = function parseAspectRatio(aspectRatio) {
47
29
  * @returns
48
30
  *
49
31
  * @category Other
50
- */
51
- var parseKeyValuePairTypes = function parseKeyValuePairTypes(keyValuePairTypes) {
52
- return Object.fromEntries(keyValuePairTypes.map(function (_ref) {
53
- var key = _ref.key,
54
- value = _ref.value;
55
- return [key, value];
56
- }));
57
- };
32
+ */var parseKeyValuePairTypes=function parseKeyValuePairTypes(keyValuePairTypes){return Object.fromEntries(keyValuePairTypes.map(function(_ref){var key=_ref.key,value=_ref.value;return [key,value];}));};
58
33
 
59
34
  /**
60
35
  * Const object with VidiCore role names
61
36
  *
62
37
  * @category Auth
63
- */
64
- var ROLE_NAMES = {
65
- ACCESSCONTROL_READ: '_accesscontrol_read',
66
- ACCESSCONTROL_WRITE: '_accesscontrol_write',
67
- ADMINISTRATOR: '_administrator',
68
- AUTO_PROJECTION_READ: '_auto_projection_read',
69
- AUTO_PROJECTION_WRITE: '_auto_projection_write',
70
- COLLECTION_NOTIFICATION_READ: '_collection_notification_read',
71
- COLLECTION_NOTIFICATION_WRITE: '_collection_notification_write',
72
- COLLECTION_READ: '_collection_read',
73
- COLLECTION_WRITE: '_collection_write',
74
- CONFIGURATION_READ: '_configuration_read',
75
- DELETION_LOCK_NOTIFICATION_READ: '_deletion_lock_notification_read',
76
- DELETION_LOCK_NOTIFICATION_WRITE: '_deletion_lock_notification_write',
77
- DELETION_LOCK_READ: '_deletion_lock_read',
78
- DELETION_LOCK_WRITE: '_deletion_lock_write',
79
- DOCUMENT_NOTIFICATION_READ: '_document_notification_read',
80
- DOCUMENT_NOTIFICATION_WRITE: '_document_notification_write',
81
- DOCUMENT_READ: '_document_read',
82
- DOCUMENT_WRITE: '_document_write',
83
- ERROR_READ: '_error_read',
84
- ERROR_WRITE: '_error_write',
85
- EXPORT: '_export',
86
- EXPORT_TEMPLATE_READ: '_export_template_read',
87
- EXPORT_TEMPLATE_WRITE: '_export_template_write',
88
- EXTERNAL_ID_READ: '_external_id_read',
89
- EXTERNAL_ID_WRITE: '_external_id_write',
90
- FILE_NOTIFICATION_READ: '_file_notification_read',
91
- FILE_NOTIFICATION_WRITE: '_file_notification_write',
92
- FILE_READ: '_file_read',
93
- FILE_WRITE: '_file_write',
94
- GROUP_READ: '_group_read',
95
- GROUP_WRITE: '_group_write',
96
- IMPORT_WRITE: '_import',
97
- ITEM_ID_READ: '_item_id_read',
98
- ITEM_ID_WRITE: '_item_id_write',
99
- ITEM_NOTIFICATION_READ: '_item_notification_read',
100
- ITEM_NOTIFICATION_WRITE: '_item_notification_write',
101
- ITEM_WRITE: '_item_write',
102
- ITEM_SEARCH: '_item_search',
103
- ITEM_SHAPE_READ: '_item_shape_read',
104
- ITEM_SHAPE_WRITE: '_item_shape_write',
105
- ITEM_TIMELINE_READ: '_item_timeline_read',
106
- ITEM_TIMELINE_WRITE: '_item_timeline_write',
107
- ITEM_URI: '_item_uri',
108
- JOB_NOTIFICATION_READ: '_job_notification_read',
109
- JOB_NOTIFICATION_WRITE: '_job_notification_write',
110
- JOB_READ: '_job_read',
111
- JOB_WRITE: '_job_write',
112
- LIBRARY_READ: '_library_read',
113
- LIBRARY_WRITE: '_library_write',
114
- LOCK_READ: '_lock_read',
115
- LOCK_WRITE: '_lock_write',
116
- LOG_READ: '_log_read',
117
- METADATA_DATASET_READ: '_metadata_dataset_read',
118
- METADATA_DATASET_WRITE: '_metadata_dataset_write',
119
- METADATA_FIELD_GROUP_READ: '_metadata_field_group_read',
120
- METADATA_FIELD_GROUP_WRITE: '_metadata_field_group_write',
121
- METADATA_FIELD_READ: '_metadata_field_read',
122
- METADATA_FIELD_WRITE: '_metadata_field_write',
123
- METADATA_GLOBAL_READ: '_metadata_global_read',
124
- METADATA_GLOBAL_WRITE: '_metadata_global_write',
125
- METADATA_LOCK_READ: '_metadata_lock_read',
126
- METADATA_LOCK_WRITE: '_metadata_lock_write',
127
- METADATA_READ: '_metadata_read',
128
- METADATA_SCHEMA_READ: '_metadata_schema_read',
129
- METADATA_SCHEMA_WRITE: '_metadata_schema_write',
130
- METADATA_WRITE: '_metadata_write',
131
- OTIF_ANALYZE: '_otif_analyze',
132
- OTIF_READ: '_otif_read',
133
- OTIF_WRITE: '_otif_write',
134
- PLACEHOLDER_NOTIFICATION_READ: '_placeholder_notification_read',
135
- PLACEHOLDER_NOTIFICATION_WRITE: '_placeholder_notification_write',
136
- PROJECTION_READ: '_projection_read',
137
- PROJECTION_WRITE: '_projection_write',
138
- QUOTA_NOTIFICATION_READ: '_quota_notification_read',
139
- QUOTA_NOTIFICATION_WRITE: '_quota_notification_write',
140
- QUOTA_READ: '_quota_read',
141
- QUOTA_WRITE: '_quota_write',
142
- RELATION_READ: '_relation_read',
143
- RELATION_WRITE: '_relation_write',
144
- RESOURCE_READ: '_resource_read',
145
- RESOURCE_WRITE: '_resource_write',
146
- RUN_AS: '_run_as',
147
- SEARCH: '_search',
148
- SEQUENCE_READ: '_sequence_read',
149
- SEQUENCE_WRITE: '_sequence_write',
150
- SHAPE_TAG_READ: '_shape_tag_read',
151
- SHAPE_TAG_WRITE: '_shape_tag_write',
152
- SITE_MANAGER: '_site_manager',
153
- SITE_RULE_READ: '_site_rule_read',
154
- SITE_RULE_WRITE: '_site_rule_write',
155
- STORAGE_GROUP_READ: '_storage_group_read',
156
- STORAGE_GROUP_WRITE: '_storage_group_write',
157
- STORAGE_NOTIFICATION_READ: '_storage_notification_read',
158
- STORAGE_NOTIFICATION_WRITE: '_storage_notification_write',
159
- STORAGE_READ: '_storage_read',
160
- STORAGE_RULE_READ: '_storage_rule_read',
161
- STORAGE_RULE_WRITE: '_storage_rule_write',
162
- STORAGE_WRITE: '_storage_write',
163
- SUPER_ACCESS_USER: '_super_access_user',
164
- TASKDEFINITION_READ: '_taskdefinition_read',
165
- TASKDEFINITION_WRITE: '_taskdefinition_write',
166
- THUMBNAIL_READ: '_thumbnail_read',
167
- THUMBNAIL_WRITE: '_thumbnail_write',
168
- TRANSCODER: '_transcoder',
169
- TRANSFER_READ: '_transfer_read',
170
- TRANSFER_WRITE: '_transfer_write',
171
- USER: '_user',
172
- VXA: '_vxa',
173
- VXA_READ: '_vxa_read'
174
- };
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'};
175
39
 
176
40
  /**
177
41
  * Array with all available VidiCore system/default field group names
178
42
  *
179
43
  * @category Metadata
180
- */
181
- var SYSTEM_FIELDGROUPS = ['stl_subtitle', 'stl_tti', 'stl_gsi', 'mrk_marker', 'pho_validation', 'pho_resource', 'pho_error', 'facedetect_rect', 'facedetect_face', 'originalTrackFilename', 'stl_gsiHeader'];
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'];
182
45
 
183
46
  /**
184
47
  * Array with all available VidiCore system/default field names (including transient)
185
48
  *
186
49
  * @category Metadata
187
- */
188
- 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'];
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'];
189
51
 
190
- var SHARED_ATTRIBUTE_KEYS = ['uuid', 'user', 'timestamp', 'change', 'conflict', 'mode'];
191
- var SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS = ['name', 'id', 'referenced', 'data', 'inheritance'];
52
+ var SHARED_ATTRIBUTE_KEYS=['uuid','user','timestamp','change','conflict','mode'];var SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS=['name','id','referenced','data','inheritance'];
192
53
 
193
54
  /**
194
55
  * Array with all available metadata field value attributes
195
56
  *
196
57
  * @category Metadata
197
- */
198
- var FIELD_VALUE_ATTRIBUTE_KEYS = [].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS), ['value', 'lang']);
58
+ */var FIELD_VALUE_ATTRIBUTE_KEYS=[].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS),['value','lang']);
199
59
 
200
60
  /**
201
61
  * Array with all available metadata field attributes
202
62
  *
203
63
  * @category Metadata
204
- */
205
- var FIELD_ATTRIBUTE_KEYS = [].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS), _toConsumableArray__default["default"](SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS), ['value', 'reference', 'type', 'track']);
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']);
206
65
 
207
66
  /**
208
67
  * Array with all available metadata group attributes
209
68
  *
210
69
  * @category Metadata
211
- */
212
- var GROUP_ATTRIBUTE_KEYS = [].concat(_toConsumableArray__default["default"](SHARED_ATTRIBUTE_KEYS), _toConsumableArray__default["default"](SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS), ['cycle', 'field', 'group']);
213
-
214
- var _excluded$e = ["value"],
215
- _excluded2$2 = ["start", "end", "base"];
216
- 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; }
217
- 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; }
218
- var isValueObject = function isValueObject(o) {
219
- return Object.prototype.toString.call(o) === '[object Object]' && o.value !== undefined;
220
- };
221
- var isFieldType = function isFieldType(v) {
222
- return ['string', 'boolean', 'number'].includes(_typeof__default["default"](v));
223
- };
224
- var isFieldObject = function isFieldObject(o) {
225
- return isValueObject(o) && ((o === null || o === void 0 ? void 0 : o.value) === null || isValueObject(o.value) || isFieldType(o.value));
226
- };
227
- var isObject = function isObject(o) {
228
- return Object.prototype.toString.call(o) === '[object Object]';
229
- };
230
- var isDate = function isDate(o) {
231
- return Object.prototype.toString.call(o) === '[object Date]';
232
- };
233
- var isField = function isField(value) {
234
- if (value === null) {
235
- return true;
236
- }
237
- if (Array.isArray(value)) {
238
- return value.some(isField);
239
- }
240
- return isFieldType(value) || isFieldObject(value) || isDate(value);
241
- };
242
- var isGroup = function isGroup(value) {
243
- var isGroupObject = function isGroupObject(v) {
244
- return isObject(v) && v.value === undefined && !!Object.entries(value);
245
- };
246
- if (Array.isArray(value)) {
247
- return value.every(isGroup);
248
- }
249
- return isGroupObject(value);
250
- };
251
- var tryPluralize = function tryPluralize(str, arr) {
252
- return str + (arr.length > 1 ? 's' : '');
253
- };
254
- var ensureKeysAreValid = function ensureKeysAreValid(keysToCheck, keysToMatch) {
255
- var unsupportedKeys = keysToCheck.filter(function (k) {
256
- return !keysToMatch.includes(k);
257
- });
258
- if (unsupportedKeys.length) {
259
- throw Error("Unsupported ".concat(tryPluralize('key', unsupportedKeys), " (").concat(unsupportedKeys.join(', '), ")"));
260
- }
261
- };
262
- var parseValue$1 = function parseValue(value) {
263
- if (Array.isArray(value)) {
264
- throw Error('Invalid value inside value object, cannot be array');
265
- }
266
- if ([undefined, null].includes(value)) return {};
267
- if (isDate(value)) return {
268
- value: value.toISOString()
269
- };
270
- return {
271
- value: value.toString()
272
- };
273
- };
274
- var parseValueObject = function parseValueObject(valueObject) {
275
- ensureKeysAreValid(Object.keys(valueObject), FIELD_VALUE_ATTRIBUTE_KEYS);
276
- if (Object.keys(valueObject).length === 0) {
277
- throw Error('Invalid value object, cannot be empty object');
278
- }
279
- if (typeof (valueObject === null || valueObject === void 0 ? void 0 : valueObject.value) === 'string') {
280
- return valueObject;
281
- }
282
- var parsedValue = parseValue$1(valueObject === null || valueObject === void 0 ? void 0 : valueObject.value);
283
- return _objectSpread$i(_objectSpread$i({}, valueObject), parsedValue !== undefined ? parsedValue : {});
284
- };
285
- var parseFieldValue = function parseFieldValue(value) {
286
- if ([undefined, null].includes(value)) return undefined;
287
- if (Array.isArray(value)) return value.flatMap(parseFieldValue);
288
- if (isValueObject(value)) return parseValueObject(value);
289
- return parseValue$1(value);
290
- };
291
- var parseFieldObject = function parseFieldObject(fieldObject) {
292
- ensureKeysAreValid(Object.keys(fieldObject), FIELD_ATTRIBUTE_KEYS);
293
- var parsedFieldValue = parseFieldValue(fieldObject === null || fieldObject === void 0 ? void 0 : fieldObject.value);
294
- if (parsedFieldValue === undefined) {
295
- fieldObject.value;
296
- var fieldObjectWithoutValue = _objectWithoutProperties__default["default"](fieldObject, _excluded$e);
297
- return fieldObjectWithoutValue;
298
- }
299
- return _objectSpread$i(_objectSpread$i({}, fieldObject), {}, {
300
- value: _toConsumableArray__default["default"](Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
301
- });
302
- };
303
- var parseField$1 = function parseField(field) {
304
- if (isFieldObject(field)) {
305
- return parseFieldObject(field);
306
- }
307
- var parsedFieldValue = parseFieldValue(field);
308
- if (parsedFieldValue === undefined) {
309
- return undefined;
310
- }
311
- return {
312
- value: _toConsumableArray__default["default"](Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
313
- };
314
- };
315
- var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
316
- var group = [];
317
- var field = [];
318
- var groupAttributes = {};
319
- Object.entries(groupOrField || {}).forEach(function (_ref) {
320
- var _ref2 = _slicedToArray__default["default"](_ref, 2),
321
- name = _ref2[0],
322
- value = _ref2[1];
323
- if (GROUP_ATTRIBUTE_KEYS.includes(name)) {
324
- groupAttributes = _objectSpread$i(_objectSpread$i({}, groupAttributes), {}, _defineProperty__default["default"]({}, name, value));
325
- } else if (isField(value)) {
326
- try {
327
- field.push(_objectSpread$i({
328
- name: name
329
- }, parseField$1(value)));
330
- } catch (error) {
331
- throw Error(error.message + (name ? " for field \"".concat(name, "\"") : ''));
332
- }
333
- } else if (isGroup(value)) {
334
- (Array.isArray(value) ? value : [value]).forEach(function (childGroup) {
335
- group.push(_objectSpread$i({
336
- name: name
337
- }, parseGroupsAndFields(childGroup)));
338
- });
339
- } else {
340
- throw Error("Unhandled value for \"".concat(name, "\""));
341
- }
342
- });
343
- return _objectSpread$i(_objectSpread$i(_objectSpread$i({}, groupAttributes), group.length > 0 ? {
344
- group: group
345
- } : {}), field.length > 0 ? {
346
- field: field
347
- } : {});
348
- };
349
- var parseTimespan$1 = function parseTimespan(timespan) {
350
- var _timespan$start = timespan.start,
351
- start = _timespan$start === void 0 ? '-INF' : _timespan$start,
352
- _timespan$end = timespan.end,
353
- end = _timespan$end === void 0 ? '+INF' : _timespan$end,
354
- _timespan$base = timespan.base,
355
- base = _timespan$base === void 0 ? undefined : _timespan$base,
356
- groupsAndFields = _objectWithoutProperties__default["default"](timespan, _excluded2$2);
357
- var _parseGroupsAndFields = parseGroupsAndFields(groupsAndFields),
358
- group = _parseGroupsAndFields.group,
359
- field = _parseGroupsAndFields.field;
360
- return _objectSpread$i(_objectSpread$i(_objectSpread$i({}, group ? {
361
- group: group
362
- } : {}), field ? {
363
- field: field
364
- } : {}), {}, {
365
- start: start.toString(),
366
- end: end.toString()
367
- }, base ? {
368
- base: base
369
- } : {});
370
- };
371
- /**
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$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 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$i(_objectSpread$i({},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$i(_objectSpread$i({},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$i(_objectSpread$i({},groupAttributes),{},_defineProperty__default["default"]({},name,value));}else if(isField(value)){try{field.push(_objectSpread$i({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$i({name:name},parseGroupsAndFields(childGroup)));});}else {throw Error("Unhandled value for \"".concat(name,"\""));}});return _objectSpread$i(_objectSpread$i(_objectSpread$i({},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$i(_objectSpread$i(_objectSpread$i({},group?{group:group}:{}),field?{field:field}:{}),{},{start:start.toString(),end:end.toString()},base?{base:base}:{});};/**
372
73
  * Create a VidiCore metadata object from a more dense/simplified structure
373
74
  *
374
75
  * @param input To create VidiCore metadata object of
375
76
  * @returns A VidiCore metadata object
376
77
  *
377
78
  * @category Metadata
378
- */
379
- var createMetadataType = function createMetadataType(input) {
380
- return {
381
- timespan: (Array.isArray(input) ? input : [input || {}]).map(function (t) {
382
- return parseTimespan$1(t);
383
- })
384
- };
385
- };
79
+ */var createMetadataType=function createMetadataType(input){return {timespan:(Array.isArray(input)?input:[input||{}]).map(function(t){return parseTimespan$1(t);})};};
386
80
 
387
81
  /**
388
82
  * @private
@@ -396,23 +90,7 @@ var createMetadataType = function createMetadataType(input) {
396
90
  * @param timespan1 first timespan to compare
397
91
  * @param timespan2 second timespan to compare
398
92
  * @returns -1 if first is before second, 1 if first is after second, 0 if same start
399
- */
400
- var sortTimespanList = function sortTimespanList(timespan1, timespan2) {
401
- var _timespan1$start, _timespan2$start;
402
- var _ref = (timespan1 === null || timespan1 === void 0 ? void 0 : (_timespan1$start = timespan1.start) === null || _timespan1$start === void 0 ? void 0 : _timespan1$start.split('@')) || [],
403
- _ref2 = _slicedToArray__default["default"](_ref, 1),
404
- firstStart = _ref2[0];
405
- var _ref3 = (timespan2 === null || timespan2 === void 0 ? void 0 : (_timespan2$start = timespan2.start) === null || _timespan2$start === void 0 ? void 0 : _timespan2$start.split('@')) || [],
406
- _ref4 = _slicedToArray__default["default"](_ref3, 1),
407
- secondStart = _ref4[0];
408
- if (Number(firstStart) < Number(secondStart)) {
409
- return -1;
410
- }
411
- if (Number(firstStart) > Number(secondStart)) {
412
- return 1;
413
- }
414
- return 0;
415
- };
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;};
416
94
 
417
95
  /**
418
96
  * @private
@@ -421,137 +99,47 @@ var sortTimespanList = function sortTimespanList(timespan1, timespan2) {
421
99
  *
422
100
  * @param v value to return as array
423
101
  * @returns input value wrapped as array
424
- */
425
- var asArray = function asArray(v) {
426
- return Array.isArray(v) ? v : v && [v] || [];
427
- };
428
-
429
- /**
102
+ */var asArray=function asArray(v){return Array.isArray(v)?v:v&&[v]||[];};/**
430
103
  * @private
431
104
  *
432
105
  * Wrap in array if not already an array, and return empty array if v is undefined
433
106
  *
434
107
  * @param v value to return as array
435
108
  * @returns input value wrapped as array
436
- */
437
- var asSingle = function asSingle(v) {
438
- return Array.isArray(v) ? v.pop() : v;
439
- };
440
-
441
- /**
109
+ */var asSingle=function asSingle(v){return Array.isArray(v)?v.pop():v;};/**
442
110
  * @private
443
111
  * Check if array is string array (+ type guard)
444
112
  *
445
113
  * @param arr Array to check if string array
446
114
  * @returns true if string array
447
- */
448
- var isStringArray = function isStringArray(arr) {
449
- return (arr === null || arr === void 0 ? void 0 : arr.every(function (v) {
450
- return typeof v === 'string';
451
- })) || false;
452
- };
453
-
454
- var _excluded$d = ["value"];
455
- 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; }
456
- 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; }
457
- var defaultOptions$a = {
458
- includeValueAttributes: false
459
- };
115
+ */var isStringArray=function isStringArray(arr){return (arr===null||arr===void 0?void 0:arr.every(function(v){return typeof v==='string';}))||false;};
460
116
 
461
- /**
117
+ var _excluded$d=["value"];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={includeValueAttributes:false};/**
462
118
  * @internal
463
119
  * Parse the value object inside a field value list
464
120
  *
465
121
  * @param value The Vidicore metadata value type
466
122
  * @param options For how to parse the value object
467
123
  * @returns The parsed value
468
- */
469
- function parseValue(value, options) {
470
- var _defaultOptions = _objectSpread$h(_objectSpread$h({}, defaultOptions$a), options || {}),
471
- includeValueAttributes = _defaultOptions.includeValueAttributes;
472
- if (includeValueAttributes === false) {
473
- return value === null || value === void 0 ? void 0 : value.value;
474
- }
475
- var stringValue = value.value,
476
- attributes = _objectWithoutProperties__default["default"](value, _excluded$d);
477
- var valueAttributes = includeValueAttributes === true && attributes || Array.isArray(includeValueAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref) {
478
- var _ref2 = _slicedToArray__default["default"](_ref, 1),
479
- key = _ref2[0];
480
- return includeValueAttributes.includes(key);
481
- })) || {};
482
- return _objectSpread$h(_objectSpread$h({}, valueAttributes), {}, {
483
- value: stringValue
484
- });
485
- }
486
-
487
- var _excluded$c = ["joinValue", "arrayOnSingleValue"];
488
- 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; }
489
- 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; }
490
- var defaultOptions$9 = _objectSpread$g(_objectSpread$g({}, defaultOptions$a), {}, {
491
- joinValue: undefined,
492
- arrayOnSingleValue: true
493
- });
124
+ */function parseValue(value,options){var _defaultOptions=_objectSpread$h(_objectSpread$h({},defaultOptions$a),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$h(_objectSpread$h({},valueAttributes),{},{value:stringValue});}
494
125
 
495
- /**
126
+ var _excluded$c=["joinValue","arrayOnSingleValue"];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),{},{joinValue:undefined,arrayOnSingleValue:true});/**
496
127
  * @internal
497
128
  *
498
129
  * @param valueList
499
130
  * @param options
500
131
  * @returns
501
- */
502
- function parseValueList(valueList, options) {
503
- var _defaultOptions = _objectSpread$g(_objectSpread$g({}, defaultOptions$9), options || {}),
504
- joinValue = _defaultOptions.joinValue,
505
- arrayOnSingleValue = _defaultOptions.arrayOnSingleValue,
506
- parseValueOptions = _objectWithoutProperties__default["default"](_defaultOptions, _excluded$c);
507
- var parsedValueList = valueList === null || valueList === void 0 ? void 0 : valueList.map(function (v) {
508
- return parseValue(v, parseValueOptions);
509
- });
510
- if (isStringArray(parsedValueList) && joinValue) return parsedValueList === null || parsedValueList === void 0 ? void 0 : parsedValueList.join(joinValue);
511
- if (arrayOnSingleValue !== true && (parsedValueList === null || parsedValueList === void 0 ? void 0 : parsedValueList.length) <= 1) return parsedValueList === null || parsedValueList === void 0 ? void 0 : parsedValueList[0];
512
- return parsedValueList;
513
- }
514
-
515
- var _excluded$b = ["includeFieldAttributes"],
516
- _excluded2$1 = ["value"];
517
- 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; }
518
- 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; }
519
- var defaultOptions$8 = _objectSpread$f({
520
- includeFieldAttributes: false
521
- }, defaultOptions$9);
132
+ */function parseValueList(valueList,options){var _defaultOptions=_objectSpread$g(_objectSpread$g({},defaultOptions$9),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;}
522
133
 
523
- /**
134
+ var _excluded$b=["includeFieldAttributes"],_excluded2$1=["value"];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=_objectSpread$f({includeFieldAttributes:false},defaultOptions$9);/**
524
135
  * @internal
525
136
  *
526
137
  * @param field
527
138
  * @param options
528
139
  * @returns
529
- */
530
- var parseField = function parseField(field, options) {
531
- var _defaultOptions = _objectSpread$f(_objectSpread$f({}, defaultOptions$8), options || {}),
532
- includeFieldAttributes = _defaultOptions.includeFieldAttributes,
533
- parseValueListOptions = _objectWithoutProperties__default["default"](_defaultOptions, _excluded$b);
534
- var value = field.value,
535
- attributes = _objectWithoutProperties__default["default"](field, _excluded2$1);
536
- var parsedValueList = parseValueList(value, parseValueListOptions);
537
- var fieldAttributes = includeFieldAttributes === true && attributes || Array.isArray(includeFieldAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref) {
538
- var _ref2 = _slicedToArray__default["default"](_ref, 1),
539
- key = _ref2[0];
540
- return includeFieldAttributes.includes(key);
541
- })) || {};
542
- return includeFieldAttributes ? _objectSpread$f(_objectSpread$f({}, fieldAttributes), {}, {
543
- value: parsedValueList
544
- }) : parsedValueList;
545
- };
546
-
547
- 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; }
548
- 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; }
549
- var defaultOptions$7 = _objectSpread$e(_objectSpread$e({}, defaultOptions$8), {}, {
550
- fieldAsList: false,
551
- arrayOnSingleField: false,
552
- overrideField: undefined
553
- });
554
- /**
140
+ */var parseField=function parseField(field,options){var _defaultOptions=_objectSpread$f(_objectSpread$f({},defaultOptions$8),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$f(_objectSpread$f({},fieldAttributes),{},{value:parsedValueList}):parsedValueList;};
141
+
142
+ 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$7=_objectSpread$e(_objectSpread$e({},defaultOptions$8),{},{fieldAsList:false,arrayOnSingleField:false,overrideField:undefined});/**
555
143
  * Parse a metadata field list according to selected options
556
144
  *
557
145
  * @remarks
@@ -567,34 +155,9 @@ var defaultOptions$7 = _objectSpread$e(_objectSpread$e({}, defaultOptions$8), {}
567
155
  * @returns A parsed field list
568
156
  *
569
157
  * @category Metadata
570
- */
571
- var parseFieldList = function parseFieldList(fieldList, options) {
572
- var parseFieldListOptions = _objectSpread$e(_objectSpread$e({}, defaultOptions$7), options || {});
573
- var fieldAsList = parseFieldListOptions.fieldAsList,
574
- arrayOnSingleField = parseFieldListOptions.arrayOnSingleField,
575
- overrideField = parseFieldListOptions.overrideField;
576
- var shouldOverride = overrideField === true && fieldAsList === false;
577
- var output = {};
578
- fieldList === null || fieldList === void 0 ? void 0 : fieldList.forEach(function (field) {
579
- var name = field.name;
580
- var parsedField = parseField(field, parseFieldListOptions);
581
- var parsedFieldOutput = arrayOnSingleField === true ? asArray(parsedField) : parsedField;
582
- var existingParsedFields = output[name];
583
- if (!existingParsedFields) output[name] = parsedFieldOutput;else if (shouldOverride) output[name] = parsedField;else output[name] = [asArray(existingParsedFields), asArray(parsedField)].flat();
584
- });
585
- return fieldAsList === true ? Object.values(output).flat() : output;
586
- };
587
-
588
- var _excluded$a = ["field", "group"];
589
- 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; }
590
- 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; }
591
- var defaultParseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultOptions$7), {}, {
592
- includeGroupAttributes: false,
593
- groupAsList: false,
594
- arrayOnSingleGroup: false,
595
- overrideGroup: undefined
596
- });
597
- /**
158
+ */var parseFieldList=function parseFieldList(fieldList,options){var parseFieldListOptions=_objectSpread$e(_objectSpread$e({},defaultOptions$7),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$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 defaultParseGroupOptions=_objectSpread$d(_objectSpread$d({},defaultOptions$7),{},{includeGroupAttributes:false,groupAsList:false,arrayOnSingleGroup:false,overrideGroup:undefined});/**
598
161
  * @internal
599
162
  *
600
163
  * (Kept here due to circular dependency otherwise)
@@ -602,35 +165,8 @@ var defaultParseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultOption
602
165
  * @param group
603
166
  * @param options
604
167
  * @returns
605
- */
606
- var parseGroup = function parseGroup(group, options) {
607
- var parseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultParseGroupOptions), options || {});
608
- var includeGroupAttributes = parseGroupOptions.includeGroupAttributes;
609
- var parseFieldListOptions = Object.fromEntries(Object.entries(parseGroupOptions).filter(function (_ref) {
610
- var _ref2 = _slicedToArray__default["default"](_ref, 1),
611
- key = _ref2[0];
612
- return Object.keys(defaultOptions$7).includes(key);
613
- }));
614
- var fieldList = group.field,
615
- groupList = group.group,
616
- attributes = _objectWithoutProperties__default["default"](group, _excluded$a);
617
- var parsedFieldList = fieldList && parseFieldList(fieldList, parseFieldListOptions);
618
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
619
- var parsedGroupList = groupList && parseGroupList(groupList, parseGroupOptions);
620
- var groupAttributes = includeGroupAttributes === true && attributes || Array.isArray(includeGroupAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref3) {
621
- var _ref4 = _slicedToArray__default["default"](_ref3, 1),
622
- key = _ref4[0];
623
- return includeGroupAttributes.includes(key);
624
- })) || {};
625
- return _objectSpread$d(_objectSpread$d(_objectSpread$d({}, groupAttributes), parseFieldListOptions !== null && parseFieldListOptions !== void 0 && parseFieldListOptions.fieldAsList ? parsedFieldList && {
626
- field: parsedFieldList
627
- } || {} : parsedFieldList), parseGroupOptions !== null && parseGroupOptions !== void 0 && parseGroupOptions.groupAsList ? parsedGroupList && {
628
- group: parsedGroupList
629
- } || {} : parsedGroupList);
630
- };
631
- var defaultOptions$6 = defaultParseGroupOptions;
632
-
633
- /**
168
+ */var parseGroup=function parseGroup(group,options){var parseGroupOptions=_objectSpread$d(_objectSpread$d({},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$7).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$d(_objectSpread$d(_objectSpread$d({},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$6=defaultParseGroupOptions;/**
634
170
  * Parse a metadata group list according to selected options
635
171
  *
636
172
  * @remarks
@@ -644,40 +180,9 @@ var defaultOptions$6 = defaultParseGroupOptions;
644
180
  * @returns A parsed group list
645
181
  *
646
182
  * @category Metadata
647
- */
648
- var parseGroupList = function parseGroupList(groupList, options) {
649
- var parseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultOptions$6), options || {});
650
- var groupAsList = parseGroupOptions.groupAsList,
651
- arrayOnSingleGroup = parseGroupOptions.arrayOnSingleGroup,
652
- overrideGroup = parseGroupOptions.overrideGroup;
653
- var shouldOverride = overrideGroup === true && groupAsList === false;
654
- var output = {};
655
- groupList === null || groupList === void 0 ? void 0 : groupList.forEach(function (group) {
656
- var name = group.name;
657
- var parsedGroup = parseGroup(group, parseGroupOptions);
658
- var parsedGroupOutput = arrayOnSingleGroup === true ? asArray(parsedGroup) : parsedGroup;
659
- var existingParsedGroups = output[name];
660
- if (!existingParsedGroups) output[name] = parsedGroupOutput;else if (shouldOverride) output[name] = parsedGroup;else output[name] = [asArray(existingParsedGroups), asArray(parsedGroup)].flat();
661
- });
662
- if (groupAsList) {
663
- return Object.values(output).flat();
664
- }
665
- return output;
666
- };
667
-
668
- var _excluded$9 = ["field", "group"];
669
- 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; }
670
- 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; }
671
- var defaultOptions$5 = _objectSpread$c(_objectSpread$c({}, defaultOptions$6), {}, {
672
- includeTimespanAttributes: false,
673
- flat: false,
674
- arrayOnSingle: false,
675
- arrayOnSingleValue: true,
676
- arrayOnSingleGroup: undefined,
677
- arrayOnSingleField: undefined
678
- });
183
+ */var parseGroupList=function parseGroupList(groupList,options){var parseGroupOptions=_objectSpread$d(_objectSpread$d({},defaultOptions$6),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;};
679
184
 
680
- /**
185
+ var _excluded$9=["field","group"];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=_objectSpread$c(_objectSpread$c({},defaultOptions$6),{},{includeTimespanAttributes:false,flat:false,arrayOnSingle:false,arrayOnSingleValue:true,arrayOnSingleGroup:undefined,arrayOnSingleField:undefined});/**
681
186
  *
682
187
  * Parses timespan according to specified options
683
188
  *
@@ -691,76 +196,10 @@ var defaultOptions$5 = _objectSpread$c(_objectSpread$c({}, defaultOptions$6), {}
691
196
  * @see {@link parseGroupList} and {@link parseFieldList} for more info
692
197
  *
693
198
  * @category Metadata
694
- */
695
- var parseTimespan = function parseTimespan(timespan, options) {
696
- var parseTimespanOptions = _objectSpread$c(_objectSpread$c({}, defaultOptions$5), options || {});
697
- var includeTimespanAttributes = parseTimespanOptions.includeTimespanAttributes,
698
- arrayOnSingle = parseTimespanOptions.arrayOnSingle,
699
- flat = parseTimespanOptions.flat;
700
- var parseGroupListOptions = Object.fromEntries(Object.entries(options).map(function (_ref) {
701
- var _ref2 = _slicedToArray__default["default"](_ref, 2),
702
- key = _ref2[0],
703
- value = _ref2[1];
704
- if (Object.keys(defaultOptions$6).includes(key)) {
705
- if (['arrayOnSingleGroup', 'arrayOnSingleField', 'arrayOnSingleValue'].includes(key) && (value !== undefined ? value : arrayOnSingle === true)) {
706
- return [key, true];
707
- }
708
- if (['overrideGroup', 'overrideField'].includes(key) && (value !== undefined ? value : flat === true)) {
709
- return [key, true];
710
- }
711
- return [key, value];
712
- }
713
- return undefined;
714
- }).filter(function (e) {
715
- return !!e;
716
- }));
717
- var parseFieldListOptions = Object.fromEntries(Object.entries(options).map(function (_ref3) {
718
- var _ref4 = _slicedToArray__default["default"](_ref3, 2),
719
- key = _ref4[0],
720
- value = _ref4[1];
721
- if (Object.keys(defaultOptions$7).includes(key)) {
722
- if (['arrayOnSingleField', 'arrayOnSingleValue'].includes(key) && (value !== undefined ? value : arrayOnSingle === true)) {
723
- return [key, true];
724
- }
725
- if (['overrideField'].includes(key) && (value !== undefined ? value : flat === true)) {
726
- return [key, true];
727
- }
728
- return [key, value];
729
- }
730
- return undefined;
731
- }).filter(function (e) {
732
- return !!e;
733
- }));
734
- var _ref5 = timespan || {},
735
- fieldList = _ref5.field,
736
- groupList = _ref5.group,
737
- attributes = _objectWithoutProperties__default["default"](_ref5, _excluded$9);
738
- var parsedFieldList = fieldList && parseFieldList(fieldList, parseFieldListOptions);
739
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
740
- var parsedGroupList = groupList && parseGroupList(groupList, parseGroupListOptions);
741
- var timespanAttributes = includeTimespanAttributes === true && attributes || Array.isArray(includeTimespanAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref6) {
742
- var _ref7 = _slicedToArray__default["default"](_ref6, 1),
743
- key = _ref7[0];
744
- return includeTimespanAttributes.includes(key);
745
- })) || {};
746
- return _objectSpread$c(_objectSpread$c(_objectSpread$c({}, timespanAttributes), parseFieldListOptions !== null && parseFieldListOptions !== void 0 && parseFieldListOptions.fieldAsList ? {
747
- field: parsedFieldList
748
- } : parsedFieldList), parseGroupListOptions !== null && parseGroupListOptions !== void 0 && parseGroupListOptions.groupAsList ? {
749
- group: parsedGroupList
750
- } : parsedGroupList);
751
- };
752
-
753
- var _excluded$8 = ["timespanAsList", "joinTimespan", "sortTimespan", "flat", "flatTimespan"];
754
- 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; }
755
- 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; }
756
- var defaultOptions$4 = _objectSpread$b(_objectSpread$b({}, defaultOptions$5), {}, {
757
- timespanAsList: false,
758
- joinTimespan: '_',
759
- sortTimespan: false,
760
- flat: false,
761
- flatTimespan: undefined
762
- });
763
- /**
199
+ */var parseTimespan=function parseTimespan(timespan,options){var parseTimespanOptions=_objectSpread$c(_objectSpread$c({},defaultOptions$5),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$6).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$7).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$c(_objectSpread$c(_objectSpread$c({},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$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=_objectSpread$b(_objectSpread$b({},defaultOptions$5),{},{timespanAsList:false,joinTimespan:'_',sortTimespan:false,flat:false,flatTimespan:undefined});/**
764
203
  * Parses timespanList according to specified options.
765
204
  * The attributes can be targeted for each sub-type.
766
205
  *
@@ -771,53 +210,9 @@ var defaultOptions$4 = _objectSpread$b(_objectSpread$b({}, defaultOptions$5), {}
771
210
  * @see {@link parseTimespan} for more info
772
211
  *
773
212
  * @category Metadata
774
- */
775
- var parseTimespanList = function parseTimespanList(timespanList, options) {
776
- var parseTimespanListOptions = _objectSpread$b(_objectSpread$b({}, defaultOptions$4), options || {});
777
- var timespanAsList = parseTimespanListOptions.timespanAsList,
778
- joinTimespan = parseTimespanListOptions.joinTimespan,
779
- sortTimespan = parseTimespanListOptions.sortTimespan,
780
- flat = parseTimespanListOptions.flat,
781
- flatTimespan = parseTimespanListOptions.flatTimespan,
782
- otherOptions = _objectWithoutProperties__default["default"](parseTimespanListOptions, _excluded$8);
783
- var parseTimespanOptions = _objectSpread$b({
784
- flat: flat
785
- }, otherOptions);
786
- if (sortTimespan) timespanList.sort(sortTimespanList);
787
- var shouldFlatten = (flatTimespan !== undefined ? flatTimespan === true : flat === true) && timespanAsList === false;
788
- var output = {};
789
- timespanList === null || timespanList === void 0 ? void 0 : timespanList.forEach(function (timespan) {
790
- var start = timespan.start,
791
- end = timespan.end;
792
- var key = shouldFlatten ? 'flat' : [start, end].join(joinTimespan);
793
- var parsedTimespan = parseTimespan(timespan, parseTimespanOptions);
794
- var existingParsedTimespans = output[key];
795
- if (!existingParsedTimespans) output[key] = parsedTimespan;else if (shouldFlatten) {
796
- if (start === '-INF' && end === '+INF') {
797
- output[key] = _objectSpread$b(_objectSpread$b({}, asSingle(existingParsedTimespans)), parsedTimespan);
798
- } else {
799
- output[key] = _objectSpread$b(_objectSpread$b({}, parsedTimespan), asSingle(existingParsedTimespans));
800
- }
801
- } else output[key] = [].concat(_toConsumableArray__default["default"](asArray(existingParsedTimespans)), [parsedTimespan]);
802
- });
803
- if (timespanAsList === true) {
804
- return Object.values(output);
805
- }
806
- if (shouldFlatten) {
807
- return Object.values(output).pop();
808
- }
809
- return output;
810
- };
811
-
812
- var _excluded$7 = ["timespan"];
813
- 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; }
814
- 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; }
815
- var defaultOptions$3 = _objectSpread$a(_objectSpread$a({}, defaultOptions$4), {}, {
816
- includeMetadataAttributes: false,
817
- flat: false
818
- });
213
+ */var parseTimespanList=function parseTimespanList(timespanList,options){var parseTimespanListOptions=_objectSpread$b(_objectSpread$b({},defaultOptions$4),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$b({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$b(_objectSpread$b({},asSingle(existingParsedTimespans)),parsedTimespan);}else {output[key]=_objectSpread$b(_objectSpread$b({},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;};
819
214
 
820
- /**
215
+ var _excluded$7=["timespan"];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$3=_objectSpread$a(_objectSpread$a({},defaultOptions$4),{},{includeMetadataAttributes:false,flat:false});/**
821
216
  * Parses MetadataType according to specified options
822
217
  *
823
218
  * @remarks
@@ -832,47 +227,7 @@ var defaultOptions$3 = _objectSpread$a(_objectSpread$a({}, defaultOptions$4), {}
832
227
  * @see {@link parseTimespanList} for more info
833
228
  *
834
229
  * @category Metadata
835
- */
836
- function parseMetadataType(metadataType, options) {
837
- var parseMetadataTypeOptions = _objectSpread$a(_objectSpread$a({}, defaultOptions$3), options || {});
838
- var includeMetadataAttributes = parseMetadataTypeOptions.includeMetadataAttributes,
839
- flat = parseMetadataTypeOptions.flat;
840
- var _ref = metadataType || {},
841
- _ref$timespan = _ref.timespan,
842
- timespanList = _ref$timespan === void 0 ? [] : _ref$timespan,
843
- attributes = _objectWithoutProperties__default["default"](_ref, _excluded$7);
844
- var parseTimespanListOptions = Object.fromEntries(Object.entries(options).map(function (_ref2) {
845
- var _ref3 = _slicedToArray__default["default"](_ref2, 2),
846
- key = _ref3[0],
847
- value = _ref3[1];
848
- if (Object.keys(defaultOptions$4).includes(key)) {
849
- if (['onlyGeneric', 'overrideGroup', 'overrideField'].includes(key) && (value !== undefined ? value : flat === true)) {
850
- return [key, true];
851
- }
852
- return [key, value];
853
- }
854
- return undefined;
855
- }).filter(function (e) {
856
- return !!e;
857
- }));
858
- var parsedTimespanList = parseTimespanList(timespanList, parseTimespanListOptions);
859
- var metadataAttributes = includeMetadataAttributes === true && _objectSpread$a(_objectSpread$a({}, attributes), attributes.revision ? {
860
- revision: attributes.revision.split(',')
861
- } : {}) || Array.isArray(includeMetadataAttributes) && Object.fromEntries(Object.entries(attributes).map(function (_ref4) {
862
- var _ref5 = _slicedToArray__default["default"](_ref4, 2),
863
- key = _ref5[0],
864
- value = _ref5[1];
865
- if (includeMetadataAttributes.includes(key)) {
866
- return [key, key === 'revision' && typeof value === 'string' ? value.split(',') : value];
867
- }
868
- return undefined;
869
- }).filter(function (o) {
870
- return !!o;
871
- })) || {};
872
- return _objectSpread$a(_objectSpread$a({}, metadataAttributes), parseTimespanListOptions !== null && parseTimespanListOptions !== void 0 && parseTimespanListOptions.timespanAsList ? {
873
- timespan: parsedTimespanList
874
- } : parsedTimespanList);
875
- }
230
+ */function parseMetadataType(metadataType,options){var parseMetadataTypeOptions=_objectSpread$a(_objectSpread$a({},defaultOptions$3),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$4).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$a(_objectSpread$a({},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$a(_objectSpread$a({},metadataAttributes),parseTimespanListOptions!==null&&parseTimespanListOptions!==void 0&&parseTimespanListOptions.timespanAsList?{timespan:parsedTimespanList}:parsedTimespanList);}
876
231
 
877
232
  /**
878
233
  * Parse simple (key/value) metadata
@@ -883,45 +238,9 @@ function parseMetadataType(metadataType, options) {
883
238
  * @returns A parsed simple metadata object
884
239
  *
885
240
  * @category Metadata
886
- */
887
- var parseSimpleMetadataType = function parseSimpleMetadataType(simpleMetadataType) {
888
- var _ref = simpleMetadataType || {},
889
- _ref$field = _ref.field,
890
- field = _ref$field === void 0 ? [] : _ref$field;
891
- return parseKeyValuePairTypes(field);
892
- };
893
-
894
- var MAP_CONSTANT_TO_DEN_NUM = {
895
- PAL: {
896
- denominator: 25,
897
- numerator: 1
898
- },
899
- NTSC: {
900
- denominator: 30000,
901
- numerator: 1001
902
- },
903
- NTSC30: {
904
- denominator: 30,
905
- numerator: 1
906
- },
907
- 29.97: {
908
- denominator: 30000,
909
- numerator: 1001
910
- },
911
- 59.94: {
912
- denominator: 60000,
913
- numerator: 1001
914
- },
915
- 23.976: {
916
- denominator: 48000,
917
- numerator: 2002
918
- },
919
- 23.98: {
920
- denominator: 48000,
921
- numerator: 2002
922
- }
923
- };
924
- var TIME_BASE_CONSTANTS = Object.keys(MAP_CONSTANT_TO_DEN_NUM);
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);
925
244
 
926
245
  /**
927
246
  * TimeBase class representing the TimeBaseType in VidiCore
@@ -929,148 +248,54 @@ var TIME_BASE_CONSTANTS = Object.keys(MAP_CONSTANT_TO_DEN_NUM);
929
248
  * For more info, see the [Time bases section in VidiCore API Docs](https://apidoc.vidispine.com/latest/time.html#time-bases)
930
249
  *
931
250
  * @category Time
932
- */
933
- var TimeBase = /*#__PURE__*/function () {
934
- // The numerator for the TimeBase
935
-
936
- // The denominator for the TimeBase
937
-
938
- /**
251
+ */var TimeBase=/*#__PURE__*/function(){// The numerator for the TimeBase
252
+ // The denominator for the TimeBase
253
+ /**
939
254
  * Constructor for TimeBase
940
255
  *
941
256
  * @param timeBaseType A TimeBaseType object
942
- */
943
- function TimeBase(timeBaseType) {
944
- _classCallCheck__default["default"](this, TimeBase);
945
- _defineProperty__default["default"](this, "numerator", 1);
946
- _defineProperty__default["default"](this, "denominator", 1);
947
- var _ref = timeBaseType || {},
948
- _ref$numerator = _ref.numerator,
949
- numerator = _ref$numerator === void 0 ? 1 : _ref$numerator,
950
- _ref$denominator = _ref.denominator,
951
- denominator = _ref$denominator === void 0 ? 1 : _ref$denominator;
952
- this.numerator = Number(numerator);
953
- this.denominator = Number(denominator);
954
- }
955
-
956
- /**
257
+ */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);}/**
957
258
  * Get TimeBase in a constant representation (e.g. "PAL") if possible, otherwise undefined
958
259
  * @returns Constant representation of the TimeBase
959
- */
960
- _createClass__default["default"](TimeBase, [{
961
- key: "toConstant",
962
- value: function toConstant() {
963
- var _this = this;
964
- var constant;
965
- // If multiple equal den/num, it selects first in MAP_CONSTANT_TO_DEN_NUM
966
- Object.entries(MAP_CONSTANT_TO_DEN_NUM).find(function (timeBaseConstant) {
967
- var _timeBaseConstant = _slicedToArray__default["default"](timeBaseConstant, 2),
968
- thisTimeBaseText = _timeBaseConstant[0],
969
- thisTimeBaseType = _timeBaseConstant[1];
970
- var numerator = thisTimeBaseType.numerator,
971
- denominator = thisTimeBaseType.denominator;
972
- if (numerator === _this.numerator && denominator === _this.denominator) {
973
- constant = thisTimeBaseText;
974
- return true;
975
- }
976
- return false;
977
- });
978
- return constant;
979
- }
980
-
981
- /**
982
- * Get TimeBase as a VidiCore TimeBaseType string
983
- *
984
- * @remarks
985
- * Default format: denominator(:numerator if > 1)
986
- *
987
- * `constant` has precedence over `fraction` if both are true (e.g. NTSC > 30000:1001)
988
- *
989
- * @param options For how to display it as text
990
- * @returns Text representation of the TimeBase
991
- */
992
- }, {
993
- key: "toText",
994
- value: function toText(options) {
995
- if (options !== null && options !== void 0 && options.constant) {
996
- var _timeBaseText = this.toConstant();
997
- if (_timeBaseText) return _timeBaseText;
998
- }
999
- if (options !== null && options !== void 0 && options.fraction || this.numerator > 1) {
1000
- var _timeBaseText2 = [this.denominator, this.numerator].join(':');
1001
- return _timeBaseText2;
1002
- }
1003
- var timeBaseText = String(this.denominator);
1004
- return timeBaseText;
1005
- }
1006
-
1007
- /**
1008
- * Output TimeBase as frame rate (by default max 16 decimal places)
1009
- *
1010
- * @remarks
1011
- * For `options.fixed`:
1012
- * - `true` gives two decimal places
1013
- * - `false` gives max amount of decimal places
1014
- * - `number` gives that amount of decimal places
1015
- *
1016
- * Default format: rate with two decimals if needed (i.e. decimals are > 0)
1017
- *
1018
- * Option precedence (when all true): `constant` > `rounded` > `fixed`
1019
- *
1020
- * @param options For how to display it as rate
1021
- *
1022
- * @return Rate of the TimeBase
1023
- *
1024
- * @category Time
1025
- */
1026
- }, {
1027
- key: "toRate",
1028
- value: function toRate(options) {
1029
- var rate = this.denominator / this.numerator;
1030
- if (Number.isInteger(rate)) {
1031
- return rate;
1032
- }
1033
- if (options !== null && options !== void 0 && options.rounded) {
1034
- return Math.round(rate);
1035
- }
1036
- var _ref2 = options || {},
1037
- _ref2$fixed = _ref2.fixed,
1038
- fixed = _ref2$fixed === void 0 ? true : _ref2$fixed;
1039
- if (fixed === true || typeof fixed === 'number') {
1040
- return Number(rate.toFixed(typeof fixed === 'boolean' ? 2 : fixed));
1041
- }
1042
- return rate;
1043
- }
1044
-
1045
- /**
1046
- * Get TimeBase in a object representation
1047
- *
1048
- * @returns TimeBase as `{denominator, numerator}` object
1049
- */
1050
- }, {
1051
- key: "toObject",
1052
- value: function toObject() {
1053
- return {
1054
- denominator: this.denominator,
1055
- numerator: this.numerator
1056
- };
1057
- }
1058
-
1059
- /**
1060
- * @deprecated Use {@link TimeBase#toObject | toObject} instead
1061
- *
1062
- * @returns TimeBase as `{denominator, numerator}` object
1063
- */
1064
- }, {
1065
- key: "toJson",
1066
- value: function toJson() {
1067
- // eslint-disable-next-line no-console
1068
- console.warn('Deprecated - use toObject instead');
1069
- return this.toObject();
1070
- }
1071
- }]);
1072
- return TimeBase;
1073
- }();
260
+ */_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
261
+ 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;}/**
262
+ * Get TimeBase as a VidiCore TimeBaseType string
263
+ *
264
+ * @remarks
265
+ * Default format: denominator(:numerator if > 1)
266
+ *
267
+ * `constant` has precedence over `fraction` if both are true (e.g. NTSC > 30000:1001)
268
+ *
269
+ * @param options For how to display it as text
270
+ * @returns Text representation of the TimeBase
271
+ */},{key:"toText",value:function toText(options){if(options!==null&&options!==void 0&&options.constant){var _timeBaseText=this.toConstant();if(_timeBaseText)return _timeBaseText;}if(options!==null&&options!==void 0&&options.fraction||this.numerator>1){var _timeBaseText2=[this.denominator,this.numerator].join(':');return _timeBaseText2;}var timeBaseText=String(this.denominator);return timeBaseText;}/**
272
+ * Output TimeBase as frame rate (by default max 16 decimal places)
273
+ *
274
+ * @remarks
275
+ * For `options.fixed`:
276
+ * - `true` gives two decimal places
277
+ * - `false` gives max amount of decimal places
278
+ * - `number` gives that amount of decimal places
279
+ *
280
+ * Default format: rate with two decimals if needed (i.e. decimals are > 0)
281
+ *
282
+ * Option precedence (when all true): `constant` > `rounded` > `fixed`
283
+ *
284
+ * @param options For how to display it as rate
285
+ *
286
+ * @return Rate of the TimeBase
287
+ *
288
+ * @category Time
289
+ */},{key:"toRate",value:function toRate(options){var rate=this.denominator/this.numerator;if(Number.isInteger(rate)){return rate;}if(options!==null&&options!==void 0&&options.rounded){return Math.round(rate);}var _ref2=options||{},_ref2$fixed=_ref2.fixed,fixed=_ref2$fixed===void 0?true:_ref2$fixed;if(fixed===true||typeof fixed==='number'){return Number(rate.toFixed(typeof fixed==='boolean'?2:fixed));}return rate;}/**
290
+ * Get TimeBase in a object representation
291
+ *
292
+ * @returns TimeBase as `{denominator, numerator}` object
293
+ */},{key:"toObject",value:function toObject(){return {denominator:this.denominator,numerator:this.numerator};}/**
294
+ * @deprecated Use {@link TimeBase#toObject | toObject} instead
295
+ *
296
+ * @returns TimeBase as `{denominator, numerator}` object
297
+ */},{key:"toJson",value:function toJson(){// eslint-disable-next-line no-console
298
+ console.warn('Deprecated - use toObject instead');return this.toObject();}}]);return TimeBase;}();
1074
299
 
1075
300
  /**
1076
301
  * Format a string representation of a time base to a TimeBase Instance
@@ -1079,36 +304,7 @@ var TimeBase = /*#__PURE__*/function () {
1079
304
  * @returns A TimeBase Instance
1080
305
  *
1081
306
  * @category Time
1082
- */
1083
- var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
1084
- if (timeBaseText === undefined) {
1085
- return new TimeBase();
1086
- }
1087
- if (typeof timeBaseText === 'number') {
1088
- return new TimeBase({
1089
- denominator: timeBaseText
1090
- });
1091
- }
1092
- if (typeof timeBaseText === 'string' && timeBaseText.includes(':')) {
1093
- var _timeBaseText$split = timeBaseText.split(':'),
1094
- _timeBaseText$split2 = _slicedToArray__default["default"](_timeBaseText$split, 2),
1095
- denominator = _timeBaseText$split2[0],
1096
- numerator = _timeBaseText$split2[1];
1097
- return new TimeBase({
1098
- denominator: denominator,
1099
- numerator: numerator
1100
- });
1101
- }
1102
- if (TIME_BASE_CONSTANTS.includes(timeBaseText)) {
1103
- return new TimeBase(MAP_CONSTANT_TO_DEN_NUM[timeBaseText]);
1104
- }
1105
- if (!['string', 'number'].includes(_typeof__default["default"](timeBaseText)) || Number.isNaN(Number(timeBaseText))) {
1106
- throw new Error("timeBaseText must be a number or ".concat(TIME_BASE_CONSTANTS.join(','), " - is ").concat(JSON.stringify(timeBaseText)));
1107
- }
1108
- return new TimeBase({
1109
- denominator: Number(timeBaseText)
1110
- });
1111
- };
307
+ */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)});};
1112
308
 
1113
309
  /**
1114
310
  * Create a TimeBase instance of an object
@@ -1117,10 +313,7 @@ var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
1117
313
  * @returns A TimeBase instance
1118
314
  *
1119
315
  * @category Time
1120
- */
1121
- var formatTimeBaseType = function formatTimeBaseType(timeBase) {
1122
- return new TimeBase(timeBase);
1123
- };
316
+ */var formatTimeBaseType=function formatTimeBaseType(timeBase){return new TimeBase(timeBase);};
1124
317
 
1125
318
  /**
1126
319
  * Create a TimeBase Instance from a number, string or object representation of a time base
@@ -1129,13 +322,7 @@ var formatTimeBaseType = function formatTimeBaseType(timeBase) {
1129
322
  * @returns A TimeBase instance
1130
323
  *
1131
324
  * @category Time
1132
- */
1133
- var createTimeBase = function createTimeBase(timeBase) {
1134
- if (typeof timeBase === 'string' || typeof timeBase === 'number') {
1135
- return formatTimeBaseText(timeBase);
1136
- }
1137
- return formatTimeBaseType(timeBase);
1138
- };
325
+ */var createTimeBase=function createTimeBase(timeBase){if(typeof timeBase==='string'||typeof timeBase==='number'){return formatTimeBaseText(timeBase);}return formatTimeBaseType(timeBase);};
1139
326
 
1140
327
  /**
1141
328
  * @private
@@ -1144,11 +331,7 @@ var createTimeBase = function createTimeBase(timeBase) {
1144
331
  *
1145
332
  * @param timeBase Time base to get amount of frames to drop for
1146
333
  * @returns Amount of frame drops for specified time base, false if no frame drops
1147
- */
1148
- var getAmountOfFrameDrops = function getAmountOfFrameDrops(timeBase) {
1149
- var timeBaseConstant = timeBase.toConstant();
1150
- return timeBaseConstant === '59.94' && 4 || ['NTSC', '29.97'].includes(timeBaseConstant) && 2 || false;
1151
- };
334
+ */var getAmountOfFrameDrops=function getAmountOfFrameDrops(timeBase){var timeBaseConstant=timeBase.toConstant();return timeBaseConstant==='59.94'&&4||['NTSC','29.97'].includes(timeBaseConstant)&&2||false;};
1152
335
 
1153
336
  /**
1154
337
  * @private
@@ -1157,89 +340,24 @@ var getAmountOfFrameDrops = function getAmountOfFrameDrops(timeBase) {
1157
340
  *
1158
341
  * @param timeBase TimeBase Instance to check
1159
342
  * @returns true if time base drops frames, false otherwise
1160
- */
1161
- var isDropFrameTimeBase = function isDropFrameTimeBase(timeBase) {
1162
- return getAmountOfFrameDrops(timeBase) > 0;
1163
- };
1164
-
1165
- var _excluded$6 = ["hours"];
1166
- var getDroppedFramesFromSamples = function getDroppedFramesFromSamples(timeCode) {
1167
- var samples = timeCode.samples,
1168
- timeBase = timeCode.timeBase;
1169
- var amountOfFrameDrops = getAmountOfFrameDrops(timeBase);
1170
- if (!amountOfFrameDrops) return 0;
1171
- var roundedFrameRate = timeBase.toRate({
1172
- rounded: true
1173
- });
1174
- var oneMinuteNotDroppedFrames = 60 * roundedFrameRate;
1175
- var amountOfFramesToDropPerMinute = 60 * roundedFrameRate - amountOfFrameDrops;
1176
- var tenMinuteFrames = 10 * (oneMinuteNotDroppedFrames - amountOfFrameDrops) + amountOfFrameDrops;
1177
- var amountOfTenMinuteChunks = Math.floor((samples + 1) / tenMinuteFrames);
1178
- var minuteRemainder = Math.max(0, (samples + 1) % tenMinuteFrames - oneMinuteNotDroppedFrames);
1179
- var amountOfOneMinuteReminderChunks = Math.floor(minuteRemainder / amountOfFramesToDropPerMinute);
1180
- var frameRemainder = minuteRemainder % amountOfFramesToDropPerMinute;
1181
- var amountOfFrameRemainderChunks = frameRemainder > 0 ? amountOfFrameDrops : 0;
1182
- return amountOfTenMinuteChunks * 9 * amountOfFrameDrops + amountOfOneMinuteReminderChunks * amountOfFrameDrops + amountOfFrameRemainderChunks;
1183
- };
1184
- /**
343
+ */var isDropFrameTimeBase=function isDropFrameTimeBase(timeBase){return getAmountOfFrameDrops(timeBase)>0;};
344
+
345
+ var _excluded$6=["hours"];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;};/**
1185
346
  * TimeCode class representing the TimeCodeType in VidiCore
1186
347
  *
1187
348
  * For more info, see the [Time Codes section of VidiCore API Docs](https://apidoc.vidispine.com/latest/time.html#time-codes)
1188
349
  *
1189
350
  * @category Time
1190
- */
1191
- var TimeCode = /*#__PURE__*/function () {
1192
- // Amount of samples for the time code
1193
-
1194
- // The time base for the time code
1195
-
1196
- // If time code is dropFrame or not (by default checks timeBase)
1197
-
1198
- // Separator for frame in smpte output (default ":" for non-drop-frame and ";" for dropFrame)
1199
-
1200
- /**
351
+ */var TimeCode=/*#__PURE__*/function(){// Amount of samples for the time code
352
+ // The time base for the time code
353
+ // If time code is dropFrame or not (by default checks timeBase)
354
+ // Separator for frame in smpte output (default ":" for non-drop-frame and ";" for dropFrame)
355
+ /**
1201
356
  * Constructor for TimeCode
1202
357
  *
1203
358
  * @param timeCodeType Object to create TimeCode of
1204
359
  * @param options Options for the timeCode
1205
- */
1206
- function TimeCode(timeCodeType, options) {
1207
- var _options$dropFrame, _options$frameSeparat;
1208
- _classCallCheck__default["default"](this, TimeCode);
1209
- _defineProperty__default["default"](this, "samples", 0);
1210
- _defineProperty__default["default"](this, "timeBase", new TimeBase());
1211
- _defineProperty__default["default"](this, "dropFrame", void 0);
1212
- _defineProperty__default["default"](this, "frameSeparator", void 0);
1213
- var _ref = timeCodeType || {},
1214
- samples = _ref.samples,
1215
- timeBase = _ref.timeBase;
1216
- if (samples !== undefined) {
1217
- if (typeof samples === 'number') {
1218
- this.samples = samples;
1219
- } else if (typeof samples === 'string') {
1220
- if (samples === '-INF') {
1221
- this.samples = -Infinity;
1222
- } else if (samples === '+INF') {
1223
- this.samples = Infinity;
1224
- } else {
1225
- this.samples = Number(samples);
1226
- }
1227
- } else {
1228
- throw new Error("samples is not number/string/-Inf/+Inf is: ".concat(samples));
1229
- }
1230
- }
1231
- if (timeBase !== undefined) {
1232
- if (timeBase instanceof TimeBase) {
1233
- this.timeBase = timeBase;
1234
- } else {
1235
- this.timeBase = createTimeBase(timeBase);
1236
- }
1237
- }
1238
- this.dropFrame = (_options$dropFrame = options === null || options === void 0 ? void 0 : options.dropFrame) !== null && _options$dropFrame !== void 0 ? _options$dropFrame : isDropFrameTimeBase(this.timeBase);
1239
- this.frameSeparator = (_options$frameSeparat = options === null || options === void 0 ? void 0 : options.frameSeparator) !== null && _options$frameSeparat !== void 0 ? _options$frameSeparat : this.dropFrame ? ';' : ':';
1240
- }
1241
-
1242
- /**
360
+ */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?';':':';}/**
1243
361
  * Return this TimeCode added with the supplied timeCodeType
1244
362
  * If time bases differ, it will retain the time base of this TimeCode instance
1245
363
  * If supplied time code has a more granular time base - it will round down exceeding samples (hasn't reached that sample yet)
@@ -1250,351 +368,84 @@ var TimeCode = /*#__PURE__*/function () {
1250
368
  *
1251
369
  * @param timeCode A TimeCode instance you want to add with
1252
370
  * @returns A new TimeCode instance with the addition applied
1253
- */
1254
- _createClass__default["default"](TimeCode, [{
1255
- key: "add",
1256
- value: function add(timeCode) {
1257
- if (!(timeCode !== null && timeCode !== void 0 && timeCode.timeBase) || (timeCode === null || timeCode === void 0 ? void 0 : timeCode.samples) === undefined) {
1258
- throw Error('Invalid timeCodeType, cannot be added');
1259
- }
1260
- var _ref2 = (timeCode === null || timeCode === void 0 ? void 0 : timeCode.timeBase) || {},
1261
- numerator = _ref2.numerator,
1262
- denominator = _ref2.denominator;
1263
- var conformedTimeCode = timeCode;
1264
- if (numerator !== this.timeBase.numerator || denominator !== this.timeBase.denominator) {
1265
- conformedTimeCode = timeCode.conformTimeBase(this.timeBase);
1266
- }
1267
- var _conformedTimeCode = conformedTimeCode,
1268
- samples = _conformedTimeCode.samples;
1269
- return new TimeCode({
1270
- samples: this.samples + samples,
1271
- timeBase: this.timeBase
1272
- });
1273
- }
1274
-
1275
- /**
1276
- * Return this TimeCode subtracted with the supplied timeCodeType
1277
- * If time bases differ, it will retain the time base of the instance time code
1278
- * If supplied time code has a more granular time base - it will round down exceeding samples (hasn't reached that sample yet)
1279
- *
1280
- * Note: This might make you "lose" frames depending on granularity of time bases, e.g.
1281
- * "101@50".subtract("25@25") => "51@50"
1282
- * while "50@25".subtract("51@50") => "25@25" (not "49@50")
1283
- *
1284
- * @param timeCode A TimeCode instance you want to subtract with
1285
- * @returns A new TimeCode instance with the subtraction applied
1286
- */
1287
- }, {
1288
- key: "subtract",
1289
- value: function subtract(timeCode) {
1290
- if (!(timeCode !== null && timeCode !== void 0 && timeCode.timeBase) || (timeCode === null || timeCode === void 0 ? void 0 : timeCode.samples) === undefined) {
1291
- throw Error('Invalid timeCodeType, cannot be subtracted');
1292
- }
1293
- var _timeCode$timeBase = timeCode.timeBase;
1294
- _timeCode$timeBase = _timeCode$timeBase === void 0 ? {} : _timeCode$timeBase;
1295
- var numerator = _timeCode$timeBase.numerator,
1296
- denominator = _timeCode$timeBase.denominator;
1297
- var conformedTimeCode = timeCode;
1298
- if (numerator !== this.timeBase.numerator || denominator !== this.timeBase.denominator) {
1299
- conformedTimeCode = timeCode.conformTimeBase(this.timeBase);
1300
- }
1301
- var _conformedTimeCode2 = conformedTimeCode,
1302
- samples = _conformedTimeCode2.samples;
1303
- return new TimeCode({
1304
- samples: this.samples - samples,
1305
- timeBase: this.timeBase
1306
- });
1307
- }
1308
-
1309
- /**
1310
- * Creates a new TimeCode instance with specified timeBase and samples adjusted to that.
1311
- *
1312
- * If it conforms to a less granular time base - it will floor samples (hasn't reached that sample yet)
1313
- * - e.g. "51@50".conformTo("PAL") => "25@PAL" (not "26@PAL")
1314
- *
1315
- * @param timeBase The TimeBase it should conform the TimeCode to
1316
- * @returns A new TimeCode instance with the conformTo timeBase applied
1317
- */
1318
- }, {
1319
- key: "conformTimeBase",
1320
- value: function conformTimeBase(timeBase) {
1321
- var conformToTimeBase = timeBase instanceof TimeBase ? timeBase : createTimeBase(timeBase);
1322
- var samples = Math.floor(this.samples / (this.timeBase.toRate({
1323
- fixed: false
1324
- }) / conformToTimeBase.toRate({
1325
- fixed: false
1326
- })));
1327
- var timeCode = {
1328
- samples: samples,
1329
- timeBase: conformToTimeBase
1330
- };
1331
- return new TimeCode(timeCode);
1332
- }
1333
-
1334
- /**
1335
- * Get TimeCode as a text representation
1336
- *
1337
- * @remarks
1338
- * Default format: samples@denominator(:numerator if > 1)
1339
- *
1340
- * `constant` has precedence over `fraction` if both are true
1341
- *
1342
- * @param options Options for how to format text
1343
- * @returns Text representation of TimeCode
1344
- *
1345
- * @category Time
1346
- */
1347
- }, {
1348
- key: "toText",
1349
- value: function toText(options) {
1350
- var timeCodeText = "".concat(this.samples);
1351
- var timeBaseText = this.timeBase.toText(options);
1352
- if (options !== null && options !== void 0 && options.includeTimeBaseForSeconds || !['1', '1:1'].includes(timeBaseText)) {
1353
- timeCodeText = [this.samples, timeBaseText].join('@');
1354
- }
1355
- return timeCodeText;
1356
- }
1357
-
1358
- /**
1359
- * Get TimeCode in a units object representation
1360
- *
1361
- * @returns Units (time and frames) for the time code
1362
- */
1363
- }, {
1364
- key: "toUnits",
1365
- value: function toUnits() {
1366
- var totalSamples = this.samples + (this.dropFrame ? getDroppedFramesFromSamples(this) : 0);
1367
- var roundedFrameRate = this.timeBase.toRate({
1368
- rounded: true
1369
- });
1370
-
1371
- // Calculated without drop-frame but with 2 decimal places
1372
- if (['23.976', '23.98'].includes(this.timeBase.toConstant())) {
1373
- roundedFrameRate = this.timeBase.toRate({
1374
- fixed: true
1375
- });
1376
- }
1377
- var hours = Math.floor(totalSamples / (3600 * roundedFrameRate));
1378
- var minutes = Math.floor(totalSamples / (60 * roundedFrameRate)) % 60;
1379
- var seconds = Math.floor(totalSamples / roundedFrameRate) % 60;
1380
- var frames = Math.floor(totalSamples % roundedFrameRate);
1381
- return {
1382
- hours: hours,
1383
- minutes: minutes,
1384
- seconds: seconds,
1385
- frames: frames
1386
- };
1387
- }
1388
-
1389
- /**
1390
- * Get TimeCode in a time object representation
1391
- * "milliseconds" is rounded down, if you want another representation use "partialSeconds"
1392
- *
1393
- * @returns Time for the time code
1394
- */
1395
- }, {
1396
- key: "toTime",
1397
- value: function toTime() {
1398
- var totalSamples = this.samples + getDroppedFramesFromSamples(this);
1399
- var _this$toUnits = this.toUnits(),
1400
- hours = _this$toUnits.hours,
1401
- minutes = _this$toUnits.minutes,
1402
- seconds = _this$toUnits.seconds;
1403
- var roundedFrameRate = this.timeBase.toRate({
1404
- rounded: true
1405
- });
1406
- var framesPrecise = totalSamples % roundedFrameRate;
1407
- var milliseconds = Math.floor(1000 * framesPrecise / roundedFrameRate);
1408
- var partialSeconds = framesPrecise / roundedFrameRate;
1409
- return {
1410
- hours: hours,
1411
- minutes: minutes,
1412
- seconds: seconds,
1413
- milliseconds: milliseconds,
1414
- partialSeconds: partialSeconds
1415
- };
1416
- }
1417
-
1418
- /**
1419
- * Get TimeCode in a seconds representation
1420
- *
1421
- * @returns Total seconds for the time code
1422
- */
1423
- }, {
1424
- key: "toSeconds",
1425
- value: function toSeconds() {
1426
- var _this$timeBase = this.timeBase,
1427
- numerator = _this$timeBase.numerator,
1428
- denominator = _this$timeBase.denominator;
1429
- return Math.round(1000 * +(this.samples * numerator / denominator)) / 1000;
1430
- }
1431
-
1432
- /**
1433
- * Get TimeCode in a duration representation
1434
- * The time unit char keys for the format string are:
1435
- * - "h" for hour
1436
- * - "m" for minute
1437
- * - "s" for seconds
1438
- * - "S" for milliseconds
1439
- * Any other char will be kept in the duration output string.
1440
- *
1441
- * Add consecutive chars for zero padding.
1442
- *
1443
- * By default it:
1444
- * - uses colon delimiter (e.g. for format "hhmmss")
1445
- * - shows "m:ss" or "h:mm:ss" if format is undefined
1446
- *
1447
- * @param options Options for how to display duration
1448
- * @returns Duration representation of the TimeCode
1449
- */
1450
- }, {
1451
- key: "toDuration",
1452
- value: function toDuration(options) {
1453
- var _ref3 = options || {},
1454
- format = _ref3.format;
1455
- var _this$toTime = this.toTime(),
1456
- hours = _this$toTime.hours,
1457
- rest = _objectWithoutProperties__default["default"](_this$toTime, _excluded$6);
1458
- var minutes = rest.minutes,
1459
- seconds = rest.seconds,
1460
- milliseconds = rest.milliseconds;
1461
- if (!!format && typeof format !== 'string') {
1462
- throw Error('format has to be a string');
1463
- }
1464
- var isBefore = function isBefore(unit, units) {
1465
- return !format.includes(unit) || !units.some(function (u) {
1466
- return format.includes(u) && format.lastIndexOf(unit) > format.indexOf(u);
1467
- });
1468
- };
1469
- if (!!format && !(isBefore('h', ['m', 's', 'S']) && isBefore('m', ['s', 'S']) && isBefore('s', ['S']))) {
1470
- throw Error('format order is unsupported (has to be h, m, s then S)');
1471
- }
1472
- if (!format) {
1473
- return "".concat(hours > 0 ? "".concat(hours, ":").concat("".concat(minutes).padStart(2, '0')) : minutes, ":").concat("".concat(seconds).padStart(2, '0'));
1474
- }
1475
- var countConsecutiveChars = function countConsecutiveChars(i, arr) {
1476
- var j = i;
1477
- while (arr[j] === arr[j + 1]) {
1478
- j += 1;
1479
- }
1480
- return j - i + 1;
1481
- };
1482
- var timeUnitKeys = ['h', 'm', 's', 'S'];
1483
- var output = [];
1484
- _toConsumableArray__default["default"](format).forEach(function (c, i, arr) {
1485
- switch (c) {
1486
- case 'h':
1487
- {
1488
- if (arr[i - 1] === 'h') {
1489
- break;
1490
- }
1491
- var amount = countConsecutiveChars(i, arr);
1492
- output.push("".concat(hours).padStart(amount, '0'));
1493
- if (timeUnitKeys.includes(arr[i + amount])) {
1494
- output.push(':');
1495
- }
1496
- break;
1497
- }
1498
- case 'm':
1499
- {
1500
- if (arr[i - 1] === 'm') {
1501
- break;
1502
- }
1503
- var _amount = countConsecutiveChars(i, arr);
1504
- if (!format.includes('h')) {
1505
- minutes += hours * 60;
1506
- }
1507
- output.push("".concat(minutes).padStart(_amount, '0'));
1508
- if (timeUnitKeys.includes(arr[i + _amount])) {
1509
- output.push(':');
1510
- }
1511
- break;
1512
- }
1513
- case 's':
1514
- {
1515
- if (arr[i - 1] === 's') {
1516
- break;
1517
- }
1518
- var _amount2 = countConsecutiveChars(i, arr);
1519
- if (!format.includes('m')) {
1520
- seconds += minutes * 60;
1521
- }
1522
- output.push("".concat(seconds).padStart(_amount2, '0'));
1523
- if (timeUnitKeys.includes(arr[i + _amount2])) {
1524
- output.push('.');
1525
- }
1526
- break;
1527
- }
1528
- case 'S':
1529
- {
1530
- if (arr[i - 1] === 'S') {
1531
- break;
1532
- }
1533
- var _amount3 = countConsecutiveChars(i, arr);
1534
- if (!format.includes('s')) {
1535
- milliseconds += seconds * 1000;
1536
- }
1537
- output.push("".concat(Math.round(milliseconds / Math.pow(10, 3 - _amount3))).padStart(_amount3, '0'));
1538
- break;
1539
- }
1540
- default:
1541
- output.push(c);
1542
- }
1543
- });
1544
- return output.join('');
1545
- }
1546
-
1547
- /**
1548
- * Get TimeCode in a smpte representation
1549
- *
1550
- * @returns Smpte representation of the TimeCode
1551
- */
1552
- }, {
1553
- key: "toSmpte",
1554
- value: function toSmpte() {
1555
- if (this.samples === -Infinity) return '00:00:00:00';
1556
- var _this$toUnits2 = this.toUnits(),
1557
- hours = _this$toUnits2.hours,
1558
- minutes = _this$toUnits2.minutes,
1559
- seconds = _this$toUnits2.seconds,
1560
- frames = _this$toUnits2.frames;
1561
- var hhmmss = [hours.toFixed().padStart(2, '0'), minutes.toFixed().padStart(2, '0'), seconds.toFixed().padStart(2, '0')].join(':');
1562
- return [hhmmss, "".concat(frames).padStart(2, '0')].join(this.frameSeparator);
1563
- }
1564
-
1565
- /**
1566
- * Get TimeCode as a VidiCore TimeCodeType object
1567
- *
1568
- * @returns TimeCode as `{ samples, timeBase }`
1569
- */
1570
- }, {
1571
- key: "toObject",
1572
- value: function toObject() {
1573
- return {
1574
- samples: this.samples,
1575
- timeBase: this.timeBase.toObject()
1576
- };
1577
- }
1578
-
1579
- /**
1580
- * @deprecated Use {@link TimeCode#toObject | toObject} instead
1581
- *
1582
- * @returns TimeCode as `{ samples, timeBase }`
1583
- */
1584
- }, {
1585
- key: "toJson",
1586
- value: function toJson() {
1587
- // eslint-disable-next-line no-console
1588
- console.warn('Deprecated - use toObject instead');
1589
- return this.toObject();
1590
- }
1591
- }]);
1592
- return TimeCode;
1593
- }();
1594
-
1595
- /* eslint-disable no-self-assign */
371
+ */_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});}/**
372
+ * Return this TimeCode subtracted with the supplied timeCodeType
373
+ * If time bases differ, it will retain the time base of the instance time code
374
+ * If supplied time code has a more granular time base - it will round down exceeding samples (hasn't reached that sample yet)
375
+ *
376
+ * Note: This might make you "lose" frames depending on granularity of time bases, e.g.
377
+ * "101@50".subtract("25@25") => "51@50"
378
+ * while "50@25".subtract("51@50") => "25@25" (not "49@50")
379
+ *
380
+ * @param timeCode A TimeCode instance you want to subtract with
381
+ * @returns A new TimeCode instance with the subtraction applied
382
+ */},{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});}/**
383
+ * Creates a new TimeCode instance with specified timeBase and samples adjusted to that.
384
+ *
385
+ * If it conforms to a less granular time base - it will floor samples (hasn't reached that sample yet)
386
+ * - e.g. "51@50".conformTo("PAL") => "25@PAL" (not "26@PAL")
387
+ *
388
+ * @param timeBase The TimeBase it should conform the TimeCode to
389
+ * @returns A new TimeCode instance with the conformTo timeBase applied
390
+ */},{key:"conformTimeBase",value:function conformTimeBase(timeBase){var conformToTimeBase=timeBase instanceof TimeBase?timeBase:createTimeBase(timeBase);var samples=Math.floor(this.samples/(this.timeBase.toRate({fixed:false})/conformToTimeBase.toRate({fixed:false})));var timeCode={samples:samples,timeBase:conformToTimeBase};return new TimeCode(timeCode);}/**
391
+ * Get TimeCode as a text representation
392
+ *
393
+ * @remarks
394
+ * Default format: samples@denominator(:numerator if > 1)
395
+ *
396
+ * `constant` has precedence over `fraction` if both are true
397
+ *
398
+ * @param options Options for how to format text
399
+ * @returns Text representation of TimeCode
400
+ *
401
+ * @category Time
402
+ */},{key:"toText",value:function toText(options){var timeCodeText="".concat(this.samples);var timeBaseText=this.timeBase.toText(options);if(options!==null&&options!==void 0&&options.includeTimeBaseForSeconds||!['1','1:1'].includes(timeBaseText)){timeCodeText=[this.samples,timeBaseText].join('@');}return timeCodeText;}/**
403
+ * Get TimeCode in a units object representation
404
+ *
405
+ * @returns Units (time and frames) for the time code
406
+ */},{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
407
+ 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};}/**
408
+ * Get TimeCode in a time object representation
409
+ * "milliseconds" is rounded down, if you want another representation use "partialSeconds"
410
+ *
411
+ * @returns Time for the time code
412
+ */},{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};}/**
413
+ * Get TimeCode in a seconds representation
414
+ *
415
+ * @returns Total seconds for the time code
416
+ */},{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;}/**
417
+ * Get TimeCode in a duration representation
418
+ * The time unit char keys for the format string are:
419
+ * - "h" for hour
420
+ * - "m" for minute
421
+ * - "s" for seconds
422
+ * - "S" for milliseconds
423
+ * Any other char will be kept in the duration output string.
424
+ *
425
+ * Add consecutive chars for zero padding.
426
+ *
427
+ * By default it:
428
+ * - uses colon delimiter (e.g. for format "hhmmss")
429
+ * - shows "m:ss" or "h:mm:ss" if format is undefined
430
+ *
431
+ * @param options Options for how to display duration
432
+ * @returns Duration representation of the TimeCode
433
+ */},{key:"toDuration",value:function toDuration(options){var _ref3=options||{},format=_ref3.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('');}/**
434
+ * Get TimeCode in a smpte representation
435
+ *
436
+ * @returns Smpte representation of the TimeCode
437
+ */},{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(':');return [hhmmss,"".concat(frames).padStart(2,'0')].join(this.frameSeparator);}/**
438
+ * Get TimeCode as a VidiCore TimeCodeType object
439
+ *
440
+ * @returns TimeCode as `{ samples, timeBase }`
441
+ */},{key:"toObject",value:function toObject(){return {samples:this.samples,timeBase:this.timeBase.toObject()};}/**
442
+ * @deprecated Use {@link TimeCode#toObject | toObject} instead
443
+ *
444
+ * @returns TimeCode as `{ samples, timeBase }`
445
+ */},{key:"toJson",value:function toJson(){// eslint-disable-next-line no-console
446
+ console.warn('Deprecated - use toObject instead');return this.toObject();}}]);return TimeCode;}();
1596
447
 
1597
- /**
448
+ /* eslint-disable no-self-assign */ /**
1598
449
  * @private
1599
450
  *
1600
451
  * Using Euclid's algorithm
@@ -1602,26 +453,9 @@ var TimeCode = /*#__PURE__*/function () {
1602
453
  * @param num1 a number
1603
454
  * @param num2 another number
1604
455
  * @returns The greatest common divisor of num1 and num2
1605
- */
1606
- var getGreatestCommonDivisor = function getGreatestCommonDivisor(num1, num2) {
1607
- var a = Math.abs(num1);
1608
- var b = Math.abs(num2);
1609
- while (a && b && a !== b) {
1610
- if (a > b) {
1611
- var _ref = [a - b, b];
1612
- a = _ref[0];
1613
- b = _ref[1];
1614
- } else {
1615
- var _ref2 = [a, b - a];
1616
- a = _ref2[0];
1617
- b = _ref2[1];
1618
- }
1619
- }
1620
- return a || b;
1621
- };
1622
-
1623
- var _excluded$5 = ["timeBase", "useGCD"];
1624
- /**
456
+ */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;};
457
+
458
+ var _excluded$5=["timeBase","useGCD"];/**
1625
459
  * Format seconds to TimeCode object
1626
460
  *
1627
461
  * @remarks
@@ -1637,117 +471,13 @@ var _excluded$5 = ["timeBase", "useGCD"];
1637
471
  * @returns A TimeCode instance
1638
472
  *
1639
473
  * @category Time
1640
- */
1641
- var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds, options) {
1642
- var _ref = options || {},
1643
- timeBase = _ref.timeBase,
1644
- _ref$useGCD = _ref.useGCD,
1645
- useGCD = _ref$useGCD === void 0 ? false : _ref$useGCD,
1646
- timeCodeOptions = _objectWithoutProperties__default["default"](_ref, _excluded$5);
1647
- var secondsWithDot = "".concat(seconds).replace(/,/g, '.');
1648
- if (Number.isNaN(+secondsWithDot)) {
1649
- throw new Error("seconds must be digits, is ".concat(seconds));
1650
- }
1651
- var denominator = 1;
1652
- var samples;
1653
- if (Number.isInteger(+secondsWithDot)) {
1654
- samples = +secondsWithDot * denominator;
1655
- } else {
1656
- var _ms$length;
1657
- var _secondsWithDot$split = secondsWithDot.split('.'),
1658
- _secondsWithDot$split2 = _slicedToArray__default["default"](_secondsWithDot$split, 2),
1659
- ms = _secondsWithDot$split2[1];
1660
- var decimalPlaces = Math.min((_ms$length = ms === null || ms === void 0 ? void 0 : ms.length) !== null && _ms$length !== void 0 ? _ms$length : 0, 16);
1661
- denominator *= Math.pow(10, decimalPlaces);
1662
- samples = Math.round(Number(secondsWithDot) * denominator);
1663
- }
1664
- if (timeBase === undefined && useGCD) {
1665
- var gcd = getGreatestCommonDivisor(denominator, samples);
1666
- samples /= gcd;
1667
- denominator /= gcd;
1668
- }
1669
- var timeCode = new TimeCode({
1670
- samples: samples,
1671
- timeBase: {
1672
- denominator: denominator,
1673
- numerator: 1
1674
- }
1675
- }, timeCodeOptions);
1676
- return timeBase !== undefined ? timeCode.conformTimeBase(createTimeBase(timeBase)) : timeCode;
1677
- };
1678
-
1679
- var getDroppedFramesFromSmpte = function getDroppedFramesFromSmpte(_ref, samples, timeBase) {
1680
- var _ref2 = _slicedToArray__default["default"](_ref, 4),
1681
- hh = _ref2[0],
1682
- mm = _ref2[1],
1683
- ss = _ref2[2],
1684
- ff = _ref2[3];
1685
- var roundedFrameRate = timeBase.toRate({
1686
- rounded: true
1687
- });
1688
- var dropFrames = getAmountOfFrameDrops(timeBase);
1689
- if (samples === 0 || !dropFrames) {
1690
- return 0;
1691
- }
1692
- var shouldDropMinute = mm % 10 !== 0;
1693
- var shouldDropSecond = shouldDropMinute && ss === 0;
1694
- var hourFrames = hh * (3600 * roundedFrameRate - 54 * dropFrames);
1695
- var minuteFrames = mm * 60 * roundedFrameRate - (mm - Math.ceil(mm / 10)) * dropFrames;
1696
- var secondFrames = ss * roundedFrameRate - (shouldDropMinute && ss > 1 ? dropFrames : 0);
1697
- if (shouldDropSecond && ff < dropFrames) {
1698
- throw new Error("Frame does not exist for ".concat(timeBase.toConstant() || timeBase.toRate(), " drop-frame"));
1699
- }
1700
- var frameFrames = shouldDropSecond ? ff - dropFrames : ff;
1701
- var samplesWithoutDroppedFrames = hourFrames + minuteFrames + secondFrames + frameFrames;
1702
- return samples - samplesWithoutDroppedFrames;
1703
- };
1704
- var getSamplesFromSmpte = function getSamplesFromSmpte(smpteValues, timeBase, dropFrame) {
1705
- var _smpteValues = _slicedToArray__default["default"](smpteValues, 4),
1706
- hh = _smpteValues[0],
1707
- mm = _smpteValues[1],
1708
- ss = _smpteValues[2],
1709
- ff = _smpteValues[3];
1710
- var roundedFrameRate = timeBase.toRate({
1711
- rounded: true
1712
- });
1713
- var samples = hh * 3600 * roundedFrameRate + mm * 60 * roundedFrameRate + ss * roundedFrameRate + ff;
1714
- return samples - (dropFrame ? getDroppedFramesFromSmpte(smpteValues, samples, timeBase) : 0);
1715
- };
1716
-
1717
- var splitSmpte = function splitSmpte(smpte) {
1718
- var _ref = (smpte === null || smpte === void 0 ? void 0 : smpte.match(/[^0-9:\-_]/)) || [],
1719
- _ref2 = _slicedToArray__default["default"](_ref, 1),
1720
- nonColonFrameSeparator = _ref2[0];
1721
- var smpteValues = [];
1722
- if (nonColonFrameSeparator) {
1723
- var _smpte$split = smpte.split(nonColonFrameSeparator),
1724
- _smpte$split2 = _slicedToArray__default["default"](_smpte$split, 2),
1725
- hhmmss = _smpte$split2[0],
1726
- ff = _smpte$split2[1];
1727
- smpteValues = [].concat(_toConsumableArray__default["default"](hhmmss.split(':')), [ff]);
1728
- } else {
1729
- smpteValues = smpte.split(':');
1730
- }
1731
- if (smpteValues.length !== 4) {
1732
- throw new Error('Invalid format, must be "##:##:##:##');
1733
- }
1734
- if (smpteValues.some(function (n) {
1735
- return Number.isNaN(n);
1736
- })) {
1737
- throw new Error('Invalid format, values must be numbers');
1738
- }
1739
- var smpteFrameSeparator = nonColonFrameSeparator || ':';
1740
- return {
1741
- smpteValues: smpteValues.map(Number),
1742
- smpteFrameSeparator: smpteFrameSeparator
1743
- };
1744
- };
1745
-
1746
- var _excluded$4 = ["exceedingMode", "timeBase"];
1747
- 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; }
1748
- 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; }
1749
- var EXCEEDING_OPTIONS = ['error', 'add', 'ignore'];
1750
- /**
474
+ */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)):timeCode;};
475
+
476
+ 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);};
477
+
478
+ 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};};
479
+
480
+ var _excluded$4=["exceedingMode","timeBase"];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 EXCEEDING_OPTIONS=['error','add','ignore'];/**
1751
481
  * Format smpte text to a TimeCode Instance
1752
482
  *
1753
483
  * exceedingMode:
@@ -1760,139 +490,15 @@ var EXCEEDING_OPTIONS = ['error', 'add', 'ignore'];
1760
490
  * @returns TimeCode instance created from smpte string
1761
491
  *
1762
492
  * @category Time
1763
- */
1764
- var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte, options) {
1765
- var _ref = options || {},
1766
- _ref$exceedingMode = _ref.exceedingMode,
1767
- exceedingMode = _ref$exceedingMode === void 0 ? 'error' : _ref$exceedingMode,
1768
- timeBase = _ref.timeBase,
1769
- timeCodeOptions = _objectWithoutProperties__default["default"](_ref, _excluded$4);
1770
- if ([null, undefined].includes(smpte)) {
1771
- throw new Error("smpte cannot be undefined or null");
1772
- }
1773
- if (typeof smpte !== 'string') {
1774
- throw new Error("smpte must be a string, is ".concat(JSON.stringify(smpte)));
1775
- }
1776
- var _splitSmpte = splitSmpte(smpte),
1777
- smpteValues = _splitSmpte.smpteValues,
1778
- smpteFrameSeparator = _splitSmpte.smpteFrameSeparator;
1779
- var timeBaseInstance = createTimeBase(timeBase);
1780
- var mergedOptions = _objectSpread$9(_objectSpread$9({}, timeCodeOptions), {}, {
1781
- frameSeparator: (timeCodeOptions === null || timeCodeOptions === void 0 ? void 0 : timeCodeOptions.frameSeparator) || smpteFrameSeparator
1782
- }, (timeCodeOptions === null || timeCodeOptions === void 0 ? void 0 : timeCodeOptions.dropFrame) === undefined ? {
1783
- dropFrame: timeBase !== undefined ? isDropFrameTimeBase(timeBaseInstance) : [';', ','].includes(smpteFrameSeparator)
1784
- } : {});
1785
- var roundedFrameRate = timeBaseInstance.toRate({
1786
- rounded: true
1787
- });
1788
- var maxFrame = Math.max(0, roundedFrameRate - 1);
1789
- if (smpteValues.some(function (v) {
1790
- return v < 0;
1791
- })) {
1792
- throw new Error('Negative values are not supported');
1793
- }
1794
- var samples;
1795
- switch (exceedingMode) {
1796
- case 'error':
1797
- {
1798
- var _smpteValues = _slicedToArray__default["default"](smpteValues, 4),
1799
- hours = _smpteValues[0],
1800
- minutes = _smpteValues[1],
1801
- seconds = _smpteValues[2],
1802
- frames = _smpteValues[3];
1803
- if (hours >= 100) {
1804
- throw Error('Minutes has to be less than 60');
1805
- }
1806
- if (minutes >= 60) {
1807
- throw Error('Minutes has to be less than 60');
1808
- }
1809
- if (seconds >= 60) {
1810
- throw Error('Seconds has to be less than 60');
1811
- }
1812
- if (frames > maxFrame) {
1813
- throw Error("Frames has to be less or equal to ".concat(maxFrame));
1814
- }
1815
- samples = getSamplesFromSmpte(smpteValues, timeBaseInstance, mergedOptions === null || mergedOptions === void 0 ? void 0 : mergedOptions.dropFrame);
1816
- break;
1817
- }
1818
- case 'ignore':
1819
- {
1820
- var _smpteValues2 = _slicedToArray__default["default"](smpteValues, 4),
1821
- _hours = _smpteValues2[0],
1822
- _minutes = _smpteValues2[1],
1823
- _seconds = _smpteValues2[2],
1824
- _frames = _smpteValues2[3];
1825
- var truncatedSmpteValues = [Math.min(100, _hours), Math.min(59, _minutes), Math.min(59, _seconds), Math.min(maxFrame, _frames)];
1826
- samples = getSamplesFromSmpte(truncatedSmpteValues, timeBaseInstance, mergedOptions === null || mergedOptions === void 0 ? void 0 : mergedOptions.dropFrame);
1827
- break;
1828
- }
1829
- case 'add':
1830
- {
1831
- samples = getSamplesFromSmpte(smpteValues, timeBaseInstance, mergedOptions === null || mergedOptions === void 0 ? void 0 : mergedOptions.dropFrame);
1832
- break;
1833
- }
1834
- default:
1835
- {
1836
- throw new Error("Invalid exceedingMode, options are ".concat(JSON.stringify(EXCEEDING_OPTIONS)));
1837
- }
1838
- }
1839
- return new TimeCode({
1840
- samples: samples,
1841
- timeBase: timeBaseInstance
1842
- }, mergedOptions);
1843
- };
1844
-
1845
- var _excluded$3 = ["timeBase"];
1846
- /**
493
+ */var formatTimeCodeSmpte=function formatTimeCodeSmpte(smpte,options){var _ref=options||{},_ref$exceedingMode=_ref.exceedingMode,exceedingMode=_ref$exceedingMode===void 0?'error':_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$9(_objectSpread$9({},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);};
494
+
495
+ var _excluded$3=["timeBase"];/**
1847
496
  * Format text to a TimeCode instance
1848
497
  *
1849
498
  * @returns A TimeCode instance
1850
499
  *
1851
500
  * @category Time
1852
- */
1853
- var formatTimeCodeText = function formatTimeCodeText(timeCodeText, options) {
1854
- var _timeCodeObject;
1855
- var _ref = options || {},
1856
- timeBase = _ref.timeBase,
1857
- timeCodeOptions = _objectWithoutProperties__default["default"](_ref, _excluded$3);
1858
- var timeCodeObject;
1859
- if (timeCodeText === undefined) {
1860
- timeCodeObject = {
1861
- samples: 0
1862
- };
1863
- } else if (typeof timeCodeText === 'number') {
1864
- timeCodeObject = {
1865
- samples: timeCodeText
1866
- };
1867
- } else if (timeCodeText.includes('@')) {
1868
- var _timeCodeText$split = timeCodeText.split('@'),
1869
- _timeCodeText$split2 = _slicedToArray__default["default"](_timeCodeText$split, 2),
1870
- samplesString = _timeCodeText$split2[0],
1871
- timeBaseText = _timeCodeText$split2[1];
1872
- var samples = Number(samplesString);
1873
- timeCodeObject = {
1874
- samples: samples,
1875
- timeBase: formatTimeBaseText(timeBaseText)
1876
- };
1877
- } else if (timeCodeText === '-INF') {
1878
- timeCodeObject = {
1879
- samples: -Infinity
1880
- };
1881
- } else if (timeCodeText === '+INF') {
1882
- timeCodeObject = {
1883
- samples: Infinity
1884
- };
1885
- } else {
1886
- timeCodeObject = {
1887
- samples: Number(timeCodeText)
1888
- };
1889
- }
1890
- if (Number.isNaN((_timeCodeObject = timeCodeObject) === null || _timeCodeObject === void 0 ? void 0 : _timeCodeObject.samples) || timeCodeObject.timeBase && !(timeCodeObject.timeBase instanceof TimeBase)) {
1891
- throw new Error("timeCodeText must be a number or sample@timeBase - is ".concat(timeCodeText));
1892
- }
1893
- var timeCode = new TimeCode(timeCodeObject, timeCodeOptions);
1894
- return timeBase ? timeCode.conformTimeBase(createTimeBase(timeBase)) : timeCode;
1895
- };
501
+ */var formatTimeCodeText=function formatTimeCodeText(timeCodeText,options){var _timeCodeObject;var _ref=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)):timeCode;};
1896
502
 
1897
503
  /**
1898
504
  * Format an object to a TimeCode instance
@@ -1902,18 +508,9 @@ var formatTimeCodeText = function formatTimeCodeText(timeCodeText, options) {
1902
508
  * @returns A TimeCode instance
1903
509
  *
1904
510
  * @category Time
1905
- */
1906
- var formatTimeCodeType = function formatTimeCodeType(timeCode, options) {
1907
- return new TimeCode(timeCode, options);
1908
- };
1909
-
1910
- var hasSmpteFormat = function hasSmpteFormat(s) {
1911
- return !!s.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/);
1912
- };
1913
- var isNumber = function isNumber(s) {
1914
- return !Number.isNaN(Number(s));
1915
- };
1916
- /**
511
+ */var formatTimeCodeType=function formatTimeCodeType(timeCode,options){return new TimeCode(timeCode,options);};
512
+
513
+ 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));};/**
1917
514
  * Create a TimeCode instance from smpte, seconds/samples, timeCode object or string
1918
515
  *
1919
516
  * @param timeCode Smpte, seconds/samples, timeCode object or string
@@ -1921,42 +518,11 @@ var isNumber = function isNumber(s) {
1921
518
  * @returns A TimeCode instance
1922
519
  *
1923
520
  * @category Time
1924
- */
1925
- var createTimeCode = function createTimeCode(timeCode, options) {
1926
- // TimeCode
1927
- if (typeof timeCode !== 'string' && typeof timeCode !== 'number') return formatTimeCodeType(timeCode, options);
1928
- // SMPTE
1929
- if (typeof timeCode === 'string' && hasSmpteFormat(timeCode)) return formatTimeCodeSmpte(timeCode, options);
1930
- if (['string', 'number'].includes(_typeof__default["default"](timeCode)) && isNumber(timeCode)) return formatTimeCodeSeconds(timeCode, options);
1931
- if (typeof timeCode === 'string') {
1932
- return formatTimeCodeText(timeCode, options);
1933
- }
1934
- return undefined;
1935
- };
1936
-
1937
- 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; }
1938
- 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; }
1939
- function timeToCueTime(_ref) {
1940
- var _ref$hours = _ref.hours,
1941
- hours = _ref$hours === void 0 ? 0 : _ref$hours,
1942
- _ref$minutes = _ref.minutes,
1943
- minutes = _ref$minutes === void 0 ? 0 : _ref$minutes,
1944
- _ref$seconds = _ref.seconds,
1945
- seconds = _ref$seconds === void 0 ? 0 : _ref$seconds,
1946
- _ref$partialSeconds = _ref.partialSeconds,
1947
- partialSeconds = _ref$partialSeconds === void 0 ? 0 : _ref$partialSeconds;
1948
- var hourStr = hours.toFixed().padStart(2, '0');
1949
- var minStr = minutes.toFixed().padStart(2, '0');
1950
- var secondsStr = seconds.toFixed().padStart(2, '0');
1951
- var partialStr = (partialSeconds * 10).toFixed().padStart(3, '0');
1952
- return "".concat(hourStr, ":").concat(minStr, ":").concat(secondsStr, ".").concat(partialStr);
1953
- }
1954
- var defaultOptions$2 = {
1955
- subtitleGroup: 'stl_subtitle',
1956
- subtitleField: 'stl_text'
1957
- };
521
+ */var createTimeCode=function createTimeCode(timeCode,options){// TimeCode
522
+ if(typeof timeCode!=='string'&&typeof timeCode!=='number')return formatTimeCodeType(timeCode,options);// SMPTE
523
+ 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;};
1958
524
 
1959
- /**
525
+ 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'};/**
1960
526
  * Convert metadata subtitle groups to WebVtt subtitles
1961
527
  *
1962
528
  * @param metadataType - Vidicore metadata object (should include subtitleGroup and subtitleField)
@@ -1964,36 +530,7 @@ var defaultOptions$2 = {
1964
530
  * @returns WebVtt subtitles
1965
531
  *
1966
532
  * @category Metadata
1967
- */
1968
- var metadataTypeToWebVtt = function metadataTypeToWebVtt(metadataType, options) {
1969
- var _defaultOptions = _objectSpread$8(_objectSpread$8({}, defaultOptions$2), options || {}),
1970
- subtitleGroup = _defaultOptions.subtitleGroup,
1971
- subtitleField = _defaultOptions.subtitleField;
1972
- var _ref2 = metadataType || {},
1973
- _ref2$timespan = _ref2.timespan,
1974
- timespanList = _ref2$timespan === void 0 ? [] : _ref2$timespan;
1975
- if (timespanList.length === 0) return '';
1976
- var parsedTimespans = parseTimespanList(timespanList, {
1977
- includeTimespanAttributes: true,
1978
- sortTimespan: true,
1979
- timespanAsList: true,
1980
- overrideGroup: true,
1981
- joinValue: ','
1982
- });
1983
- var vttCues = parsedTimespans.map(function (timespan) {
1984
- var _ref3 = (Array.isArray(timespan) ? timespan[0] : timespan) || {},
1985
- startText = _ref3.start,
1986
- endText = _ref3.end,
1987
- _ref3$subtitleGroup = _ref3[subtitleGroup];
1988
- _ref3$subtitleGroup = _ref3$subtitleGroup === void 0 ? {} : _ref3$subtitleGroup;
1989
- var text = _ref3$subtitleGroup[subtitleField];
1990
- if (!text) return '';
1991
- var start = timeToCueTime(formatTimeCodeText(startText).toTime());
1992
- var end = timeToCueTime(formatTimeCodeText(endText).toTime());
1993
- return "".concat(start, " --> ").concat(end, " line:0%\r").concat(text, "\r");
1994
- });
1995
- return "WEBVTT\n\n\n".concat(vttCues.join('\n'));
1996
- };
533
+ */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'));};
1997
534
 
1998
535
  /**
1999
536
  * Create a Vidicore facet list
@@ -2003,109 +540,27 @@ var metadataTypeToWebVtt = function metadataTypeToWebVtt(metadataType, options)
2003
540
  * @returns A VidiCore facet list
2004
541
  *
2005
542
  * @category Search
2006
- */
2007
- var createFacetType = function createFacetType() {
2008
- var fieldList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
2009
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
2010
- count: true
2011
- };
2012
- return fieldList.map(function (field) {
2013
- return {
2014
- field: field,
2015
- name: field,
2016
- count: options.count !== undefined ? options === null || options === void 0 ? void 0 : options.count : true,
2017
- exclude: fieldList
2018
- };
2019
- });
2020
- };
2021
-
2022
- 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; }
2023
- 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; }
2024
- /** Parsed facet type */
543
+ */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};});};
2025
544
 
2026
- /**
545
+ 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 */ /**
2027
546
  * Parse a VidiCore facet type list
2028
547
  *
2029
548
  * @param facetType A facet type list to parse
2030
549
  * @returns A parsed facet type list
2031
550
  *
2032
551
  * @category Search
2033
- */
2034
- var parseFacetType = function parseFacetType() {
2035
- var facetType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
2036
- var output = {};
2037
- facetType.forEach(function (_ref) {
2038
- var name = _ref.name,
2039
- field = _ref.field,
2040
- count = _ref.count;
2041
- output[name || field] = count.reduce(function (acc, _ref2) {
2042
- var fieldValue = _ref2.fieldValue,
2043
- value = _ref2.value;
2044
- return _objectSpread$7(_objectSpread$7({}, acc), {}, _defineProperty__default["default"]({}, fieldValue, value));
2045
- }, {});
2046
- });
2047
- return output;
2048
- };
2049
-
2050
- 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; }
2051
- 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; }
2052
- var defaultOptions$1 = {
2053
- arrayOnSingle: true,
2054
- joinValue: undefined,
2055
- timespanAsList: false
2056
- };
552
+ */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;};
2057
553
 
2058
- /**
554
+ 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};/**
2059
555
  * Parses highlight timespan in VidiCore into key/value object.
2060
556
  * The attributes can be targeted for each sub-type.
2061
557
  * @param timespan - A VidiCore search timespan
2062
558
  * @param options - Options which change how the timespans are parsed
2063
559
  *
2064
560
  * @category Search
2065
- */
2066
- var parseHighlightTimespan = function parseHighlightTimespan(timespan, options) {
2067
- var _defaultOptions = _objectSpread$6(_objectSpread$6({}, defaultOptions$1), options || {}),
2068
- _defaultOptions$array = _defaultOptions.arrayOnSingle,
2069
- arrayOnSingle = _defaultOptions$array === void 0 ? true : _defaultOptions$array,
2070
- _defaultOptions$joinV = _defaultOptions.joinValue,
2071
- joinValue = _defaultOptions$joinV === void 0 ? undefined : _defaultOptions$joinV,
2072
- _defaultOptions$times = _defaultOptions.timespanAsList,
2073
- timespanAsList = _defaultOptions$times === void 0 ? false : _defaultOptions$times;
2074
- var _ref = timespan || {},
2075
- _ref$field = _ref.field,
2076
- field = _ref$field === void 0 ? [] : _ref$field,
2077
- start = _ref.start,
2078
- end = _ref.end;
2079
- var initialValue = timespanAsList ? {
2080
- start: start,
2081
- end: end
2082
- } : {};
2083
- var fieldList = field.reduce(function (acc, curr) {
2084
- var name = curr.name,
2085
- _curr$value = curr.value,
2086
- valueList = _curr$value === void 0 ? [] : _curr$value;
2087
- if (valueList.length === 0) return acc;
2088
- var fieldValue;
2089
- if (arrayOnSingle === false && valueList.length === 1) {
2090
- var _valueList = _slicedToArray__default["default"](valueList, 1);
2091
- fieldValue = _valueList[0];
2092
- } else if (joinValue) fieldValue = valueList.join(joinValue);else fieldValue = valueList;
2093
- return _objectSpread$6(_objectSpread$6({}, acc), {}, _defineProperty__default["default"]({}, name, fieldValue));
2094
- }, initialValue);
2095
- return fieldList;
2096
- };
2097
-
2098
- var _excluded$2 = ["timespanAsList", "joinTimespan", "flat", "flatTimespan"];
2099
- 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; }
2100
- 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; }
2101
- var defaultOptions = _objectSpread$5(_objectSpread$5({}, defaultOptions$1), {}, {
2102
- timespanAsList: false,
2103
- joinTimespan: '_',
2104
- flat: false,
2105
- flatTimespan: false
2106
- });
561
+ */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;};
2107
562
 
2108
- /**
563
+ 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});/**
2109
564
  * Parses highlight timespans from VidiCore into key/value object.
2110
565
  * The attributes can be targeted for each sub-type.
2111
566
  *
@@ -2113,29 +568,7 @@ var defaultOptions = _objectSpread$5(_objectSpread$5({}, defaultOptions$1), {},
2113
568
  * @param options - Options to change how the timespans are parsed
2114
569
  *
2115
570
  * @category Search
2116
- */
2117
- var parseHighlightTimespanList = function parseHighlightTimespanList() {
2118
- var highlightTimespanList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
2119
- var options = arguments.length > 1 ? arguments[1] : undefined;
2120
- var _defaultOptions = _objectSpread$5(_objectSpread$5({}, defaultOptions), options || {}),
2121
- timespanAsList = _defaultOptions.timespanAsList,
2122
- _defaultOptions$joinT = _defaultOptions.joinTimespan,
2123
- joinTimespan = _defaultOptions$joinT === void 0 ? '_' : _defaultOptions$joinT,
2124
- flat = _defaultOptions.flat,
2125
- flatTimespan = _defaultOptions.flatTimespan,
2126
- parseHighlightTimespanOptions = _objectWithoutProperties__default["default"](_defaultOptions, _excluded$2);
2127
- if (timespanAsList === true) return highlightTimespanList.map(function (timespan) {
2128
- return parseHighlightTimespan(timespan, _objectSpread$5(_objectSpread$5({}, parseHighlightTimespanOptions), {}, {
2129
- timespanAsList: timespanAsList
2130
- }));
2131
- });
2132
- if (flat === true || flatTimespan === true) return highlightTimespanList.reduce(function (a, timespan) {
2133
- return _objectSpread$5(_objectSpread$5({}, a), parseHighlightTimespan(timespan, options));
2134
- }, {});
2135
- return highlightTimespanList.reduce(function (a, timespan) {
2136
- return _objectSpread$5(_objectSpread$5({}, a), {}, _defineProperty__default["default"]({}, [timespan.start, timespan.end].join(joinTimespan), parseHighlightTimespan(timespan, options)));
2137
- }, {});
2138
- };
571
+ */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)));},{});};
2139
572
 
2140
573
  /**
2141
574
  * Parse Vidicore "NOW" constants to a date object
@@ -2149,153 +582,24 @@ var parseHighlightTimespanList = function parseHighlightTimespanList() {
2149
582
  * @returns A date from the NOW constant
2150
583
  *
2151
584
  * @category Search
2152
- */
2153
- var parseNowDate = function parseNowDate() {
2154
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'NOW';
2155
- if (value.startsWith('NOW')) {
2156
- if (value === 'NOW') return new Date();
2157
- var sign = value[3];
2158
- var number = Number(value.match(/(\d+)/)[0]);
2159
- var unit = value.match(/(\d.*)/)[0].replace(/\d/g, '');
2160
- var nowDiff = new Date();
2161
- switch (unit) {
2162
- case 'HOUR':
2163
- case 'HOURS':
2164
- if (sign === '+') nowDiff.setHours(nowDiff.getHours() + number);
2165
- if (sign === '-') nowDiff.setHours(nowDiff.getHours() - number);
2166
- break;
2167
- case 'DAY':
2168
- case 'DAYS':
2169
- if (sign === '+') nowDiff.setDate(nowDiff.getDate() + number);
2170
- if (sign === '-') nowDiff.setDate(nowDiff.getDate() - number);
2171
- break;
2172
- case 'MONTH':
2173
- case 'MONTHS':
2174
- if (sign === '+') nowDiff.setMonth(nowDiff.getMonth() + number);
2175
- if (sign === '-') nowDiff.setMonth(nowDiff.getMonth() - number);
2176
- break;
2177
- case 'YEAR':
2178
- case 'YEARS':
2179
- if (sign === '+') nowDiff.setFullYear(nowDiff.getFullYear() + number);
2180
- if (sign === '-') nowDiff.setFullYear(nowDiff.getFullYear() - number);
2181
- break;
2182
- }
2183
- return nowDiff;
2184
- }
2185
- return new Date(value);
2186
- };
2187
-
2188
- var _excluded$1 = ["property"];
2189
- 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; }
2190
- 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; }
2191
- var parseBaseMediaInfoType = function parseBaseMediaInfoType(baseMediaInfoType) {
2192
- var _ref = baseMediaInfoType || {},
2193
- _ref$property = _ref.property,
2194
- keyValuePairTypes = _ref$property === void 0 ? [] : _ref$property,
2195
- props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
2196
- var parsedKeyValuePairType = parseKeyValuePairTypes(keyValuePairTypes);
2197
- return _objectSpread$4(_objectSpread$4({}, parsedKeyValuePairType), props);
2198
- };
2199
- var parseAudioMediaInfoType = function parseAudioMediaInfoType(mediaInfoType) {
2200
- return parseBaseMediaInfoType(mediaInfoType);
2201
- };
2202
- var parseVideoMediaInfoType = function parseVideoMediaInfoType(mediaInfoType) {
2203
- return parseBaseMediaInfoType(mediaInfoType);
2204
- };
2205
-
2206
- var sampleRateSymbols = {
2207
- kB: 'kHz',
2208
- B: 'Hz',
2209
- mB: 'mHz'
2210
- };
2211
- var bitRateSymbols$1 = {
2212
- kB: 'kbps',
2213
- B: 'bps',
2214
- MB: 'mbps'
2215
- };
2216
- /**
585
+ */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);};
586
+
587
+ 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);};
588
+
589
+ var sampleRateSymbols={kB:'kHz',B:'Hz',mB:'mHz'};var bitRateSymbols$1={kB:'kbps',B:'bps',MB:'mbps'};/**
2217
590
  * Parses the technical information of a AudioComponentType.
2218
591
  * @param audioComponentType - A AudioComponentType from VidiCore.
2219
592
  * @returns Parsed component object.
2220
593
  *
2221
594
  * @category Shape
2222
- */
2223
- var parseAudioComponent = function parseAudioComponent(audioComponentType) {
2224
- var timeBase = audioComponentType.timeBase,
2225
- audioChannels = audioComponentType.channelCount,
2226
- audioCodec = audioComponentType.codec,
2227
- mediaInfo = audioComponentType.mediaInfo,
2228
- bitrate = audioComponentType.bitrate,
2229
- metadata = audioComponentType.metadata;
2230
- var audioMediaInfo = parseAudioMediaInfoType(mediaInfo);
2231
- var audioFormat = audioMediaInfo.Format,
2232
- audioBitDepth = audioMediaInfo.Resolution,
2233
- audioBitRateMode = audioMediaInfo.Bit_rate_mode;
2234
- var audioMetadata = parseKeyValuePairTypes(metadata || []);
2235
- 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;
2236
- var audioSamplerate = audioSamplerateSamples !== undefined ? filesize.filesize(audioSamplerateSamples, {
2237
- base: 10,
2238
- round: 1,
2239
- symbols: sampleRateSymbols
2240
- }) : undefined;
2241
- var audioBitrate;
2242
- var audioBitrateKbps;
2243
- if (bitrate !== undefined) {
2244
- var _split;
2245
- audioBitrate = filesize.filesize(bitrate, {
2246
- round: 2,
2247
- symbols: bitRateSymbols$1
2248
- });
2249
- audioBitrateKbps = Number((_split = filesize.filesize(bitrate, {
2250
- exponent: 1,
2251
- symbols: bitRateSymbols$1
2252
- }).split(' kbps')) === null || _split === void 0 ? void 0 : _split[0]);
2253
- }
2254
- return {
2255
- audioFormat: audioFormat,
2256
- audioCodec: audioCodec,
2257
- audioSamplerate: audioSamplerate,
2258
- audioSamplerateSamples: audioSamplerateSamples,
2259
- audioBitDepth: audioBitDepth,
2260
- audioBitrate: audioBitrate,
2261
- audioBitrateKbps: audioBitrateKbps,
2262
- audioBitRateMode: audioBitRateMode,
2263
- audioChannels: audioChannels,
2264
- audioMediaInfo: audioMediaInfo,
2265
- audioMetadata: audioMetadata
2266
- };
2267
- };
595
+ */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};};
2268
596
 
2269
597
  /**
2270
598
  * Const object with all file states in VidiCore
2271
599
  * (see https://apidoc.vidispine.com/latest/storage/storage.html#file-states for more info)
2272
600
  *
2273
601
  * @category File
2274
- */
2275
- var FILE_STATES = {
2276
- /** Just created, not used. */
2277
- NONE: 'NONE',
2278
- /** Discovered or created, not yet marked as finished. */
2279
- OPEN: 'OPEN',
2280
- /** File does no longer grow. */
2281
- CLOSED: 'CLOSED',
2282
- /** The current state is not known. */
2283
- UNKNOWN: 'UNKNOWN',
2284
- /** File is missing from the file system/storage. */
2285
- MISSING: 'MISSING',
2286
- /** File has been missing for a longer period. Candidate for restoration from archive. */
2287
- LOST: 'LOST',
2288
- /** File will appear on file system/storage, transfer subsystem or transcoder will create it. */
2289
- TO_APPEAR: 'TO_APPEAR',
2290
- /** The file is no longer in use, and will be deleted at the next clean-up sweep. */
2291
- TO_BE_DELETED: 'TO_BE_DELETED',
2292
- /** File is in use by transfer subsystem or transcoder. */
2293
- BEING_READ: 'BEING_READ',
2294
- /** File is archived. */
2295
- ARCHIVED: 'ARCHIVED',
2296
- /** File will be synchronized by multi-site agent. */
2297
- AWAITING_SYNC: 'AWAITING_SYNC'
2298
- };
602
+ */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'};
2299
603
 
2300
604
  /**
2301
605
  * Parses a VidiCore file object
@@ -2307,236 +611,35 @@ var FILE_STATES = {
2307
611
  * @returns A parsed file object
2308
612
  *
2309
613
  * @category File
2310
- */
2311
- var parseFileType = function parseFileType(fileType) {
2312
- var _fileType$uri = fileType.uri,
2313
- uriList = _fileType$uri === void 0 ? [] : _fileType$uri,
2314
- fileSizeBytes = fileType.size,
2315
- hash = fileType.hash,
2316
- path = fileType.path,
2317
- fileId = fileType.id;
2318
- var _uriList = _slicedToArray__default["default"](uriList, 1),
2319
- uri = _uriList[0];
2320
- var fileSize = fileSizeBytes !== undefined ? filesize.filesize(fileSizeBytes, {
2321
- base: 2,
2322
- standard: 'jedec'
2323
- }) : '';
2324
- var fileName = path ? path.split('/').pop() : undefined;
2325
- return {
2326
- uri: uri,
2327
- hash: hash,
2328
- fileSize: fileSize,
2329
- fileSizeBytes: fileSizeBytes,
2330
- path: path,
2331
- fileName: fileName,
2332
- fileId: fileId
2333
- };
2334
- };
2335
-
2336
- 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; }
2337
- 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; }
2338
- /**
614
+ */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};};
615
+
616
+ 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;}/**
2339
617
  * Parses the technical information of a BinaryComponentType.
2340
618
  * @param binaryComponentType - A BinaryComponentType from VidiCore.
2341
619
  * @returns Parsed component object.
2342
620
  *
2343
621
  * @category Shape
2344
- */
2345
- var parseBinaryComponent = function parseBinaryComponent() {
2346
- var binaryComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2347
- var fileList = binaryComponentType.file,
2348
- mediaInfo = binaryComponentType.mediaInfo,
2349
- _binaryComponentType$ = binaryComponentType.metadata,
2350
- metadata = _binaryComponentType$ === void 0 ? [] : _binaryComponentType$;
2351
- var binaryMetadata = parseKeyValuePairTypes(metadata);
2352
- var binaryMediaInfo = parseBaseMediaInfoType(mediaInfo);
2353
- var parsedBinaryComponent = {
2354
- binaryMetadata: binaryMetadata,
2355
- binaryMediaInfo: binaryMediaInfo
2356
- };
2357
- if (fileList) {
2358
- var _fileList = _slicedToArray__default["default"](fileList, 1),
2359
- fileType = _fileList[0];
2360
- var parsedFileType = parseFileType(fileType);
2361
- parsedBinaryComponent = _objectSpread$3(_objectSpread$3({}, parsedBinaryComponent), parsedFileType);
2362
- }
2363
- return parsedBinaryComponent;
2364
- };
2365
-
2366
- 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; }
2367
- 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; }
622
+ */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;};
2368
623
 
2369
- /**
624
+ 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;}/**
2370
625
  * Parsed container component
2371
- */
2372
-
2373
- /**
626
+ */ /**
2374
627
  * Parses the technical information of a ContainerComponentType.
2375
628
  * @param containerComponentType - A ContainerComponentType from VidiCore.
2376
629
  * @returns Parsed component object.
2377
630
  *
2378
631
  * @category Shape
2379
- */
2380
- var parseContainerComponent = function parseContainerComponent() {
2381
- var containerComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2382
- var mediaInfo = containerComponentType.mediaInfo,
2383
- metadata = containerComponentType.metadata,
2384
- fileList = containerComponentType.file,
2385
- durationTimeCode = containerComponentType.duration,
2386
- startTimestamp = containerComponentType.startTimestamp,
2387
- startTimecode = containerComponentType.startTimecode,
2388
- timeCodeTimeBase = containerComponentType.timeCodeTimeBase;
2389
- var containerMetadata = parseKeyValuePairTypes(metadata || []);
2390
- var containerMediaInfo = parseBaseMediaInfoType(mediaInfo);
2391
- var containerFormat = containerMediaInfo.Format;
2392
- var videoFormat = containerMediaInfo.Video_Format_List,
2393
- audioFormat = containerMediaInfo.Audio_Format_List,
2394
- textFormat = containerMediaInfo.Text_Format_List;
2395
- if (containerFormat === undefined) {
2396
- var format = containerComponentType.format;
2397
- containerFormat = format;
2398
- if (format && format.includes(',')) {
2399
- var formatList = format.split(',');
2400
- var _formatList = _slicedToArray__default["default"](formatList, 1);
2401
- containerFormat = _formatList[0];
2402
- }
2403
- }
2404
- var parsedContainerComponentType = {
2405
- containerFormat: containerFormat,
2406
- videoFormat: videoFormat,
2407
- audioFormat: audioFormat,
2408
- textFormat: textFormat,
2409
- containerMetadata: containerMetadata,
2410
- containerMediaInfo: containerMediaInfo
2411
- };
2412
- if (containerMetadata.componentOriginalFilename) {
2413
- parsedContainerComponentType.originalFilename = containerMetadata.componentOriginalFilename;
2414
- }
2415
- if (durationTimeCode !== undefined && durationTimeCode.samples !== 0) {
2416
- var timeCode = formatTimeCodeType(durationTimeCode);
2417
- parsedContainerComponentType.durationTimeCode = timeCode.toObject();
2418
- parsedContainerComponentType.duration = timeCode.toDuration();
2419
- }
2420
- if (startTimestamp) {
2421
- parsedContainerComponentType.startTimestamp = formatTimeCodeType(startTimestamp).toObject();
2422
- }
2423
- if (startTimecode !== undefined && timeCodeTimeBase) {
2424
- parsedContainerComponentType.startTimecode = formatTimeCodeType({
2425
- samples: startTimecode,
2426
- timeBase: timeCodeTimeBase
2427
- });
2428
- }
2429
- if (fileList) {
2430
- var _fileList = _slicedToArray__default["default"](fileList, 1),
2431
- fileType = _fileList[0];
2432
- var parsedFileType = parseFileType(fileType);
2433
- parsedContainerComponentType = _objectSpread$2(_objectSpread$2({}, parsedContainerComponentType), parsedFileType);
2434
- }
2435
- return parsedContainerComponentType;
2436
- };
2437
-
2438
- var bitRateSymbols = {
2439
- kB: 'kbps',
2440
- B: 'bps',
2441
- MB: 'mbps'
2442
- };
2443
- /**
632
+ */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;};
633
+
634
+ var bitRateSymbols={kB:'kbps',B:'bps',MB:'mbps'};/**
2444
635
  * Parses the technical information of a VideoComponentType.
2445
636
  * @param {Object} videoComponentType - A VideoComponentType from VidiCore.
2446
637
  * @returns {Object} Parsed component object.
2447
638
  *
2448
639
  * @category Shape
2449
- */
2450
- var parseVideoComponent = function parseVideoComponent() {
2451
- var videoComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2452
- var videoCodec = videoComponentType.codec,
2453
- bitrate = videoComponentType.bitrate,
2454
- fieldOrder = videoComponentType.fieldOrder,
2455
- resolution = videoComponentType.resolution,
2456
- mediaInfo = videoComponentType.mediaInfo,
2457
- _videoComponentType$m = videoComponentType.metadata,
2458
- metadata = _videoComponentType$m === void 0 ? [] : _videoComponentType$m;
2459
- var videoMediaInfo = parseVideoMediaInfoType(mediaInfo);
2460
- var videoMetadata = parseKeyValuePairTypes(metadata);
2461
- var videoFormat = videoMediaInfo.Format,
2462
- timeBaseText = videoMediaInfo['Frame rate'],
2463
- colorSpace = videoMediaInfo['Color space'],
2464
- colorPrimaries = videoMediaInfo['Color primaries'],
2465
- chromaSubsampling = videoMediaInfo.Colorimetry;
2466
- var timeBase;
2467
- var averageFrameRate = videoComponentType.averageFrameRate,
2468
- realBaseFrameRate = videoComponentType.realBaseFrameRate;
2469
- if (realBaseFrameRate !== undefined) {
2470
- timeBase = formatTimeBaseType({
2471
- numerator: realBaseFrameRate.denominator,
2472
- denominator: realBaseFrameRate.numerator
2473
- });
2474
- } else if (timeBaseText !== undefined) {
2475
- timeBase = formatTimeBaseText(timeBaseText);
2476
- } else if (averageFrameRate !== undefined) {
2477
- timeBase = formatTimeBaseType({
2478
- numerator: averageFrameRate.denominator,
2479
- denominator: averageFrameRate.numerator
2480
- });
2481
- }
2482
- var samples = videoMediaInfo['Frame count'];
2483
- if (samples === undefined) {
2484
- var numberOfPackets = videoComponentType.numberOfPackets;
2485
- if (numberOfPackets !== undefined) samples = numberOfPackets.toString();
2486
- }
2487
- var timeCode;
2488
- var frameRate;
2489
- var smpte;
2490
- if (samples && timeBase) {
2491
- timeCode = formatTimeCodeType({
2492
- samples: samples,
2493
- timeBase: timeBase
2494
- });
2495
- frameRate = timeCode.timeBase.toConstant() || timeCode.timeBase.toRate();
2496
- smpte = timeCode.toSmpte();
2497
- }
2498
- var _ref = resolution || {},
2499
- height = _ref.height,
2500
- width = _ref.width;
2501
- var aspectRatio = parseAspectRatio(resolution);
2502
- var dimension = "".concat(width, "x").concat(height);
2503
- var videoBitrate;
2504
- var videoBitrateMbps;
2505
- if (bitrate !== undefined) {
2506
- var _split;
2507
- videoBitrate = filesize.filesize(bitrate, {
2508
- round: 2,
2509
- symbols: bitRateSymbols
2510
- });
2511
- videoBitrateMbps = Number((_split = filesize.filesize(bitrate, {
2512
- exponent: 2,
2513
- symbols: bitRateSymbols
2514
- }).split(' mbps')) === null || _split === void 0 ? void 0 : _split[0]);
2515
- }
2516
- return {
2517
- videoFormat: videoFormat,
2518
- dimension: dimension,
2519
- frameRate: frameRate,
2520
- height: height,
2521
- width: width,
2522
- timeBase: timeBase,
2523
- timeCode: timeCode,
2524
- videoCodec: videoCodec,
2525
- smpte: smpte,
2526
- videoBitrate: videoBitrate,
2527
- videoBitrateMbps: videoBitrateMbps,
2528
- fieldOrder: fieldOrder,
2529
- colorSpace: colorSpace,
2530
- chromaSubsampling: chromaSubsampling,
2531
- aspectRatio: aspectRatio,
2532
- colorPrimaries: colorPrimaries,
2533
- videoMetadata: videoMetadata,
2534
- videoMediaInfo: videoMediaInfo
2535
- };
2536
- };
2537
-
2538
- 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; }
2539
- 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; }
640
+ */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};};
641
+
642
+ 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
2540
643
  /**
2541
644
  * Parses the technical information of a ShapeType and its various components.
2542
645
  *
@@ -2550,72 +653,19 @@ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) {
2550
653
  * @returns Parsed shape object.
2551
654
  *
2552
655
  * @category Shape
2553
- */
2554
- var parseShapeType = function parseShapeType() {
2555
- var shapeType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2556
- var parsedShape = {};
2557
- var containerComponent = shapeType.containerComponent,
2558
- videoComponentList = shapeType.videoComponent,
2559
- audioComponentList = shapeType.audioComponent,
2560
- binaryComponentList = shapeType.binaryComponent,
2561
- _shapeType$mimeType = shapeType.mimeType,
2562
- mimeTypeList = _shapeType$mimeType === void 0 ? [] : _shapeType$mimeType,
2563
- _shapeType$tag = shapeType.tag,
2564
- tagList = _shapeType$tag === void 0 ? [] : _shapeType$tag;
2565
- var _tagList = _slicedToArray__default["default"](tagList, 1);
2566
- parsedShape.tag = _tagList[0];
2567
- var _mimeTypeList = _slicedToArray__default["default"](mimeTypeList, 1);
2568
- parsedShape.mimeType = _mimeTypeList[0];
2569
- if (containerComponent) {
2570
- var parsedContainerComponent = parseContainerComponent(containerComponent);
2571
- parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedContainerComponent);
2572
- }
2573
- if (videoComponentList) {
2574
- var _videoComponentList = _slicedToArray__default["default"](videoComponentList, 1),
2575
- videoComponent = _videoComponentList[0];
2576
- var parsedVideoComponent = parseVideoComponent(videoComponent);
2577
- parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedVideoComponent);
2578
- }
2579
- if (audioComponentList) {
2580
- var _audioComponentList = _slicedToArray__default["default"](audioComponentList, 1),
2581
- audioComponent = _audioComponentList[0];
2582
- var parsedAudioComponent = parseAudioComponent(audioComponent);
2583
- parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedAudioComponent);
2584
- }
2585
- if (binaryComponentList) {
2586
- var _binaryComponentList = _slicedToArray__default["default"](binaryComponentList, 1),
2587
- binaryComponent = _binaryComponentList[0];
2588
- var parsedBinaryComponent = parseBinaryComponent(binaryComponent);
2589
- parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedBinaryComponent);
2590
- }
2591
- return parsedShape;
2592
- };
656
+ */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;};
2593
657
 
2594
658
  /**
2595
659
  * Const object with document types
2596
660
  *
2597
661
  * @category Shape
2598
- */
2599
- var DOCUMENT_TYPES = {
2600
- PDF: 'PDF',
2601
- TEXT: 'TEXT',
2602
- MSWORD: 'MSWORD',
2603
- JSON: 'JSON',
2604
- XML: 'XML'
2605
- };
662
+ */var DOCUMENT_TYPES={PDF:'PDF',TEXT:'TEXT',MSWORD:'MSWORD',JSON:'JSON',XML:'XML'};
2606
663
 
2607
664
  /**
2608
665
  * Const object with media types
2609
666
  *
2610
667
  * @category Shape
2611
- */
2612
- var SHAPE_MEDIA_TYPES = {
2613
- IMAGE: 'IMAGE',
2614
- AUDIO: 'AUDIO',
2615
- VIDEO: 'VIDEO',
2616
- DOCUMENT: 'DOCUMENT',
2617
- BINARY: 'BINARY'
2618
- };
668
+ */var SHAPE_MEDIA_TYPES={IMAGE:'IMAGE',AUDIO:'AUDIO',VIDEO:'VIDEO',DOCUMENT:'DOCUMENT',BINARY:'BINARY'};
2619
669
 
2620
670
  // eslint-disable-next-line import/no-cycle
2621
671
  /**
@@ -2625,47 +675,13 @@ var SHAPE_MEDIA_TYPES = {
2625
675
  * @returns The document type for a shape
2626
676
  *
2627
677
  * @category Shape
2628
- */
2629
- var getShapeDocumentType = function getShapeDocumentType() {
2630
- var shape = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2631
- // shapeType.mimeType is always a string array,
2632
- // but accepts passing in { mimeType: string } for backwards compatibility
2633
- var mimeTypeArrayOrString = shape.mimeType;
2634
- var mimeType = Array.isArray(mimeTypeArrayOrString) ? mimeTypeArrayOrString[0] : mimeTypeArrayOrString;
2635
- if (!mimeType) return undefined;
2636
- if (mimeType.endsWith('/pdf')) return DOCUMENT_TYPES.PDF;
2637
- if (mimeType.startsWith('text/')) return DOCUMENT_TYPES.TEXT;
2638
- if (mimeType.endsWith('/msword')) return DOCUMENT_TYPES.MSWORD;
2639
- if (mimeType.endsWith('/json')) return DOCUMENT_TYPES.JSON;
2640
- if (mimeType.endsWith('/xml')) return DOCUMENT_TYPES.XML;
2641
- return undefined;
2642
- };
2643
-
2644
- var IMAGE_MIME_TYPES = ['image/apng', 'image/bmp', 'image/gif', 'image/jpeg', 'image/x-icon', 'image/png', 'image/svg+xml'];
2645
- var VIDEO_MIME_TYPES = ['video/mp4'];
2646
- 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'];
2647
- var DEFAULT_ALLOWED_MIME_TYPES = [].concat(VIDEO_MIME_TYPES, IMAGE_MIME_TYPES, AUDIO_MIME_TYPES);
2648
- var DEFAULT_ALLOWED_METHODS = ['http', 'https'];
2649
- var MP4_MIMETYPE = 'video/mp4';
2650
- var QUICKTIME_MIMETYPE = 'video/quicktime';
2651
- var M4V_MIMETYPE = 'video/x-m4v';
2652
- var MP4_CONTAINER = 'MPEG-4';
2653
- var MOV_CONTAINER = 'mov';
2654
- var H264_CODEC = 'h264';
2655
-
2656
- // Sort by tags in the order of previewShapeOrder, secondary alphabetical.
2657
- // using reverse() so the first has highest index
2658
- var PREVIEW_SHAPE_ORDER = ['__mp4', '__mp3_160k', '__png', '__jpeg', '__gif', 'original'].reverse();
2659
- var defaultSortPriority = function defaultSortPriority(_ref, _ref2) {
2660
- var firstEl = _ref.parsedShape.tag;
2661
- var secondEl = _ref2.parsedShape.tag;
2662
- if (PREVIEW_SHAPE_ORDER.includes(firstEl) || PREVIEW_SHAPE_ORDER.includes(secondEl)) {
2663
- return PREVIEW_SHAPE_ORDER.indexOf(secondEl) - PREVIEW_SHAPE_ORDER.indexOf(firstEl);
2664
- }
2665
- return firstEl.toLowerCase().localeCompare(secondEl.toLowerCase());
2666
- };
678
+ */var getShapeDocumentType=function getShapeDocumentType(){var shape=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};// shapeType.mimeType is always a string array,
679
+ // but accepts passing in { mimeType: string } for backwards compatibility
680
+ 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;};
2667
681
 
2668
- /**
682
+ 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.
683
+ // using reverse() so the first has highest index
684
+ 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());};/**
2669
685
  * Filter a shape type list to get shapes that are playable in a browser
2670
686
  *
2671
687
  * @param itemType
@@ -2673,57 +689,7 @@ var defaultSortPriority = function defaultSortPriority(_ref, _ref2) {
2673
689
  * @returns
2674
690
  *
2675
691
  * @category Shape
2676
- */
2677
- var filterShapeSource = function filterShapeSource(itemType, options) {
2678
- var _ref3 = options || {},
2679
- _ref3$allowedMimeType = _ref3.allowedMimeTypes,
2680
- allowedMimeTypes = _ref3$allowedMimeType === void 0 ? DEFAULT_ALLOWED_MIME_TYPES : _ref3$allowedMimeType,
2681
- _ref3$allowedMethods = _ref3.allowedMethods,
2682
- allowedMethods = _ref3$allowedMethods === void 0 ? DEFAULT_ALLOWED_METHODS : _ref3$allowedMethods,
2683
- _ref3$sortPriority = _ref3.sortPriority,
2684
- sortPriority = _ref3$sortPriority === void 0 ? defaultSortPriority : _ref3$sortPriority,
2685
- _ref3$sourceKey = _ref3.sourceKey,
2686
- sourceKey = _ref3$sourceKey === void 0 ? 'src' : _ref3$sourceKey,
2687
- _ref3$mimeTypeKey = _ref3.mimeTypeKey,
2688
- mimeTypeKey = _ref3$mimeTypeKey === void 0 ? 'type' : _ref3$mimeTypeKey,
2689
- _ref3$shapeKey = _ref3.shapeKey,
2690
- shapeKey = _ref3$shapeKey === void 0 ? 'shape' : _ref3$shapeKey,
2691
- _ref3$parsedShapeKey = _ref3.parsedShapeKey,
2692
- parsedShapeKey = _ref3$parsedShapeKey === void 0 ? 'parsedShape' : _ref3$parsedShapeKey;
2693
- var _ref4 = itemType || {},
2694
- _ref4$shape = _ref4.shape,
2695
- shapeList = _ref4$shape === void 0 ? [] : _ref4$shape;
2696
- var filteredShapeList = shapeList.reduce(function (acc, shapeType) {
2697
- var type;
2698
- var src;
2699
- var parsedShape = parseShapeType(shapeType);
2700
- var uri = parsedShape.uri,
2701
- mimeType = parsedShape.mimeType,
2702
- containerFormat = parsedShape.containerFormat,
2703
- videoCodec = parsedShape.videoCodec;
2704
- if (mimeType) {
2705
- type = mimeType;
2706
- if ((mimeType === QUICKTIME_MIMETYPE || mimeType === M4V_MIMETYPE) && (containerFormat === MP4_CONTAINER || containerFormat === MOV_CONTAINER) && videoCodec === H264_CODEC) type = MP4_MIMETYPE;
2707
- }
2708
- if (uri) {
2709
- if (allowedMethods) {
2710
- var _uri$split = uri.split('://'),
2711
- _uri$split2 = _slicedToArray__default["default"](_uri$split, 1),
2712
- thisMethod = _uri$split2[0];
2713
- if (allowedMethods.includes(thisMethod)) src = uri;
2714
- } else {
2715
- src = uri;
2716
- }
2717
- }
2718
- if (src && allowedMimeTypes.includes(type)) {
2719
- var _acc$push;
2720
- 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));
2721
- }
2722
- return acc;
2723
- }, []);
2724
- if (typeof sortPriority === 'function') filteredShapeList.sort(defaultSortPriority);
2725
- return filteredShapeList;
2726
- };
692
+ */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;};
2727
693
 
2728
694
  /**
2729
695
  * Returns a const for which media type a shape has
@@ -2732,29 +698,7 @@ var filterShapeSource = function filterShapeSource(itemType, options) {
2732
698
  * @returns
2733
699
  *
2734
700
  * @category Shape
2735
- */
2736
- var getShapeMediaType = function getShapeMediaType(shape) {
2737
- var parsedShape = parseShapeType(shape);
2738
- var mimeType = parsedShape.mimeType,
2739
- videoCodec = parsedShape.videoCodec,
2740
- audioCodec = parsedShape.audioCodec;
2741
- if (!mimeType) return undefined;
2742
- if (mimeType.startsWith('audio/')) {
2743
- if (audioCodec !== undefined) return SHAPE_MEDIA_TYPES.AUDIO;
2744
- }
2745
- if (mimeType.startsWith('video/')) {
2746
- if (videoCodec !== undefined) return SHAPE_MEDIA_TYPES.VIDEO;
2747
- if (audioCodec !== undefined) return SHAPE_MEDIA_TYPES.AUDIO;
2748
- }
2749
- if (mimeType.startsWith('image/')) return SHAPE_MEDIA_TYPES.IMAGE;
2750
- if (mimeType.endsWith('/pdf')) return SHAPE_MEDIA_TYPES.DOCUMENT;
2751
- if (mimeType.startsWith('text/')) return SHAPE_MEDIA_TYPES.DOCUMENT;
2752
- if (mimeType.endsWith('/msword')) return SHAPE_MEDIA_TYPES.DOCUMENT;
2753
- if (mimeType.endsWith('/json')) return SHAPE_MEDIA_TYPES.DOCUMENT;
2754
- if (mimeType.endsWith('/xml')) return SHAPE_MEDIA_TYPES.DOCUMENT;
2755
- if (mimeType.endsWith('/octet-stream')) return SHAPE_MEDIA_TYPES.BINARY;
2756
- return undefined;
2757
- };
701
+ */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;};
2758
702
 
2759
703
  /**
2760
704
  * Find the thumbnail uri in a VidiCore item object that's nearest a timeCode
@@ -2767,160 +711,28 @@ var getShapeMediaType = function getShapeMediaType(shape) {
2767
711
  * @returns A URI of a thumbnail, `undefined` if item has no thumbnails
2768
712
  *
2769
713
  * @category Thumbnail
2770
- */
2771
- var findNearestThumbnail = function findNearestThumbnail(itemType, timeCode) {
2772
- var tcSeconds = createTimeCode(timeCode).toSeconds();
2773
- var _ref = itemType || {},
2774
- _ref$thumbnails = _ref.thumbnails,
2775
- thumbnails = _ref$thumbnails === void 0 ? {} : _ref$thumbnails;
2776
- var _thumbnails$uri = thumbnails.uri,
2777
- srcList = _thumbnails$uri === void 0 ? [] : _thumbnails$uri;
2778
- var srcTcSeconds = srcList.map(function (url) {
2779
- var tc = new URL(url).pathname.split('/').pop();
2780
- return formatTimeCodeText(tc).toSeconds();
2781
- });
2782
- var nearestSrcIndex = srcTcSeconds.reduce(function (nearestIndex, curr, currIndex) {
2783
- return Math.abs(curr - tcSeconds) < Math.abs(srcTcSeconds[nearestIndex] - tcSeconds) ? currIndex : nearestIndex;
2784
- }, 0);
2785
- return srcList[nearestSrcIndex];
2786
- };
2787
-
2788
- var _excluded = ["Codec"],
2789
- _excluded2 = ["Codec"];
714
+ */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];};
2790
715
 
2791
- /**
716
+ var _excluded=["Codec"],_excluded2=["Codec"];/**
2792
717
  * TODO
2793
- */
2794
-
2795
- /**
718
+ */ /**
2796
719
  * TODO
2797
720
  *
2798
721
  * @param mediaconvert
2799
722
  * @returns
2800
723
  *
2801
724
  * @category Transcode
2802
- */
2803
- var parseMediaConvertPreset = function parseMediaConvertPreset(mediaconvert) {
2804
- var output = {};
2805
- var _ref = mediaconvert || {},
2806
- _ref$outputSetting = _ref.outputSetting,
2807
- outputSetting = _ref$outputSetting === void 0 ? [] : _ref$outputSetting;
2808
- if (outputSetting.length === 0) return output;
2809
- var mc = JSON.parse(outputSetting[0]);
2810
- var _mc$Settings = mc.Settings;
2811
- _mc$Settings = _mc$Settings === void 0 ? {} : _mc$Settings;
2812
- var ContainerSettings = _mc$Settings.ContainerSettings,
2813
- VideoDescription = _mc$Settings.VideoDescription,
2814
- AudioDescriptions = _mc$Settings.AudioDescriptions;
2815
- if (ContainerSettings) {
2816
- output.containerFormat = ContainerSettings.Container;
2817
- }
2818
- if (VideoDescription) {
2819
- var _VideoDescription$Cod = VideoDescription.CodecSettings,
2820
- CodecSettings = _VideoDescription$Cod === void 0 ? {} : _VideoDescription$Cod;
2821
- var Codec = CodecSettings.Codec,
2822
- otherSettings = _objectWithoutProperties__default["default"](CodecSettings, _excluded);
2823
- output.videoFormat = Codec;
2824
- var height = VideoDescription.Height,
2825
- width = VideoDescription.Width;
2826
- output.height = height;
2827
- output.width = width;
2828
- if (height && width) {
2829
- output.dimension = "".concat(width, "x").concat(height);
2830
- output.aspectRatio = parseAspectRatio({
2831
- height: height,
2832
- width: width
2833
- });
2834
- }
2835
- var _Object$values = Object.values(otherSettings),
2836
- _Object$values2 = _slicedToArray__default["default"](_Object$values, 1),
2837
- codecSpecs = _Object$values2[0];
2838
- if (codecSpecs) {
2839
- output.fieldOrder = codecSpecs.InterlaceMode;
2840
- if (output.fieldOrder && output.fieldOrder.includes('TOP')) output.fieldOrder = 'interlaced';
2841
- output.videoBitrate = codecSpecs.Bitrate;
2842
- var numerator = codecSpecs.FramerateDenominator; // other way round to vs ¯\_(ツ)_/¯
2843
- var denominator = codecSpecs.FramerateNumerator;
2844
- var timeBase = formatTimeBaseType({
2845
- denominator: denominator,
2846
- numerator: numerator
2847
- });
2848
- output.timeBase = timeBase;
2849
- output.frameRate = timeBase.toConstant() || timeBase.toRate();
2850
- }
2851
- }
2852
- if (AudioDescriptions && AudioDescriptions.length > 0) {
2853
- var _AudioDescriptions$0$ = AudioDescriptions[0].CodecSettings,
2854
- _CodecSettings = _AudioDescriptions$0$ === void 0 ? {} : _AudioDescriptions$0$;
2855
- var _Codec = _CodecSettings.Codec,
2856
- _otherSettings = _objectWithoutProperties__default["default"](_CodecSettings, _excluded2);
2857
- output.audioFormat = _Codec;
2858
- var _Object$values3 = Object.values(_otherSettings),
2859
- _Object$values4 = _slicedToArray__default["default"](_Object$values3, 1),
2860
- _codecSpecs = _Object$values4[0];
2861
- if (_codecSpecs) {
2862
- output.audioSamplerate = _codecSpecs.SampleRate;
2863
- output.audioBitrate = _codecSpecs.Bitrate;
2864
- output.audioBitRateMode = _codecSpecs.RateControlMode;
2865
- }
2866
- }
2867
- return output;
2868
- };
2869
-
2870
- 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; }
2871
- 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; }
2872
- /**
725
+ */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 ¯\_(ツ)_/¯
726
+ 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;};
727
+
728
+ 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;}/**
2873
729
  * Parse a VidiCore transcode preset
2874
730
  *
2875
731
  * @param transcodePresetType a VidiCore transcode preset
2876
732
  * @returns A parsed transcode preset
2877
733
  *
2878
734
  * @category Transcode
2879
- */
2880
- var parseTranscodePreset = function parseTranscodePreset(transcodePresetType) {
2881
- var output = {};
2882
- var _ref = transcodePresetType || {},
2883
- description = _ref.description,
2884
- format = _ref.format,
2885
- audio = _ref.audio,
2886
- video = _ref.video,
2887
- mediaconvert = _ref.mediaconvert;
2888
- if (mediaconvert) return _objectSpread({
2889
- description: description
2890
- }, parseMediaConvertPreset(mediaconvert));
2891
- output.description = description;
2892
- output.containerFormat = format;
2893
- if (video) {
2894
- output.videoFormat = video.codec;
2895
- output.videoBitrate = video.bitrate;
2896
- if (video.framerate) {
2897
- var timeBase = formatTimeBaseType(video.framerate);
2898
- output.timeBase = timeBase;
2899
- output.frameRate = timeBase.toConstant() || timeBase.toRate();
2900
- }
2901
- if (video.scaling) {
2902
- var _video$scaling = video.scaling,
2903
- height = _video$scaling.height,
2904
- width = _video$scaling.width;
2905
- output.height = height;
2906
- output.width = width;
2907
- if (height && width) {
2908
- output.dimension = "".concat(width, "x").concat(height);
2909
- output.aspectRatio = parseAspectRatio({
2910
- height: height,
2911
- width: width
2912
- });
2913
- }
2914
- }
2915
- }
2916
- if (audio) {
2917
- var audioFormat = audio.codec,
2918
- channel = audio.channel;
2919
- output.audioFormat = audioFormat;
2920
- if (channel) output.audioChannels = channel.length;
2921
- }
2922
- return output;
2923
- };
735
+ */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;};
2924
736
 
2925
737
  exports.DOCUMENT_TYPES = DOCUMENT_TYPES;
2926
738
  exports.FIELD_ATTRIBUTE_KEYS = FIELD_ATTRIBUTE_KEYS;