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