@vidispine/vdt-js 22.4.0-pre.3 → 22.4.0-pre.5
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/README.md +2 -2
- package/dist/index.d.ts +1182 -0
- package/dist/index.es.js +1396 -1223
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1403 -1229
- package/dist/index.js.map +1 -1
- package/package.json +23 -9
package/dist/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
2
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
4
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
5
5
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
6
6
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
7
7
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
@@ -11,9 +11,15 @@ var gcd = function gcd(a, b) {
|
|
|
11
11
|
return b ? gcd(b, a % b) : a;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
var parseAspectRatio = function parseAspectRatio(
|
|
15
|
-
var
|
|
14
|
+
var parseAspectRatio = function parseAspectRatio(aspectRatio) {
|
|
15
|
+
var _ref = aspectRatio || {},
|
|
16
|
+
width = _ref.width,
|
|
16
17
|
height = _ref.height;
|
|
18
|
+
|
|
19
|
+
if (width === undefined || height === undefined) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
17
23
|
var denominator = gcd(width, height);
|
|
18
24
|
var widthRatio = width / denominator;
|
|
19
25
|
var heightRatio = height / denominator;
|
|
@@ -26,256 +32,196 @@ var parseAspectRatio = function parseAspectRatio(_ref) {
|
|
|
26
32
|
return [widthRatio, heightRatio].join(':');
|
|
27
33
|
};
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @param keyValuePairTypes
|
|
38
|
+
* @returns
|
|
39
|
+
*
|
|
40
|
+
* @category Other
|
|
41
|
+
*/
|
|
42
|
+
var parseKeyValuePairTypes = function parseKeyValuePairTypes(keyValuePairTypes) {
|
|
43
|
+
return Object.fromEntries(keyValuePairTypes.map(function (_ref) {
|
|
44
|
+
var key = _ref.key,
|
|
45
|
+
value = _ref.value;
|
|
46
|
+
return [key, value];
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
30
49
|
|
|
31
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Object with all name of roles in VidiCore
|
|
52
|
+
*
|
|
53
|
+
* @category Auth
|
|
54
|
+
*/
|
|
55
|
+
var ROLE_NAMES = {
|
|
56
|
+
ACCESSCONTROL_READ: '_accesscontrol_read',
|
|
57
|
+
ACCESSCONTROL_WRITE: '_accesscontrol_write',
|
|
58
|
+
ADMINISTRATOR: '_administrator',
|
|
59
|
+
AUTO_PROJECTION_READ: '_auto_projection_read',
|
|
60
|
+
AUTO_PROJECTION_WRITE: '_auto_projection_write',
|
|
61
|
+
COLLECTION_NOTIFICATION_READ: '_collection_notification_read',
|
|
62
|
+
COLLECTION_NOTIFICATION_WRITE: '_collection_notification_write',
|
|
63
|
+
COLLECTION_READ: '_collection_read',
|
|
64
|
+
COLLECTION_WRITE: '_collection_write',
|
|
65
|
+
CONFIGURATION_READ: '_configuration_read',
|
|
66
|
+
DELETION_LOCK_NOTIFICATION_READ: '_deletion_lock_notification_read',
|
|
67
|
+
DELETION_LOCK_NOTIFICATION_WRITE: '_deletion_lock_notification_write',
|
|
68
|
+
DELETION_LOCK_READ: '_deletion_lock_read',
|
|
69
|
+
DELETION_LOCK_WRITE: '_deletion_lock_write',
|
|
70
|
+
DOCUMENT_NOTIFICATION_READ: '_document_notification_read',
|
|
71
|
+
DOCUMENT_NOTIFICATION_WRITE: '_document_notification_write',
|
|
72
|
+
DOCUMENT_READ: '_document_read',
|
|
73
|
+
DOCUMENT_WRITE: '_document_write',
|
|
74
|
+
ERROR_READ: '_error_read',
|
|
75
|
+
ERROR_WRITE: '_error_write',
|
|
76
|
+
EXPORT: '_export',
|
|
77
|
+
EXPORT_TEMPLATE_READ: '_export_template_read',
|
|
78
|
+
EXPORT_TEMPLATE_WRITE: '_export_template_write',
|
|
79
|
+
EXTERNAL_ID_READ: '_external_id_read',
|
|
80
|
+
EXTERNAL_ID_WRITE: '_external_id_write',
|
|
81
|
+
FILE_NOTIFICATION_READ: '_file_notification_read',
|
|
82
|
+
FILE_NOTIFICATION_WRITE: '_file_notification_write',
|
|
83
|
+
FILE_READ: '_file_read',
|
|
84
|
+
FILE_WRITE: '_file_write',
|
|
85
|
+
GROUP_READ: '_group_read',
|
|
86
|
+
GROUP_WRITE: '_group_write',
|
|
87
|
+
IMPORT_WRITE: '_import',
|
|
88
|
+
ITEM_ID_READ: '_item_id_read',
|
|
89
|
+
ITEM_ID_WRITE: '_item_id_write',
|
|
90
|
+
ITEM_NOTIFICATION_READ: '_item_notification_read',
|
|
91
|
+
ITEM_NOTIFICATION_WRITE: '_item_notification_write',
|
|
92
|
+
ITEM_WRITE: '_item_write',
|
|
93
|
+
ITEM_SEARCH: '_item_search',
|
|
94
|
+
ITEM_SHAPE_READ: '_item_shape_read',
|
|
95
|
+
ITEM_SHAPE_WRITE: '_item_shape_write',
|
|
96
|
+
ITEM_TIMELINE_READ: '_item_timeline_read',
|
|
97
|
+
ITEM_TIMELINE_WRITE: '_item_timeline_write',
|
|
98
|
+
ITEM_URI: '_item_uri',
|
|
99
|
+
JOB_NOTIFICATION_READ: '_job_notification_read',
|
|
100
|
+
JOB_NOTIFICATION_WRITE: '_job_notification_write',
|
|
101
|
+
JOB_READ: '_job_read',
|
|
102
|
+
JOB_WRITE: '_job_write',
|
|
103
|
+
LIBRARY_READ: '_library_read',
|
|
104
|
+
LIBRARY_WRITE: '_library_write',
|
|
105
|
+
LOCK_READ: '_lock_read',
|
|
106
|
+
LOCK_WRITE: '_lock_write',
|
|
107
|
+
LOG_READ: '_log_read',
|
|
108
|
+
METADATA_DATASET_READ: '_metadata_dataset_read',
|
|
109
|
+
METADATA_DATASET_WRITE: '_metadata_dataset_write',
|
|
110
|
+
METADATA_FIELD_GROUP_READ: '_metadata_field_group_read',
|
|
111
|
+
METADATA_FIELD_GROUP_WRITE: '_metadata_field_group_write',
|
|
112
|
+
METADATA_FIELD_READ: '_metadata_field_read',
|
|
113
|
+
METADATA_FIELD_WRITE: '_metadata_field_write',
|
|
114
|
+
METADATA_GLOBAL_READ: '_metadata_global_read',
|
|
115
|
+
METADATA_GLOBAL_WRITE: '_metadata_global_write',
|
|
116
|
+
METADATA_LOCK_READ: '_metadata_lock_read',
|
|
117
|
+
METADATA_LOCK_WRITE: '_metadata_lock_write',
|
|
118
|
+
METADATA_READ: '_metadata_read',
|
|
119
|
+
METADATA_SCHEMA_READ: '_metadata_schema_read',
|
|
120
|
+
METADATA_SCHEMA_WRITE: '_metadata_schema_write',
|
|
121
|
+
METADATA_WRITE: '_metadata_write',
|
|
122
|
+
OTIF_ANALYZE: '_otif_analyze',
|
|
123
|
+
OTIF_READ: '_otif_read',
|
|
124
|
+
OTIF_WRITE: '_otif_write',
|
|
125
|
+
PLACEHOLDER_NOTIFICATION_READ: '_placeholder_notification_read',
|
|
126
|
+
PLACEHOLDER_NOTIFICATION_WRITE: '_placeholder_notification_write',
|
|
127
|
+
PROJECTION_READ: '_projection_read',
|
|
128
|
+
PROJECTION_WRITE: '_projection_write',
|
|
129
|
+
QUOTA_NOTIFICATION_READ: '_quota_notification_read',
|
|
130
|
+
QUOTA_NOTIFICATION_WRITE: '_quota_notification_write',
|
|
131
|
+
QUOTA_READ: '_quota_read',
|
|
132
|
+
QUOTA_WRITE: '_quota_write',
|
|
133
|
+
RELATION_READ: '_relation_read',
|
|
134
|
+
RELATION_WRITE: '_relation_write',
|
|
135
|
+
RESOURCE_READ: '_resource_read',
|
|
136
|
+
RESOURCE_WRITE: '_resource_write',
|
|
137
|
+
RUN_AS: '_run_as',
|
|
138
|
+
SEARCH: '_search',
|
|
139
|
+
SEQUENCE_READ: '_sequence_read',
|
|
140
|
+
SEQUENCE_WRITE: '_sequence_write',
|
|
141
|
+
SHAPE_TAG_READ: '_shape_tag_read',
|
|
142
|
+
SHAPE_TAG_WRITE: '_shape_tag_write',
|
|
143
|
+
SITE_MANAGER: '_site_manager',
|
|
144
|
+
SITE_RULE_READ: '_site_rule_read',
|
|
145
|
+
SITE_RULE_WRITE: '_site_rule_write',
|
|
146
|
+
STORAGE_GROUP_READ: '_storage_group_read',
|
|
147
|
+
STORAGE_GROUP_WRITE: '_storage_group_write',
|
|
148
|
+
STORAGE_NOTIFICATION_READ: '_storage_notification_read',
|
|
149
|
+
STORAGE_NOTIFICATION_WRITE: '_storage_notification_write',
|
|
150
|
+
STORAGE_READ: '_storage_read',
|
|
151
|
+
STORAGE_RULE_READ: '_storage_rule_read',
|
|
152
|
+
STORAGE_RULE_WRITE: '_storage_rule_write',
|
|
153
|
+
STORAGE_WRITE: '_storage_write',
|
|
154
|
+
SUPER_ACCESS_USER: '_super_access_user',
|
|
155
|
+
TASKDEFINITION_READ: '_taskdefinition_read',
|
|
156
|
+
TASKDEFINITION_WRITE: '_taskdefinition_write',
|
|
157
|
+
THUMBNAIL_READ: '_thumbnail_read',
|
|
158
|
+
THUMBNAIL_WRITE: '_thumbnail_write',
|
|
159
|
+
TRANSCODER: '_transcoder',
|
|
160
|
+
TRANSFER_READ: '_transfer_read',
|
|
161
|
+
TRANSFER_WRITE: '_transfer_write',
|
|
162
|
+
USER: '_user',
|
|
163
|
+
VXA: '_vxa',
|
|
164
|
+
VXA_READ: '_vxa_read'
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
var SHARED_ATTRIBUTE_KEYS = ['uuid', 'user', 'timestamp', 'change', 'conflict', 'mode'];
|
|
168
|
+
var SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS = ['name', 'id', 'referenced', 'data', 'inheritance'];
|
|
169
|
+
/**
|
|
170
|
+
* Array with all available metadata group attributes
|
|
171
|
+
*
|
|
172
|
+
* @category Metadata
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
var GROUP_ATTRIBUTE_KEYS = [].concat(SHARED_ATTRIBUTE_KEYS, SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS, ['cycle', 'field', 'group']);
|
|
176
|
+
/**
|
|
177
|
+
* Array with all available metadata group attributes
|
|
178
|
+
*
|
|
179
|
+
* @category Metadata
|
|
180
|
+
*/
|
|
32
181
|
|
|
33
|
-
var
|
|
34
|
-
|
|
182
|
+
var FIELD_ATTRIBUTE_KEYS = [].concat(SHARED_ATTRIBUTE_KEYS, SHARED_FIELD_AND_GROUP_ATTRIBUTE_KEYS, ['value', 'reference', 'type', 'track']);
|
|
183
|
+
/**
|
|
184
|
+
* Array with all available metadata field value attributes
|
|
185
|
+
*
|
|
186
|
+
* @category Metadata
|
|
187
|
+
*/
|
|
35
188
|
|
|
36
|
-
|
|
37
|
-
var key = _ref.key,
|
|
38
|
-
value = _ref.value;
|
|
39
|
-
return _objectSpread$b(_objectSpread$b({}, a), {}, _defineProperty({}, key, value));
|
|
40
|
-
};
|
|
189
|
+
var FIELD_VALUE_ATTRIBUTE_KEYS = [].concat(SHARED_ATTRIBUTE_KEYS, ['value', 'lang']);
|
|
41
190
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var COLLECTION_WRITE = '_collection_write';
|
|
54
|
-
var DELETION_LOCK_NOTIFICATION_READ = '_deletion_lock_notification_read';
|
|
55
|
-
var DELETION_LOCK_NOTIFICATION_WRITE = '_deletion_lock_notification_write';
|
|
56
|
-
var DELETION_LOCK_READ = '_deletion_lock_read';
|
|
57
|
-
var DELETION_LOCK_WRITE = '_deletion_lock_write';
|
|
58
|
-
var DOCUMENT_NOTIFICATION_READ = '_document_notification_read';
|
|
59
|
-
var DOCUMENT_NOTIFICATION_WRITE = '_document_notification_write';
|
|
60
|
-
var DOCUMENT_READ = '_document_read';
|
|
61
|
-
var DOCUMENT_WRITE = '_document_write';
|
|
62
|
-
var ERROR_READ = '_error_read';
|
|
63
|
-
var ERROR_WRITE = '_error_write';
|
|
64
|
-
var EXPORT = '_export';
|
|
65
|
-
var EXPORT_TEMPLATE_READ = '_export_template_read';
|
|
66
|
-
var EXPORT_TEMPLATE_WRITE = '_export_template_write';
|
|
67
|
-
var EXTERNAL_ID_READ = '_external_id_read';
|
|
68
|
-
var EXTERNAL_ID_WRITE = '_external_id_write';
|
|
69
|
-
var FILE_NOTIFICATION_READ = '_file_notification_read';
|
|
70
|
-
var FILE_NOTIFICATION_WRITE = '_file_notification_write';
|
|
71
|
-
var FILE_READ = '_file_read';
|
|
72
|
-
var FILE_WRITE = '_file_write';
|
|
73
|
-
var GROUP_READ = '_group_read';
|
|
74
|
-
var GROUP_WRITE = '_group_write';
|
|
75
|
-
var IMPORT_WRITE = '_import';
|
|
76
|
-
var ITEM_ID_READ = '_item_id_read';
|
|
77
|
-
var ITEM_ID_WRITE = '_item_id_write';
|
|
78
|
-
var ITEM_NOTIFICATION_READ = '_item_notification_read';
|
|
79
|
-
var ITEM_NOTIFICATION_WRITE = '_item_notification_write';
|
|
80
|
-
var ITEM_WRITE = '_item_write';
|
|
81
|
-
var ITEM_SEARCH = '_item_search';
|
|
82
|
-
var ITEM_SHAPE_READ = '_item_shape_read';
|
|
83
|
-
var ITEM_SHAPE_WRITE = '_item_shape_write';
|
|
84
|
-
var ITEM_TIMELINE_READ = '_item_timeline_read';
|
|
85
|
-
var ITEM_TIMELINE_WRITE = '_item_timeline_write';
|
|
86
|
-
var ITEM_URI = '_item_uri';
|
|
87
|
-
var JOB_NOTIFICATION_READ = '_job_notification_read';
|
|
88
|
-
var JOB_NOTIFICATION_WRITE = '_job_notification_write';
|
|
89
|
-
var JOB_READ = '_job_read';
|
|
90
|
-
var JOB_WRITE = '_job_write';
|
|
91
|
-
var LIBRARY_READ = '_library_read';
|
|
92
|
-
var LIBRARY_WRITE = '_library_write';
|
|
93
|
-
var LOCK_READ = '_lock_read';
|
|
94
|
-
var LOCK_WRITE = '_lock_write';
|
|
95
|
-
var LOG_READ = '_log_read';
|
|
96
|
-
var METADATA_DATASET_READ = '_metadata_dataset_read';
|
|
97
|
-
var METADATA_DATASET_WRITE = '_metadata_dataset_write';
|
|
98
|
-
var METADATA_FIELD_GROUP_READ = '_metadata_field_group_read';
|
|
99
|
-
var METADATA_FIELD_GROUP_WRITE = '_metadata_field_group_write';
|
|
100
|
-
var METADATA_FIELD_READ = '_metadata_field_read';
|
|
101
|
-
var METADATA_FIELD_WRITE = '_metadata_field_write';
|
|
102
|
-
var METADATA_GLOBAL_READ = '_metadata_global_read';
|
|
103
|
-
var METADATA_GLOBAL_WRITE = '_metadata_global_write';
|
|
104
|
-
var METADATA_LOCK_READ = '_metadata_lock_read';
|
|
105
|
-
var METADATA_LOCK_WRITE = '_metadata_lock_write';
|
|
106
|
-
var METADATA_READ = '_metadata_read';
|
|
107
|
-
var METADATA_SCHEMA_READ = '_metadata_schema_read';
|
|
108
|
-
var METADATA_SCHEMA_WRITE = '_metadata_schema_write';
|
|
109
|
-
var METADATA_WRITE = '_metadata_write';
|
|
110
|
-
var OTIF_ANALYZE = '_otif_analyze';
|
|
111
|
-
var OTIF_READ = '_otif_read';
|
|
112
|
-
var OTIF_WRITE = '_otif_write';
|
|
113
|
-
var PLACEHOLDER_NOTIFICATION_READ = '_placeholder_notification_read';
|
|
114
|
-
var PLACEHOLDER_NOTIFICATION_WRITE = '_placeholder_notification_write';
|
|
115
|
-
var PROJECTION_READ = '_projection_read';
|
|
116
|
-
var PROJECTION_WRITE = '_projection_write';
|
|
117
|
-
var QUOTA_NOTIFICATION_READ = '_quota_notification_read';
|
|
118
|
-
var QUOTA_NOTIFICATION_WRITE = '_quota_notification_write';
|
|
119
|
-
var QUOTA_READ = '_quota_read';
|
|
120
|
-
var QUOTA_WRITE = '_quota_write';
|
|
121
|
-
var RELATION_READ = '_relation_read';
|
|
122
|
-
var RELATION_WRITE = '_relation_write';
|
|
123
|
-
var RESOURCE_READ = '_resource_read';
|
|
124
|
-
var RESOURCE_WRITE = '_resource_write';
|
|
125
|
-
var RUN_AS = '_run_as';
|
|
126
|
-
var SEARCH = '_search';
|
|
127
|
-
var SEQUENCE_READ = '_sequence_read';
|
|
128
|
-
var SEQUENCE_WRITE = '_sequence_write';
|
|
129
|
-
var SHAPE_TAG_READ = '_shape_tag_read';
|
|
130
|
-
var SHAPE_TAG_WRITE = '_shape_tag_write';
|
|
131
|
-
var SITE_MANAGER = '_site_manager';
|
|
132
|
-
var SITE_RULE_READ = '_site_rule_read';
|
|
133
|
-
var SITE_RULE_WRITE = '_site_rule_write';
|
|
134
|
-
var STORAGE_GROUP_READ = '_storage_group_read';
|
|
135
|
-
var STORAGE_GROUP_WRITE = '_storage_group_write';
|
|
136
|
-
var STORAGE_NOTIFICATION_READ = '_storage_notification_read';
|
|
137
|
-
var STORAGE_NOTIFICATION_WRITE = '_storage_notification_write';
|
|
138
|
-
var STORAGE_READ = '_storage_read';
|
|
139
|
-
var STORAGE_RULE_READ = '_storage_rule_read';
|
|
140
|
-
var STORAGE_RULE_WRITE = '_storage_rule_write';
|
|
141
|
-
var STORAGE_WRITE = '_storage_write';
|
|
142
|
-
var SUPER_ACCESS_USER = '_super_access_user';
|
|
143
|
-
var TASKDEFINITION_READ = '_taskdefinition_read';
|
|
144
|
-
var TASKDEFINITION_WRITE = '_taskdefinition_write';
|
|
145
|
-
var THUMBNAIL_READ = '_thumbnail_read';
|
|
146
|
-
var THUMBNAIL_WRITE = '_thumbnail_write';
|
|
147
|
-
var TRANSCODER = '_transcoder';
|
|
148
|
-
var TRANSFER_READ = '_transfer_read';
|
|
149
|
-
var TRANSFER_WRITE = '_transfer_write';
|
|
150
|
-
var USER = '_user';
|
|
151
|
-
var VXA = '_vxa';
|
|
152
|
-
var VXA_READ = '_vxa_read';
|
|
153
|
-
|
|
154
|
-
var roles = /*#__PURE__*/Object.freeze({
|
|
155
|
-
__proto__: null,
|
|
156
|
-
ACCESSCONTROL_READ: ACCESSCONTROL_READ,
|
|
157
|
-
ACCESSCONTROL_WRITE: ACCESSCONTROL_WRITE,
|
|
158
|
-
ADMINISTRATOR: ADMINISTRATOR,
|
|
159
|
-
AUTO_PROJECTION_READ: AUTO_PROJECTION_READ,
|
|
160
|
-
AUTO_PROJECTION_WRITE: AUTO_PROJECTION_WRITE,
|
|
161
|
-
COLLECTION_NOTIFICATION_READ: COLLECTION_NOTIFICATION_READ,
|
|
162
|
-
COLLECTION_NOTIFICATION_WRITE: COLLECTION_NOTIFICATION_WRITE,
|
|
163
|
-
COLLECTION_READ: COLLECTION_READ,
|
|
164
|
-
COLLECTION_WRITE: COLLECTION_WRITE,
|
|
165
|
-
DELETION_LOCK_NOTIFICATION_READ: DELETION_LOCK_NOTIFICATION_READ,
|
|
166
|
-
DELETION_LOCK_NOTIFICATION_WRITE: DELETION_LOCK_NOTIFICATION_WRITE,
|
|
167
|
-
DELETION_LOCK_READ: DELETION_LOCK_READ,
|
|
168
|
-
DELETION_LOCK_WRITE: DELETION_LOCK_WRITE,
|
|
169
|
-
DOCUMENT_NOTIFICATION_READ: DOCUMENT_NOTIFICATION_READ,
|
|
170
|
-
DOCUMENT_NOTIFICATION_WRITE: DOCUMENT_NOTIFICATION_WRITE,
|
|
171
|
-
DOCUMENT_READ: DOCUMENT_READ,
|
|
172
|
-
DOCUMENT_WRITE: DOCUMENT_WRITE,
|
|
173
|
-
ERROR_READ: ERROR_READ,
|
|
174
|
-
ERROR_WRITE: ERROR_WRITE,
|
|
175
|
-
EXPORT: EXPORT,
|
|
176
|
-
EXPORT_TEMPLATE_READ: EXPORT_TEMPLATE_READ,
|
|
177
|
-
EXPORT_TEMPLATE_WRITE: EXPORT_TEMPLATE_WRITE,
|
|
178
|
-
EXTERNAL_ID_READ: EXTERNAL_ID_READ,
|
|
179
|
-
EXTERNAL_ID_WRITE: EXTERNAL_ID_WRITE,
|
|
180
|
-
FILE_NOTIFICATION_READ: FILE_NOTIFICATION_READ,
|
|
181
|
-
FILE_NOTIFICATION_WRITE: FILE_NOTIFICATION_WRITE,
|
|
182
|
-
FILE_READ: FILE_READ,
|
|
183
|
-
FILE_WRITE: FILE_WRITE,
|
|
184
|
-
GROUP_READ: GROUP_READ,
|
|
185
|
-
GROUP_WRITE: GROUP_WRITE,
|
|
186
|
-
IMPORT_WRITE: IMPORT_WRITE,
|
|
187
|
-
ITEM_ID_READ: ITEM_ID_READ,
|
|
188
|
-
ITEM_ID_WRITE: ITEM_ID_WRITE,
|
|
189
|
-
ITEM_NOTIFICATION_READ: ITEM_NOTIFICATION_READ,
|
|
190
|
-
ITEM_NOTIFICATION_WRITE: ITEM_NOTIFICATION_WRITE,
|
|
191
|
-
ITEM_WRITE: ITEM_WRITE,
|
|
192
|
-
ITEM_SEARCH: ITEM_SEARCH,
|
|
193
|
-
ITEM_SHAPE_READ: ITEM_SHAPE_READ,
|
|
194
|
-
ITEM_SHAPE_WRITE: ITEM_SHAPE_WRITE,
|
|
195
|
-
ITEM_TIMELINE_READ: ITEM_TIMELINE_READ,
|
|
196
|
-
ITEM_TIMELINE_WRITE: ITEM_TIMELINE_WRITE,
|
|
197
|
-
ITEM_URI: ITEM_URI,
|
|
198
|
-
JOB_NOTIFICATION_READ: JOB_NOTIFICATION_READ,
|
|
199
|
-
JOB_NOTIFICATION_WRITE: JOB_NOTIFICATION_WRITE,
|
|
200
|
-
JOB_READ: JOB_READ,
|
|
201
|
-
JOB_WRITE: JOB_WRITE,
|
|
202
|
-
LIBRARY_READ: LIBRARY_READ,
|
|
203
|
-
LIBRARY_WRITE: LIBRARY_WRITE,
|
|
204
|
-
LOCK_READ: LOCK_READ,
|
|
205
|
-
LOCK_WRITE: LOCK_WRITE,
|
|
206
|
-
LOG_READ: LOG_READ,
|
|
207
|
-
METADATA_DATASET_READ: METADATA_DATASET_READ,
|
|
208
|
-
METADATA_DATASET_WRITE: METADATA_DATASET_WRITE,
|
|
209
|
-
METADATA_FIELD_GROUP_READ: METADATA_FIELD_GROUP_READ,
|
|
210
|
-
METADATA_FIELD_GROUP_WRITE: METADATA_FIELD_GROUP_WRITE,
|
|
211
|
-
METADATA_FIELD_READ: METADATA_FIELD_READ,
|
|
212
|
-
METADATA_FIELD_WRITE: METADATA_FIELD_WRITE,
|
|
213
|
-
METADATA_GLOBAL_READ: METADATA_GLOBAL_READ,
|
|
214
|
-
METADATA_GLOBAL_WRITE: METADATA_GLOBAL_WRITE,
|
|
215
|
-
METADATA_LOCK_READ: METADATA_LOCK_READ,
|
|
216
|
-
METADATA_LOCK_WRITE: METADATA_LOCK_WRITE,
|
|
217
|
-
METADATA_READ: METADATA_READ,
|
|
218
|
-
METADATA_SCHEMA_READ: METADATA_SCHEMA_READ,
|
|
219
|
-
METADATA_SCHEMA_WRITE: METADATA_SCHEMA_WRITE,
|
|
220
|
-
METADATA_WRITE: METADATA_WRITE,
|
|
221
|
-
OTIF_ANALYZE: OTIF_ANALYZE,
|
|
222
|
-
OTIF_READ: OTIF_READ,
|
|
223
|
-
OTIF_WRITE: OTIF_WRITE,
|
|
224
|
-
PLACEHOLDER_NOTIFICATION_READ: PLACEHOLDER_NOTIFICATION_READ,
|
|
225
|
-
PLACEHOLDER_NOTIFICATION_WRITE: PLACEHOLDER_NOTIFICATION_WRITE,
|
|
226
|
-
PROJECTION_READ: PROJECTION_READ,
|
|
227
|
-
PROJECTION_WRITE: PROJECTION_WRITE,
|
|
228
|
-
QUOTA_NOTIFICATION_READ: QUOTA_NOTIFICATION_READ,
|
|
229
|
-
QUOTA_NOTIFICATION_WRITE: QUOTA_NOTIFICATION_WRITE,
|
|
230
|
-
QUOTA_READ: QUOTA_READ,
|
|
231
|
-
QUOTA_WRITE: QUOTA_WRITE,
|
|
232
|
-
RELATION_READ: RELATION_READ,
|
|
233
|
-
RELATION_WRITE: RELATION_WRITE,
|
|
234
|
-
RESOURCE_READ: RESOURCE_READ,
|
|
235
|
-
RESOURCE_WRITE: RESOURCE_WRITE,
|
|
236
|
-
RUN_AS: RUN_AS,
|
|
237
|
-
SEARCH: SEARCH,
|
|
238
|
-
SEQUENCE_READ: SEQUENCE_READ,
|
|
239
|
-
SEQUENCE_WRITE: SEQUENCE_WRITE,
|
|
240
|
-
SHAPE_TAG_READ: SHAPE_TAG_READ,
|
|
241
|
-
SHAPE_TAG_WRITE: SHAPE_TAG_WRITE,
|
|
242
|
-
SITE_MANAGER: SITE_MANAGER,
|
|
243
|
-
SITE_RULE_READ: SITE_RULE_READ,
|
|
244
|
-
SITE_RULE_WRITE: SITE_RULE_WRITE,
|
|
245
|
-
STORAGE_GROUP_READ: STORAGE_GROUP_READ,
|
|
246
|
-
STORAGE_GROUP_WRITE: STORAGE_GROUP_WRITE,
|
|
247
|
-
STORAGE_NOTIFICATION_READ: STORAGE_NOTIFICATION_READ,
|
|
248
|
-
STORAGE_NOTIFICATION_WRITE: STORAGE_NOTIFICATION_WRITE,
|
|
249
|
-
STORAGE_READ: STORAGE_READ,
|
|
250
|
-
STORAGE_RULE_READ: STORAGE_RULE_READ,
|
|
251
|
-
STORAGE_RULE_WRITE: STORAGE_RULE_WRITE,
|
|
252
|
-
STORAGE_WRITE: STORAGE_WRITE,
|
|
253
|
-
SUPER_ACCESS_USER: SUPER_ACCESS_USER,
|
|
254
|
-
TASKDEFINITION_READ: TASKDEFINITION_READ,
|
|
255
|
-
TASKDEFINITION_WRITE: TASKDEFINITION_WRITE,
|
|
256
|
-
THUMBNAIL_READ: THUMBNAIL_READ,
|
|
257
|
-
THUMBNAIL_WRITE: THUMBNAIL_WRITE,
|
|
258
|
-
TRANSCODER: TRANSCODER,
|
|
259
|
-
TRANSFER_READ: TRANSFER_READ,
|
|
260
|
-
TRANSFER_WRITE: TRANSFER_WRITE,
|
|
261
|
-
USER: USER,
|
|
262
|
-
VXA: VXA,
|
|
263
|
-
VXA_READ: VXA_READ
|
|
264
|
-
});
|
|
191
|
+
/**
|
|
192
|
+
* Array with all available VidiCore system/default field group names
|
|
193
|
+
*
|
|
194
|
+
* @category Metadata
|
|
195
|
+
*/
|
|
196
|
+
var SYSTEM_FIELDGROUPS = ['stl_subtitle', 'stl_tti', 'stl_gsi', 'mrk_marker', 'pho_validation', 'pho_resource', 'pho_error', 'facedetect_rect', 'facedetect_face', 'originalTrackFilename', 'stl_gsiHeader'];
|
|
197
|
+
/**
|
|
198
|
+
* Array with all available VidiCore system/default field group names
|
|
199
|
+
*
|
|
200
|
+
* @category Metadata
|
|
201
|
+
*/
|
|
265
202
|
|
|
266
|
-
var
|
|
267
|
-
_excluded2$2 = ["start", "end"];
|
|
203
|
+
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'];
|
|
268
204
|
|
|
269
|
-
|
|
205
|
+
var _excluded$e = ["value"],
|
|
206
|
+
_excluded2$2 = ["start", "end", "base"];
|
|
270
207
|
|
|
271
|
-
function
|
|
208
|
+
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; }
|
|
272
209
|
|
|
273
|
-
var
|
|
274
|
-
|
|
275
|
-
var
|
|
276
|
-
|
|
210
|
+
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(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; }
|
|
211
|
+
|
|
212
|
+
var isValueObject = function isValueObject(o) {
|
|
213
|
+
return Object.prototype.toString.call(o) === '[object Object]' && o.value !== undefined;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
var isFieldType = function isFieldType(v) {
|
|
217
|
+
return ['string', 'boolean', 'number'].includes(_typeof(v));
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
var isFieldObject = function isFieldObject(o) {
|
|
221
|
+
return isValueObject(o) && ((o === null || o === void 0 ? void 0 : o.value) === null || isValueObject(o.value) || isFieldType(o.value));
|
|
222
|
+
};
|
|
277
223
|
|
|
278
|
-
var isObject
|
|
224
|
+
var isObject = function isObject(o) {
|
|
279
225
|
return Object.prototype.toString.call(o) === '[object Object]';
|
|
280
226
|
};
|
|
281
227
|
|
|
@@ -284,16 +230,6 @@ var isDate = function isDate(o) {
|
|
|
284
230
|
};
|
|
285
231
|
|
|
286
232
|
var isField = function isField(value) {
|
|
287
|
-
var FIELD_TYPES = ['string', 'boolean', 'number'];
|
|
288
|
-
|
|
289
|
-
var isFieldType = function isFieldType(v) {
|
|
290
|
-
return FIELD_TYPES.includes(_typeof(v));
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
var isFieldObject = function isFieldObject(v) {
|
|
294
|
-
return isObject$1(v) && (v.value === null || isObject$1(v.value) || isFieldType(v.value));
|
|
295
|
-
};
|
|
296
|
-
|
|
297
233
|
if (value === null) {
|
|
298
234
|
return true;
|
|
299
235
|
}
|
|
@@ -307,7 +243,7 @@ var isField = function isField(value) {
|
|
|
307
243
|
|
|
308
244
|
var isGroup = function isGroup(value) {
|
|
309
245
|
var isGroupObject = function isGroupObject(v) {
|
|
310
|
-
return isObject
|
|
246
|
+
return isObject(v) && v.value === undefined && !!Object.entries(value);
|
|
311
247
|
};
|
|
312
248
|
|
|
313
249
|
if (Array.isArray(value)) {
|
|
@@ -331,9 +267,9 @@ var ensureKeysAreValid = function ensureKeysAreValid(keysToCheck, keysToMatch) {
|
|
|
331
267
|
}
|
|
332
268
|
};
|
|
333
269
|
|
|
334
|
-
var parseValue = function parseValue(value) {
|
|
270
|
+
var parseValue$1 = function parseValue(value) {
|
|
335
271
|
if (Array.isArray(value)) {
|
|
336
|
-
throw Error('Invalid value object, cannot be array');
|
|
272
|
+
throw Error('Invalid value inside value object, cannot be array');
|
|
337
273
|
}
|
|
338
274
|
|
|
339
275
|
if ([undefined, null].includes(value)) return {};
|
|
@@ -341,46 +277,50 @@ var parseValue = function parseValue(value) {
|
|
|
341
277
|
value: value.toISOString()
|
|
342
278
|
};
|
|
343
279
|
return {
|
|
344
|
-
value: value
|
|
280
|
+
value: value.toString()
|
|
345
281
|
};
|
|
346
282
|
};
|
|
347
283
|
|
|
348
284
|
var parseValueObject = function parseValueObject(valueObject) {
|
|
349
|
-
ensureKeysAreValid(Object.keys(valueObject),
|
|
285
|
+
ensureKeysAreValid(Object.keys(valueObject), FIELD_VALUE_ATTRIBUTE_KEYS);
|
|
350
286
|
|
|
351
287
|
if (Object.keys(valueObject).length === 0) {
|
|
352
288
|
throw Error('Invalid value object, cannot be empty object');
|
|
353
289
|
}
|
|
354
290
|
|
|
355
|
-
|
|
356
|
-
|
|
291
|
+
if (typeof (valueObject === null || valueObject === void 0 ? void 0 : valueObject.value) === 'string') {
|
|
292
|
+
return valueObject;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
var parsedValue = parseValue$1(valueObject === null || valueObject === void 0 ? void 0 : valueObject.value);
|
|
296
|
+
return _objectSpread$i(_objectSpread$i({}, valueObject), parsedValue !== undefined ? parsedValue : {});
|
|
357
297
|
};
|
|
358
298
|
|
|
359
299
|
var parseFieldValue = function parseFieldValue(value) {
|
|
360
300
|
if ([undefined, null].includes(value)) return undefined;
|
|
361
|
-
if (Array.isArray(value)) return value.
|
|
362
|
-
if (
|
|
363
|
-
return parseValue(value);
|
|
301
|
+
if (Array.isArray(value)) return value.flatMap(parseFieldValue);
|
|
302
|
+
if (isValueObject(value)) return parseValueObject(value);
|
|
303
|
+
return parseValue$1(value);
|
|
364
304
|
};
|
|
365
305
|
|
|
366
306
|
var parseFieldObject = function parseFieldObject(fieldObject) {
|
|
367
|
-
ensureKeysAreValid(Object.keys(fieldObject),
|
|
307
|
+
ensureKeysAreValid(Object.keys(fieldObject), FIELD_ATTRIBUTE_KEYS);
|
|
368
308
|
var parsedFieldValue = parseFieldValue(fieldObject === null || fieldObject === void 0 ? void 0 : fieldObject.value);
|
|
369
309
|
|
|
370
310
|
if (parsedFieldValue === undefined) {
|
|
371
311
|
fieldObject.value;
|
|
372
|
-
var fieldObjectWithoutValue = _objectWithoutProperties(fieldObject, _excluded$
|
|
312
|
+
var fieldObjectWithoutValue = _objectWithoutProperties(fieldObject, _excluded$e);
|
|
373
313
|
|
|
374
314
|
return fieldObjectWithoutValue;
|
|
375
315
|
}
|
|
376
316
|
|
|
377
|
-
return _objectSpread$
|
|
317
|
+
return _objectSpread$i(_objectSpread$i({}, fieldObject), {}, {
|
|
378
318
|
value: _toConsumableArray(Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
|
|
379
319
|
});
|
|
380
320
|
};
|
|
381
321
|
|
|
382
322
|
var parseField$1 = function parseField(field) {
|
|
383
|
-
if (
|
|
323
|
+
if (isFieldObject(field)) {
|
|
384
324
|
return parseFieldObject(field);
|
|
385
325
|
}
|
|
386
326
|
|
|
@@ -404,485 +344,652 @@ var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
|
|
|
404
344
|
name = _ref2[0],
|
|
405
345
|
value = _ref2[1];
|
|
406
346
|
|
|
407
|
-
if (
|
|
408
|
-
groupAttributes = _objectSpread$
|
|
347
|
+
if (GROUP_ATTRIBUTE_KEYS.includes(name)) {
|
|
348
|
+
groupAttributes = _objectSpread$i(_objectSpread$i({}, groupAttributes), {}, _defineProperty({}, name, value));
|
|
409
349
|
} else if (isField(value)) {
|
|
410
350
|
try {
|
|
411
|
-
field.push(_objectSpread$
|
|
351
|
+
field.push(_objectSpread$i({
|
|
412
352
|
name: name
|
|
413
353
|
}, parseField$1(value)));
|
|
414
354
|
} catch (error) {
|
|
415
355
|
throw Error(error.message + (name ? " for field \"".concat(name, "\"") : ''));
|
|
416
356
|
}
|
|
417
357
|
} else if (isGroup(value)) {
|
|
418
|
-
(Array.isArray(value) ? value : [value]).forEach(function (
|
|
419
|
-
group.push(_objectSpread$
|
|
358
|
+
(Array.isArray(value) ? value : [value]).forEach(function (childGroup) {
|
|
359
|
+
group.push(_objectSpread$i({
|
|
420
360
|
name: name
|
|
421
|
-
}, parseGroupsAndFields(
|
|
361
|
+
}, parseGroupsAndFields(childGroup)));
|
|
422
362
|
});
|
|
423
363
|
} else {
|
|
424
364
|
throw Error("Unhandled value for \"".concat(name, "\""));
|
|
425
365
|
}
|
|
426
366
|
});
|
|
427
|
-
return _objectSpread$
|
|
367
|
+
return _objectSpread$i(_objectSpread$i(_objectSpread$i({}, groupAttributes), group.length > 0 ? {
|
|
428
368
|
group: group
|
|
429
369
|
} : {}), field.length > 0 ? {
|
|
430
370
|
field: field
|
|
431
371
|
} : {});
|
|
432
372
|
};
|
|
433
373
|
|
|
434
|
-
var parseTimespan$1 = function parseTimespan() {
|
|
435
|
-
var
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
groupsAndFields = _objectWithoutProperties(_ref3, _excluded2$2);
|
|
374
|
+
var parseTimespan$1 = function parseTimespan(timespan) {
|
|
375
|
+
var _timespan$start = timespan.start,
|
|
376
|
+
start = _timespan$start === void 0 ? '-INF' : _timespan$start,
|
|
377
|
+
_timespan$end = timespan.end,
|
|
378
|
+
end = _timespan$end === void 0 ? '+INF' : _timespan$end,
|
|
379
|
+
_timespan$base = timespan.base,
|
|
380
|
+
base = _timespan$base === void 0 ? undefined : _timespan$base,
|
|
381
|
+
groupsAndFields = _objectWithoutProperties(timespan, _excluded2$2);
|
|
443
382
|
|
|
444
383
|
var _parseGroupsAndFields = parseGroupsAndFields(groupsAndFields),
|
|
445
384
|
group = _parseGroupsAndFields.group,
|
|
446
385
|
field = _parseGroupsAndFields.field;
|
|
447
386
|
|
|
448
|
-
return _objectSpread$
|
|
387
|
+
return _objectSpread$i(_objectSpread$i(_objectSpread$i({}, group ? {
|
|
449
388
|
group: group
|
|
450
389
|
} : {}), field ? {
|
|
451
390
|
field: field
|
|
452
391
|
} : {}), {}, {
|
|
453
|
-
start: start,
|
|
454
|
-
end: end
|
|
455
|
-
}
|
|
392
|
+
start: start.toString(),
|
|
393
|
+
end: end.toString()
|
|
394
|
+
}, base ? {
|
|
395
|
+
base: base
|
|
396
|
+
} : {});
|
|
456
397
|
};
|
|
398
|
+
|
|
457
399
|
/**
|
|
458
|
-
* Create a VidiCore
|
|
400
|
+
* Create a VidiCore metadata object from a more dense/simplified structure
|
|
401
|
+
*
|
|
402
|
+
* @param input To create VidiCore metadata object of
|
|
403
|
+
* @returns A VidiCore metadata object
|
|
459
404
|
*
|
|
460
|
-
* @
|
|
461
|
-
* @returns {object} a MetadataType object
|
|
405
|
+
* @category Metadata
|
|
462
406
|
*/
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
var createMetadataType = function createMetadataType() {
|
|
466
|
-
var metadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
407
|
+
var createMetadataType = function createMetadataType(input) {
|
|
467
408
|
return {
|
|
468
|
-
timespan: (Array.isArray(
|
|
409
|
+
timespan: (Array.isArray(input) ? input : [input || {}]).map(function (t) {
|
|
469
410
|
return parseTimespan$1(t);
|
|
470
411
|
})
|
|
471
412
|
};
|
|
472
413
|
};
|
|
473
414
|
|
|
415
|
+
/**
|
|
416
|
+
* @private
|
|
417
|
+
*
|
|
418
|
+
* Function to sort timespan lists with
|
|
419
|
+
*
|
|
420
|
+
* TODO:
|
|
421
|
+
* - Take different time bases in account
|
|
422
|
+
* - Also compare end if start is same (lowest end first)
|
|
423
|
+
*
|
|
424
|
+
* @param timespan1 first timespan to compare
|
|
425
|
+
* @param timespan2 second timespan to compare
|
|
426
|
+
* @returns -1 if first is before second, 1 if first is after second, 0 if same start
|
|
427
|
+
*/
|
|
474
428
|
var sortTimespanList = function sortTimespanList(timespan1, timespan2) {
|
|
475
|
-
var
|
|
476
|
-
var secondStart = timespan2.start;
|
|
429
|
+
var _timespan1$start, _timespan2$start;
|
|
477
430
|
|
|
478
|
-
var
|
|
479
|
-
|
|
480
|
-
|
|
431
|
+
var _ref = (timespan1 === null || timespan1 === void 0 ? void 0 : (_timespan1$start = timespan1.start) === null || _timespan1$start === void 0 ? void 0 : _timespan1$start.split('@')) || [],
|
|
432
|
+
_ref2 = _slicedToArray(_ref, 1),
|
|
433
|
+
firstStart = _ref2[0];
|
|
481
434
|
|
|
482
|
-
var
|
|
483
|
-
|
|
484
|
-
|
|
435
|
+
var _ref3 = (timespan2 === null || timespan2 === void 0 ? void 0 : (_timespan2$start = timespan2.start) === null || _timespan2$start === void 0 ? void 0 : _timespan2$start.split('@')) || [],
|
|
436
|
+
_ref4 = _slicedToArray(_ref3, 1),
|
|
437
|
+
secondStart = _ref4[0];
|
|
485
438
|
|
|
486
|
-
if (Number(
|
|
439
|
+
if (Number(firstStart) < Number(secondStart)) {
|
|
487
440
|
return -1;
|
|
488
441
|
}
|
|
489
442
|
|
|
490
|
-
if (Number(
|
|
443
|
+
if (Number(firstStart) > Number(secondStart)) {
|
|
491
444
|
return 1;
|
|
492
445
|
}
|
|
493
446
|
|
|
494
447
|
return 0;
|
|
495
448
|
};
|
|
496
449
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
450
|
+
/**
|
|
451
|
+
* @private
|
|
452
|
+
*
|
|
453
|
+
* Wrap in array if not already an array, and return empty array if v is undefined
|
|
454
|
+
*
|
|
455
|
+
* @param v value to return as array
|
|
456
|
+
* @returns input value wrapped as array
|
|
457
|
+
*/
|
|
500
458
|
|
|
501
|
-
|
|
459
|
+
var asArray = function asArray(v) {
|
|
460
|
+
return Array.isArray(v) ? v : v && [v] || [];
|
|
461
|
+
};
|
|
462
|
+
/**
|
|
463
|
+
* @private
|
|
464
|
+
*
|
|
465
|
+
* Wrap in array if not already an array, and return empty array if v is undefined
|
|
466
|
+
*
|
|
467
|
+
* @param v value to return as array
|
|
468
|
+
* @returns input value wrapped as array
|
|
469
|
+
*/
|
|
502
470
|
|
|
503
|
-
|
|
471
|
+
var asSingle = function asSingle(v) {
|
|
472
|
+
return Array.isArray(v) ? v.pop() : v;
|
|
473
|
+
};
|
|
474
|
+
/**
|
|
475
|
+
* @private
|
|
476
|
+
* Check if array is string array (+ type guard)
|
|
477
|
+
*
|
|
478
|
+
* @param arr Array to check if string array
|
|
479
|
+
* @returns true if string array
|
|
480
|
+
*/
|
|
504
481
|
|
|
505
|
-
var
|
|
506
|
-
|
|
507
|
-
|
|
482
|
+
var isStringArray = function isStringArray(arr) {
|
|
483
|
+
return (arr === null || arr === void 0 ? void 0 : arr.every(function (v) {
|
|
484
|
+
return typeof v === 'string';
|
|
485
|
+
})) || false;
|
|
486
|
+
};
|
|
508
487
|
|
|
509
|
-
|
|
510
|
-
_ref$arrayOnSingle = _ref.arrayOnSingle,
|
|
511
|
-
arrayOnSingle = _ref$arrayOnSingle === void 0 ? true : _ref$arrayOnSingle,
|
|
512
|
-
_ref$arrayOnSingleVal = _ref.arrayOnSingleValue,
|
|
513
|
-
arrayOnSingleValue = _ref$arrayOnSingleVal === void 0 ? true : _ref$arrayOnSingleVal,
|
|
514
|
-
joinValue = _ref.joinValue,
|
|
515
|
-
includeAttributes = _ref.includeAttributes,
|
|
516
|
-
includeValueAttributes = _ref.includeValueAttributes;
|
|
517
|
-
|
|
518
|
-
if (includeAttributes || includeValueAttributes) return valueList;
|
|
519
|
-
var valueArray = [];
|
|
520
|
-
valueList.forEach(function (thisValue) {
|
|
521
|
-
if (thisValue.value) valueArray.push(thisValue.value);
|
|
522
|
-
});
|
|
523
|
-
if (joinValue) return valueArray.join(joinValue);
|
|
488
|
+
var _excluded$d = ["value"];
|
|
524
489
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
490
|
+
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; }
|
|
491
|
+
|
|
492
|
+
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(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; }
|
|
528
493
|
|
|
529
|
-
|
|
494
|
+
var defaultOptions$a = {
|
|
495
|
+
includeValueAttributes: false
|
|
530
496
|
};
|
|
497
|
+
/**
|
|
498
|
+
* @internal
|
|
499
|
+
* Parse the value object inside a field value list
|
|
500
|
+
*
|
|
501
|
+
* @param value The Vidicore metadata value type
|
|
502
|
+
* @param options For how to parse the value object
|
|
503
|
+
* @returns The parsed value
|
|
504
|
+
*/
|
|
505
|
+
|
|
506
|
+
function parseValue(value, options) {
|
|
507
|
+
var _defaultOptions = _objectSpread$h(_objectSpread$h({}, defaultOptions$a), options || {}),
|
|
508
|
+
includeValueAttributes = _defaultOptions.includeValueAttributes;
|
|
531
509
|
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
510
|
+
if (includeValueAttributes === false) {
|
|
511
|
+
return value === null || value === void 0 ? void 0 : value.value;
|
|
512
|
+
}
|
|
535
513
|
|
|
536
|
-
var
|
|
537
|
-
|
|
538
|
-
includeFieldAttributes = _ref2.includeFieldAttributes;
|
|
514
|
+
var stringValue = value.value,
|
|
515
|
+
attributes = _objectWithoutProperties(value, _excluded$d);
|
|
539
516
|
|
|
540
|
-
var
|
|
541
|
-
|
|
542
|
-
|
|
517
|
+
var valueAttributes = includeValueAttributes === true && attributes || Array.isArray(includeValueAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref) {
|
|
518
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
519
|
+
key = _ref2[0];
|
|
543
520
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
521
|
+
return includeValueAttributes.includes(key);
|
|
522
|
+
})) || {};
|
|
523
|
+
return _objectSpread$h(_objectSpread$h({}, valueAttributes), {}, {
|
|
524
|
+
value: stringValue
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
var _excluded$c = ["joinValue", "arrayOnSingleValue"];
|
|
529
|
+
|
|
530
|
+
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; }
|
|
531
|
+
|
|
532
|
+
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(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; }
|
|
533
|
+
var defaultOptions$9 = _objectSpread$g(_objectSpread$g({}, defaultOptions$a), {}, {
|
|
534
|
+
joinValue: undefined,
|
|
535
|
+
arrayOnSingleValue: true
|
|
536
|
+
});
|
|
537
|
+
/**
|
|
538
|
+
* @internal
|
|
539
|
+
*
|
|
540
|
+
* @param valueList
|
|
541
|
+
* @param options
|
|
542
|
+
* @returns
|
|
543
|
+
*/
|
|
544
|
+
|
|
545
|
+
function parseValueList(valueList, options) {
|
|
546
|
+
var _defaultOptions = _objectSpread$g(_objectSpread$g({}, defaultOptions$9), options || {}),
|
|
547
|
+
joinValue = _defaultOptions.joinValue,
|
|
548
|
+
arrayOnSingleValue = _defaultOptions.arrayOnSingleValue,
|
|
549
|
+
parseValueOptions = _objectWithoutProperties(_defaultOptions, _excluded$c);
|
|
550
|
+
|
|
551
|
+
var parsedValueList = valueList === null || valueList === void 0 ? void 0 : valueList.map(function (v) {
|
|
552
|
+
return parseValue(v, parseValueOptions);
|
|
547
553
|
});
|
|
554
|
+
if (isStringArray(parsedValueList) && joinValue) return parsedValueList === null || parsedValueList === void 0 ? void 0 : parsedValueList.join(joinValue);
|
|
555
|
+
if (arrayOnSingleValue !== true && (parsedValueList === null || parsedValueList === void 0 ? void 0 : parsedValueList.length) <= 1) return parsedValueList === null || parsedValueList === void 0 ? void 0 : parsedValueList[0];
|
|
548
556
|
return parsedValueList;
|
|
549
|
-
}
|
|
557
|
+
}
|
|
550
558
|
|
|
551
|
-
var
|
|
552
|
-
|
|
553
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
559
|
+
var _excluded$b = ["includeFieldAttributes"],
|
|
560
|
+
_excluded2$1 = ["value"];
|
|
554
561
|
|
|
555
|
-
|
|
556
|
-
joinValue = _ref3.joinValue,
|
|
557
|
-
includeAttributes = _ref3.includeAttributes,
|
|
558
|
-
includeFieldAttributes = _ref3.includeFieldAttributes,
|
|
559
|
-
includeValueAttributes = _ref3.includeValueAttributes,
|
|
560
|
-
fieldAsList = _ref3.fieldAsList;
|
|
562
|
+
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; }
|
|
561
563
|
|
|
562
|
-
|
|
564
|
+
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(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; }
|
|
565
|
+
var defaultOptions$8 = _objectSpread$f({
|
|
566
|
+
includeFieldAttributes: false
|
|
567
|
+
}, defaultOptions$9);
|
|
568
|
+
/**
|
|
569
|
+
* @internal
|
|
570
|
+
*
|
|
571
|
+
* @param field
|
|
572
|
+
* @param options
|
|
573
|
+
* @returns
|
|
574
|
+
*/
|
|
563
575
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
}
|
|
576
|
+
var parseField = function parseField(field, options) {
|
|
577
|
+
var _defaultOptions = _objectSpread$f(_objectSpread$f({}, defaultOptions$8), options || {}),
|
|
578
|
+
includeFieldAttributes = _defaultOptions.includeFieldAttributes,
|
|
579
|
+
parseValueListOptions = _objectWithoutProperties(_defaultOptions, _excluded$b);
|
|
569
580
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
var parsedField = parseField(thisField, options);
|
|
581
|
+
var value = field.value,
|
|
582
|
+
attributes = _objectWithoutProperties(field, _excluded2$1);
|
|
573
583
|
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
584
|
+
var parsedValueList = parseValueList(value, parseValueListOptions);
|
|
585
|
+
var fieldAttributes = includeFieldAttributes === true && attributes || Array.isArray(includeFieldAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref) {
|
|
586
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
587
|
+
key = _ref2[0];
|
|
578
588
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
var _currentValue = output[key];
|
|
586
|
-
var _parsedValue = parsedField;
|
|
589
|
+
return includeFieldAttributes.includes(key);
|
|
590
|
+
})) || {};
|
|
591
|
+
return includeFieldAttributes ? _objectSpread$f(_objectSpread$f({}, fieldAttributes), {}, {
|
|
592
|
+
value: parsedValueList
|
|
593
|
+
}) : parsedValueList;
|
|
594
|
+
};
|
|
587
595
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
596
|
+
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; }
|
|
597
|
+
|
|
598
|
+
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(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; }
|
|
599
|
+
var defaultOptions$7 = _objectSpread$e(_objectSpread$e({}, defaultOptions$8), {}, {
|
|
600
|
+
fieldAsList: false,
|
|
601
|
+
arrayOnSingleField: false,
|
|
602
|
+
overrideField: undefined
|
|
603
|
+
});
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Parse a metadata field list according to selected options
|
|
607
|
+
*
|
|
608
|
+
* @remarks
|
|
609
|
+
* Duplicate fields (same field name in the same field list) are usually not the data model we'd advise using.
|
|
610
|
+
* Since VidiCore supports multiple values in one fields, it's typically advised to store them as such.
|
|
611
|
+
* But, given duplicated fields when parsing it will:
|
|
612
|
+
* - with default options, merge duplicated field values to one field value array
|
|
613
|
+
* - with `fieldAsList` enabled, separate fields in the list/array (as usual, even if not duplicate)
|
|
614
|
+
* - with `includeFieldAttributes` enabled, return an array of field objects
|
|
615
|
+
* - with `overrideField` enabled - Override so it returns the latest "duplicated" field it parses
|
|
616
|
+
*
|
|
617
|
+
* @param fieldList Field list to parse
|
|
618
|
+
* @param [options=defaultOptions] Options for how to parse the field list
|
|
619
|
+
* @returns A parsed field list
|
|
620
|
+
*
|
|
621
|
+
* @category Metadata
|
|
622
|
+
*/
|
|
623
|
+
var parseFieldList = function parseFieldList(fieldList, options) {
|
|
624
|
+
var parseFieldListOptions = _objectSpread$e(_objectSpread$e({}, defaultOptions$7), options || {});
|
|
625
|
+
|
|
626
|
+
var fieldAsList = parseFieldListOptions.fieldAsList,
|
|
627
|
+
arrayOnSingleField = parseFieldListOptions.arrayOnSingleField,
|
|
628
|
+
overrideField = parseFieldListOptions.overrideField;
|
|
629
|
+
var shouldOverride = overrideField === true && fieldAsList === false;
|
|
630
|
+
var output = {};
|
|
631
|
+
fieldList === null || fieldList === void 0 ? void 0 : fieldList.forEach(function (field) {
|
|
632
|
+
var name = field.name;
|
|
633
|
+
var parsedField = parseField(field, parseFieldListOptions);
|
|
634
|
+
var parsedFieldOutput = arrayOnSingleField === true ? asArray(parsedField) : parsedField;
|
|
635
|
+
var existingParsedFields = output[name];
|
|
636
|
+
if (!existingParsedFields) output[name] = parsedFieldOutput;else if (shouldOverride) output[name] = parsedField;else output[name] = [asArray(existingParsedFields), asArray(parsedField)].flat();
|
|
597
637
|
});
|
|
598
|
-
return output;
|
|
638
|
+
return fieldAsList === true ? Object.values(output).flat() : output;
|
|
599
639
|
};
|
|
600
640
|
|
|
601
|
-
var
|
|
602
|
-
var group = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
603
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
641
|
+
var _excluded$a = ["field", "group"];
|
|
604
642
|
|
|
605
|
-
|
|
606
|
-
includeAttributes = _ref4.includeAttributes,
|
|
607
|
-
includeGroupAttributes = _ref4.includeGroupAttributes,
|
|
608
|
-
flat = _ref4.flat,
|
|
609
|
-
flatGroup = _ref4.flatGroup,
|
|
610
|
-
groupAsList = _ref4.groupAsList,
|
|
611
|
-
fieldAsList = _ref4.fieldAsList;
|
|
643
|
+
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; }
|
|
612
644
|
|
|
613
|
-
|
|
614
|
-
fieldList = _group$field === void 0 ? [] : _group$field,
|
|
615
|
-
_group$group = group.group,
|
|
616
|
-
groupList = _group$group === void 0 ? [] : _group$group,
|
|
617
|
-
attributes = _objectWithoutProperties(group, _excluded2$1);
|
|
645
|
+
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(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; }
|
|
618
646
|
|
|
619
|
-
|
|
647
|
+
var defaultParseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultOptions$7), {}, {
|
|
648
|
+
includeGroupAttributes: false,
|
|
649
|
+
groupAsList: false,
|
|
650
|
+
arrayOnSingleGroup: false,
|
|
651
|
+
overrideGroup: undefined
|
|
652
|
+
});
|
|
620
653
|
|
|
621
|
-
|
|
622
|
-
|
|
654
|
+
/**
|
|
655
|
+
* @internal
|
|
656
|
+
*
|
|
657
|
+
* (Kept here due to circular dependency otherwise)
|
|
658
|
+
*
|
|
659
|
+
* @param group
|
|
660
|
+
* @param options
|
|
661
|
+
* @returns
|
|
662
|
+
*/
|
|
663
|
+
var parseGroup = function parseGroup(group, options) {
|
|
664
|
+
var parseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultParseGroupOptions), options || {});
|
|
623
665
|
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
666
|
+
var includeGroupAttributes = parseGroupOptions.includeGroupAttributes;
|
|
667
|
+
var parseFieldListOptions = Object.fromEntries(Object.entries(parseGroupOptions).filter(function (_ref) {
|
|
668
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
669
|
+
key = _ref2[0];
|
|
627
670
|
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
Object.assign(output, {
|
|
631
|
-
group: parsedGroupList
|
|
632
|
-
});
|
|
633
|
-
} else {
|
|
634
|
-
Object.assign(output, parsedGroupList);
|
|
635
|
-
}
|
|
671
|
+
return Object.keys(defaultOptions$7).includes(key);
|
|
672
|
+
}));
|
|
636
673
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
});
|
|
641
|
-
} else {
|
|
642
|
-
Object.assign(output, parsedFieldList);
|
|
643
|
-
}
|
|
644
|
-
} else {
|
|
645
|
-
Object.assign(output, {
|
|
646
|
-
field: parsedFieldList
|
|
647
|
-
});
|
|
648
|
-
Object.assign(output, {
|
|
649
|
-
group: parsedGroupList
|
|
650
|
-
});
|
|
651
|
-
}
|
|
674
|
+
var fieldList = group.field,
|
|
675
|
+
groupList = group.group,
|
|
676
|
+
attributes = _objectWithoutProperties(group, _excluded$a);
|
|
652
677
|
|
|
653
|
-
|
|
678
|
+
var parsedFieldList = fieldList && parseFieldList(fieldList, parseFieldListOptions); // eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
679
|
+
|
|
680
|
+
var parsedGroupList = groupList && parseGroupList(groupList, parseGroupOptions);
|
|
681
|
+
var groupAttributes = includeGroupAttributes === true && attributes || Array.isArray(includeGroupAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref3) {
|
|
682
|
+
var _ref4 = _slicedToArray(_ref3, 1),
|
|
683
|
+
key = _ref4[0];
|
|
684
|
+
|
|
685
|
+
return includeGroupAttributes.includes(key);
|
|
686
|
+
})) || {};
|
|
687
|
+
return _objectSpread$d(_objectSpread$d(_objectSpread$d({}, groupAttributes), parseFieldListOptions !== null && parseFieldListOptions !== void 0 && parseFieldListOptions.fieldAsList ? parsedFieldList && {
|
|
688
|
+
field: parsedFieldList
|
|
689
|
+
} || {} : parsedFieldList), parseGroupOptions !== null && parseGroupOptions !== void 0 && parseGroupOptions.groupAsList ? parsedGroupList && {
|
|
690
|
+
group: parsedGroupList
|
|
691
|
+
} || {} : parsedGroupList);
|
|
654
692
|
};
|
|
655
693
|
|
|
656
|
-
var
|
|
657
|
-
|
|
658
|
-
|
|
694
|
+
var defaultOptions$6 = defaultParseGroupOptions;
|
|
695
|
+
/**
|
|
696
|
+
* Parse a metadata group list according to selected options
|
|
697
|
+
*
|
|
698
|
+
* @remarks
|
|
699
|
+
* Parsing duplicate groups (with identical name) in the same group list will return:
|
|
700
|
+
* - with default options, an array of group objects
|
|
701
|
+
* - with `groupAsList` enabled, separate group objects in the list/array (as usual, even if not duplicate)
|
|
702
|
+
* - with `overrideGroup` enabled, return the latest duplicated group it parses
|
|
703
|
+
*
|
|
704
|
+
* @param groupList Group list to parse
|
|
705
|
+
* @param options options for how to parse list
|
|
706
|
+
* @returns A parsed group list
|
|
707
|
+
*
|
|
708
|
+
* @category Metadata
|
|
709
|
+
*/
|
|
659
710
|
|
|
660
|
-
|
|
661
|
-
|
|
711
|
+
var parseGroupList = function parseGroupList(groupList, options) {
|
|
712
|
+
var parseGroupOptions = _objectSpread$d(_objectSpread$d({}, defaultOptions$6), options || {});
|
|
713
|
+
|
|
714
|
+
var groupAsList = parseGroupOptions.groupAsList,
|
|
715
|
+
arrayOnSingleGroup = parseGroupOptions.arrayOnSingleGroup,
|
|
716
|
+
overrideGroup = parseGroupOptions.overrideGroup;
|
|
717
|
+
var shouldOverride = overrideGroup === true && groupAsList === false;
|
|
718
|
+
var output = {};
|
|
719
|
+
groupList === null || groupList === void 0 ? void 0 : groupList.forEach(function (group) {
|
|
720
|
+
var name = group.name;
|
|
721
|
+
var parsedGroup = parseGroup(group, parseGroupOptions);
|
|
722
|
+
var parsedGroupOutput = arrayOnSingleGroup === true ? asArray(parsedGroup) : parsedGroup;
|
|
723
|
+
var existingParsedGroups = output[name];
|
|
724
|
+
if (!existingParsedGroups) output[name] = parsedGroupOutput;else if (shouldOverride) output[name] = parsedGroup;else output[name] = [asArray(existingParsedGroups), asArray(parsedGroup)].flat();
|
|
725
|
+
});
|
|
662
726
|
|
|
663
727
|
if (groupAsList) {
|
|
664
|
-
return
|
|
665
|
-
return parseGroup(thisGroup, options);
|
|
666
|
-
});
|
|
728
|
+
return Object.values(output).flat();
|
|
667
729
|
}
|
|
668
730
|
|
|
669
|
-
var output = {};
|
|
670
|
-
groupList.forEach(function (thisGroup) {
|
|
671
|
-
var key = thisGroup.name;
|
|
672
|
-
var parsedGroup = parseGroup(thisGroup, options);
|
|
673
|
-
|
|
674
|
-
if (output[key]) {
|
|
675
|
-
var _output$key = output[key],
|
|
676
|
-
currentField = _output$key.field,
|
|
677
|
-
currentGroup = _output$key.group;
|
|
678
|
-
var parsedField = parsedGroup.field,
|
|
679
|
-
parsedGroupList = parsedGroup.group;
|
|
680
|
-
output[key].field = _objectSpread$9(_objectSpread$9({}, currentField), parsedField);
|
|
681
|
-
output[key].group = _objectSpread$9(_objectSpread$9({}, currentGroup), parsedGroupList);
|
|
682
|
-
} else {
|
|
683
|
-
output[key] = parsedGroup;
|
|
684
|
-
}
|
|
685
|
-
});
|
|
686
731
|
return output;
|
|
687
732
|
};
|
|
733
|
+
|
|
734
|
+
var _excluded$9 = ["field", "group"];
|
|
735
|
+
|
|
736
|
+
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; }
|
|
737
|
+
|
|
738
|
+
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(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; }
|
|
739
|
+
var defaultOptions$5 = _objectSpread$c(_objectSpread$c({}, defaultOptions$6), {}, {
|
|
740
|
+
includeTimespanAttributes: false,
|
|
741
|
+
flat: false,
|
|
742
|
+
arrayOnSingle: false,
|
|
743
|
+
arrayOnSingleValue: true,
|
|
744
|
+
arrayOnSingleGroup: undefined,
|
|
745
|
+
arrayOnSingleField: undefined
|
|
746
|
+
});
|
|
688
747
|
/**
|
|
689
|
-
*
|
|
690
|
-
*
|
|
691
|
-
*
|
|
692
|
-
* @
|
|
693
|
-
*
|
|
694
|
-
*
|
|
695
|
-
* @param
|
|
696
|
-
* @param
|
|
697
|
-
* @
|
|
698
|
-
*
|
|
699
|
-
* @
|
|
700
|
-
*
|
|
701
|
-
* @
|
|
702
|
-
* @param {boolean} [options.groupAsList=false] - Return groups as list.
|
|
703
|
-
* @param {boolean} [options.fieldAsList=false] - Return fields as list.
|
|
704
|
-
* @param {boolean} [options.arrayOnSingle=true] - Return fields as array even if single field.
|
|
705
|
-
* @param {boolean} [options.arrayOnSingleValue=true] - Return fields as array even if single field value.
|
|
706
|
-
* @returns {Object} Metadata object parsed according to options.
|
|
748
|
+
*
|
|
749
|
+
* Parses timespan according to specified options
|
|
750
|
+
*
|
|
751
|
+
* @remarks
|
|
752
|
+
* To ensure a flat (no array) representation when using `flat: true`, the parser will also set `overrideGroup` and `overrideField` to true (unless those are explicitly set false)
|
|
753
|
+
*
|
|
754
|
+
* @param timespan - A VidiCore metadata timespan
|
|
755
|
+
* @param options - Options to change how it is parsed
|
|
756
|
+
* @returns Timespan parsed according to options
|
|
757
|
+
*
|
|
758
|
+
* @see {@link parseGroupList} and {@link parseFieldList} for more info
|
|
759
|
+
*
|
|
760
|
+
* @category Metadata
|
|
707
761
|
*/
|
|
708
762
|
|
|
763
|
+
var parseTimespan = function parseTimespan(timespan, options) {
|
|
764
|
+
var parseTimespanOptions = _objectSpread$c(_objectSpread$c({}, defaultOptions$5), options || {});
|
|
709
765
|
|
|
710
|
-
var
|
|
711
|
-
|
|
712
|
-
|
|
766
|
+
var includeTimespanAttributes = parseTimespanOptions.includeTimespanAttributes,
|
|
767
|
+
arrayOnSingle = parseTimespanOptions.arrayOnSingle,
|
|
768
|
+
flat = parseTimespanOptions.flat;
|
|
769
|
+
var parseGroupListOptions = Object.fromEntries(Object.entries(options).map(function (_ref) {
|
|
770
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
771
|
+
key = _ref2[0],
|
|
772
|
+
value = _ref2[1];
|
|
713
773
|
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
flatTimespan = _ref6.flatTimespan,
|
|
719
|
-
groupAsList = _ref6.groupAsList,
|
|
720
|
-
fieldAsList = _ref6.fieldAsList;
|
|
774
|
+
if (Object.keys(defaultOptions$6).includes(key)) {
|
|
775
|
+
if (['arrayOnSingleGroup', 'arrayOnSingleField', 'arrayOnSingleValue'].includes(key) && (value !== undefined ? value : arrayOnSingle === true)) {
|
|
776
|
+
return [key, true];
|
|
777
|
+
}
|
|
721
778
|
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
groupList = _timespan$group === void 0 ? [] : _timespan$group,
|
|
726
|
-
attributes = _objectWithoutProperties(timespan, _excluded3);
|
|
779
|
+
if (['overrideGroup', 'overrideField'].includes(key) && (value !== undefined ? value : flat === true)) {
|
|
780
|
+
return [key, true];
|
|
781
|
+
}
|
|
727
782
|
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
var output = {};
|
|
783
|
+
return [key, value];
|
|
784
|
+
}
|
|
731
785
|
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
786
|
+
return undefined;
|
|
787
|
+
}).filter(function (e) {
|
|
788
|
+
return !!e;
|
|
789
|
+
}));
|
|
790
|
+
var parseFieldListOptions = Object.fromEntries(Object.entries(options).map(function (_ref3) {
|
|
791
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
792
|
+
key = _ref4[0],
|
|
793
|
+
value = _ref4[1];
|
|
794
|
+
|
|
795
|
+
if (Object.keys(defaultOptions$7).includes(key)) {
|
|
796
|
+
if (['arrayOnSingleField', 'arrayOnSingleValue'].includes(key) && (value !== undefined ? value : arrayOnSingle === true)) {
|
|
797
|
+
return [key, true];
|
|
798
|
+
}
|
|
735
799
|
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
group: group
|
|
740
|
-
});
|
|
741
|
-
} else {
|
|
742
|
-
Object.assign(output, group);
|
|
743
|
-
}
|
|
800
|
+
if (['overrideField'].includes(key) && (value !== undefined ? value : flat === true)) {
|
|
801
|
+
return [key, true];
|
|
802
|
+
}
|
|
744
803
|
|
|
745
|
-
|
|
746
|
-
Object.assign(output, {
|
|
747
|
-
field: field
|
|
748
|
-
});
|
|
749
|
-
} else {
|
|
750
|
-
Object.assign(output, field);
|
|
804
|
+
return [key, value];
|
|
751
805
|
}
|
|
752
|
-
} else {
|
|
753
|
-
Object.assign(output, {
|
|
754
|
-
field: field
|
|
755
|
-
});
|
|
756
|
-
Object.assign(output, {
|
|
757
|
-
group: group
|
|
758
|
-
});
|
|
759
|
-
}
|
|
760
806
|
|
|
761
|
-
|
|
807
|
+
return undefined;
|
|
808
|
+
}).filter(function (e) {
|
|
809
|
+
return !!e;
|
|
810
|
+
}));
|
|
811
|
+
|
|
812
|
+
var _ref5 = timespan || {},
|
|
813
|
+
fieldList = _ref5.field,
|
|
814
|
+
groupList = _ref5.group,
|
|
815
|
+
attributes = _objectWithoutProperties(_ref5, _excluded$9);
|
|
816
|
+
|
|
817
|
+
var parsedFieldList = fieldList && parseFieldList(fieldList, parseFieldListOptions); // eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
818
|
+
|
|
819
|
+
var parsedGroupList = groupList && parseGroupList(groupList, parseGroupListOptions);
|
|
820
|
+
var timespanAttributes = includeTimespanAttributes === true && attributes || Array.isArray(includeTimespanAttributes) && Object.fromEntries(Object.entries(attributes).filter(function (_ref6) {
|
|
821
|
+
var _ref7 = _slicedToArray(_ref6, 1),
|
|
822
|
+
key = _ref7[0];
|
|
823
|
+
|
|
824
|
+
return includeTimespanAttributes.includes(key);
|
|
825
|
+
})) || {};
|
|
826
|
+
return _objectSpread$c(_objectSpread$c(_objectSpread$c({}, timespanAttributes), parseFieldListOptions !== null && parseFieldListOptions !== void 0 && parseFieldListOptions.fieldAsList ? {
|
|
827
|
+
field: parsedFieldList
|
|
828
|
+
} : parsedFieldList), parseGroupListOptions !== null && parseGroupListOptions !== void 0 && parseGroupListOptions.groupAsList ? {
|
|
829
|
+
group: parsedGroupList
|
|
830
|
+
} : parsedGroupList);
|
|
762
831
|
};
|
|
763
832
|
|
|
764
|
-
|
|
833
|
+
var _excluded$8 = ["timespanAsList", "joinTimespan", "sortTimespan", "flat", "flatTimespan"];
|
|
765
834
|
|
|
766
|
-
function
|
|
835
|
+
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; }
|
|
836
|
+
|
|
837
|
+
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
838
|
+
var defaultOptions$4 = _objectSpread$b(_objectSpread$b({}, defaultOptions$5), {}, {
|
|
839
|
+
timespanAsList: false,
|
|
840
|
+
joinTimespan: '_',
|
|
841
|
+
sortTimespan: false,
|
|
842
|
+
flat: false,
|
|
843
|
+
flatTimespan: undefined
|
|
844
|
+
});
|
|
767
845
|
/**
|
|
768
846
|
* Parses timespanList according to specified options.
|
|
769
847
|
* The attributes can be targeted for each sub-type.
|
|
770
848
|
*
|
|
771
|
-
* @param
|
|
772
|
-
* @param
|
|
773
|
-
* @
|
|
774
|
-
*
|
|
775
|
-
* @
|
|
776
|
-
*
|
|
777
|
-
* @
|
|
778
|
-
* @param {boolean} options.includeFieldAttributes - Include attributes on fields.
|
|
779
|
-
* @param {boolean} options.includeValueAttributes - Include attributes on values.
|
|
780
|
-
* @param {boolean} options.flat - Flatten to key/value (Note: keys may be overwritten).
|
|
781
|
-
* @param {boolean} options.flatTimespan - Flatten timespan.
|
|
782
|
-
* @param {boolean} options.flatGroup - Flatten group.
|
|
783
|
-
* @param {boolean} options.sortTimespan - Sort timespan by start time.
|
|
784
|
-
* @param {boolean} options.timespanAsList - Return timespans as list.
|
|
785
|
-
* @param {boolean} options.groupAsList - Return groups as list.
|
|
786
|
-
* @param {boolean} options.fieldAsList - Return fields as list.
|
|
787
|
-
* @param {boolean} [options.arrayOnSingle=true] - Return fields as array even if single field.
|
|
788
|
-
* @param {boolean} [options.arrayOnSingleValue=true] - Return fields as array even if single field value.
|
|
789
|
-
* @returns {Object} Metadata object parsed according to options.
|
|
849
|
+
* @param timespanList - A Vidicore metadata timespan list
|
|
850
|
+
* @param options - Options which change how the metadataType is parsed.
|
|
851
|
+
* @returns Timespan list parsed according to options
|
|
852
|
+
*
|
|
853
|
+
* @see {@link parseTimespan} for more info
|
|
854
|
+
*
|
|
855
|
+
* @category Metadata
|
|
790
856
|
*/
|
|
791
857
|
|
|
792
|
-
var parseTimespanList = function parseTimespanList() {
|
|
793
|
-
var
|
|
794
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
858
|
+
var parseTimespanList = function parseTimespanList(timespanList, options) {
|
|
859
|
+
var parseTimespanListOptions = _objectSpread$b(_objectSpread$b({}, defaultOptions$4), options || {});
|
|
795
860
|
|
|
796
|
-
var
|
|
797
|
-
joinTimespan =
|
|
798
|
-
|
|
799
|
-
|
|
861
|
+
var timespanAsList = parseTimespanListOptions.timespanAsList,
|
|
862
|
+
joinTimespan = parseTimespanListOptions.joinTimespan,
|
|
863
|
+
sortTimespan = parseTimespanListOptions.sortTimespan,
|
|
864
|
+
flat = parseTimespanListOptions.flat,
|
|
865
|
+
flatTimespan = parseTimespanListOptions.flatTimespan,
|
|
866
|
+
otherOptions = _objectWithoutProperties(parseTimespanListOptions, _excluded$8);
|
|
800
867
|
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
});
|
|
805
|
-
}
|
|
868
|
+
var parseTimespanOptions = _objectSpread$b({
|
|
869
|
+
flat: flat
|
|
870
|
+
}, otherOptions);
|
|
806
871
|
|
|
872
|
+
if (sortTimespan) timespanList.sort(sortTimespanList);
|
|
873
|
+
var shouldFlatten = (flatTimespan !== undefined ? flatTimespan === true : flat === true) && timespanAsList === false;
|
|
807
874
|
var output = {};
|
|
808
|
-
timespanList.forEach(function (
|
|
809
|
-
var start =
|
|
810
|
-
end =
|
|
811
|
-
var key = [start, end].join(joinTimespan
|
|
812
|
-
var parsedTimespan = parseTimespan(
|
|
813
|
-
|
|
814
|
-
if (
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
parsedGroup = parsedTimespan.group;
|
|
822
|
-
output[key].field = _objectSpread$8(_objectSpread$8({}, currentField), parsedField);
|
|
823
|
-
output[key].group = _objectSpread$8(_objectSpread$8({}, currentGroup), parsedGroup);
|
|
824
|
-
} else {
|
|
825
|
-
output[key] = parsedTimespan;
|
|
826
|
-
}
|
|
875
|
+
timespanList === null || timespanList === void 0 ? void 0 : timespanList.forEach(function (timespan) {
|
|
876
|
+
var start = timespan.start,
|
|
877
|
+
end = timespan.end;
|
|
878
|
+
var key = shouldFlatten ? 'flat' : [start, end].join(joinTimespan);
|
|
879
|
+
var parsedTimespan = parseTimespan(timespan, parseTimespanOptions);
|
|
880
|
+
var existingParsedTimespans = output[key];
|
|
881
|
+
if (!existingParsedTimespans) output[key] = parsedTimespan;else if (shouldFlatten) {
|
|
882
|
+
if (start === '-INF' && end === '+INF') {
|
|
883
|
+
output[key] = _objectSpread$b(_objectSpread$b({}, asSingle(existingParsedTimespans)), parsedTimespan);
|
|
884
|
+
} else {
|
|
885
|
+
output[key] = _objectSpread$b(_objectSpread$b({}, parsedTimespan), asSingle(existingParsedTimespans));
|
|
886
|
+
}
|
|
887
|
+
} else output[key] = [].concat(_toConsumableArray(asArray(existingParsedTimespans)), [parsedTimespan]);
|
|
827
888
|
});
|
|
889
|
+
|
|
890
|
+
if (timespanAsList === true) {
|
|
891
|
+
return Object.values(output);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
if (shouldFlatten) {
|
|
895
|
+
return Object.values(output).pop();
|
|
896
|
+
}
|
|
897
|
+
|
|
828
898
|
return output;
|
|
829
899
|
};
|
|
830
900
|
|
|
831
|
-
var _excluded$
|
|
901
|
+
var _excluded$7 = ["timespan"];
|
|
902
|
+
|
|
903
|
+
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; }
|
|
904
|
+
|
|
905
|
+
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
906
|
+
var defaultOptions$3 = _objectSpread$a(_objectSpread$a({}, defaultOptions$4), {}, {
|
|
907
|
+
includeMetadataAttributes: false,
|
|
908
|
+
flat: false
|
|
909
|
+
});
|
|
832
910
|
/**
|
|
833
|
-
* Parses MetadataType according to specified options
|
|
834
|
-
*
|
|
835
|
-
* @
|
|
836
|
-
*
|
|
837
|
-
*
|
|
838
|
-
*
|
|
839
|
-
*
|
|
840
|
-
* @param
|
|
841
|
-
* @param
|
|
842
|
-
* @
|
|
843
|
-
*
|
|
844
|
-
* @
|
|
845
|
-
*
|
|
846
|
-
* @
|
|
847
|
-
* @param {boolean} options.sortTimespan - Sort timespan by start time.
|
|
848
|
-
* @param {boolean} options.timespanAsList - Return timespans as list.
|
|
849
|
-
* @param {boolean} options.groupAsList - Return groups as list.
|
|
850
|
-
* @param {boolean} options.fieldAsList - Return fields as list.
|
|
851
|
-
* @param {boolean} [options.arrayOnSingle=true] - Return fields as array even if single field.
|
|
852
|
-
* @param {boolean} [options.arrayOnSingleValue=true] - Return fields as array even if single field value.
|
|
853
|
-
* @returns {Object} Metadata object parsed according to options.
|
|
911
|
+
* Parses MetadataType according to specified options
|
|
912
|
+
*
|
|
913
|
+
* @remarks
|
|
914
|
+
* Be aware that you need to take into account that the returned groups and fields can be an array if it has multiple values or groups/fields with same name.
|
|
915
|
+
* If you are certain your metadata type won't return multiple groups/fields/values with same name or don't mind that they _might_ be overridden:
|
|
916
|
+
* you can use the option `flat` along with `joinValue` or `arrayOnSingleValue: false`.
|
|
917
|
+
*
|
|
918
|
+
* @param metadataType - A MetadataType from VidiCore
|
|
919
|
+
* @param options - Options which change how the metadataType is parsed
|
|
920
|
+
* @returns Metadata object parsed according to options
|
|
921
|
+
*
|
|
922
|
+
* @see {@link parseTimespanList} for more info
|
|
923
|
+
*
|
|
924
|
+
* @category Metadata
|
|
854
925
|
*/
|
|
855
926
|
|
|
856
|
-
|
|
857
|
-
var
|
|
858
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
927
|
+
function parseMetadataType(metadataType, options) {
|
|
928
|
+
var parseMetadataTypeOptions = _objectSpread$a(_objectSpread$a({}, defaultOptions$3), options || {});
|
|
859
929
|
|
|
860
|
-
var
|
|
861
|
-
|
|
862
|
-
includeMetadataAttributes = _ref.includeMetadataAttributes,
|
|
863
|
-
sortTimespan = _ref.sortTimespan;
|
|
930
|
+
var includeMetadataAttributes = parseMetadataTypeOptions.includeMetadataAttributes,
|
|
931
|
+
flat = parseMetadataTypeOptions.flat;
|
|
864
932
|
|
|
865
|
-
var
|
|
866
|
-
|
|
867
|
-
timespanList =
|
|
868
|
-
attributes = _objectWithoutProperties(
|
|
933
|
+
var _ref = metadataType || {},
|
|
934
|
+
_ref$timespan = _ref.timespan,
|
|
935
|
+
timespanList = _ref$timespan === void 0 ? [] : _ref$timespan,
|
|
936
|
+
attributes = _objectWithoutProperties(_ref, _excluded$7);
|
|
869
937
|
|
|
870
|
-
|
|
871
|
-
|
|
938
|
+
var parseTimespanListOptions = Object.fromEntries(Object.entries(options).map(function (_ref2) {
|
|
939
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
940
|
+
key = _ref3[0],
|
|
941
|
+
value = _ref3[1];
|
|
872
942
|
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
943
|
+
if (Object.keys(defaultOptions$4).includes(key)) {
|
|
944
|
+
if (['onlyGeneric', 'overrideGroup', 'overrideField'].includes(key) && (value !== undefined ? value : flat === true)) {
|
|
945
|
+
return [key, true];
|
|
946
|
+
}
|
|
876
947
|
|
|
877
|
-
|
|
878
|
-
}
|
|
948
|
+
return [key, value];
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
return undefined;
|
|
952
|
+
}).filter(function (e) {
|
|
953
|
+
return !!e;
|
|
954
|
+
}));
|
|
955
|
+
var parsedTimespanList = parseTimespanList(timespanList, parseTimespanListOptions);
|
|
956
|
+
var metadataAttributes = includeMetadataAttributes === true && _objectSpread$a(_objectSpread$a({}, attributes), attributes.revision ? {
|
|
957
|
+
revision: attributes.revision.split(',')
|
|
958
|
+
} : {}) || Array.isArray(includeMetadataAttributes) && Object.fromEntries(Object.entries(attributes).map(function (_ref4) {
|
|
959
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
960
|
+
key = _ref5[0],
|
|
961
|
+
value = _ref5[1];
|
|
962
|
+
|
|
963
|
+
if (includeMetadataAttributes.includes(key)) {
|
|
964
|
+
return [key, key === 'revision' && typeof value === 'string' ? value.split(',') : value];
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
return undefined;
|
|
968
|
+
}).filter(function (o) {
|
|
969
|
+
return !!o;
|
|
970
|
+
})) || {};
|
|
971
|
+
return _objectSpread$a(_objectSpread$a({}, metadataAttributes), parseTimespanListOptions !== null && parseTimespanListOptions !== void 0 && parseTimespanListOptions.timespanAsList ? {
|
|
972
|
+
timespan: parsedTimespanList
|
|
973
|
+
} : parsedTimespanList);
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Parse simple (key/value) metadata
|
|
978
|
+
*
|
|
979
|
+
* Not indexed metadata, available on almost all entities (storages, library, user, group, etc...)
|
|
980
|
+
*
|
|
981
|
+
* @param simpleMetadataType A VidiCore simple metadata object
|
|
982
|
+
* @returns A parsed simple metadata object
|
|
983
|
+
*
|
|
984
|
+
* @category Metadata
|
|
985
|
+
*/
|
|
879
986
|
|
|
880
|
-
var parseSimpleMetadataType = function parseSimpleMetadataType() {
|
|
881
|
-
var _ref =
|
|
987
|
+
var parseSimpleMetadataType = function parseSimpleMetadataType(simpleMetadataType) {
|
|
988
|
+
var _ref = simpleMetadataType || {},
|
|
882
989
|
_ref$field = _ref.field,
|
|
883
990
|
field = _ref$field === void 0 ? [] : _ref$field;
|
|
884
991
|
|
|
885
|
-
return
|
|
992
|
+
return parseKeyValuePairTypes(field);
|
|
886
993
|
};
|
|
887
994
|
|
|
888
995
|
var MAP_CONSTANT_TO_DEN_NUM = {
|
|
@@ -921,20 +1028,26 @@ var TIME_BASE_CONSTANTS = Object.keys(MAP_CONSTANT_TO_DEN_NUM);
|
|
|
921
1028
|
* TimeBase class representing the TimeBaseType in VidiCore
|
|
922
1029
|
*
|
|
923
1030
|
* For more info, see the [Time bases section in VidiCore API Docs](https://apidoc.vidispine.com/latest/time.html#time-bases)
|
|
1031
|
+
*
|
|
1032
|
+
* @category Time
|
|
924
1033
|
*/
|
|
925
|
-
|
|
926
1034
|
var TimeBase = /*#__PURE__*/function () {
|
|
1035
|
+
// The numerator for the TimeBase
|
|
1036
|
+
// The denominator for the TimeBase
|
|
1037
|
+
|
|
927
1038
|
/**
|
|
928
1039
|
* Constructor for TimeBase
|
|
929
1040
|
*
|
|
930
|
-
* @param
|
|
931
|
-
* @param {number} [timeCodeType.numerator=1] The numerator for the TimeBase
|
|
932
|
-
* @param {number} [timeCodeType.denominator=1] The denominator for the TimeBase
|
|
1041
|
+
* @param timeBaseType A TimeBaseType object
|
|
933
1042
|
*/
|
|
934
|
-
function TimeBase(
|
|
1043
|
+
function TimeBase(timeBaseType) {
|
|
935
1044
|
_classCallCheck(this, TimeBase);
|
|
936
1045
|
|
|
937
|
-
|
|
1046
|
+
_defineProperty(this, "numerator", 1);
|
|
1047
|
+
|
|
1048
|
+
_defineProperty(this, "denominator", 1);
|
|
1049
|
+
|
|
1050
|
+
var _ref = timeBaseType || {},
|
|
938
1051
|
_ref$numerator = _ref.numerator,
|
|
939
1052
|
numerator = _ref$numerator === void 0 ? 1 : _ref$numerator,
|
|
940
1053
|
_ref$denominator = _ref.denominator,
|
|
@@ -945,7 +1058,7 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
945
1058
|
}
|
|
946
1059
|
/**
|
|
947
1060
|
* Get TimeBase in a constant representation (e.g. "PAL") if possible, otherwise undefined
|
|
948
|
-
* @returns
|
|
1061
|
+
* @returns Constant representation of the TimeBase
|
|
949
1062
|
*/
|
|
950
1063
|
|
|
951
1064
|
|
|
@@ -976,33 +1089,24 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
976
1089
|
/**
|
|
977
1090
|
* Get TimeBase as a VidiCore TimeBaseType string
|
|
978
1091
|
*
|
|
1092
|
+
* @remarks
|
|
979
1093
|
* Default format: denominator(:numerator if > 1)
|
|
980
1094
|
* `constant` has precedence over `fraction` if both are true (e.g. NTSC > 30000:1001)
|
|
981
1095
|
*
|
|
982
|
-
* @param
|
|
983
|
-
* @
|
|
984
|
-
* @param {boolean} [options.fraction=false] Show time base as fraction (25:1) even when numerator is 1
|
|
985
|
-
* @returns {string} Text representation of the TimeBase
|
|
1096
|
+
* @param options For how to display it as text
|
|
1097
|
+
* @returns Text representation of the TimeBase
|
|
986
1098
|
*/
|
|
987
1099
|
|
|
988
1100
|
}, {
|
|
989
1101
|
key: "toText",
|
|
990
|
-
value: function toText() {
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
var _ref2 = options || {},
|
|
994
|
-
_ref2$constant = _ref2.constant,
|
|
995
|
-
constant = _ref2$constant === void 0 ? false : _ref2$constant,
|
|
996
|
-
_ref2$fraction = _ref2.fraction,
|
|
997
|
-
fraction = _ref2$fraction === void 0 ? false : _ref2$fraction;
|
|
998
|
-
|
|
999
|
-
if (constant) {
|
|
1102
|
+
value: function toText(options) {
|
|
1103
|
+
if (options !== null && options !== void 0 && options.constant) {
|
|
1000
1104
|
var _timeBaseText = this.toConstant();
|
|
1001
1105
|
|
|
1002
1106
|
if (_timeBaseText) return _timeBaseText;
|
|
1003
1107
|
}
|
|
1004
1108
|
|
|
1005
|
-
if (fraction || this.numerator > 1) {
|
|
1109
|
+
if (options !== null && options !== void 0 && options.fraction || this.numerator > 1) {
|
|
1006
1110
|
var _timeBaseText2 = [this.denominator, this.numerator].join(':');
|
|
1007
1111
|
|
|
1008
1112
|
return _timeBaseText2;
|
|
@@ -1014,7 +1118,7 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
1014
1118
|
/**
|
|
1015
1119
|
* Output TimeBase as frame rate (by default max 16 decimal places)
|
|
1016
1120
|
*
|
|
1017
|
-
*
|
|
1121
|
+
* @remarks
|
|
1018
1122
|
* For `options.fixed`:
|
|
1019
1123
|
* - `true` gives two decimal places
|
|
1020
1124
|
* - `false` gives max amount of decimal places
|
|
@@ -1023,45 +1127,32 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
1023
1127
|
* Default format: rate with two decimals if needed (i.e. decimals are > 0)
|
|
1024
1128
|
* Option precedence (when all true): `constant` > `rounded` > `fixed`
|
|
1025
1129
|
*
|
|
1026
|
-
* @param
|
|
1027
|
-
* @param {boolean|number} [options.fixed=true] Amount of decimal places (true gives 2 decimal places)
|
|
1028
|
-
* @param {boolean} [options.constant=false] Use constant representation (if applicable)
|
|
1029
|
-
* @param {boolean} [options.rounded=false] Rounded to nearest integer
|
|
1130
|
+
* @param options For how to display it as rate
|
|
1030
1131
|
*
|
|
1031
|
-
* @
|
|
1132
|
+
* @return Rate of the TimeBase
|
|
1133
|
+
*
|
|
1134
|
+
* @category Time
|
|
1032
1135
|
*/
|
|
1033
1136
|
|
|
1034
1137
|
}, {
|
|
1035
1138
|
key: "toRate",
|
|
1036
|
-
value: function toRate() {
|
|
1037
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1038
|
-
|
|
1039
|
-
var _ref3 = options || {},
|
|
1040
|
-
_ref3$constant = _ref3.constant,
|
|
1041
|
-
constant = _ref3$constant === void 0 ? false : _ref3$constant,
|
|
1042
|
-
_ref3$rounded = _ref3.rounded,
|
|
1043
|
-
rounded = _ref3$rounded === void 0 ? false : _ref3$rounded,
|
|
1044
|
-
_ref3$fixed = _ref3.fixed,
|
|
1045
|
-
fixed = _ref3$fixed === void 0 ? true : _ref3$fixed;
|
|
1046
|
-
|
|
1047
|
-
if (constant) {
|
|
1048
|
-
var _rate = this.toConstant();
|
|
1049
|
-
|
|
1050
|
-
if (_rate) return _rate;
|
|
1051
|
-
}
|
|
1052
|
-
|
|
1139
|
+
value: function toRate(options) {
|
|
1053
1140
|
var rate = this.denominator / this.numerator;
|
|
1054
1141
|
|
|
1055
1142
|
if (Number.isInteger(rate)) {
|
|
1056
1143
|
return rate;
|
|
1057
1144
|
}
|
|
1058
1145
|
|
|
1059
|
-
if (rounded) {
|
|
1146
|
+
if (options !== null && options !== void 0 && options.rounded) {
|
|
1060
1147
|
return Math.round(rate);
|
|
1061
1148
|
}
|
|
1062
1149
|
|
|
1150
|
+
var _ref2 = options || {},
|
|
1151
|
+
_ref2$fixed = _ref2.fixed,
|
|
1152
|
+
fixed = _ref2$fixed === void 0 ? true : _ref2$fixed;
|
|
1153
|
+
|
|
1063
1154
|
if (fixed === true || typeof fixed === 'number') {
|
|
1064
|
-
return Number(rate.toFixed(fixed ===
|
|
1155
|
+
return Number(rate.toFixed(typeof fixed === 'boolean' ? 2 : fixed));
|
|
1065
1156
|
}
|
|
1066
1157
|
|
|
1067
1158
|
return rate;
|
|
@@ -1069,7 +1160,7 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
1069
1160
|
/**
|
|
1070
1161
|
* Get TimeBase in a object representation
|
|
1071
1162
|
*
|
|
1072
|
-
* @returns
|
|
1163
|
+
* @returns TimeBase as `{denominator, numerator}` object
|
|
1073
1164
|
*/
|
|
1074
1165
|
|
|
1075
1166
|
}, {
|
|
@@ -1081,9 +1172,9 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
1081
1172
|
};
|
|
1082
1173
|
}
|
|
1083
1174
|
/**
|
|
1084
|
-
* @deprecated Use {@link TimeBase#toObject|toObject} instead
|
|
1175
|
+
* @deprecated Use {@link TimeBase#toObject | toObject} instead
|
|
1085
1176
|
*
|
|
1086
|
-
* @returns
|
|
1177
|
+
* @returns TimeBase as `{denominator, numerator}` object
|
|
1087
1178
|
*/
|
|
1088
1179
|
|
|
1089
1180
|
}, {
|
|
@@ -1101,8 +1192,10 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
1101
1192
|
/**
|
|
1102
1193
|
* Format a string representation of a time base to a TimeBase Instance
|
|
1103
1194
|
*
|
|
1104
|
-
* @param
|
|
1105
|
-
* @returns
|
|
1195
|
+
* @param timeBaseText The string to format to a TimeBase instance
|
|
1196
|
+
* @returns A TimeBase Instance
|
|
1197
|
+
*
|
|
1198
|
+
* @category Time
|
|
1106
1199
|
*/
|
|
1107
1200
|
|
|
1108
1201
|
var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
|
|
@@ -1144,27 +1237,29 @@ var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
|
|
|
1144
1237
|
/**
|
|
1145
1238
|
* Create a TimeBase instance of an object
|
|
1146
1239
|
*
|
|
1147
|
-
* @param
|
|
1148
|
-
* @returns
|
|
1240
|
+
* @param timeBase A TimeBase object
|
|
1241
|
+
* @returns A TimeBase instance
|
|
1242
|
+
*
|
|
1243
|
+
* @category Time
|
|
1149
1244
|
*/
|
|
1150
|
-
|
|
1151
1245
|
var formatTimeBaseType = function formatTimeBaseType(timeBase) {
|
|
1152
1246
|
return new TimeBase(timeBase);
|
|
1153
1247
|
};
|
|
1154
1248
|
|
|
1155
1249
|
/**
|
|
1156
|
-
* Create a TimeBase Instance from a string or object representation of a time base
|
|
1250
|
+
* Create a TimeBase Instance from a number, string or object representation of a time base
|
|
1157
1251
|
*
|
|
1158
|
-
* @param
|
|
1159
|
-
* @returns
|
|
1252
|
+
* @param timeBase Input to create time base from
|
|
1253
|
+
* @returns A TimeBase instance
|
|
1254
|
+
*
|
|
1255
|
+
* @category Time
|
|
1160
1256
|
*/
|
|
1161
|
-
|
|
1162
1257
|
var createTimeBase = function createTimeBase(timeBase) {
|
|
1163
|
-
if (
|
|
1164
|
-
return
|
|
1258
|
+
if (typeof timeBase === 'string' || typeof timeBase === 'number') {
|
|
1259
|
+
return formatTimeBaseText(timeBase);
|
|
1165
1260
|
}
|
|
1166
1261
|
|
|
1167
|
-
return
|
|
1262
|
+
return formatTimeBaseType(timeBase);
|
|
1168
1263
|
};
|
|
1169
1264
|
|
|
1170
1265
|
/**
|
|
@@ -1172,14 +1267,12 @@ var createTimeBase = function createTimeBase(timeBase) {
|
|
|
1172
1267
|
*
|
|
1173
1268
|
* Drops 4 frames (0-3) for 59.97 and 2 frames (0-1) for 29.97/NTSC
|
|
1174
1269
|
*
|
|
1175
|
-
* @param
|
|
1176
|
-
* @returns
|
|
1270
|
+
* @param timeBase Time base to get amount of frames to drop for
|
|
1271
|
+
* @returns Amount of frame drops for specified time base, false if no frame drops
|
|
1177
1272
|
*/
|
|
1178
1273
|
var getAmountOfFrameDrops = function getAmountOfFrameDrops(timeBase) {
|
|
1179
|
-
var timeBaseConstant = timeBase.
|
|
1180
|
-
|
|
1181
|
-
});
|
|
1182
|
-
return timeBaseConstant === '59.94' && 4 || ['NTSC', '29.97'].includes(timeBaseConstant) && 2 || 0;
|
|
1274
|
+
var timeBaseConstant = timeBase.toConstant();
|
|
1275
|
+
return timeBaseConstant === '59.94' && 4 || ['NTSC', '29.97'].includes(timeBaseConstant) && 2 || false;
|
|
1183
1276
|
};
|
|
1184
1277
|
|
|
1185
1278
|
/**
|
|
@@ -1187,21 +1280,21 @@ var getAmountOfFrameDrops = function getAmountOfFrameDrops(timeBase) {
|
|
|
1187
1280
|
*
|
|
1188
1281
|
* Check if TimeBase drops frames
|
|
1189
1282
|
*
|
|
1190
|
-
* @param
|
|
1191
|
-
* @returns
|
|
1283
|
+
* @param timeBase TimeBase Instance to check
|
|
1284
|
+
* @returns true if time base drops frames, false otherwise
|
|
1192
1285
|
*/
|
|
1193
1286
|
|
|
1194
1287
|
var isDropFrameTimeBase = function isDropFrameTimeBase(timeBase) {
|
|
1195
1288
|
return getAmountOfFrameDrops(timeBase) > 0;
|
|
1196
1289
|
};
|
|
1197
1290
|
|
|
1198
|
-
var _excluded$
|
|
1291
|
+
var _excluded$6 = ["hours"];
|
|
1199
1292
|
|
|
1200
|
-
var getDroppedFramesFromSamples = function getDroppedFramesFromSamples(
|
|
1201
|
-
var samples =
|
|
1202
|
-
timeBase =
|
|
1293
|
+
var getDroppedFramesFromSamples = function getDroppedFramesFromSamples(timeCode) {
|
|
1294
|
+
var samples = timeCode.samples,
|
|
1295
|
+
timeBase = timeCode.timeBase;
|
|
1203
1296
|
var amountOfFrameDrops = getAmountOfFrameDrops(timeBase);
|
|
1204
|
-
if (amountOfFrameDrops
|
|
1297
|
+
if (!amountOfFrameDrops) return 0;
|
|
1205
1298
|
var roundedFrameRate = timeBase.toRate({
|
|
1206
1299
|
rounded: true
|
|
1207
1300
|
});
|
|
@@ -1215,53 +1308,67 @@ var getDroppedFramesFromSamples = function getDroppedFramesFromSamples(_ref) {
|
|
|
1215
1308
|
var amountOfFrameRemainderChunks = frameRemainder > 0 ? amountOfFrameDrops : 0;
|
|
1216
1309
|
return amountOfTenMinuteChunks * 9 * amountOfFrameDrops + amountOfOneMinuteReminderChunks * amountOfFrameDrops + amountOfFrameRemainderChunks;
|
|
1217
1310
|
};
|
|
1311
|
+
|
|
1218
1312
|
/**
|
|
1219
1313
|
* TimeCode class representing the TimeCodeType in VidiCore
|
|
1220
1314
|
*
|
|
1221
1315
|
* For more info, see the [Time Codes section of VidiCore API Docs](https://apidoc.vidispine.com/latest/time.html#time-codes)
|
|
1316
|
+
*
|
|
1317
|
+
* @category Time
|
|
1222
1318
|
*/
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
1319
|
var TimeCode = /*#__PURE__*/function () {
|
|
1320
|
+
// Amount of samples for the time code
|
|
1321
|
+
// The time base for the time code
|
|
1322
|
+
// If time code is dropFrame or not (by default checks timeBase)
|
|
1323
|
+
// Separator for frame in smpte output (default ":" for non-drop-frame and ";" for dropFrame)
|
|
1324
|
+
|
|
1226
1325
|
/**
|
|
1227
1326
|
* Constructor for TimeCode
|
|
1228
1327
|
*
|
|
1229
|
-
* @param
|
|
1230
|
-
* @param
|
|
1231
|
-
* @param {object|string|number} [timeCodeType.timeBase={numerator: 1, denominator: 1}] The time base it should have
|
|
1232
|
-
* @param {object} [options={}] Options for the timeCode
|
|
1233
|
-
* @param {boolean} options.dropFrame If time code should be dropFrame or not (by default checks timeBase)
|
|
1234
|
-
* @param {string} options.frameSeparator Separator to use for frame smpte output (default ":" for non-drop-frame and ";" for dropFrame)
|
|
1328
|
+
* @param timeCodeType Object to create TimeCode of
|
|
1329
|
+
* @param options Options for the timeCode
|
|
1235
1330
|
*/
|
|
1236
|
-
function TimeCode() {
|
|
1331
|
+
function TimeCode(timeCodeType, options) {
|
|
1237
1332
|
var _options$dropFrame, _options$frameSeparat;
|
|
1238
1333
|
|
|
1239
|
-
var timeCodeType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1240
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1241
|
-
|
|
1242
1334
|
_classCallCheck(this, TimeCode);
|
|
1243
1335
|
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1336
|
+
_defineProperty(this, "samples", 0);
|
|
1337
|
+
|
|
1338
|
+
_defineProperty(this, "timeBase", new TimeBase());
|
|
1339
|
+
|
|
1340
|
+
_defineProperty(this, "dropFrame", void 0);
|
|
1341
|
+
|
|
1342
|
+
_defineProperty(this, "frameSeparator", void 0);
|
|
1343
|
+
|
|
1344
|
+
var _ref = timeCodeType || {},
|
|
1345
|
+
samples = _ref.samples,
|
|
1346
|
+
timeBase = _ref.timeBase;
|
|
1347
|
+
|
|
1348
|
+
if (samples !== undefined) {
|
|
1349
|
+
if (typeof samples === 'number') {
|
|
1350
|
+
this.samples = samples;
|
|
1351
|
+
} else if (typeof samples === 'string') {
|
|
1352
|
+
if (samples === '-INF') {
|
|
1353
|
+
this.samples = -Infinity;
|
|
1354
|
+
} else if (samples === '+INF') {
|
|
1355
|
+
this.samples = Infinity;
|
|
1356
|
+
} else {
|
|
1357
|
+
this.samples = Number(samples);
|
|
1358
|
+
}
|
|
1359
|
+
} else {
|
|
1360
|
+
throw new Error("samples is not number/string/-Inf/+Inf is: ".concat(samples));
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
if (timeBase !== undefined) {
|
|
1365
|
+
if (timeBase instanceof TimeBase) {
|
|
1366
|
+
this.timeBase = timeBase;
|
|
1257
1367
|
} else {
|
|
1258
|
-
this.
|
|
1368
|
+
this.timeBase = createTimeBase(timeBase);
|
|
1259
1369
|
}
|
|
1260
|
-
} else {
|
|
1261
|
-
throw new Error("samples is not number/string/-Inf/+Inf is: ".concat(samples));
|
|
1262
1370
|
}
|
|
1263
1371
|
|
|
1264
|
-
this.timeBase = createTimeBase(timeBase);
|
|
1265
1372
|
this.dropFrame = (_options$dropFrame = options === null || options === void 0 ? void 0 : options.dropFrame) !== null && _options$dropFrame !== void 0 ? _options$dropFrame : isDropFrameTimeBase(this.timeBase);
|
|
1266
1373
|
this.frameSeparator = (_options$frameSeparat = options === null || options === void 0 ? void 0 : options.frameSeparator) !== null && _options$frameSeparat !== void 0 ? _options$frameSeparat : this.dropFrame ? ';' : ':';
|
|
1267
1374
|
}
|
|
@@ -1274,26 +1381,26 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1274
1381
|
* "51@50".add("25@25") => "101@50"
|
|
1275
1382
|
* while "25@25".add("51@50") => "50@25" (not "101@50")
|
|
1276
1383
|
*
|
|
1277
|
-
* @param
|
|
1384
|
+
* @param timeCode A TimeCode instance you want to add with
|
|
1278
1385
|
* @returns A new TimeCode instance with the addition applied
|
|
1279
1386
|
*/
|
|
1280
1387
|
|
|
1281
1388
|
|
|
1282
1389
|
_createClass(TimeCode, [{
|
|
1283
1390
|
key: "add",
|
|
1284
|
-
value: function add(
|
|
1285
|
-
if (!(
|
|
1391
|
+
value: function add(timeCode) {
|
|
1392
|
+
if (!(timeCode !== null && timeCode !== void 0 && timeCode.timeBase) || (timeCode === null || timeCode === void 0 ? void 0 : timeCode.samples) === undefined) {
|
|
1286
1393
|
throw Error('Invalid timeCodeType, cannot be added');
|
|
1287
1394
|
}
|
|
1288
1395
|
|
|
1289
|
-
var
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
var conformedTimeCode =
|
|
1396
|
+
var _ref2 = (timeCode === null || timeCode === void 0 ? void 0 : timeCode.timeBase) || {},
|
|
1397
|
+
numerator = _ref2.numerator,
|
|
1398
|
+
denominator = _ref2.denominator;
|
|
1399
|
+
|
|
1400
|
+
var conformedTimeCode = timeCode;
|
|
1294
1401
|
|
|
1295
1402
|
if (numerator !== this.timeBase.numerator || denominator !== this.timeBase.denominator) {
|
|
1296
|
-
conformedTimeCode =
|
|
1403
|
+
conformedTimeCode = timeCode.conformTimeBase(this.timeBase);
|
|
1297
1404
|
}
|
|
1298
1405
|
|
|
1299
1406
|
var _conformedTimeCode = conformedTimeCode,
|
|
@@ -1312,25 +1419,25 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1312
1419
|
* "101@50".subtract("25@25") => "51@50"
|
|
1313
1420
|
* while "50@25".subtract("51@50") => "25@25" (not "49@50")
|
|
1314
1421
|
*
|
|
1315
|
-
* @param
|
|
1422
|
+
* @param timeCode A TimeCode instance you want to subtract with
|
|
1316
1423
|
* @returns A new TimeCode instance with the subtraction applied
|
|
1317
1424
|
*/
|
|
1318
1425
|
|
|
1319
1426
|
}, {
|
|
1320
1427
|
key: "subtract",
|
|
1321
|
-
value: function subtract(
|
|
1322
|
-
if (!(
|
|
1428
|
+
value: function subtract(timeCode) {
|
|
1429
|
+
if (!(timeCode !== null && timeCode !== void 0 && timeCode.timeBase) || (timeCode === null || timeCode === void 0 ? void 0 : timeCode.samples) === undefined) {
|
|
1323
1430
|
throw Error('Invalid timeCodeType, cannot be subtracted');
|
|
1324
1431
|
}
|
|
1325
1432
|
|
|
1326
|
-
var
|
|
1327
|
-
|
|
1328
|
-
var numerator =
|
|
1329
|
-
denominator =
|
|
1330
|
-
var conformedTimeCode =
|
|
1433
|
+
var _timeCode$timeBase = timeCode.timeBase;
|
|
1434
|
+
_timeCode$timeBase = _timeCode$timeBase === void 0 ? {} : _timeCode$timeBase;
|
|
1435
|
+
var numerator = _timeCode$timeBase.numerator,
|
|
1436
|
+
denominator = _timeCode$timeBase.denominator;
|
|
1437
|
+
var conformedTimeCode = timeCode;
|
|
1331
1438
|
|
|
1332
1439
|
if (numerator !== this.timeBase.numerator || denominator !== this.timeBase.denominator) {
|
|
1333
|
-
conformedTimeCode =
|
|
1440
|
+
conformedTimeCode = timeCode.conformTimeBase(this.timeBase);
|
|
1334
1441
|
}
|
|
1335
1442
|
|
|
1336
1443
|
var _conformedTimeCode2 = conformedTimeCode,
|
|
@@ -1346,19 +1453,14 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1346
1453
|
* If it conforms to a less granular time base - it will floor samples (hasn't reached that sample yet)
|
|
1347
1454
|
* - e.g. "51@50".conformTo("PAL") => "25@PAL" (not "26@PAL")
|
|
1348
1455
|
*
|
|
1349
|
-
* @param
|
|
1456
|
+
* @param timeBase The TimeBase it should conform the TimeCode to
|
|
1350
1457
|
* @returns A new TimeCode instance with the conformTo timeBase applied
|
|
1351
1458
|
*/
|
|
1352
1459
|
|
|
1353
1460
|
}, {
|
|
1354
1461
|
key: "conformTimeBase",
|
|
1355
|
-
value: function conformTimeBase(
|
|
1356
|
-
var conformToTimeBase =
|
|
1357
|
-
|
|
1358
|
-
if (!(conformTo instanceof TimeBase)) {
|
|
1359
|
-
conformToTimeBase = createTimeBase(conformTo);
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1462
|
+
value: function conformTimeBase(timeBase) {
|
|
1463
|
+
var conformToTimeBase = timeBase instanceof TimeBase ? timeBase : createTimeBase(timeBase);
|
|
1362
1464
|
var samples = Math.floor(this.samples / (this.timeBase.toRate({
|
|
1363
1465
|
fixed: false
|
|
1364
1466
|
}) / conformToTimeBase.toRate({
|
|
@@ -1373,20 +1475,19 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1373
1475
|
/**
|
|
1374
1476
|
* Get TimeCode as a text representation
|
|
1375
1477
|
*
|
|
1478
|
+
* @remarks
|
|
1376
1479
|
* Default format: samples@denominator(:numerator if > 1)
|
|
1377
1480
|
* `constant` has precedence over `fraction` if both are true
|
|
1378
1481
|
*
|
|
1379
|
-
* @param
|
|
1380
|
-
* @param {boolean} [options.includeTimeBaseForSeconds=false] include time base even if seconds
|
|
1381
|
-
* @param {boolean} [options.constant=false] show as constant (e.g. @PAL)
|
|
1382
|
-
* @param {boolean} [options.fraction=false] show as fraction (@25:1)
|
|
1482
|
+
* @param options Options for how to format text
|
|
1383
1483
|
* @returns Text representation of TimeCode
|
|
1484
|
+
*
|
|
1485
|
+
* @category Time
|
|
1384
1486
|
*/
|
|
1385
1487
|
|
|
1386
1488
|
}, {
|
|
1387
1489
|
key: "toText",
|
|
1388
|
-
value: function toText() {
|
|
1389
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1490
|
+
value: function toText(options) {
|
|
1390
1491
|
var timeCodeText = "".concat(this.samples);
|
|
1391
1492
|
var timeBaseText = this.timeBase.toText(options);
|
|
1392
1493
|
|
|
@@ -1399,7 +1500,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1399
1500
|
/**
|
|
1400
1501
|
* Get TimeCode in a units object representation
|
|
1401
1502
|
*
|
|
1402
|
-
* @returns
|
|
1503
|
+
* @returns Units (time and frames) for the time code
|
|
1403
1504
|
*/
|
|
1404
1505
|
|
|
1405
1506
|
}, {
|
|
@@ -1431,7 +1532,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1431
1532
|
* Get TimeCode in a time object representation
|
|
1432
1533
|
* "milliseconds" is rounded down, if you want another representation use "partialSeconds"
|
|
1433
1534
|
*
|
|
1434
|
-
* @returns
|
|
1535
|
+
* @returns Time for the time code
|
|
1435
1536
|
*/
|
|
1436
1537
|
|
|
1437
1538
|
}, {
|
|
@@ -1461,7 +1562,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1461
1562
|
/**
|
|
1462
1563
|
* Get TimeCode in a seconds representation
|
|
1463
1564
|
*
|
|
1464
|
-
* @returns
|
|
1565
|
+
* @returns Total seconds for the time code
|
|
1465
1566
|
*/
|
|
1466
1567
|
|
|
1467
1568
|
}, {
|
|
@@ -1487,20 +1588,19 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1487
1588
|
* - uses colon delimiter (e.g. for format "hhmmss")
|
|
1488
1589
|
* - shows "m:ss" or "h:mm:ss" if format is undefined
|
|
1489
1590
|
*
|
|
1490
|
-
* @param
|
|
1491
|
-
* @
|
|
1492
|
-
* @returns {string} Duration representation of the TimeCode
|
|
1591
|
+
* @param options Options for how to display duration
|
|
1592
|
+
* @returns Duration representation of the TimeCode
|
|
1493
1593
|
*/
|
|
1494
1594
|
|
|
1495
1595
|
}, {
|
|
1496
1596
|
key: "toDuration",
|
|
1497
|
-
value: function toDuration() {
|
|
1498
|
-
var
|
|
1499
|
-
|
|
1597
|
+
value: function toDuration(options) {
|
|
1598
|
+
var _ref3 = options || {},
|
|
1599
|
+
format = _ref3.format;
|
|
1500
1600
|
|
|
1501
1601
|
var _this$toTime = this.toTime(),
|
|
1502
1602
|
hours = _this$toTime.hours,
|
|
1503
|
-
rest = _objectWithoutProperties(_this$toTime, _excluded$
|
|
1603
|
+
rest = _objectWithoutProperties(_this$toTime, _excluded$6);
|
|
1504
1604
|
|
|
1505
1605
|
var minutes = rest.minutes,
|
|
1506
1606
|
seconds = rest.seconds,
|
|
@@ -1564,7 +1664,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1564
1664
|
var _amount = countConsecutiveChars(i, arr);
|
|
1565
1665
|
|
|
1566
1666
|
if (!format.includes('h')) {
|
|
1567
|
-
minutes
|
|
1667
|
+
minutes += hours * 60;
|
|
1568
1668
|
}
|
|
1569
1669
|
|
|
1570
1670
|
output.push("".concat(minutes).padStart(_amount, '0'));
|
|
@@ -1585,7 +1685,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1585
1685
|
var _amount2 = countConsecutiveChars(i, arr);
|
|
1586
1686
|
|
|
1587
1687
|
if (!format.includes('m')) {
|
|
1588
|
-
seconds
|
|
1688
|
+
seconds += minutes * 60;
|
|
1589
1689
|
}
|
|
1590
1690
|
|
|
1591
1691
|
output.push("".concat(seconds).padStart(_amount2, '0'));
|
|
@@ -1606,7 +1706,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1606
1706
|
var _amount3 = countConsecutiveChars(i, arr);
|
|
1607
1707
|
|
|
1608
1708
|
if (!format.includes('s')) {
|
|
1609
|
-
milliseconds
|
|
1709
|
+
milliseconds += seconds * 1000;
|
|
1610
1710
|
}
|
|
1611
1711
|
|
|
1612
1712
|
output.push("".concat(Math.round(milliseconds / Math.pow(10, 3 - _amount3))).padStart(_amount3, '0'));
|
|
@@ -1623,7 +1723,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1623
1723
|
/**
|
|
1624
1724
|
* Get TimeCode in a smpte representation
|
|
1625
1725
|
*
|
|
1626
|
-
* @returns
|
|
1726
|
+
* @returns Smpte representation of the TimeCode
|
|
1627
1727
|
*/
|
|
1628
1728
|
|
|
1629
1729
|
}, {
|
|
@@ -1643,7 +1743,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1643
1743
|
/**
|
|
1644
1744
|
* Get TimeCode as a VidiCore TimeCodeType object
|
|
1645
1745
|
*
|
|
1646
|
-
* @returns
|
|
1746
|
+
* @returns TimeCode as `{ samples, timeBase }`
|
|
1647
1747
|
*/
|
|
1648
1748
|
|
|
1649
1749
|
}, {
|
|
@@ -1655,9 +1755,9 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1655
1755
|
};
|
|
1656
1756
|
}
|
|
1657
1757
|
/**
|
|
1658
|
-
* @deprecated Use {@link TimeCode#toObject|toObject} instead
|
|
1758
|
+
* @deprecated Use {@link TimeCode#toObject | toObject} instead
|
|
1659
1759
|
*
|
|
1660
|
-
* @returns
|
|
1760
|
+
* @returns TimeCode as `{ samples, timeBase }`
|
|
1661
1761
|
*/
|
|
1662
1762
|
|
|
1663
1763
|
}, {
|
|
@@ -1679,9 +1779,9 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1679
1779
|
*
|
|
1680
1780
|
* Using Euclid's algorithm
|
|
1681
1781
|
*
|
|
1682
|
-
* @param
|
|
1683
|
-
* @param
|
|
1684
|
-
* @returns
|
|
1782
|
+
* @param num1 a number
|
|
1783
|
+
* @param num2 another number
|
|
1784
|
+
* @returns The greatest common divisor of num1 and num2
|
|
1685
1785
|
*/
|
|
1686
1786
|
var getGreatestCommonDivisor = function getGreatestCommonDivisor(num1, num2) {
|
|
1687
1787
|
var a = Math.abs(num1);
|
|
@@ -1702,7 +1802,8 @@ var getGreatestCommonDivisor = function getGreatestCommonDivisor(num1, num2) {
|
|
|
1702
1802
|
return a || b;
|
|
1703
1803
|
};
|
|
1704
1804
|
|
|
1705
|
-
var _excluded$
|
|
1805
|
+
var _excluded$5 = ["timeBase", "useGCD"];
|
|
1806
|
+
|
|
1706
1807
|
/**
|
|
1707
1808
|
* Format seconds to TimeCode object
|
|
1708
1809
|
* Input time base is always 1:1 since it expects seconds as input
|
|
@@ -1712,20 +1813,18 @@ var _excluded$4 = ["timeBase", "useGCD"];
|
|
|
1712
1813
|
* - 10^9 seconds can have 10^6 decimals (microsecond) precision
|
|
1713
1814
|
* - 10^12 seconds can have 10^3 decimals (millisecond) precision
|
|
1714
1815
|
*
|
|
1715
|
-
* @param
|
|
1716
|
-
* @param
|
|
1717
|
-
* @
|
|
1718
|
-
*
|
|
1719
|
-
* @
|
|
1816
|
+
* @param seconds With or without decimals ("." and "," are both interpreted as decimal)
|
|
1817
|
+
* @param options Options for how to format the seconds to a TimeCode
|
|
1818
|
+
* @returns A TimeCode instance
|
|
1819
|
+
*
|
|
1820
|
+
* @category Time
|
|
1720
1821
|
*/
|
|
1721
|
-
|
|
1722
|
-
var
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
useGCD = _options$useGCD === void 0 ? false : _options$useGCD,
|
|
1728
|
-
timeCodeOptions = _objectWithoutProperties(options, _excluded$4);
|
|
1822
|
+
var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds, options) {
|
|
1823
|
+
var _ref = options || {},
|
|
1824
|
+
timeBase = _ref.timeBase,
|
|
1825
|
+
_ref$useGCD = _ref.useGCD,
|
|
1826
|
+
useGCD = _ref$useGCD === void 0 ? false : _ref$useGCD,
|
|
1827
|
+
timeCodeOptions = _objectWithoutProperties(_ref, _excluded$5);
|
|
1729
1828
|
|
|
1730
1829
|
var secondsWithDot = "".concat(seconds).replace(/,/g, '.');
|
|
1731
1830
|
|
|
@@ -1747,10 +1846,10 @@ var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds) {
|
|
|
1747
1846
|
|
|
1748
1847
|
var decimalPlaces = Math.min((_ms$length = ms === null || ms === void 0 ? void 0 : ms.length) !== null && _ms$length !== void 0 ? _ms$length : 0, 16);
|
|
1749
1848
|
denominator *= Math.pow(10, decimalPlaces);
|
|
1750
|
-
samples = Math.round(secondsWithDot * denominator);
|
|
1849
|
+
samples = Math.round(Number(secondsWithDot) * denominator);
|
|
1751
1850
|
}
|
|
1752
1851
|
|
|
1753
|
-
if (
|
|
1852
|
+
if (timeBase === undefined && useGCD) {
|
|
1754
1853
|
var gcd = getGreatestCommonDivisor(denominator, samples);
|
|
1755
1854
|
samples /= gcd;
|
|
1756
1855
|
denominator /= gcd;
|
|
@@ -1763,32 +1862,9 @@ var formatTimeCodeSeconds = function formatTimeCodeSeconds(seconds) {
|
|
|
1763
1862
|
numerator: 1
|
|
1764
1863
|
}
|
|
1765
1864
|
}, timeCodeOptions);
|
|
1766
|
-
return timeBase ? timeCode.conformTimeBase(createTimeBase(timeBase === true ? 1 : timeBase)) : timeCode;
|
|
1865
|
+
return timeBase !== undefined ? timeCode.conformTimeBase(createTimeBase(timeBase === true ? 1 : timeBase)) : timeCode;
|
|
1767
1866
|
};
|
|
1768
1867
|
|
|
1769
|
-
var _excluded$3 = ["exceedingMode", "timeBase"];
|
|
1770
|
-
|
|
1771
|
-
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1772
|
-
|
|
1773
|
-
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1774
|
-
var MAP_SEPARATOR_TO_OPTIONS = {
|
|
1775
|
-
':': {
|
|
1776
|
-
dropFrame: false,
|
|
1777
|
-
frameSeparator: ':'
|
|
1778
|
-
},
|
|
1779
|
-
'.': {
|
|
1780
|
-
dropFrame: false,
|
|
1781
|
-
frameSeparator: '.'
|
|
1782
|
-
},
|
|
1783
|
-
';': {
|
|
1784
|
-
dropFrame: true,
|
|
1785
|
-
frameSeparator: ';'
|
|
1786
|
-
},
|
|
1787
|
-
',': {
|
|
1788
|
-
dropFrame: true,
|
|
1789
|
-
frameSeparator: ','
|
|
1790
|
-
}
|
|
1791
|
-
};
|
|
1792
1868
|
var getDroppedFramesFromSmpte = function getDroppedFramesFromSmpte(_ref, samples, timeBase) {
|
|
1793
1869
|
var _ref2 = _slicedToArray(_ref, 4),
|
|
1794
1870
|
hh = _ref2[0],
|
|
@@ -1801,7 +1877,7 @@ var getDroppedFramesFromSmpte = function getDroppedFramesFromSmpte(_ref, samples
|
|
|
1801
1877
|
});
|
|
1802
1878
|
var dropFrames = getAmountOfFrameDrops(timeBase);
|
|
1803
1879
|
|
|
1804
|
-
if (samples === 0 || dropFrames
|
|
1880
|
+
if (samples === 0 || !dropFrames) {
|
|
1805
1881
|
return 0;
|
|
1806
1882
|
}
|
|
1807
1883
|
|
|
@@ -1812,9 +1888,7 @@ var getDroppedFramesFromSmpte = function getDroppedFramesFromSmpte(_ref, samples
|
|
|
1812
1888
|
var secondFrames = ss * roundedFrameRate - (shouldDropMinute && ss > 1 ? dropFrames : 0);
|
|
1813
1889
|
|
|
1814
1890
|
if (shouldDropSecond && ff < dropFrames) {
|
|
1815
|
-
throw new Error("Frame does not exist for ".concat(timeBase.toRate(
|
|
1816
|
-
constant: true
|
|
1817
|
-
}), " drop-frame"));
|
|
1891
|
+
throw new Error("Frame does not exist for ".concat(timeBase.toConstant() || timeBase.toRate(), " drop-frame"));
|
|
1818
1892
|
}
|
|
1819
1893
|
|
|
1820
1894
|
var frameFrames = shouldDropSecond ? ff - dropFrames : ff;
|
|
@@ -1822,16 +1896,26 @@ var getDroppedFramesFromSmpte = function getDroppedFramesFromSmpte(_ref, samples
|
|
|
1822
1896
|
return samples - samplesWithoutDroppedFrames;
|
|
1823
1897
|
};
|
|
1824
1898
|
|
|
1899
|
+
var getSamplesFromSmpte = function getSamplesFromSmpte(smpteValues, timeBase, dropFrame) {
|
|
1900
|
+
var _smpteValues = _slicedToArray(smpteValues, 4),
|
|
1901
|
+
hh = _smpteValues[0],
|
|
1902
|
+
mm = _smpteValues[1],
|
|
1903
|
+
ss = _smpteValues[2],
|
|
1904
|
+
ff = _smpteValues[3];
|
|
1905
|
+
|
|
1906
|
+
var roundedFrameRate = timeBase.toRate({
|
|
1907
|
+
rounded: true
|
|
1908
|
+
});
|
|
1909
|
+
var samples = hh * 3600 * roundedFrameRate + mm * 60 * roundedFrameRate + ss * roundedFrameRate + ff;
|
|
1910
|
+
return samples - (dropFrame ? getDroppedFramesFromSmpte(smpteValues, samples, timeBase) : 0);
|
|
1911
|
+
};
|
|
1912
|
+
|
|
1825
1913
|
var splitSmpte = function splitSmpte(smpte) {
|
|
1826
|
-
var
|
|
1827
|
-
|
|
1828
|
-
nonColonFrameSeparator =
|
|
1914
|
+
var _ref = (smpte === null || smpte === void 0 ? void 0 : smpte.match(/[^0-9:\-_]/)) || [],
|
|
1915
|
+
_ref2 = _slicedToArray(_ref, 1),
|
|
1916
|
+
nonColonFrameSeparator = _ref2[0];
|
|
1829
1917
|
|
|
1830
1918
|
var smpteValues = [];
|
|
1831
|
-
var options = {
|
|
1832
|
-
frameSeparator: ':',
|
|
1833
|
-
dropFrame: false
|
|
1834
|
-
};
|
|
1835
1919
|
|
|
1836
1920
|
if (nonColonFrameSeparator) {
|
|
1837
1921
|
var _smpte$split = smpte.split(nonColonFrameSeparator),
|
|
@@ -1840,13 +1924,10 @@ var splitSmpte = function splitSmpte(smpte) {
|
|
|
1840
1924
|
ff = _smpte$split2[1];
|
|
1841
1925
|
|
|
1842
1926
|
smpteValues = [].concat(_toConsumableArray(hhmmss.split(':')), [ff]);
|
|
1843
|
-
options = MAP_SEPARATOR_TO_OPTIONS[nonColonFrameSeparator] || {};
|
|
1844
1927
|
} else {
|
|
1845
1928
|
smpteValues = smpte.split(':');
|
|
1846
1929
|
}
|
|
1847
1930
|
|
|
1848
|
-
smpteValues = smpteValues.map(Number);
|
|
1849
|
-
|
|
1850
1931
|
if (smpteValues.length !== 4) {
|
|
1851
1932
|
throw new Error('Invalid format, must be "##:##:##:##');
|
|
1852
1933
|
}
|
|
@@ -1857,25 +1938,20 @@ var splitSmpte = function splitSmpte(smpte) {
|
|
|
1857
1938
|
throw new Error('Invalid format, values must be numbers');
|
|
1858
1939
|
}
|
|
1859
1940
|
|
|
1860
|
-
|
|
1941
|
+
var smpteFrameSeparator = nonColonFrameSeparator || ':';
|
|
1942
|
+
return {
|
|
1943
|
+
smpteValues: smpteValues.map(Number),
|
|
1944
|
+
smpteFrameSeparator: smpteFrameSeparator
|
|
1945
|
+
};
|
|
1861
1946
|
};
|
|
1862
1947
|
|
|
1863
|
-
var
|
|
1864
|
-
var _smpteValues = _slicedToArray(smpteValues, 4),
|
|
1865
|
-
hh = _smpteValues[0],
|
|
1866
|
-
mm = _smpteValues[1],
|
|
1867
|
-
ss = _smpteValues[2],
|
|
1868
|
-
ff = _smpteValues[3];
|
|
1869
|
-
|
|
1870
|
-
var roundedFrameRate = timeBase.toRate({
|
|
1871
|
-
rounded: true
|
|
1872
|
-
});
|
|
1873
|
-
var samples = hh * 3600 * roundedFrameRate + mm * 60 * roundedFrameRate + ss * roundedFrameRate + ff;
|
|
1874
|
-
return samples - (dropFrame ? getDroppedFramesFromSmpte(smpteValues, samples, timeBase) : 0);
|
|
1875
|
-
}; // Better naming than "useValueExcess" and "useValueTruncate" must exist
|
|
1948
|
+
var _excluded$4 = ["exceedingMode", "timeBase"];
|
|
1876
1949
|
|
|
1950
|
+
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; }
|
|
1877
1951
|
|
|
1952
|
+
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1878
1953
|
var EXCEEDING_OPTIONS = ['error', 'add', 'ignore'];
|
|
1954
|
+
|
|
1879
1955
|
/**
|
|
1880
1956
|
* Format smpte text to a TimeCode Instance
|
|
1881
1957
|
*
|
|
@@ -1884,22 +1960,18 @@ var EXCEEDING_OPTIONS = ['error', 'add', 'ignore'];
|
|
|
1884
1960
|
* - "truncate" exceeding values will be truncated (e.g. PAL and 00:00:00:25 => 00:00:00:24)
|
|
1885
1961
|
* - "error" exceeding values will throw error (e.g. PAL and 00:00:00:25 => Error)
|
|
1886
1962
|
*
|
|
1887
|
-
* @param
|
|
1888
|
-
* @param
|
|
1889
|
-
* @
|
|
1890
|
-
*
|
|
1891
|
-
* @
|
|
1892
|
-
* @param {string} options.frameSeparator What frame separator the TimeCode should store (defaults to what the smpte has)
|
|
1893
|
-
* @returns {TimeCode} A TimeCode instance
|
|
1963
|
+
* @param smpte String representation of smpte
|
|
1964
|
+
* @param options Options for creating the time code from smpte
|
|
1965
|
+
* @returns TimeCode instance created from smpte string
|
|
1966
|
+
*
|
|
1967
|
+
* @category Time
|
|
1894
1968
|
*/
|
|
1895
|
-
|
|
1896
|
-
var
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
timeBase = options.timeBase,
|
|
1902
|
-
timeCodeOptions = _objectWithoutProperties(options, _excluded$3);
|
|
1969
|
+
var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte, options) {
|
|
1970
|
+
var _ref = options || {},
|
|
1971
|
+
_ref$exceedingMode = _ref.exceedingMode,
|
|
1972
|
+
exceedingMode = _ref$exceedingMode === void 0 ? 'error' : _ref$exceedingMode,
|
|
1973
|
+
timeBase = _ref.timeBase,
|
|
1974
|
+
timeCodeOptions = _objectWithoutProperties(_ref, _excluded$4);
|
|
1903
1975
|
|
|
1904
1976
|
if ([null, undefined].includes(smpte)) {
|
|
1905
1977
|
throw new Error("smpte cannot be undefined or null");
|
|
@@ -1910,15 +1982,16 @@ var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte) {
|
|
|
1910
1982
|
}
|
|
1911
1983
|
|
|
1912
1984
|
var _splitSmpte = splitSmpte(smpte),
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
timeCodeOptionsFromSmpte = _splitSmpte2[1];
|
|
1985
|
+
smpteValues = _splitSmpte.smpteValues,
|
|
1986
|
+
smpteFrameSeparator = _splitSmpte.smpteFrameSeparator;
|
|
1916
1987
|
|
|
1917
1988
|
var timeBaseInstance = createTimeBase(timeBase);
|
|
1918
1989
|
|
|
1919
|
-
var mergedOptions = _objectSpread$
|
|
1920
|
-
|
|
1921
|
-
}, timeCodeOptions)
|
|
1990
|
+
var mergedOptions = _objectSpread$9(_objectSpread$9({}, timeCodeOptions), {}, {
|
|
1991
|
+
frameSeparator: (timeCodeOptions === null || timeCodeOptions === void 0 ? void 0 : timeCodeOptions.frameSeparator) || smpteFrameSeparator
|
|
1992
|
+
}, (timeCodeOptions === null || timeCodeOptions === void 0 ? void 0 : timeCodeOptions.dropFrame) === undefined ? {
|
|
1993
|
+
dropFrame: timeBase !== undefined ? isDropFrameTimeBase(timeBaseInstance) : [';', ','].includes(smpteFrameSeparator)
|
|
1994
|
+
} : {});
|
|
1922
1995
|
|
|
1923
1996
|
var roundedFrameRate = timeBaseInstance.toRate({
|
|
1924
1997
|
rounded: true
|
|
@@ -1936,11 +2009,11 @@ var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte) {
|
|
|
1936
2009
|
switch (exceedingMode) {
|
|
1937
2010
|
case 'error':
|
|
1938
2011
|
{
|
|
1939
|
-
var
|
|
1940
|
-
hours =
|
|
1941
|
-
minutes =
|
|
1942
|
-
seconds =
|
|
1943
|
-
frames =
|
|
2012
|
+
var _smpteValues = _slicedToArray(smpteValues, 4),
|
|
2013
|
+
hours = _smpteValues[0],
|
|
2014
|
+
minutes = _smpteValues[1],
|
|
2015
|
+
seconds = _smpteValues[2],
|
|
2016
|
+
frames = _smpteValues[3];
|
|
1944
2017
|
|
|
1945
2018
|
if (hours >= 100) {
|
|
1946
2019
|
throw Error('Minutes has to be less than 60');
|
|
@@ -1964,11 +2037,11 @@ var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte) {
|
|
|
1964
2037
|
|
|
1965
2038
|
case 'ignore':
|
|
1966
2039
|
{
|
|
1967
|
-
var
|
|
1968
|
-
_hours =
|
|
1969
|
-
_minutes =
|
|
1970
|
-
_seconds =
|
|
1971
|
-
_frames =
|
|
2040
|
+
var _smpteValues2 = _slicedToArray(smpteValues, 4),
|
|
2041
|
+
_hours = _smpteValues2[0],
|
|
2042
|
+
_minutes = _smpteValues2[1],
|
|
2043
|
+
_seconds = _smpteValues2[2],
|
|
2044
|
+
_frames = _smpteValues2[3];
|
|
1972
2045
|
|
|
1973
2046
|
var truncatedSmpteValues = [Math.min(100, _hours), Math.min(59, _minutes), Math.min(59, _seconds), Math.min(maxFrame, _frames)];
|
|
1974
2047
|
samples = getSamplesFromSmpte(truncatedSmpteValues, timeBaseInstance, mergedOptions === null || mergedOptions === void 0 ? void 0 : mergedOptions.dropFrame);
|
|
@@ -1993,22 +2066,21 @@ var formatTimeCodeSmpte = function formatTimeCodeSmpte(smpte) {
|
|
|
1993
2066
|
}, mergedOptions);
|
|
1994
2067
|
};
|
|
1995
2068
|
|
|
1996
|
-
var _excluded$
|
|
2069
|
+
var _excluded$3 = ["timeBase"];
|
|
2070
|
+
|
|
1997
2071
|
/**
|
|
1998
2072
|
* Format text to a TimeCode instance
|
|
1999
2073
|
*
|
|
2000
|
-
* @
|
|
2001
|
-
*
|
|
2002
|
-
* @
|
|
2003
|
-
* @returns {TimeCode} A TimeCode instance
|
|
2074
|
+
* @returns A TimeCode instance
|
|
2075
|
+
*
|
|
2076
|
+
* @category Time
|
|
2004
2077
|
*/
|
|
2005
|
-
|
|
2006
2078
|
var formatTimeCodeText = function formatTimeCodeText(timeCodeText, options) {
|
|
2007
2079
|
var _timeCodeObject;
|
|
2008
2080
|
|
|
2009
2081
|
var _ref = options || {},
|
|
2010
2082
|
timeBase = _ref.timeBase,
|
|
2011
|
-
timeCodeOptions = _objectWithoutProperties(_ref, _excluded$
|
|
2083
|
+
timeCodeOptions = _objectWithoutProperties(_ref, _excluded$3);
|
|
2012
2084
|
|
|
2013
2085
|
var timeCodeObject;
|
|
2014
2086
|
|
|
@@ -2056,46 +2128,51 @@ var formatTimeCodeText = function formatTimeCodeText(timeCodeText, options) {
|
|
|
2056
2128
|
/**
|
|
2057
2129
|
* Format an object to a TimeCode instance
|
|
2058
2130
|
*
|
|
2059
|
-
* @param
|
|
2060
|
-
* @param
|
|
2061
|
-
* @returns
|
|
2131
|
+
* @param timeCode To create TimeCode instance of
|
|
2132
|
+
* @param options For the TimeCode constructor
|
|
2133
|
+
* @returns A TimeCode instance
|
|
2134
|
+
*
|
|
2135
|
+
* @category Time
|
|
2062
2136
|
*/
|
|
2063
|
-
|
|
2064
2137
|
var formatTimeCodeType = function formatTimeCodeType(timeCode, options) {
|
|
2065
2138
|
return new TimeCode(timeCode, options);
|
|
2066
2139
|
};
|
|
2067
2140
|
|
|
2068
|
-
var isObject = function isObject(o) {
|
|
2069
|
-
return Object.prototype.toString.call(o) === '[object Object]';
|
|
2070
|
-
};
|
|
2071
|
-
|
|
2072
|
-
var isString = function isString(s) {
|
|
2073
|
-
return typeof s === 'string';
|
|
2074
|
-
};
|
|
2075
|
-
|
|
2076
2141
|
var hasSmpteFormat = function hasSmpteFormat(s) {
|
|
2077
|
-
return
|
|
2142
|
+
return !!s.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/);
|
|
2078
2143
|
};
|
|
2079
2144
|
|
|
2080
2145
|
var isNumber = function isNumber(s) {
|
|
2081
2146
|
return !Number.isNaN(Number(s));
|
|
2082
2147
|
};
|
|
2148
|
+
|
|
2083
2149
|
/**
|
|
2084
2150
|
* Create a TimeCode instance from smpte, seconds/samples, timeCode object or string
|
|
2085
2151
|
*
|
|
2086
|
-
* @param
|
|
2087
|
-
* @param
|
|
2088
|
-
* @returns
|
|
2152
|
+
* @param timeCode Smpte, seconds/samples, timeCode object or string
|
|
2153
|
+
* @param options For the format functions
|
|
2154
|
+
* @returns A TimeCode instance
|
|
2155
|
+
*
|
|
2156
|
+
* @category Time
|
|
2089
2157
|
*/
|
|
2158
|
+
var createTimeCode = function createTimeCode(timeCode, options) {
|
|
2159
|
+
// TimeCode
|
|
2160
|
+
if (typeof timeCode !== 'string' && typeof timeCode !== 'number') return formatTimeCodeType(timeCode, options); // SMPTE
|
|
2090
2161
|
|
|
2162
|
+
if (typeof timeCode === 'string' && hasSmpteFormat(timeCode)) return formatTimeCodeSmpte(timeCode, options);
|
|
2163
|
+
if (['string', 'number'].includes(_typeof(timeCode)) && isNumber(timeCode)) return formatTimeCodeSeconds(timeCode, options);
|
|
2091
2164
|
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
return
|
|
2165
|
+
if (typeof timeCode === 'string') {
|
|
2166
|
+
return formatTimeCodeText(timeCode, options);
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
return undefined;
|
|
2097
2170
|
};
|
|
2098
2171
|
|
|
2172
|
+
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; }
|
|
2173
|
+
|
|
2174
|
+
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2175
|
+
|
|
2099
2176
|
function timeToCueTime(_ref) {
|
|
2100
2177
|
var _ref$hours = _ref.hours,
|
|
2101
2178
|
hours = _ref$hours === void 0 ? 0 : _ref$hours,
|
|
@@ -2111,129 +2188,150 @@ function timeToCueTime(_ref) {
|
|
|
2111
2188
|
var partialStr = (partialSeconds * 10).toFixed().padStart(3, '0');
|
|
2112
2189
|
return "".concat(hourStr, ":").concat(minStr, ":").concat(secondsStr, ".").concat(partialStr);
|
|
2113
2190
|
}
|
|
2191
|
+
|
|
2192
|
+
var defaultOptions$2 = {
|
|
2193
|
+
subtitleGroup: 'stl_subtitle',
|
|
2194
|
+
subtitleField: 'stl_text'
|
|
2195
|
+
};
|
|
2114
2196
|
/**
|
|
2115
|
-
* Convert subtitle groups to WebVtt
|
|
2116
|
-
*
|
|
2117
|
-
* @param
|
|
2118
|
-
* @param
|
|
2119
|
-
* @
|
|
2120
|
-
*
|
|
2197
|
+
* Convert metadata subtitle groups to WebVtt subtitles
|
|
2198
|
+
*
|
|
2199
|
+
* @param metadataType - Vidicore metadata object (should include subtitleGroup and subtitleField)
|
|
2200
|
+
* @param options - options for how to map subtitle group
|
|
2201
|
+
* @returns WebVtt subtitles
|
|
2202
|
+
*
|
|
2203
|
+
* @category Metadata
|
|
2121
2204
|
*/
|
|
2122
2205
|
|
|
2206
|
+
var metadataTypeToWebVtt = function metadataTypeToWebVtt(metadataType, options) {
|
|
2207
|
+
var _defaultOptions = _objectSpread$8(_objectSpread$8({}, defaultOptions$2), options || {}),
|
|
2208
|
+
subtitleGroup = _defaultOptions.subtitleGroup,
|
|
2209
|
+
subtitleField = _defaultOptions.subtitleField;
|
|
2123
2210
|
|
|
2124
|
-
var
|
|
2125
|
-
|
|
2126
|
-
_ref2$
|
|
2127
|
-
subtitleGroup = _ref2$subtitleGroup === void 0 ? 'stl_subtitle' : _ref2$subtitleGroup,
|
|
2128
|
-
_ref2$subtitleField = _ref2.subtitleField,
|
|
2129
|
-
subtitleField = _ref2$subtitleField === void 0 ? 'stl_text' : _ref2$subtitleField;
|
|
2130
|
-
var parseOptions = {
|
|
2131
|
-
includeTimespanAttributes: true,
|
|
2132
|
-
flatTimespan: true,
|
|
2133
|
-
flatGroup: true,
|
|
2134
|
-
joinValue: ','
|
|
2135
|
-
};
|
|
2136
|
-
|
|
2137
|
-
var _ref3 = metadataType || {},
|
|
2138
|
-
_ref3$timespan = _ref3.timespan,
|
|
2139
|
-
timespanList = _ref3$timespan === void 0 ? [] : _ref3$timespan;
|
|
2211
|
+
var _ref2 = metadataType || {},
|
|
2212
|
+
_ref2$timespan = _ref2.timespan,
|
|
2213
|
+
timespanList = _ref2$timespan === void 0 ? [] : _ref2$timespan;
|
|
2140
2214
|
|
|
2141
2215
|
if (timespanList.length === 0) return '';
|
|
2142
|
-
var
|
|
2143
|
-
|
|
2144
|
-
|
|
2216
|
+
var parsedTimespans = parseTimespanList(timespanList, {
|
|
2217
|
+
includeTimespanAttributes: true,
|
|
2218
|
+
sortTimespan: true,
|
|
2219
|
+
timespanAsList: true,
|
|
2220
|
+
overrideGroup: true,
|
|
2221
|
+
joinValue: ','
|
|
2145
2222
|
});
|
|
2146
|
-
var vttCues = parsedTimespans.map(function (
|
|
2147
|
-
var
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2223
|
+
var vttCues = parsedTimespans.map(function (timespan) {
|
|
2224
|
+
var _ref3 = (Array.isArray(timespan) ? timespan[0] : timespan) || {},
|
|
2225
|
+
startText = _ref3.start,
|
|
2226
|
+
endText = _ref3.end,
|
|
2227
|
+
_ref3$subtitleGroup = _ref3[subtitleGroup];
|
|
2228
|
+
|
|
2229
|
+
_ref3$subtitleGroup = _ref3$subtitleGroup === void 0 ? {} : _ref3$subtitleGroup;
|
|
2230
|
+
var text = _ref3$subtitleGroup[subtitleField];
|
|
2152
2231
|
if (!text) return '';
|
|
2153
|
-
var
|
|
2154
|
-
var
|
|
2155
|
-
var endTime = formatTimeCodeText(endText).toTime();
|
|
2156
|
-
var end = timeToCueTime(endTime);
|
|
2232
|
+
var start = timeToCueTime(formatTimeCodeText(startText).toTime());
|
|
2233
|
+
var end = timeToCueTime(formatTimeCodeText(endText).toTime());
|
|
2157
2234
|
return "".concat(start, " --> ").concat(end, " line:0%\r").concat(text, "\r");
|
|
2158
2235
|
});
|
|
2159
2236
|
return "WEBVTT\n\n\n".concat(vttCues.join('\n'));
|
|
2160
2237
|
};
|
|
2161
2238
|
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2239
|
+
/**
|
|
2240
|
+
* Create a Vidicore facet list
|
|
2241
|
+
*
|
|
2242
|
+
* @param fieldList Input to create facet of
|
|
2243
|
+
* @param options Options for creating the facet
|
|
2244
|
+
* @returns A VidiCore facet list
|
|
2245
|
+
*
|
|
2246
|
+
* @category Search
|
|
2247
|
+
*/
|
|
2165
2248
|
var createFacetType = function createFacetType() {
|
|
2166
2249
|
var fieldList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
2167
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
2250
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
2251
|
+
count: true
|
|
2252
|
+
};
|
|
2168
2253
|
return fieldList.map(function (field) {
|
|
2169
2254
|
return {
|
|
2170
2255
|
field: field,
|
|
2171
2256
|
name: field,
|
|
2172
|
-
count: options.count || true,
|
|
2257
|
+
count: options.count !== undefined ? options === null || options === void 0 ? void 0 : options.count : true,
|
|
2173
2258
|
exclude: fieldList
|
|
2174
2259
|
};
|
|
2175
2260
|
});
|
|
2176
2261
|
};
|
|
2177
2262
|
|
|
2178
|
-
function ownKeys$
|
|
2263
|
+
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; }
|
|
2179
2264
|
|
|
2180
|
-
function _objectSpread$
|
|
2265
|
+
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2181
2266
|
|
|
2267
|
+
/** Parsed facet type */
|
|
2268
|
+
|
|
2269
|
+
/**
|
|
2270
|
+
* Parse a VidiCore facet type list
|
|
2271
|
+
*
|
|
2272
|
+
* @param facetType A facet type list to parse
|
|
2273
|
+
* @returns A parsed facet type list
|
|
2274
|
+
*
|
|
2275
|
+
* @category Search
|
|
2276
|
+
*/
|
|
2182
2277
|
var parseFacetType = function parseFacetType() {
|
|
2183
2278
|
var facetType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
2184
2279
|
var output = {};
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
field = _ref2.field,
|
|
2195
|
-
count = _ref2.count;
|
|
2196
|
-
output[name || field] = count.reduce(facetFieldReducer, {});
|
|
2280
|
+
facetType.forEach(function (_ref) {
|
|
2281
|
+
var name = _ref.name,
|
|
2282
|
+
field = _ref.field,
|
|
2283
|
+
count = _ref.count;
|
|
2284
|
+
output[name || field] = count.reduce(function (acc, _ref2) {
|
|
2285
|
+
var fieldValue = _ref2.fieldValue,
|
|
2286
|
+
value = _ref2.value;
|
|
2287
|
+
return _objectSpread$7(_objectSpread$7({}, acc), {}, _defineProperty({}, fieldValue, value));
|
|
2288
|
+
}, {});
|
|
2197
2289
|
});
|
|
2198
2290
|
return output;
|
|
2199
2291
|
};
|
|
2200
2292
|
|
|
2201
|
-
function ownKeys$
|
|
2293
|
+
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; }
|
|
2202
2294
|
|
|
2203
|
-
function _objectSpread$
|
|
2295
|
+
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2204
2296
|
|
|
2297
|
+
var defaultOptions$1 = {
|
|
2298
|
+
arrayOnSingle: true,
|
|
2299
|
+
joinValue: undefined,
|
|
2300
|
+
timespanAsList: false
|
|
2301
|
+
};
|
|
2205
2302
|
/**
|
|
2206
2303
|
* Parses highlight timespan in VidiCore into key/value object.
|
|
2207
2304
|
* The attributes can be targeted for each sub-type.
|
|
2208
|
-
* @param
|
|
2209
|
-
* @param
|
|
2210
|
-
*
|
|
2211
|
-
* @
|
|
2212
|
-
* @param {string} options.joinValue - String to join the values, eg ','.
|
|
2305
|
+
* @param timespan - A VidiCore search timespan
|
|
2306
|
+
* @param options - Options which change how the timespans are parsed
|
|
2307
|
+
*
|
|
2308
|
+
* @category Search
|
|
2213
2309
|
*/
|
|
2214
|
-
|
|
2215
|
-
|
|
2310
|
+
|
|
2311
|
+
var parseHighlightTimespan = function parseHighlightTimespan(timespan, options) {
|
|
2312
|
+
var _defaultOptions = _objectSpread$6(_objectSpread$6({}, defaultOptions$1), options || {}),
|
|
2313
|
+
_defaultOptions$array = _defaultOptions.arrayOnSingle,
|
|
2314
|
+
arrayOnSingle = _defaultOptions$array === void 0 ? true : _defaultOptions$array,
|
|
2315
|
+
_defaultOptions$joinV = _defaultOptions.joinValue,
|
|
2316
|
+
joinValue = _defaultOptions$joinV === void 0 ? undefined : _defaultOptions$joinV,
|
|
2317
|
+
_defaultOptions$times = _defaultOptions.timespanAsList,
|
|
2318
|
+
timespanAsList = _defaultOptions$times === void 0 ? false : _defaultOptions$times;
|
|
2319
|
+
|
|
2320
|
+
var _ref = timespan || {},
|
|
2216
2321
|
_ref$field = _ref.field,
|
|
2217
2322
|
field = _ref$field === void 0 ? [] : _ref$field,
|
|
2218
2323
|
start = _ref.start,
|
|
2219
2324
|
end = _ref.end;
|
|
2220
2325
|
|
|
2221
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2222
|
-
var _options$arrayOnSingl = options.arrayOnSingle,
|
|
2223
|
-
arrayOnSingle = _options$arrayOnSingl === void 0 ? true : _options$arrayOnSingl,
|
|
2224
|
-
_options$joinValue = options.joinValue,
|
|
2225
|
-
joinValue = _options$joinValue === void 0 ? undefined : _options$joinValue,
|
|
2226
|
-
_options$timespanAsLi = options.timespanAsList,
|
|
2227
|
-
timespanAsList = _options$timespanAsLi === void 0 ? undefined : _options$timespanAsLi;
|
|
2228
2326
|
var initialValue = timespanAsList ? {
|
|
2229
2327
|
start: start,
|
|
2230
2328
|
end: end
|
|
2231
2329
|
} : {};
|
|
2232
|
-
var fieldList = field.reduce(function (
|
|
2233
|
-
var name =
|
|
2234
|
-
|
|
2235
|
-
valueList =
|
|
2236
|
-
if (valueList.length === 0) return
|
|
2330
|
+
var fieldList = field.reduce(function (acc, curr) {
|
|
2331
|
+
var name = curr.name,
|
|
2332
|
+
_curr$value = curr.value,
|
|
2333
|
+
valueList = _curr$value === void 0 ? [] : _curr$value;
|
|
2334
|
+
if (valueList.length === 0) return acc;
|
|
2237
2335
|
var fieldValue;
|
|
2238
2336
|
|
|
2239
2337
|
if (arrayOnSingle === false && valueList.length === 1) {
|
|
@@ -2242,59 +2340,123 @@ var parseHighlightTimespan = function parseHighlightTimespan() {
|
|
|
2242
2340
|
fieldValue = _valueList[0];
|
|
2243
2341
|
} else if (joinValue) fieldValue = valueList.join(joinValue);else fieldValue = valueList;
|
|
2244
2342
|
|
|
2245
|
-
return _objectSpread$
|
|
2343
|
+
return _objectSpread$6(_objectSpread$6({}, acc), {}, _defineProperty({}, name, fieldValue));
|
|
2246
2344
|
}, initialValue);
|
|
2247
2345
|
return fieldList;
|
|
2248
2346
|
};
|
|
2249
2347
|
|
|
2250
|
-
|
|
2348
|
+
var _excluded$2 = ["timespanAsList", "joinTimespan", "flat", "flatTimespan"];
|
|
2251
2349
|
|
|
2252
|
-
function
|
|
2350
|
+
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; }
|
|
2351
|
+
|
|
2352
|
+
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2353
|
+
var defaultOptions = _objectSpread$5(_objectSpread$5({}, defaultOptions$1), {}, {
|
|
2354
|
+
timespanAsList: false,
|
|
2355
|
+
joinTimespan: '_',
|
|
2356
|
+
flat: false,
|
|
2357
|
+
flatTimespan: false
|
|
2358
|
+
});
|
|
2253
2359
|
/**
|
|
2254
2360
|
* Parses highlight timespans from VidiCore into key/value object.
|
|
2255
2361
|
* The attributes can be targeted for each sub-type.
|
|
2256
|
-
*
|
|
2257
|
-
* @param
|
|
2258
|
-
* @param
|
|
2259
|
-
*
|
|
2260
|
-
* @
|
|
2261
|
-
* @param {boolean} [options.flat=false] - Flatten to field-name/field-value (Note: field-values may be overwritten).
|
|
2262
|
-
* @param {boolean} [options.flatTimespan=false] - Flatten timespan to object with start/end as key.
|
|
2263
|
-
* @param {string} [options.joinTimespan=_] - Character to join the start/end timecodes.
|
|
2362
|
+
*
|
|
2363
|
+
* @param highlightTimespanList - A list of timespans from VidiCore.
|
|
2364
|
+
* @param options - Options to change how the timespans are parsed
|
|
2365
|
+
*
|
|
2366
|
+
* @category Search
|
|
2264
2367
|
*/
|
|
2265
2368
|
|
|
2266
2369
|
var parseHighlightTimespanList = function parseHighlightTimespanList() {
|
|
2267
2370
|
var highlightTimespanList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
2268
|
-
var options = arguments.length > 1
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2371
|
+
var options = arguments.length > 1 ? arguments[1] : undefined;
|
|
2372
|
+
|
|
2373
|
+
var _defaultOptions = _objectSpread$5(_objectSpread$5({}, defaultOptions), options || {}),
|
|
2374
|
+
timespanAsList = _defaultOptions.timespanAsList,
|
|
2375
|
+
_defaultOptions$joinT = _defaultOptions.joinTimespan,
|
|
2376
|
+
joinTimespan = _defaultOptions$joinT === void 0 ? '_' : _defaultOptions$joinT,
|
|
2377
|
+
flat = _defaultOptions.flat,
|
|
2378
|
+
flatTimespan = _defaultOptions.flatTimespan,
|
|
2379
|
+
parseHighlightTimespanOptions = _objectWithoutProperties(_defaultOptions, _excluded$2);
|
|
2380
|
+
|
|
2274
2381
|
if (timespanAsList === true) return highlightTimespanList.map(function (timespan) {
|
|
2275
|
-
return parseHighlightTimespan(timespan,
|
|
2382
|
+
return parseHighlightTimespan(timespan, _objectSpread$5(_objectSpread$5({}, parseHighlightTimespanOptions), {}, {
|
|
2383
|
+
timespanAsList: timespanAsList
|
|
2384
|
+
}));
|
|
2276
2385
|
});
|
|
2277
2386
|
if (flat === true || flatTimespan === true) return highlightTimespanList.reduce(function (a, timespan) {
|
|
2278
|
-
return _objectSpread$
|
|
2387
|
+
return _objectSpread$5(_objectSpread$5({}, a), parseHighlightTimespan(timespan, options));
|
|
2279
2388
|
}, {});
|
|
2280
2389
|
return highlightTimespanList.reduce(function (a, timespan) {
|
|
2281
|
-
return _objectSpread$
|
|
2390
|
+
return _objectSpread$5(_objectSpread$5({}, a), {}, _defineProperty({}, [timespan.start, timespan.end].join(joinTimespan), parseHighlightTimespan(timespan, options)));
|
|
2282
2391
|
}, {});
|
|
2283
2392
|
};
|
|
2284
2393
|
|
|
2285
|
-
var
|
|
2394
|
+
var parseNowDate = function parseNowDate() {
|
|
2395
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'NOW';
|
|
2286
2396
|
|
|
2287
|
-
|
|
2397
|
+
if (value.startsWith('NOW')) {
|
|
2398
|
+
if (value === 'NOW') return new Date();
|
|
2399
|
+
var sign = value[3];
|
|
2400
|
+
var number = Number(value.match(/(\d+)/)[0]);
|
|
2401
|
+
var unit = value.match(/(\d.*)/)[0].replace(/\d/g, '');
|
|
2402
|
+
var nowDiff = new Date();
|
|
2288
2403
|
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2404
|
+
switch (unit) {
|
|
2405
|
+
case 'TODAY':
|
|
2406
|
+
if (sign === '+') nowDiff.setHours(23, 59, 59, 999);
|
|
2407
|
+
if (sign === '-') nowDiff.setHours(0, 0, 0, 0);
|
|
2408
|
+
break;
|
|
2409
|
+
|
|
2410
|
+
case 'HOUR':
|
|
2411
|
+
case 'HOURS':
|
|
2412
|
+
if (sign === '+') nowDiff.setHours(nowDiff.getHours() + number);
|
|
2413
|
+
if (sign === '-') nowDiff.setHours(nowDiff.getHours() - number);
|
|
2414
|
+
break;
|
|
2415
|
+
|
|
2416
|
+
case 'DAY':
|
|
2417
|
+
case 'DAYS':
|
|
2418
|
+
if (sign === '+') nowDiff.setDate(nowDiff.getDate() + number);
|
|
2419
|
+
if (sign === '-') nowDiff.setDate(nowDiff.getDate() - number);
|
|
2420
|
+
break;
|
|
2421
|
+
|
|
2422
|
+
case 'MONTH':
|
|
2423
|
+
case 'MONTHS':
|
|
2424
|
+
if (sign === '+') nowDiff.setMonth(nowDiff.getMonth() + number);
|
|
2425
|
+
if (sign === '-') nowDiff.setMonth(nowDiff.getMonth() - number);
|
|
2426
|
+
break;
|
|
2427
|
+
|
|
2428
|
+
case 'YEAR':
|
|
2429
|
+
case 'YEARS':
|
|
2430
|
+
if (sign === '+') nowDiff.setFullYear(nowDiff.getFullYear() + number);
|
|
2431
|
+
if (sign === '-') nowDiff.setFullYear(nowDiff.getFullYear() - number);
|
|
2432
|
+
break;
|
|
2433
|
+
}
|
|
2434
|
+
|
|
2435
|
+
return nowDiff;
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
return new Date(value);
|
|
2439
|
+
};
|
|
2440
|
+
|
|
2441
|
+
var _excluded$1 = ["property"];
|
|
2442
|
+
|
|
2443
|
+
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; }
|
|
2292
2444
|
|
|
2293
|
-
|
|
2294
|
-
|
|
2445
|
+
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2446
|
+
var parseBaseMediaInfoType = function parseBaseMediaInfoType(baseMediaInfoType) {
|
|
2447
|
+
var _ref = baseMediaInfoType || {},
|
|
2448
|
+
_ref$property = _ref.property,
|
|
2449
|
+
keyValuePairTypes = _ref$property === void 0 ? [] : _ref$property,
|
|
2450
|
+
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
2295
2451
|
|
|
2296
|
-
var parsedKeyValuePairType =
|
|
2297
|
-
return _objectSpread$
|
|
2452
|
+
var parsedKeyValuePairType = parseKeyValuePairTypes(keyValuePairTypes);
|
|
2453
|
+
return _objectSpread$4(_objectSpread$4({}, parsedKeyValuePairType), props);
|
|
2454
|
+
};
|
|
2455
|
+
var parseAudioMediaInfoType = function parseAudioMediaInfoType(mediaInfoType) {
|
|
2456
|
+
return parseBaseMediaInfoType(mediaInfoType);
|
|
2457
|
+
};
|
|
2458
|
+
var parseVideoMediaInfoType = function parseVideoMediaInfoType(mediaInfoType) {
|
|
2459
|
+
return parseBaseMediaInfoType(mediaInfoType);
|
|
2298
2460
|
};
|
|
2299
2461
|
|
|
2300
2462
|
var sampleRateSymbols = {
|
|
@@ -2307,35 +2469,33 @@ var bitRateSymbols = {
|
|
|
2307
2469
|
B: 'bps',
|
|
2308
2470
|
MB: 'mbps'
|
|
2309
2471
|
};
|
|
2472
|
+
|
|
2310
2473
|
/**
|
|
2311
2474
|
* Parses the technical information of a AudioComponentType.
|
|
2312
|
-
* @param
|
|
2313
|
-
* @returns
|
|
2475
|
+
* @param audioComponentType - A AudioComponentType from VidiCore.
|
|
2476
|
+
* @returns Parsed component object.
|
|
2477
|
+
*
|
|
2478
|
+
* @category Shape
|
|
2314
2479
|
*/
|
|
2315
|
-
|
|
2316
|
-
var
|
|
2317
|
-
var audioComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2318
|
-
var _audioComponentType$t = audioComponentType.timeBase,
|
|
2319
|
-
timeBase = _audioComponentType$t === void 0 ? {} : _audioComponentType$t,
|
|
2480
|
+
var parseAudioComponent = function parseAudioComponent(audioComponentType) {
|
|
2481
|
+
var timeBase = audioComponentType.timeBase,
|
|
2320
2482
|
audioChannels = audioComponentType.channelCount,
|
|
2321
2483
|
audioCodec = audioComponentType.codec,
|
|
2322
|
-
|
|
2323
|
-
mediaInfo = _audioComponentType$m === void 0 ? {} : _audioComponentType$m,
|
|
2484
|
+
mediaInfo = audioComponentType.mediaInfo,
|
|
2324
2485
|
bitrate = audioComponentType.bitrate,
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
var audioMediaInfo = parseBaseMediaInfoType(mediaInfo);
|
|
2328
|
-
var audioMetadata = parseKeyValuePairType(metadata);
|
|
2486
|
+
metadata = audioComponentType.metadata;
|
|
2487
|
+
var audioMediaInfo = parseAudioMediaInfoType(mediaInfo);
|
|
2329
2488
|
var audioFormat = audioMediaInfo.Format,
|
|
2330
2489
|
audioBitDepth = audioMediaInfo.Resolution,
|
|
2331
2490
|
audioBitRateMode = audioMediaInfo.Bit_rate_mode;
|
|
2332
|
-
var
|
|
2333
|
-
var
|
|
2491
|
+
var audioMetadata = parseKeyValuePairTypes(metadata || []);
|
|
2492
|
+
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;
|
|
2493
|
+
var audioSamplerate = audioSamplerateSamples !== undefined ? parseFileSize(audioSamplerateSamples, {
|
|
2334
2494
|
base: 10,
|
|
2335
2495
|
round: 1,
|
|
2336
2496
|
symbols: sampleRateSymbols
|
|
2337
2497
|
}) : undefined;
|
|
2338
|
-
var audioBitrate = bitrate ? parseFileSize(bitrate, {
|
|
2498
|
+
var audioBitrate = bitrate !== undefined ? parseFileSize(bitrate, {
|
|
2339
2499
|
base: 10,
|
|
2340
2500
|
round: 2,
|
|
2341
2501
|
symbols: bitRateSymbols
|
|
@@ -2354,6 +2514,14 @@ var parseAudioComponentType = function parseAudioComponentType() {
|
|
|
2354
2514
|
};
|
|
2355
2515
|
};
|
|
2356
2516
|
|
|
2517
|
+
/**
|
|
2518
|
+
* Parses a VidiCore file object
|
|
2519
|
+
*
|
|
2520
|
+
* @param fileType VidiCore file object
|
|
2521
|
+
* @returns A parsed file object
|
|
2522
|
+
*
|
|
2523
|
+
* @category File
|
|
2524
|
+
*/
|
|
2357
2525
|
var parseFileType = function parseFileType(fileType) {
|
|
2358
2526
|
var _fileType$uri = fileType.uri,
|
|
2359
2527
|
uriList = _fileType$uri === void 0 ? [] : _fileType$uri,
|
|
@@ -2378,23 +2546,24 @@ var parseFileType = function parseFileType(fileType) {
|
|
|
2378
2546
|
};
|
|
2379
2547
|
};
|
|
2380
2548
|
|
|
2381
|
-
function ownKeys$
|
|
2549
|
+
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; }
|
|
2550
|
+
|
|
2551
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2382
2552
|
|
|
2383
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2384
2553
|
/**
|
|
2385
2554
|
* Parses the technical information of a BinaryComponentType.
|
|
2386
|
-
* @param
|
|
2387
|
-
* @returns
|
|
2555
|
+
* @param binaryComponentType - A BinaryComponentType from VidiCore.
|
|
2556
|
+
* @returns Parsed component object.
|
|
2557
|
+
*
|
|
2558
|
+
* @category Shape
|
|
2388
2559
|
*/
|
|
2389
|
-
|
|
2390
|
-
var parseBinaryComponentType = function parseBinaryComponentType() {
|
|
2560
|
+
var parseBinaryComponent = function parseBinaryComponent() {
|
|
2391
2561
|
var binaryComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2392
2562
|
var fileList = binaryComponentType.file,
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
_binaryComponentType$
|
|
2396
|
-
|
|
2397
|
-
var binaryMetadata = parseKeyValuePairType(metadata);
|
|
2563
|
+
mediaInfo = binaryComponentType.mediaInfo,
|
|
2564
|
+
_binaryComponentType$ = binaryComponentType.metadata,
|
|
2565
|
+
metadata = _binaryComponentType$ === void 0 ? [] : _binaryComponentType$;
|
|
2566
|
+
var binaryMetadata = parseKeyValuePairTypes(metadata);
|
|
2398
2567
|
var binaryMediaInfo = parseBaseMediaInfoType(mediaInfo);
|
|
2399
2568
|
var parsedBinaryComponent = {
|
|
2400
2569
|
binaryMetadata: binaryMetadata,
|
|
@@ -2406,33 +2575,36 @@ var parseBinaryComponentType = function parseBinaryComponentType() {
|
|
|
2406
2575
|
fileType = _fileList[0];
|
|
2407
2576
|
|
|
2408
2577
|
var parsedFileType = parseFileType(fileType);
|
|
2409
|
-
parsedBinaryComponent = _objectSpread$
|
|
2578
|
+
parsedBinaryComponent = _objectSpread$3(_objectSpread$3({}, parsedBinaryComponent), parsedFileType);
|
|
2410
2579
|
}
|
|
2411
2580
|
|
|
2412
2581
|
return parsedBinaryComponent;
|
|
2413
2582
|
};
|
|
2414
2583
|
|
|
2415
|
-
function ownKeys$
|
|
2584
|
+
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; }
|
|
2416
2585
|
|
|
2417
|
-
function _objectSpread$
|
|
2586
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2418
2587
|
/**
|
|
2419
|
-
*
|
|
2420
|
-
* @param {Object} containerComponentType - A ContainerComponentType from VidiCore.
|
|
2421
|
-
* @returns {Object} Parsed component object.
|
|
2588
|
+
* Parsed container component
|
|
2422
2589
|
*/
|
|
2423
2590
|
|
|
2424
|
-
|
|
2591
|
+
/**
|
|
2592
|
+
* Parses the technical information of a ContainerComponentType.
|
|
2593
|
+
* @param containerComponentType - A ContainerComponentType from VidiCore.
|
|
2594
|
+
* @returns Parsed component object.
|
|
2595
|
+
*
|
|
2596
|
+
* @category Shape
|
|
2597
|
+
*/
|
|
2598
|
+
var parseContainerComponent = function parseContainerComponent() {
|
|
2425
2599
|
var containerComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2426
|
-
var
|
|
2427
|
-
|
|
2428
|
-
_containerComponentTy2 = containerComponentType.metadata,
|
|
2429
|
-
metadata = _containerComponentTy2 === void 0 ? [] : _containerComponentTy2,
|
|
2600
|
+
var mediaInfo = containerComponentType.mediaInfo,
|
|
2601
|
+
metadata = containerComponentType.metadata,
|
|
2430
2602
|
fileList = containerComponentType.file,
|
|
2431
2603
|
durationTimeCode = containerComponentType.duration,
|
|
2432
2604
|
startTimestamp = containerComponentType.startTimestamp,
|
|
2433
2605
|
startTimecode = containerComponentType.startTimecode,
|
|
2434
2606
|
timeCodeTimeBase = containerComponentType.timeCodeTimeBase;
|
|
2435
|
-
var containerMetadata =
|
|
2607
|
+
var containerMetadata = parseKeyValuePairTypes(metadata || []);
|
|
2436
2608
|
var containerMediaInfo = parseBaseMediaInfoType(mediaInfo);
|
|
2437
2609
|
var containerFormat = containerMediaInfo.Format;
|
|
2438
2610
|
var videoFormat = containerMediaInfo.Video_Format_List,
|
|
@@ -2487,7 +2659,7 @@ var parseContainerComponentType = function parseContainerComponentType() {
|
|
|
2487
2659
|
fileType = _fileList[0];
|
|
2488
2660
|
|
|
2489
2661
|
var parsedFileType = parseFileType(fileType);
|
|
2490
|
-
parsedContainerComponentType = _objectSpread$
|
|
2662
|
+
parsedContainerComponentType = _objectSpread$2(_objectSpread$2({}, parsedContainerComponentType), parsedFileType);
|
|
2491
2663
|
}
|
|
2492
2664
|
|
|
2493
2665
|
return parsedContainerComponentType;
|
|
@@ -2497,21 +2669,20 @@ var parseContainerComponentType = function parseContainerComponentType() {
|
|
|
2497
2669
|
* Parses the technical information of a VideoComponentType.
|
|
2498
2670
|
* @param {Object} videoComponentType - A VideoComponentType from VidiCore.
|
|
2499
2671
|
* @returns {Object} Parsed component object.
|
|
2672
|
+
*
|
|
2673
|
+
* @category Shape
|
|
2500
2674
|
*/
|
|
2501
|
-
|
|
2502
|
-
var parseVideoComponentType = function parseVideoComponentType() {
|
|
2675
|
+
var parseVideoComponent = function parseVideoComponent() {
|
|
2503
2676
|
var videoComponentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2504
2677
|
var videoCodec = videoComponentType.codec,
|
|
2505
2678
|
bitrate = videoComponentType.bitrate,
|
|
2506
2679
|
fieldOrder = videoComponentType.fieldOrder,
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
_videoComponentType$m = videoComponentType.
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
var videoMediaInfo = parseBaseMediaInfoType(mediaInfo);
|
|
2514
|
-
var videoMetadata = parseKeyValuePairType(metadata);
|
|
2680
|
+
resolution = videoComponentType.resolution,
|
|
2681
|
+
mediaInfo = videoComponentType.mediaInfo,
|
|
2682
|
+
_videoComponentType$m = videoComponentType.metadata,
|
|
2683
|
+
metadata = _videoComponentType$m === void 0 ? [] : _videoComponentType$m;
|
|
2684
|
+
var videoMediaInfo = parseVideoMediaInfoType(mediaInfo);
|
|
2685
|
+
var videoMetadata = parseKeyValuePairTypes(metadata);
|
|
2515
2686
|
var videoFormat = videoMediaInfo.Format,
|
|
2516
2687
|
timeBaseText = videoMediaInfo['Frame rate'],
|
|
2517
2688
|
colorSpace = videoMediaInfo['Color space'],
|
|
@@ -2522,24 +2693,24 @@ var parseVideoComponentType = function parseVideoComponentType() {
|
|
|
2522
2693
|
realBaseFrameRate = videoComponentType.realBaseFrameRate;
|
|
2523
2694
|
|
|
2524
2695
|
if (realBaseFrameRate !== undefined) {
|
|
2525
|
-
timeBase = {
|
|
2696
|
+
timeBase = formatTimeBaseType({
|
|
2526
2697
|
numerator: realBaseFrameRate.denominator,
|
|
2527
2698
|
denominator: realBaseFrameRate.numerator
|
|
2528
|
-
};
|
|
2699
|
+
});
|
|
2529
2700
|
} else if (timeBaseText !== undefined) {
|
|
2530
2701
|
timeBase = formatTimeBaseText(timeBaseText);
|
|
2531
2702
|
} else if (averageFrameRate !== undefined) {
|
|
2532
|
-
timeBase = {
|
|
2703
|
+
timeBase = formatTimeBaseType({
|
|
2533
2704
|
numerator: averageFrameRate.denominator,
|
|
2534
2705
|
denominator: averageFrameRate.numerator
|
|
2535
|
-
};
|
|
2706
|
+
});
|
|
2536
2707
|
}
|
|
2537
2708
|
|
|
2538
2709
|
var samples = videoMediaInfo['Frame count'];
|
|
2539
2710
|
|
|
2540
2711
|
if (samples === undefined) {
|
|
2541
2712
|
var numberOfPackets = videoComponentType.numberOfPackets;
|
|
2542
|
-
if (numberOfPackets !== undefined) samples = numberOfPackets;
|
|
2713
|
+
if (numberOfPackets !== undefined) samples = numberOfPackets.toString();
|
|
2543
2714
|
}
|
|
2544
2715
|
|
|
2545
2716
|
var timeCode;
|
|
@@ -2551,14 +2722,14 @@ var parseVideoComponentType = function parseVideoComponentType() {
|
|
|
2551
2722
|
samples: samples,
|
|
2552
2723
|
timeBase: timeBase
|
|
2553
2724
|
});
|
|
2554
|
-
frameRate = timeCode.timeBase.toRate(
|
|
2555
|
-
constant: true
|
|
2556
|
-
});
|
|
2725
|
+
frameRate = timeCode.timeBase.toConstant() || timeCode.timeBase.toRate();
|
|
2557
2726
|
smpte = timeCode.toSmpte();
|
|
2558
2727
|
}
|
|
2559
2728
|
|
|
2560
|
-
var
|
|
2561
|
-
|
|
2729
|
+
var _ref = resolution || {},
|
|
2730
|
+
height = _ref.height,
|
|
2731
|
+
width = _ref.width;
|
|
2732
|
+
|
|
2562
2733
|
var aspectRatio = parseAspectRatio(resolution);
|
|
2563
2734
|
var dimension = "".concat(width, "x").concat(height);
|
|
2564
2735
|
var videoBitrate = bitrate ? parseFileSize(bitrate, {
|
|
@@ -2585,22 +2756,24 @@ var parseVideoComponentType = function parseVideoComponentType() {
|
|
|
2585
2756
|
};
|
|
2586
2757
|
};
|
|
2587
2758
|
|
|
2588
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2759
|
+
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; }
|
|
2760
|
+
|
|
2761
|
+
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2589
2762
|
|
|
2590
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2591
2763
|
/**
|
|
2592
2764
|
* Parses the technical information of a ShapeType and its various components.
|
|
2593
2765
|
*
|
|
2594
2766
|
* Will only parse the first videoComponent, audioComponent, binaryComponent in the corresponding array.
|
|
2595
2767
|
* To parse a selected component see:
|
|
2596
|
-
* - {@link
|
|
2597
|
-
* - {@link
|
|
2598
|
-
* - {@link
|
|
2599
|
-
* - {@link
|
|
2600
|
-
* @param
|
|
2601
|
-
* @returns
|
|
2768
|
+
* - {@link parseContainerComponent}
|
|
2769
|
+
* - {@link parseVideoComponent}
|
|
2770
|
+
* - {@link parseAudioComponent}
|
|
2771
|
+
* - {@link parseBinaryComponent}
|
|
2772
|
+
* @param shapeType - A ShapeType from VidiCore.
|
|
2773
|
+
* @returns Parsed shape object.
|
|
2774
|
+
*
|
|
2775
|
+
* @category Shape
|
|
2602
2776
|
*/
|
|
2603
|
-
|
|
2604
2777
|
var parseShapeType = function parseShapeType() {
|
|
2605
2778
|
var shapeType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2606
2779
|
var parsedShape = {};
|
|
@@ -2622,69 +2795,65 @@ var parseShapeType = function parseShapeType() {
|
|
|
2622
2795
|
parsedShape.mimeType = _mimeTypeList[0];
|
|
2623
2796
|
|
|
2624
2797
|
if (containerComponent) {
|
|
2625
|
-
var parsedContainerComponent =
|
|
2626
|
-
parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedContainerComponent);
|
|
2798
|
+
var parsedContainerComponent = parseContainerComponent(containerComponent);
|
|
2799
|
+
parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedContainerComponent);
|
|
2627
2800
|
}
|
|
2628
2801
|
|
|
2629
2802
|
if (videoComponentList) {
|
|
2630
2803
|
var _videoComponentList = _slicedToArray(videoComponentList, 1),
|
|
2631
2804
|
videoComponent = _videoComponentList[0];
|
|
2632
2805
|
|
|
2633
|
-
var parsedVideoComponent =
|
|
2634
|
-
parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedVideoComponent);
|
|
2806
|
+
var parsedVideoComponent = parseVideoComponent(videoComponent);
|
|
2807
|
+
parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedVideoComponent);
|
|
2635
2808
|
}
|
|
2636
2809
|
|
|
2637
2810
|
if (audioComponentList) {
|
|
2638
2811
|
var _audioComponentList = _slicedToArray(audioComponentList, 1),
|
|
2639
2812
|
audioComponent = _audioComponentList[0];
|
|
2640
2813
|
|
|
2641
|
-
var parsedAudioComponent =
|
|
2642
|
-
parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedAudioComponent);
|
|
2814
|
+
var parsedAudioComponent = parseAudioComponent(audioComponent);
|
|
2815
|
+
parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedAudioComponent);
|
|
2643
2816
|
}
|
|
2644
2817
|
|
|
2645
2818
|
if (binaryComponentList) {
|
|
2646
2819
|
var _binaryComponentList = _slicedToArray(binaryComponentList, 1),
|
|
2647
2820
|
binaryComponent = _binaryComponentList[0];
|
|
2648
2821
|
|
|
2649
|
-
var parsedBinaryComponent =
|
|
2650
|
-
parsedShape = _objectSpread(_objectSpread({}, parsedShape), parsedBinaryComponent);
|
|
2822
|
+
var parsedBinaryComponent = parseBinaryComponent(binaryComponent);
|
|
2823
|
+
parsedShape = _objectSpread$1(_objectSpread$1({}, parsedShape), parsedBinaryComponent);
|
|
2651
2824
|
}
|
|
2652
2825
|
|
|
2653
2826
|
return parsedShape;
|
|
2654
2827
|
};
|
|
2655
2828
|
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
console.warn('parseAudioComponent is deprecated, please use parseAudioComponentType');
|
|
2663
|
-
return parseAudioComponentType(audioComponent);
|
|
2664
|
-
};
|
|
2665
|
-
/**
|
|
2666
|
-
* @deprecated please use {@link parseBinaryComponentType}
|
|
2667
|
-
*/
|
|
2668
|
-
|
|
2669
|
-
var parseBinaryComponent = function parseBinaryComponent(binaryComponent) {
|
|
2670
|
-
console.warn('parseBinaryComponent is deprecated, please use parseBinaryComponentType');
|
|
2671
|
-
return parseBinaryComponentType(binaryComponent);
|
|
2829
|
+
var DOCUMENT_TYPES = {
|
|
2830
|
+
PDF: 'PDF',
|
|
2831
|
+
TEXT: 'TEXT',
|
|
2832
|
+
MSWORD: 'MSWORD',
|
|
2833
|
+
JSON: 'JSON',
|
|
2834
|
+
XML: 'XML'
|
|
2672
2835
|
};
|
|
2673
|
-
/**
|
|
2674
|
-
* @deprecated please use {@link parseContainerComponentType}
|
|
2675
|
-
*/
|
|
2676
2836
|
|
|
2677
|
-
var parseContainerComponent = function parseContainerComponent(containerComponent) {
|
|
2678
|
-
console.warn('parseContainerComponent is deprecated, please use parseContainerComponentType');
|
|
2679
|
-
return parseContainerComponentType(containerComponent);
|
|
2680
|
-
};
|
|
2681
2837
|
/**
|
|
2682
|
-
*
|
|
2838
|
+
* Return a const for the document type of a shape (looks at mimeType)
|
|
2839
|
+
*
|
|
2840
|
+
* @param shape
|
|
2841
|
+
* @returns The document type for a shape
|
|
2842
|
+
*
|
|
2843
|
+
* @category Shape
|
|
2683
2844
|
*/
|
|
2845
|
+
var getDocumentType = function getDocumentType(shape) {
|
|
2846
|
+
var _ref = shape || {},
|
|
2847
|
+
mimeTypeArrayOrString = _ref.mimeType;
|
|
2684
2848
|
|
|
2685
|
-
var
|
|
2686
|
-
|
|
2687
|
-
|
|
2849
|
+
var mimeType = Array.isArray(mimeTypeArrayOrString) ? mimeTypeArrayOrString[0] : mimeTypeArrayOrString;
|
|
2850
|
+
if (!mimeType) return undefined;
|
|
2851
|
+
if (mimeType.endsWith('/pdf')) return DOCUMENT_TYPES.PDF;
|
|
2852
|
+
if (mimeType.startsWith('text/')) return DOCUMENT_TYPES.TEXT;
|
|
2853
|
+
if (mimeType.endsWith('/msword')) return DOCUMENT_TYPES.MSWORD;
|
|
2854
|
+
if (mimeType.endsWith('/json')) return DOCUMENT_TYPES.JSON;
|
|
2855
|
+
if (mimeType.endsWith('/xml')) return DOCUMENT_TYPES.XML;
|
|
2856
|
+
return undefined;
|
|
2688
2857
|
};
|
|
2689
2858
|
|
|
2690
2859
|
var IMAGE_MIME_TYPES = ['image/apng', 'image/bmp', 'image/gif', 'image/jpeg', 'image/x-icon', 'image/png', 'image/svg+xml'];
|
|
@@ -2712,24 +2881,36 @@ var defaultSortPriority = function defaultSortPriority(_ref, _ref2) {
|
|
|
2712
2881
|
|
|
2713
2882
|
return firstEl.toLowerCase().localeCompare(secondEl.toLowerCase());
|
|
2714
2883
|
};
|
|
2884
|
+
/**
|
|
2885
|
+
* Filter a shape type list to get shapes that are playable in a browser
|
|
2886
|
+
*
|
|
2887
|
+
* @param itemType
|
|
2888
|
+
* @param options
|
|
2889
|
+
* @returns
|
|
2890
|
+
*
|
|
2891
|
+
* @category Shape
|
|
2892
|
+
*/
|
|
2893
|
+
|
|
2894
|
+
|
|
2895
|
+
var filterShapeSource = function filterShapeSource(itemType, options) {
|
|
2896
|
+
var _ref3 = options || {},
|
|
2897
|
+
_ref3$allowedMimeType = _ref3.allowedMimeTypes,
|
|
2898
|
+
allowedMimeTypes = _ref3$allowedMimeType === void 0 ? DEFAULT_ALLOWED_MIME_TYPES : _ref3$allowedMimeType,
|
|
2899
|
+
_ref3$sortPriority = _ref3.sortPriority,
|
|
2900
|
+
sortPriority = _ref3$sortPriority === void 0 ? defaultSortPriority : _ref3$sortPriority,
|
|
2901
|
+
_ref3$allowedMethods = _ref3.allowedMethods,
|
|
2902
|
+
allowedMethods = _ref3$allowedMethods === void 0 ? DEFAULT_ALLOWED_METHODS : _ref3$allowedMethods,
|
|
2903
|
+
_ref3$sourceKey = _ref3.sourceKey,
|
|
2904
|
+
sourceKey = _ref3$sourceKey === void 0 ? 'src' : _ref3$sourceKey,
|
|
2905
|
+
_ref3$mimeTypeKey = _ref3.mimeTypeKey,
|
|
2906
|
+
mimeTypeKey = _ref3$mimeTypeKey === void 0 ? 'type' : _ref3$mimeTypeKey,
|
|
2907
|
+
_ref3$shapeKey = _ref3.shapeKey,
|
|
2908
|
+
shapeKey = _ref3$shapeKey === void 0 ? 'shape' : _ref3$shapeKey;
|
|
2909
|
+
|
|
2910
|
+
var _ref4 = itemType || {},
|
|
2911
|
+
_ref4$shape = _ref4.shape,
|
|
2912
|
+
shapeList = _ref4$shape === void 0 ? [] : _ref4$shape;
|
|
2715
2913
|
|
|
2716
|
-
var filterShapeSource = function filterShapeSource() {
|
|
2717
|
-
var itemType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2718
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2719
|
-
var _options$allowedMimeT = options.allowedMimeTypes,
|
|
2720
|
-
allowedMimeTypes = _options$allowedMimeT === void 0 ? DEFAULT_ALLOWED_MIME_TYPES : _options$allowedMimeT,
|
|
2721
|
-
_options$sortPriority = options.sortPriority,
|
|
2722
|
-
sortPriority = _options$sortPriority === void 0 ? defaultSortPriority : _options$sortPriority,
|
|
2723
|
-
_options$allowedMetho = options.allowedMethods,
|
|
2724
|
-
allowedMethods = _options$allowedMetho === void 0 ? DEFAULT_ALLOWED_METHODS : _options$allowedMetho,
|
|
2725
|
-
_options$sourceKey = options.sourceKey,
|
|
2726
|
-
sourceKey = _options$sourceKey === void 0 ? 'src' : _options$sourceKey,
|
|
2727
|
-
_options$mimeTypeKey = options.mimeTypeKey,
|
|
2728
|
-
mimeTypeKey = _options$mimeTypeKey === void 0 ? 'type' : _options$mimeTypeKey,
|
|
2729
|
-
_options$shapeKey = options.shapeKey,
|
|
2730
|
-
shapeKey = _options$shapeKey === void 0 ? 'shape' : _options$shapeKey;
|
|
2731
|
-
var _itemType$shape = itemType.shape,
|
|
2732
|
-
shapeList = _itemType$shape === void 0 ? [] : _itemType$shape;
|
|
2733
2914
|
var parsedShapeList = shapeList.reduce(function (acc, shapeType) {
|
|
2734
2915
|
var type;
|
|
2735
2916
|
var src;
|
|
@@ -2768,39 +2949,65 @@ var filterShapeSource = function filterShapeSource() {
|
|
|
2768
2949
|
return parsedShapeList;
|
|
2769
2950
|
};
|
|
2770
2951
|
|
|
2771
|
-
var
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2952
|
+
var SHAPE_MEDIA_TYPES = {
|
|
2953
|
+
IMAGE: 'IMAGE',
|
|
2954
|
+
AUDIO: 'AUDIO',
|
|
2955
|
+
VIDEO: 'VIDEO',
|
|
2956
|
+
DOCUMENT: 'DOCUMENT',
|
|
2957
|
+
BINARY: 'BINARY'
|
|
2958
|
+
};
|
|
2959
|
+
// TODO: For consistency, replace input with an actual ShapeType not a parsed shape
|
|
2960
|
+
// (parse it internally if needed)
|
|
2961
|
+
|
|
2962
|
+
/**
|
|
2963
|
+
* Returns a const for which media type a shape has
|
|
2964
|
+
*
|
|
2965
|
+
* @param parsedShape
|
|
2966
|
+
* @returns
|
|
2967
|
+
*
|
|
2968
|
+
* @category Shape
|
|
2969
|
+
*/
|
|
2970
|
+
var getShapeMediaType = function getShapeMediaType(parsedShape) {
|
|
2971
|
+
var _ref = parsedShape || {},
|
|
2972
|
+
mimeType = _ref.mimeType,
|
|
2973
|
+
videoCodec = _ref.videoCodec,
|
|
2974
|
+
audioCodec = _ref.audioCodec;
|
|
2975
|
+
|
|
2781
2976
|
if (!mimeType) return undefined;
|
|
2782
2977
|
|
|
2783
2978
|
if (mimeType.startsWith('audio/')) {
|
|
2784
|
-
if (audioCodec !== undefined) return AUDIO;
|
|
2979
|
+
if (audioCodec !== undefined) return SHAPE_MEDIA_TYPES.AUDIO;
|
|
2785
2980
|
}
|
|
2786
2981
|
|
|
2787
2982
|
if (mimeType.startsWith('video/')) {
|
|
2788
|
-
if (videoCodec !== undefined) return VIDEO;
|
|
2789
|
-
if (audioCodec !== undefined) return AUDIO;
|
|
2983
|
+
if (videoCodec !== undefined) return SHAPE_MEDIA_TYPES.VIDEO;
|
|
2984
|
+
if (audioCodec !== undefined) return SHAPE_MEDIA_TYPES.AUDIO;
|
|
2790
2985
|
}
|
|
2791
2986
|
|
|
2792
|
-
if (mimeType.startsWith('image/')) return IMAGE;
|
|
2793
|
-
if (mimeType.endsWith('/pdf')) return DOCUMENT;
|
|
2794
|
-
if (mimeType.startsWith('text/')) return DOCUMENT;
|
|
2795
|
-
if (mimeType.endsWith('/msword')) return DOCUMENT;
|
|
2796
|
-
if (mimeType.endsWith('/json')) return DOCUMENT;
|
|
2797
|
-
if (mimeType.endsWith('/xml')) return DOCUMENT;
|
|
2798
|
-
if (mimeType.endsWith('/octet-stream')) return BINARY;
|
|
2987
|
+
if (mimeType.startsWith('image/')) return SHAPE_MEDIA_TYPES.IMAGE;
|
|
2988
|
+
if (mimeType.endsWith('/pdf')) return SHAPE_MEDIA_TYPES.DOCUMENT;
|
|
2989
|
+
if (mimeType.startsWith('text/')) return SHAPE_MEDIA_TYPES.DOCUMENT;
|
|
2990
|
+
if (mimeType.endsWith('/msword')) return SHAPE_MEDIA_TYPES.DOCUMENT;
|
|
2991
|
+
if (mimeType.endsWith('/json')) return SHAPE_MEDIA_TYPES.DOCUMENT;
|
|
2992
|
+
if (mimeType.endsWith('/xml')) return SHAPE_MEDIA_TYPES.DOCUMENT;
|
|
2993
|
+
if (mimeType.endsWith('/octet-stream')) return SHAPE_MEDIA_TYPES.BINARY;
|
|
2799
2994
|
return undefined;
|
|
2800
2995
|
};
|
|
2801
2996
|
|
|
2802
|
-
|
|
2803
|
-
|
|
2997
|
+
/**
|
|
2998
|
+
* Find the thumbnail uri in a VidiCore item object that's nearest a timeCode
|
|
2999
|
+
*
|
|
3000
|
+
* @remarks
|
|
3001
|
+
* Time code is included in path of VidiCore thumbnail uris
|
|
3002
|
+
*
|
|
3003
|
+
* @param itemType A VidiCore item object
|
|
3004
|
+
* @param timeCode A timeCode to find nearest thumbnail to
|
|
3005
|
+
* @returns A URI of a thumbnail, `undefined` if item has no thumbnails
|
|
3006
|
+
*
|
|
3007
|
+
* @category Thumbnail
|
|
3008
|
+
*/
|
|
3009
|
+
var findNearestThumbnail = function findNearestThumbnail(itemType, timeCode) {
|
|
3010
|
+
var tcSeconds = createTimeCode(timeCode).toSeconds();
|
|
2804
3011
|
|
|
2805
3012
|
var _ref = itemType || {},
|
|
2806
3013
|
_ref$thumbnails = _ref.thumbnails,
|
|
@@ -2818,59 +3025,27 @@ var findNearestThumbnail = function findNearestThumbnail(itemType, timeCodeText)
|
|
|
2818
3025
|
return srcList[nearestSrcIndex];
|
|
2819
3026
|
};
|
|
2820
3027
|
|
|
2821
|
-
var parseNowDate = function parseNowDate() {
|
|
2822
|
-
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'NOW';
|
|
2823
|
-
|
|
2824
|
-
if (value.startsWith('NOW')) {
|
|
2825
|
-
if (value === 'NOW') return new Date();
|
|
2826
|
-
var sign = value[3];
|
|
2827
|
-
var number = Number(value.match(/(\d+)/)[0]);
|
|
2828
|
-
var unit = value.match(/(\d.*)/)[0].replace(/\d/g, '');
|
|
2829
|
-
var nowDiff = new Date();
|
|
2830
|
-
|
|
2831
|
-
switch (unit) {
|
|
2832
|
-
case 'HOUR':
|
|
2833
|
-
case 'HOURS':
|
|
2834
|
-
if (sign === '+') nowDiff.setHours(nowDiff.getHours() + number);
|
|
2835
|
-
if (sign === '-') nowDiff.setHours(nowDiff.getHours() - number);
|
|
2836
|
-
break;
|
|
2837
|
-
|
|
2838
|
-
case 'DAY':
|
|
2839
|
-
case 'DAYS':
|
|
2840
|
-
if (sign === '+') nowDiff.setDate(nowDiff.getDate() + number);
|
|
2841
|
-
if (sign === '-') nowDiff.setDate(nowDiff.getDate() - number);
|
|
2842
|
-
break;
|
|
2843
|
-
|
|
2844
|
-
case 'MONTH':
|
|
2845
|
-
case 'MONTHS':
|
|
2846
|
-
if (sign === '+') nowDiff.setMonth(nowDiff.getMonth() + number);
|
|
2847
|
-
if (sign === '-') nowDiff.setMonth(nowDiff.getMonth() - number);
|
|
2848
|
-
break;
|
|
2849
|
-
|
|
2850
|
-
case 'YEAR':
|
|
2851
|
-
case 'YEARS':
|
|
2852
|
-
if (sign === '+') nowDiff.setFullYear(nowDiff.getFullYear() + number);
|
|
2853
|
-
if (sign === '-') nowDiff.setFullYear(nowDiff.getFullYear() - number);
|
|
2854
|
-
break;
|
|
2855
|
-
}
|
|
2856
|
-
|
|
2857
|
-
return nowDiff;
|
|
2858
|
-
}
|
|
2859
|
-
|
|
2860
|
-
return new Date(value);
|
|
2861
|
-
};
|
|
2862
|
-
|
|
2863
3028
|
var _excluded = ["Codec"],
|
|
2864
3029
|
_excluded2 = ["Codec"];
|
|
3030
|
+
/**
|
|
3031
|
+
* TODO
|
|
3032
|
+
*/
|
|
2865
3033
|
|
|
2866
|
-
|
|
3034
|
+
/**
|
|
3035
|
+
* TODO
|
|
3036
|
+
*
|
|
3037
|
+
* @param mediaconvert
|
|
3038
|
+
* @returns
|
|
3039
|
+
*
|
|
3040
|
+
* @category Transcode
|
|
3041
|
+
*/
|
|
3042
|
+
var parseMediaConvertPreset = function parseMediaConvertPreset(mediaconvert) {
|
|
2867
3043
|
var output = {};
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
output.description = description;
|
|
3044
|
+
|
|
3045
|
+
var _ref = mediaconvert || {},
|
|
3046
|
+
_ref$outputSetting = _ref.outputSetting,
|
|
3047
|
+
outputSetting = _ref$outputSetting === void 0 ? [] : _ref$outputSetting;
|
|
3048
|
+
|
|
2874
3049
|
if (outputSetting.length === 0) return output;
|
|
2875
3050
|
var mc = JSON.parse(outputSetting[0]);
|
|
2876
3051
|
var _mc$Settings = mc.Settings;
|
|
@@ -2878,7 +3053,6 @@ var parseMediaConvertPreset = function parseMediaConvertPreset(transcodePresetTy
|
|
|
2878
3053
|
var ContainerSettings = _mc$Settings.ContainerSettings,
|
|
2879
3054
|
VideoDescription = _mc$Settings.VideoDescription,
|
|
2880
3055
|
AudioDescriptions = _mc$Settings.AudioDescriptions;
|
|
2881
|
-
output.containerFormat = ContainerSettings.Container;
|
|
2882
3056
|
|
|
2883
3057
|
if (ContainerSettings) {
|
|
2884
3058
|
output.containerFormat = ContainerSettings.Container;
|
|
@@ -2921,9 +3095,7 @@ var parseMediaConvertPreset = function parseMediaConvertPreset(transcodePresetTy
|
|
|
2921
3095
|
numerator: numerator
|
|
2922
3096
|
});
|
|
2923
3097
|
output.timeBase = timeBase;
|
|
2924
|
-
output.frameRate = timeBase.toRate(
|
|
2925
|
-
constant: true
|
|
2926
|
-
});
|
|
3098
|
+
output.frameRate = timeBase.toConstant() || timeBase.toRate();
|
|
2927
3099
|
}
|
|
2928
3100
|
}
|
|
2929
3101
|
|
|
@@ -2950,14 +3122,34 @@ var parseMediaConvertPreset = function parseMediaConvertPreset(transcodePresetTy
|
|
|
2950
3122
|
return output;
|
|
2951
3123
|
};
|
|
2952
3124
|
|
|
3125
|
+
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; }
|
|
3126
|
+
|
|
3127
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3128
|
+
/**
|
|
3129
|
+
* TODO
|
|
3130
|
+
*/
|
|
3131
|
+
|
|
3132
|
+
/**
|
|
3133
|
+
* TODO
|
|
3134
|
+
*
|
|
3135
|
+
* @param transcodePresetType
|
|
3136
|
+
* @returns
|
|
3137
|
+
*
|
|
3138
|
+
* @category Transcode
|
|
3139
|
+
*/
|
|
2953
3140
|
var parseTranscodePreset = function parseTranscodePreset(transcodePresetType) {
|
|
2954
3141
|
var output = {};
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
3142
|
+
|
|
3143
|
+
var _ref = transcodePresetType || {},
|
|
3144
|
+
description = _ref.description,
|
|
3145
|
+
format = _ref.format,
|
|
3146
|
+
audio = _ref.audio,
|
|
3147
|
+
video = _ref.video,
|
|
3148
|
+
mediaconvert = _ref.mediaconvert;
|
|
3149
|
+
|
|
3150
|
+
if (mediaconvert) return _objectSpread({
|
|
3151
|
+
description: description
|
|
3152
|
+
}, parseMediaConvertPreset(mediaconvert));
|
|
2961
3153
|
output.description = description;
|
|
2962
3154
|
output.containerFormat = format;
|
|
2963
3155
|
|
|
@@ -2968,9 +3160,7 @@ var parseTranscodePreset = function parseTranscodePreset(transcodePresetType) {
|
|
|
2968
3160
|
if (video.framerate) {
|
|
2969
3161
|
var timeBase = formatTimeBaseType(video.framerate);
|
|
2970
3162
|
output.timeBase = timeBase;
|
|
2971
|
-
output.frameRate = timeBase.toRate(
|
|
2972
|
-
constant: true
|
|
2973
|
-
});
|
|
3163
|
+
output.frameRate = timeBase.toConstant() || timeBase.toRate();
|
|
2974
3164
|
}
|
|
2975
3165
|
|
|
2976
3166
|
if (video.scaling) {
|
|
@@ -3000,22 +3190,5 @@ var parseTranscodePreset = function parseTranscodePreset(transcodePresetType) {
|
|
|
3000
3190
|
return output;
|
|
3001
3191
|
};
|
|
3002
3192
|
|
|
3003
|
-
|
|
3004
|
-
var TEXT = 'TEXT';
|
|
3005
|
-
var MSWORD = 'MSWORD';
|
|
3006
|
-
var JSON$1 = 'JSON';
|
|
3007
|
-
var XML = 'XML';
|
|
3008
|
-
var getDocumentType = function getDocumentType() {
|
|
3009
|
-
var shape = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
3010
|
-
var mimeType = shape.mimeType;
|
|
3011
|
-
if (!mimeType) return undefined;
|
|
3012
|
-
if (mimeType.endsWith('/pdf')) return PDF;
|
|
3013
|
-
if (mimeType.startsWith('text/')) return TEXT;
|
|
3014
|
-
if (mimeType.endsWith('/msword')) return MSWORD;
|
|
3015
|
-
if (mimeType.endsWith('/json')) return JSON$1;
|
|
3016
|
-
if (mimeType.endsWith('/xml')) return XML;
|
|
3017
|
-
return undefined;
|
|
3018
|
-
};
|
|
3019
|
-
|
|
3020
|
-
export { SYSTEM_FIELDGROUPS, SYSTEM_FIELDS, TimeBase, TimeCode, createFacetType, createMetadataType, createTimeBase, createTimeCode, filterShapeSource, findNearestThumbnail, formatTimeBaseText, formatTimeBaseType, formatTimeCodeSeconds, formatTimeCodeSmpte, formatTimeCodeText, formatTimeCodeType, getDocumentType, getShapeMediaType, metadataTypeToWebVtt, parseAudioComponent, parseAudioComponentType, parseBinaryComponent, parseBinaryComponentType, parseContainerComponent, parseContainerComponentType, parseFacetType, parseFileType, parseHighlightTimespan, parseHighlightTimespanList, parseKeyValuePairType, parseMediaConvertPreset, parseMetadataType, parseNowDate, parseShapeType, parseSimpleMetadataType, parseTimespan, parseTimespanList, parseTranscodePreset, parseVideoComponent, parseVideoComponentType, roles };
|
|
3193
|
+
export { FIELD_ATTRIBUTE_KEYS, FIELD_VALUE_ATTRIBUTE_KEYS, GROUP_ATTRIBUTE_KEYS, ROLE_NAMES, SYSTEM_FIELDGROUPS, SYSTEM_FIELDS, TimeBase, TimeCode, createFacetType, createMetadataType, createTimeBase, createTimeCode, filterShapeSource, findNearestThumbnail, formatTimeBaseText, formatTimeBaseType, formatTimeCodeSeconds, formatTimeCodeSmpte, formatTimeCodeText, formatTimeCodeType, getDocumentType, getShapeMediaType, metadataTypeToWebVtt, parseAudioComponent, parseBinaryComponent, parseContainerComponent, parseFacetType, parseFieldList, parseFileType, parseGroupList, parseHighlightTimespan, parseHighlightTimespanList, parseKeyValuePairTypes as parseKeyValuePairType, parseMediaConvertPreset, parseMetadataType, parseNowDate, parseShapeType, parseSimpleMetadataType, parseTimespan, parseTimespanList, parseTranscodePreset, parseVideoComponent };
|
|
3021
3194
|
//# sourceMappingURL=index.es.js.map
|