@vidispine/vdt-js 23.3.0-pre.6 → 23.4.0-pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -4
- package/dist/index.js +71 -66
- package/dist/index.umd.cjs +2 -2
- package/package.json +15 -15
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ import type { TimeCodeType } from '@vidispine/types';
|
|
|
28
28
|
import type { TranscodePresetType } from '@vidispine/types';
|
|
29
29
|
import type { VideoComponentType } from '@vidispine/types';
|
|
30
30
|
|
|
31
|
+
declare type ArrayElement<ArrayType> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
|
|
32
|
+
|
|
31
33
|
/**
|
|
32
34
|
* Create a VidiCore metadata object from a more dense/simplified structure
|
|
33
35
|
*
|
|
@@ -355,7 +357,7 @@ export declare type InputTimespan = {
|
|
|
355
357
|
/** Base for timespan (typically undefined) */
|
|
356
358
|
base?: string;
|
|
357
359
|
/** Group or field metadata */
|
|
358
|
-
[groupOrFieldName: string]: InputGroupsOrFields;
|
|
360
|
+
[groupOrFieldName: string]: InputGroupsOrFields | string | number | undefined;
|
|
359
361
|
};
|
|
360
362
|
|
|
361
363
|
/** Possible input values for the field value */
|
|
@@ -513,6 +515,7 @@ declare type ParsedFieldDefinition = {
|
|
|
513
515
|
label: string;
|
|
514
516
|
value: string;
|
|
515
517
|
}>;
|
|
518
|
+
system?: boolean;
|
|
516
519
|
};
|
|
517
520
|
|
|
518
521
|
export declare type ParsedFieldDefinitionList = ParsedFieldDefinition[];
|
|
@@ -592,7 +595,7 @@ export declare type ParsedGroupList<TOptions> = TOptions extends {
|
|
|
592
595
|
export declare type ParsedHighlightTimespan = {
|
|
593
596
|
start?: string;
|
|
594
597
|
end?: string;
|
|
595
|
-
[key: string]: string | string
|
|
598
|
+
[key: string]: string[] | string | undefined;
|
|
596
599
|
};
|
|
597
600
|
|
|
598
601
|
/**
|
|
@@ -675,7 +678,7 @@ export declare type ParsedTimespan<TOptions> = ((TOptions extends {
|
|
|
675
678
|
[name: string]: ParsedFieldList<TOptions>;
|
|
676
679
|
})) & ParsedTimespanAttributes;
|
|
677
680
|
|
|
678
|
-
export declare type ParsedTimespanAttributes = Omit<MetadataType['timespan']
|
|
681
|
+
export declare type ParsedTimespanAttributes = Omit<ArrayElement<MetadataType['timespan']>, 'field' | 'group'>;
|
|
679
682
|
|
|
680
683
|
export declare type ParsedTimespanList<TOptions> = TOptions extends {
|
|
681
684
|
timespanAsList?: true;
|
|
@@ -1042,7 +1045,7 @@ export declare const parseSimpleMetadataType: (simpleMetadataType: SimpleMetadat
|
|
|
1042
1045
|
*
|
|
1043
1046
|
* @category Metadata
|
|
1044
1047
|
*/
|
|
1045
|
-
export declare const parseTimespan: <TOptions extends ParseTimespanOptions = ParseTimespanOptions>(timespan: MetadataType['timespan']
|
|
1048
|
+
export declare const parseTimespan: <TOptions extends ParseTimespanOptions = ParseTimespanOptions>(timespan: ArrayElement<MetadataType['timespan']>, options?: TOptions) => ParsedTimespan<TOptions>;
|
|
1046
1049
|
|
|
1047
1050
|
/**
|
|
1048
1051
|
* Parses timespanList according to specified options.
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const ue = (e, t) => t ? ue(t, e % t) : e, H = (e) => {
|
|
|
6
6
|
const n = ue(t, r);
|
|
7
7
|
let o = t / n, s = r / n;
|
|
8
8
|
return o > 21 && (s = 1, o = (t / r).toFixed(2)), [o, s].join(":");
|
|
9
|
-
},
|
|
9
|
+
}, N = (e) => Object.fromEntries((e == null ? void 0 : e.map(({ key: t, value: r }) => [t, r])) || []), Ct = {
|
|
10
10
|
ACCESSCONTROL_READ: "_accesscontrol_read",
|
|
11
11
|
ACCESSCONTROL_WRITE: "_accesscontrol_write",
|
|
12
12
|
ADMINISTRATOR: "_administrator",
|
|
@@ -375,7 +375,7 @@ const ue = (e, t) => t ? ue(t, e % t) : e, H = (e) => {
|
|
|
375
375
|
var o, s;
|
|
376
376
|
const [r] = ((o = e == null ? void 0 : e.start) == null ? void 0 : o.split("@")) || [], [n] = ((s = t == null ? void 0 : t.start) == null ? void 0 : s.split("@")) || [];
|
|
377
377
|
return Number(r) < Number(n) ? -1 : Number(r) > Number(n) ? 1 : 0;
|
|
378
|
-
},
|
|
378
|
+
}, b = (e) => Array.isArray(e) ? e : e && [e] || [], re = (e) => Array.isArray(e) ? e.pop() : e, $e = (e) => (e == null ? void 0 : e.every((t) => typeof t == "string")) || !1, Oe = {
|
|
379
379
|
includeValueAttributes: !1
|
|
380
380
|
};
|
|
381
381
|
function Ve(e, t) {
|
|
@@ -428,8 +428,8 @@ const Re = {
|
|
|
428
428
|
...t || {}
|
|
429
429
|
}, { fieldAsList: n, arrayOnSingleField: o, overrideField: s } = r, a = s === !0 && n === !1, i = {};
|
|
430
430
|
return e == null || e.forEach((c) => {
|
|
431
|
-
const { name: l } = c, d = He(c, r), _ = o === !0 ?
|
|
432
|
-
p ? a ? i[l] = d : i[l] = [
|
|
431
|
+
const { name: l } = c, d = He(c, r), _ = o === !0 ? b(d) : d, p = i[l];
|
|
432
|
+
p ? a ? i[l] = d : i[l] = [b(p), b(d)].flat() : i[l] = _;
|
|
433
433
|
}), n === !0 ? Object.values(i).flat() : i;
|
|
434
434
|
}, ge = {
|
|
435
435
|
...j,
|
|
@@ -458,10 +458,10 @@ const Re = {
|
|
|
458
458
|
}, z = ge, be = (e, t) => {
|
|
459
459
|
const r = { ...z, ...t || {} }, { groupAsList: n, arrayOnSingleGroup: o, overrideGroup: s } = r, a = s === !0 && n === !1, i = {};
|
|
460
460
|
return e == null || e.forEach((c) => {
|
|
461
|
-
const { name: l } = c, d = Ye(c, r), _ = o === !0 ?
|
|
461
|
+
const { name: l } = c, d = Ye(c, r), _ = o === !0 ? b(d) : d, p = i[l];
|
|
462
462
|
p ? a ? i[l] = d : i[l] = [
|
|
463
|
-
|
|
464
|
-
|
|
463
|
+
b(p),
|
|
464
|
+
b(d)
|
|
465
465
|
].flat() : i[l] = _;
|
|
466
466
|
}), n ? Object.values(i).flat() : i;
|
|
467
467
|
}, Ne = {
|
|
@@ -512,7 +512,7 @@ const Re = {
|
|
|
512
512
|
const d = (i !== void 0 ? i === !0 : a === !0) && n === !1, _ = {};
|
|
513
513
|
return e == null || e.forEach((p) => {
|
|
514
514
|
const { start: f, end: u } = p, m = d ? "flat" : [f, u].join(o), T = Ke(p, l), E = _[m];
|
|
515
|
-
E ? d ? f === "-INF" && u === "+INF" ? _[m] = { ...re(E), ...T } : _[m] = { ...T, ...re(E) } : _[m] = [...
|
|
515
|
+
E ? d ? f === "-INF" && u === "+INF" ? _[m] = { ...re(E), ...T } : _[m] = { ...T, ...re(E) } : _[m] = [...b(E), T] : _[m] = T;
|
|
516
516
|
}), n === !0 ? Object.values(_) : d ? Object.values(_).pop() : _;
|
|
517
517
|
}, ze = {
|
|
518
518
|
...J,
|
|
@@ -550,7 +550,7 @@ function jt(e, t) {
|
|
|
550
550
|
}
|
|
551
551
|
const xt = (e) => {
|
|
552
552
|
const { field: t = [] } = e || {};
|
|
553
|
-
return
|
|
553
|
+
return N(t);
|
|
554
554
|
}, X = {
|
|
555
555
|
PAL: { denominator: 25, numerator: 1 },
|
|
556
556
|
NTSC: { denominator: 3e4, numerator: 1001 },
|
|
@@ -696,7 +696,7 @@ const q = (e) => {
|
|
|
696
696
|
format: void 0
|
|
697
697
|
}
|
|
698
698
|
};
|
|
699
|
-
class
|
|
699
|
+
class g {
|
|
700
700
|
/**
|
|
701
701
|
* Constructor for TimeCode
|
|
702
702
|
*
|
|
@@ -737,7 +737,7 @@ class S {
|
|
|
737
737
|
let o = t;
|
|
738
738
|
(r !== this.timeBase.numerator || n !== this.timeBase.denominator) && (o = t.conformTimeBase(this.timeBase));
|
|
739
739
|
const { samples: s } = o;
|
|
740
|
-
return new
|
|
740
|
+
return new g({ samples: this.samples + s, timeBase: this.timeBase });
|
|
741
741
|
}
|
|
742
742
|
/**
|
|
743
743
|
* Return this TimeCode subtracted with the supplied timeCodeType
|
|
@@ -761,7 +761,7 @@ class S {
|
|
|
761
761
|
let o = t;
|
|
762
762
|
(r !== this.timeBase.numerator || n !== this.timeBase.denominator) && (o = t.conformTimeBase(this.timeBase));
|
|
763
763
|
const { samples: s } = o;
|
|
764
|
-
return new
|
|
764
|
+
return new g({ samples: this.samples - s, timeBase: this.timeBase });
|
|
765
765
|
}
|
|
766
766
|
/**
|
|
767
767
|
* Creates a new TimeCode instance with specified timeBase and samples adjusted to that.
|
|
@@ -778,7 +778,7 @@ class S {
|
|
|
778
778
|
const n = t instanceof I ? t : v(t), o = Math.floor(
|
|
779
779
|
this.samples / (this.timeBase.toRate({ fixed: !1 }) / n.toRate({ fixed: !1 }))
|
|
780
780
|
), s = { ...G.conformTimeBase, ...r || {} };
|
|
781
|
-
return new
|
|
781
|
+
return new g(
|
|
782
782
|
{
|
|
783
783
|
samples: o,
|
|
784
784
|
timeBase: n
|
|
@@ -980,7 +980,7 @@ const Je = (e, t) => {
|
|
|
980
980
|
const l = Je(a, i);
|
|
981
981
|
i /= l, a /= l;
|
|
982
982
|
}
|
|
983
|
-
const c = new
|
|
983
|
+
const c = new g(
|
|
984
984
|
{ samples: i, timeBase: { denominator: a, numerator: 1 } },
|
|
985
985
|
o
|
|
986
986
|
);
|
|
@@ -1070,7 +1070,7 @@ const Je = (e, t) => {
|
|
|
1070
1070
|
default:
|
|
1071
1071
|
throw new Error(`Invalid exceedingMode, options are ${JSON.stringify(Ze)}`);
|
|
1072
1072
|
}
|
|
1073
|
-
return new
|
|
1073
|
+
return new g({ samples: _, timeBase: i }, c);
|
|
1074
1074
|
}, rt = {
|
|
1075
1075
|
timeBase: void 0,
|
|
1076
1076
|
dropFrame: void 0,
|
|
@@ -1089,13 +1089,13 @@ const Je = (e, t) => {
|
|
|
1089
1089
|
e === "-INF" ? o = { samples: -1 / 0 } : e === "+INF" ? o = { samples: 1 / 0 } : o = { samples: Number(e) };
|
|
1090
1090
|
if (Number.isNaN(o == null ? void 0 : o.samples) || o.timeBase && !(o.timeBase instanceof I))
|
|
1091
1091
|
throw new Error(`timeCodeText must be a number or sample@timeBase - is ${e}`);
|
|
1092
|
-
const s = new
|
|
1092
|
+
const s = new g(o, n);
|
|
1093
1093
|
return r ? s.conformTimeBase(v(r), n) : s;
|
|
1094
1094
|
}, ot = {
|
|
1095
1095
|
dropFrame: void 0,
|
|
1096
1096
|
frameSeparator: void 0
|
|
1097
|
-
}, D = (e, t) => new
|
|
1098
|
-
if (e instanceof
|
|
1097
|
+
}, D = (e, t) => new g(e, { ...ot, ...t }), nt = (e) => !!e.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/), st = (e) => !Number.isNaN(Number(e)), W = (e, t) => {
|
|
1098
|
+
if (e instanceof g)
|
|
1099
1099
|
return e;
|
|
1100
1100
|
if (typeof e != "string" && typeof e != "number")
|
|
1101
1101
|
return D(e, t);
|
|
@@ -1240,23 +1240,23 @@ ${ye(o, {
|
|
|
1240
1240
|
(E) => lt(E)
|
|
1241
1241
|
);
|
|
1242
1242
|
if (i && d === "Item" && f.uri && (T = T.map((E) => {
|
|
1243
|
-
const { start: h } = E,
|
|
1244
|
-
return { ...E, thumbnail:
|
|
1243
|
+
const { start: h } = E, O = dt(m, W(h));
|
|
1244
|
+
return { ...E, thumbnail: O };
|
|
1245
1245
|
})), o && d === "Item") {
|
|
1246
1246
|
const { timespan: E = [] } = _, h = E.flatMap(
|
|
1247
|
-
(
|
|
1247
|
+
(O) => O.group
|
|
1248
1248
|
);
|
|
1249
1249
|
if (h.length > 0) {
|
|
1250
|
-
const
|
|
1250
|
+
const O = T.map((A) => {
|
|
1251
1251
|
const {
|
|
1252
|
-
group: { uuid:
|
|
1253
|
-
} =
|
|
1252
|
+
group: { uuid: R }
|
|
1253
|
+
} = A, [w] = R.split("/"), { field: P = [], group: U = [] } = h.find(
|
|
1254
1254
|
({ uuid: C }) => C === w
|
|
1255
1255
|
);
|
|
1256
1256
|
return {
|
|
1257
|
-
...
|
|
1257
|
+
...A,
|
|
1258
1258
|
group: {
|
|
1259
|
-
...
|
|
1259
|
+
...A.group,
|
|
1260
1260
|
field: P,
|
|
1261
1261
|
group: U
|
|
1262
1262
|
}
|
|
@@ -1265,7 +1265,7 @@ ${ye(o, {
|
|
|
1265
1265
|
return {
|
|
1266
1266
|
entityType: "Item",
|
|
1267
1267
|
entityId: p,
|
|
1268
|
-
events:
|
|
1268
|
+
events: O.sort((A, R) => A.startSeconds - R.startSeconds),
|
|
1269
1269
|
...a ? { itemType: m } : {}
|
|
1270
1270
|
};
|
|
1271
1271
|
}
|
|
@@ -1317,7 +1317,7 @@ ${ye(o, {
|
|
|
1317
1317
|
return new Date(e);
|
|
1318
1318
|
}, x = (e) => {
|
|
1319
1319
|
const { property: t = [], ...r } = e || {};
|
|
1320
|
-
return { ...
|
|
1320
|
+
return { ...N(t), ...r };
|
|
1321
1321
|
}, _t = (e) => x(e), mt = (e) => x(e), pt = { kB: "kHz", B: "Hz", mB: "mHz" }, ae = { kB: "kbps", B: "bps", MB: "mbps" }, ft = (e) => {
|
|
1322
1322
|
var T;
|
|
1323
1323
|
const {
|
|
@@ -1331,13 +1331,15 @@ ${ye(o, {
|
|
|
1331
1331
|
Format: c,
|
|
1332
1332
|
Resolution: l,
|
|
1333
1333
|
Bit_rate_mode: d
|
|
1334
|
-
} = i, _ =
|
|
1334
|
+
} = i, _ = N(a || []), p = t != null && t.denominator ? ((t == null ? void 0 : t.denominator) || 1) / ((t == null ? void 0 : t.numerator) || 1) : void 0, f = p !== void 0 ? y(p, {
|
|
1335
1335
|
base: 10,
|
|
1336
1336
|
round: 1,
|
|
1337
|
+
// @ts-expect-error (incorrect symbols typing)
|
|
1337
1338
|
symbols: pt
|
|
1338
1339
|
}) : void 0;
|
|
1339
1340
|
let u, m;
|
|
1340
1341
|
return s !== void 0 && (u = y(s, { round: 2, symbols: ae }), m = Number(
|
|
1342
|
+
// @ts-expect-error (incorrect symbols typing)
|
|
1341
1343
|
(T = y(s, { exponent: 1, symbols: ae }).split(" kbps")) == null ? void 0 : T[0]
|
|
1342
1344
|
)), {
|
|
1343
1345
|
audioFormat: c,
|
|
@@ -1396,7 +1398,7 @@ ${ye(o, {
|
|
|
1396
1398
|
folderPath: _
|
|
1397
1399
|
};
|
|
1398
1400
|
}, Tt = (e = {}) => {
|
|
1399
|
-
const { file: t, mediaInfo: r, metadata: n = [] } = e, o =
|
|
1401
|
+
const { file: t, mediaInfo: r, metadata: n = [] } = e, o = N(n), s = x(r);
|
|
1400
1402
|
let a = { binaryMetadata: o, binaryMediaInfo: s };
|
|
1401
1403
|
if (t) {
|
|
1402
1404
|
const [i] = t, c = Me(i);
|
|
@@ -1415,7 +1417,7 @@ ${ye(o, {
|
|
|
1415
1417
|
startTimestamp: s,
|
|
1416
1418
|
startTimecode: a,
|
|
1417
1419
|
timeCodeTimeBase: i
|
|
1418
|
-
} = e, c =
|
|
1420
|
+
} = e, c = N(r || []), l = x(t);
|
|
1419
1421
|
let { Format: d } = l;
|
|
1420
1422
|
const {
|
|
1421
1423
|
Video_Format_List: _,
|
|
@@ -1458,7 +1460,7 @@ ${ye(o, {
|
|
|
1458
1460
|
resolution: o,
|
|
1459
1461
|
mediaInfo: s,
|
|
1460
1462
|
metadata: a = []
|
|
1461
|
-
} = e, i = mt(s), c =
|
|
1463
|
+
} = e, i = mt(s), c = N(a), {
|
|
1462
1464
|
Format: l,
|
|
1463
1465
|
"Frame rate": d,
|
|
1464
1466
|
"Color space": _,
|
|
@@ -1479,22 +1481,23 @@ ${ye(o, {
|
|
|
1479
1481
|
const { numberOfPackets: te } = e;
|
|
1480
1482
|
te !== void 0 && (E = te.toString());
|
|
1481
1483
|
}
|
|
1482
|
-
let h,
|
|
1483
|
-
E && u && (h = D({ samples: E, timeBase: u }),
|
|
1484
|
-
const { height:
|
|
1484
|
+
let h, O, A;
|
|
1485
|
+
E && u && (h = D({ samples: E, timeBase: u }), O = h.timeBase.toConstant() || h.timeBase.toRate(), A = h.toSmpte());
|
|
1486
|
+
const { height: R, width: w } = o || {}, P = H(o), U = `${w}x${R}`;
|
|
1485
1487
|
let C, Z;
|
|
1486
1488
|
return r !== void 0 && (C = y(r, { round: 2, symbols: ce }), Z = Number(
|
|
1489
|
+
// @ts-expect-error (incorrect symbols typing)
|
|
1487
1490
|
(ee = y(r, { exponent: 2, symbols: ce }).split(" mbps")) == null ? void 0 : ee[0]
|
|
1488
1491
|
)), {
|
|
1489
1492
|
videoFormat: l,
|
|
1490
1493
|
dimension: U,
|
|
1491
|
-
frameRate:
|
|
1492
|
-
height:
|
|
1494
|
+
frameRate: O,
|
|
1495
|
+
height: R,
|
|
1493
1496
|
width: w,
|
|
1494
1497
|
timeBase: u,
|
|
1495
1498
|
timeCode: h,
|
|
1496
1499
|
videoCodec: t,
|
|
1497
|
-
smpte:
|
|
1500
|
+
smpte: A,
|
|
1498
1501
|
videoBitrate: C,
|
|
1499
1502
|
videoBitrateMbps: Z,
|
|
1500
1503
|
fieldOrder: n,
|
|
@@ -1550,7 +1553,7 @@ ${ye(o, {
|
|
|
1550
1553
|
MSWORD: "MSWORD",
|
|
1551
1554
|
JSON: "JSON",
|
|
1552
1555
|
XML: "XML"
|
|
1553
|
-
},
|
|
1556
|
+
}, S = {
|
|
1554
1557
|
IMAGE: "IMAGE",
|
|
1555
1558
|
AUDIO: "AUDIO",
|
|
1556
1559
|
VIDEO: "VIDEO",
|
|
@@ -1607,11 +1610,11 @@ ${ye(o, {
|
|
|
1607
1610
|
parsedShapeKey: c = "parsedShape"
|
|
1608
1611
|
} = t || {}, { shape: l = [] } = e || {}, d = l.reduce((_, p) => {
|
|
1609
1612
|
let f, u;
|
|
1610
|
-
const m = ve(p), { uri: T, mimeType: E, containerFormat: h, videoCodec:
|
|
1611
|
-
if (E && (f = E, (E === bt || E === Nt) && (h === yt || h === Ft) &&
|
|
1613
|
+
const m = ve(p), { uri: T, mimeType: E, containerFormat: h, videoCodec: O } = m;
|
|
1614
|
+
if (E && (f = E, (E === bt || E === Nt) && (h === yt || h === Ft) && O === Dt && (f = gt)), T)
|
|
1612
1615
|
if (n) {
|
|
1613
|
-
const [
|
|
1614
|
-
n.includes(
|
|
1616
|
+
const [A] = T.split("://");
|
|
1617
|
+
n.includes(A) && (u = T);
|
|
1615
1618
|
} else
|
|
1616
1619
|
u = T;
|
|
1617
1620
|
return u && r.includes(f) && _.push({
|
|
@@ -1626,19 +1629,19 @@ ${ye(o, {
|
|
|
1626
1629
|
const t = ve(e), { mimeType: r, videoCodec: n, audioCodec: o } = t;
|
|
1627
1630
|
if (r) {
|
|
1628
1631
|
if (r.startsWith("audio/") && o !== void 0)
|
|
1629
|
-
return
|
|
1632
|
+
return S.AUDIO;
|
|
1630
1633
|
if (r.startsWith("video/")) {
|
|
1631
1634
|
if (n !== void 0)
|
|
1632
|
-
return
|
|
1635
|
+
return S.VIDEO;
|
|
1633
1636
|
if (o !== void 0)
|
|
1634
|
-
return
|
|
1637
|
+
return S.AUDIO;
|
|
1635
1638
|
}
|
|
1636
1639
|
if (r.startsWith("image/"))
|
|
1637
|
-
return
|
|
1640
|
+
return S.IMAGE;
|
|
1638
1641
|
if (r.endsWith("/pdf") || r.startsWith("text/") || r.endsWith("/msword") || r.endsWith("/json") || r.endsWith("/xml"))
|
|
1639
|
-
return
|
|
1642
|
+
return S.DOCUMENT;
|
|
1640
1643
|
if (r.endsWith("/octet-stream"))
|
|
1641
|
-
return
|
|
1644
|
+
return S.BINARY;
|
|
1642
1645
|
}
|
|
1643
1646
|
}, Mt = (e) => {
|
|
1644
1647
|
const t = {}, { outputSetting: r = [] } = e || {};
|
|
@@ -1695,25 +1698,27 @@ ${ye(o, {
|
|
|
1695
1698
|
integerRestriction: a,
|
|
1696
1699
|
longRestriction: i,
|
|
1697
1700
|
data: c,
|
|
1698
|
-
values: l
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
+
values: l,
|
|
1702
|
+
system: d
|
|
1703
|
+
} = e, { minLength: _, maxLength: p, pattern: f } = o || {}, { minInclusive: u, maxInclusive: m } = s || a || i || {}, T = ((l == null ? void 0 : l.field) || []).map(({ key: A, value: R }) => ({
|
|
1704
|
+
label: R ?? A,
|
|
1701
1705
|
value: A
|
|
1702
|
-
})),
|
|
1703
|
-
min:
|
|
1704
|
-
max:
|
|
1705
|
-
minLength:
|
|
1706
|
-
maxLength:
|
|
1707
|
-
pattern:
|
|
1708
|
-
}),
|
|
1706
|
+
})), h = ((A) => Object.fromEntries(Object.entries(A).filter(([, R]) => R !== void 0)))({
|
|
1707
|
+
min: u,
|
|
1708
|
+
max: m,
|
|
1709
|
+
minLength: _,
|
|
1710
|
+
maxLength: p,
|
|
1711
|
+
pattern: f ? new RegExp(f) : void 0
|
|
1712
|
+
}), O = N(c);
|
|
1709
1713
|
return {
|
|
1710
1714
|
name: t,
|
|
1711
1715
|
type: r,
|
|
1712
1716
|
defaultValue: n,
|
|
1713
|
-
required:
|
|
1714
|
-
restrictions:
|
|
1715
|
-
data:
|
|
1716
|
-
options:
|
|
1717
|
+
required: u !== void 0 || _ !== void 0 && _ > 0,
|
|
1718
|
+
restrictions: h,
|
|
1719
|
+
data: O,
|
|
1720
|
+
options: T,
|
|
1721
|
+
system: d === "true"
|
|
1717
1722
|
};
|
|
1718
1723
|
}, qt = (e) => e == null ? void 0 : e.map(vt).filter((t) => !!t), Qt = [
|
|
1719
1724
|
"date",
|
|
@@ -1733,11 +1738,11 @@ export {
|
|
|
1733
1738
|
Yt as FILE_STATES,
|
|
1734
1739
|
Le as GROUP_ATTRIBUTE_KEYS,
|
|
1735
1740
|
Ct as ROLE_NAMES,
|
|
1736
|
-
|
|
1741
|
+
S as SHAPE_MEDIA_TYPES,
|
|
1737
1742
|
Lt as SYSTEM_FIELDGROUPS,
|
|
1738
1743
|
Bt as SYSTEM_FIELDS,
|
|
1739
1744
|
I as TimeBase,
|
|
1740
|
-
|
|
1745
|
+
g as TimeCode,
|
|
1741
1746
|
Wt as createMetadataType,
|
|
1742
1747
|
Ut as createSearchFacetList,
|
|
1743
1748
|
v as createTimeBase,
|
|
@@ -1765,7 +1770,7 @@ export {
|
|
|
1765
1770
|
be as parseGroupList,
|
|
1766
1771
|
V as parseHighlightTimespan,
|
|
1767
1772
|
Vt as parseHighlightTimespanList,
|
|
1768
|
-
|
|
1773
|
+
N as parseKeyValuePairType,
|
|
1769
1774
|
Mt as parseMediaConvertPreset,
|
|
1770
1775
|
jt as parseMetadataType,
|
|
1771
1776
|
Ht as parseNowDate,
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(f,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("filesize")):typeof define=="function"&&define.amd?define(["exports","filesize"],g):(f=typeof globalThis<"u"?globalThis:f||self,g(f["@vidispine/vdt-js"]={},f.filesize))})(this,function(f,g){"use strict";const ie=(e,t)=>t?ie(t,e%t):e,V=e=>{const{width:t,height:r}=e||{};if(t===void 0||r===void 0)return;const s=ie(t,r);let n=t/s,i=r/s;return n>21&&(i=1,n=(t/r).toFixed(2)),[n,i].join(":")},N=e=>Object.fromEntries((e==null?void 0:e.map(({key:t,value:r})=>[t,r]))||[]),Ke={ACCESSCONTROL_READ:"_accesscontrol_read",ACCESSCONTROL_WRITE:"_accesscontrol_write",ADMINISTRATOR:"_administrator",AUTO_PROJECTION_READ:"_auto_projection_read",AUTO_PROJECTION_WRITE:"_auto_projection_write",COLLECTION_NOTIFICATION_READ:"_collection_notification_read",COLLECTION_NOTIFICATION_WRITE:"_collection_notification_write",COLLECTION_READ:"_collection_read",COLLECTION_WRITE:"_collection_write",CONFIGURATION_READ:"_configuration_read",DELETION_LOCK_NOTIFICATION_READ:"_deletion_lock_notification_read",DELETION_LOCK_NOTIFICATION_WRITE:"_deletion_lock_notification_write",DELETION_LOCK_READ:"_deletion_lock_read",DELETION_LOCK_WRITE:"_deletion_lock_write",DOCUMENT_NOTIFICATION_READ:"_document_notification_read",DOCUMENT_NOTIFICATION_WRITE:"_document_notification_write",DOCUMENT_READ:"_document_read",DOCUMENT_WRITE:"_document_write",ERROR_READ:"_error_read",ERROR_WRITE:"_error_write",EXPORT:"_export",EXPORT_TEMPLATE_READ:"_export_template_read",EXPORT_TEMPLATE_WRITE:"_export_template_write",EXTERNAL_ID_READ:"_external_id_read",EXTERNAL_ID_WRITE:"_external_id_write",FILE_NOTIFICATION_READ:"_file_notification_read",FILE_NOTIFICATION_WRITE:"_file_notification_write",FILE_READ:"_file_read",FILE_WRITE:"_file_write",GROUP_READ:"_group_read",GROUP_WRITE:"_group_write",IMPORT_WRITE:"_import",ITEM_ID_READ:"_item_id_read",ITEM_ID_WRITE:"_item_id_write",ITEM_NOTIFICATION_READ:"_item_notification_read",ITEM_NOTIFICATION_WRITE:"_item_notification_write",ITEM_WRITE:"_item_write",ITEM_SEARCH:"_item_search",ITEM_SHAPE_READ:"_item_shape_read",ITEM_SHAPE_WRITE:"_item_shape_write",ITEM_TIMELINE_READ:"_item_timeline_read",ITEM_TIMELINE_WRITE:"_item_timeline_write",ITEM_URI:"_item_uri",JOB_NOTIFICATION_READ:"_job_notification_read",JOB_NOTIFICATION_WRITE:"_job_notification_write",JOB_READ:"_job_read",JOB_WRITE:"_job_write",LIBRARY_READ:"_library_read",LIBRARY_WRITE:"_library_write",LOCK_READ:"_lock_read",LOCK_WRITE:"_lock_write",LOG_READ:"_log_read",METADATA_DATASET_READ:"_metadata_dataset_read",METADATA_DATASET_WRITE:"_metadata_dataset_write",METADATA_FIELD_GROUP_READ:"_metadata_field_group_read",METADATA_FIELD_GROUP_WRITE:"_metadata_field_group_write",METADATA_FIELD_READ:"_metadata_field_read",METADATA_FIELD_WRITE:"_metadata_field_write",METADATA_GLOBAL_READ:"_metadata_global_read",METADATA_GLOBAL_WRITE:"_metadata_global_write",METADATA_LOCK_READ:"_metadata_lock_read",METADATA_LOCK_WRITE:"_metadata_lock_write",METADATA_READ:"_metadata_read",METADATA_SCHEMA_READ:"_metadata_schema_read",METADATA_SCHEMA_WRITE:"_metadata_schema_write",METADATA_WRITE:"_metadata_write",OTIF_ANALYZE:"_otif_analyze",OTIF_READ:"_otif_read",OTIF_WRITE:"_otif_write",PLACEHOLDER_NOTIFICATION_READ:"_placeholder_notification_read",PLACEHOLDER_NOTIFICATION_WRITE:"_placeholder_notification_write",PROJECTION_READ:"_projection_read",PROJECTION_WRITE:"_projection_write",QUOTA_NOTIFICATION_READ:"_quota_notification_read",QUOTA_NOTIFICATION_WRITE:"_quota_notification_write",QUOTA_READ:"_quota_read",QUOTA_WRITE:"_quota_write",RELATION_READ:"_relation_read",RELATION_WRITE:"_relation_write",RESOURCE_READ:"_resource_read",RESOURCE_WRITE:"_resource_write",RUN_AS:"_run_as",SEARCH:"_search",SEQUENCE_READ:"_sequence_read",SEQUENCE_WRITE:"_sequence_write",SHAPE_TAG_READ:"_shape_tag_read",SHAPE_TAG_WRITE:"_shape_tag_write",SITE_MANAGER:"_site_manager",SITE_RULE_READ:"_site_rule_read",SITE_RULE_WRITE:"_site_rule_write",STORAGE_GROUP_READ:"_storage_group_read",STORAGE_GROUP_WRITE:"_storage_group_write",STORAGE_NOTIFICATION_READ:"_storage_notification_read",STORAGE_NOTIFICATION_WRITE:"_storage_notification_write",STORAGE_READ:"_storage_read",STORAGE_RULE_READ:"_storage_rule_read",STORAGE_RULE_WRITE:"_storage_rule_write",STORAGE_WRITE:"_storage_write",SUPER_ACCESS_USER:"_super_access_user",TASKDEFINITION_READ:"_taskdefinition_read",TASKDEFINITION_WRITE:"_taskdefinition_write",THUMBNAIL_READ:"_thumbnail_read",THUMBNAIL_WRITE:"_thumbnail_write",TRANSCODER:"_transcoder",TRANSFER_READ:"_transfer_read",TRANSFER_WRITE:"_transfer_write",USER:"_user",VXA:"_vxa",VXA_READ:"_vxa_read"},xe=["stl_subtitle","stl_tti","stl_gsi","mrk_marker","pho_validation","pho_resource","pho_error","facedetect_rect","facedetect_face","originalTrackFilename","stl_gsiHeader"],ze=["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"],k=["uuid","user","timestamp","change","conflict","mode"],oe=["name","id","referenced","data","inheritance"],ae=[...k,"value","lang"],ce=[...k,...oe,"value","reference","type","track"],de=[...k,...oe,"cycle","field","group"],Y=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.value!==void 0,ue=e=>["string","boolean","number"].includes(typeof e),le=e=>Y(e)&&((e==null?void 0:e.value)===null||Y(e.value)||ue(e.value)),Je=e=>Object.prototype.toString.call(e)==="[object Object]",me=e=>Object.prototype.toString.call(e)==="[object Date]",_e=e=>e===null?!0:Array.isArray(e)?e.some(_e):ue(e)||le(e)||me(e),pe=e=>{const t=r=>Je(r)&&r.value===void 0&&!!Object.entries(e);return Array.isArray(e)?e.every(pe):t(e)},Xe=(e,t)=>e+(t.length>1?"s":""),fe=(e,t)=>{const r=e.filter(s=>!t.includes(s));if(r.length)throw Error(`Unsupported ${Xe("key",r)} (${r.join(", ")})`)},Te=e=>{if(Array.isArray(e))throw Error("Invalid value inside value object, cannot be array");return[void 0,null].includes(e)?{}:me(e)?{value:e.toISOString()}:{value:e.toString()}},qe=e=>{if(fe(Object.keys(e),ae),Object.keys(e).length===0)throw Error("Invalid value object, cannot be empty object");if(typeof(e==null?void 0:e.value)=="string")return e;const t=Te(e==null?void 0:e.value);return{...e,...t!==void 0?t:{}}},H=e=>{if(![void 0,null].includes(e))return Array.isArray(e)?e.flatMap(H):Y(e)?qe(e):Te(e)},Qe=e=>{fe(Object.keys(e),ce);const t=H(e==null?void 0:e.value);if(t===void 0){const{value:r,...s}=e;return s}return{...e,value:[...Array.isArray(t)?t:[t]]}},Ze=e=>{if(le(e))return Qe(e);const t=H(e);if(t!==void 0)return{value:[...Array.isArray(t)?t:[t]]}},Ee=e=>{const t=[],r=[];let s={};return Object.entries(e||{}).forEach(([n,i])=>{if(de.includes(n))s={...s,[n]:i};else if(_e(i))try{r.push({name:n,...Ze(i)})}catch(a){throw Error(a.message+(n?` for field "${n}"`:""))}else if(pe(i))(Array.isArray(i)?i:[i]).forEach(a=>{t.push({name:n,...Ee(a)})});else throw Error(`Unhandled value for "${n}"`)}),{...s,...t.length>0?{group:t}:{},...r.length>0?{field:r}:{}}},et=e=>{const{start:t="-INF",end:r="+INF",base:s=void 0,...n}=e,{group:i,field:a}=Ee(n);return{...i?{group:i}:{},...a?{field:a}:{},start:t.toString(),end:r.toString(),...s?{base:s}:{}}},tt=e=>({timespan:(Array.isArray(e)?e:[e||{}]).map(t=>et(t))}),rt=(e,t)=>{var n,i;const[r]=((n=e==null?void 0:e.start)==null?void 0:n.split("@"))||[],[s]=((i=t==null?void 0:t.start)==null?void 0:i.split("@"))||[];return Number(r)<Number(s)?-1:Number(r)>Number(s)?1:0},y=e=>Array.isArray(e)?e:e&&[e]||[],he=e=>Array.isArray(e)?e.pop():e,nt=e=>(e==null?void 0:e.every(t=>typeof t=="string"))||!1,Ae={includeValueAttributes:!1};function st(e,t){const{includeValueAttributes:r}={...Ae,...t||{}};if(r===!1)return e==null?void 0:e.value;const{value:s,...n}=e;return{...r===!0&&n||Array.isArray(r)&&Object.fromEntries(Object.entries(n).filter(([a])=>r.includes(a)))||{},value:s}}const Ie={...Ae,joinValue:void 0,arrayOnSingleValue:!0};function it(e,t){const{joinValue:r,arrayOnSingleValue:s,...n}={...Ie,...t||{}},i=e==null?void 0:e.map(a=>st(a,n));return nt(i)&&r?i==null?void 0:i.join(r):s!==!0&&(i==null?void 0:i.length)<=1?i==null?void 0:i[0]:i}const Oe={includeFieldAttributes:!1,...Ie},ot=(e,t)=>{const{includeFieldAttributes:r,...s}={...Oe,...t||{}},{value:n,...i}=e,a=it(n,s),o=r===!0&&i||Array.isArray(r)&&Object.fromEntries(Object.entries(i).filter(([c])=>r.includes(c)))||{};return r?{...o,value:a}:a},B={...Oe,fieldAsList:!1,arrayOnSingleField:!1,overrideField:void 0},K=(e,t)=>{const r={...B,...t||{}},{fieldAsList:s,arrayOnSingleField:n,overrideField:i}=r,a=i===!0&&s===!1,o={};return e==null||e.forEach(c=>{const{name:l}=c,d=ot(c,r),m=n===!0?y(d):d,p=o[l];p?a?o[l]=d:o[l]=[y(p),y(d)].flat():o[l]=m}),s===!0?Object.values(o).flat():o},Se={...B,includeGroupAttributes:!1,groupAsList:!1,arrayOnSingleGroup:!1,overrideGroup:void 0},at=(e,t)=>{const r={...Se,...t||{}},{includeGroupAttributes:s}=r,n=Object.fromEntries(Object.entries(r).filter(([m])=>Object.keys(B).includes(m))),{field:i,group:a,...o}=e,c=i&&K(i,n),l=a&&z(a,r);return{...s===!0&&o||Array.isArray(s)&&Object.fromEntries(Object.entries(o).filter(([m])=>s.includes(m)))||{},...n!=null&&n.fieldAsList?c&&{field:c}||{}:c,...r!=null&&r.groupAsList?l&&{group:l}||{}:l}},x=Se,z=(e,t)=>{const r={...x,...t||{}},{groupAsList:s,arrayOnSingleGroup:n,overrideGroup:i}=r,a=i===!0&&s===!1,o={};return e==null||e.forEach(c=>{const{name:l}=c,d=at(c,r),m=n===!0?y(d):d,p=o[l];p?a?o[l]=d:o[l]=[y(p),y(d)].flat():o[l]=m}),s?Object.values(o).flat():o},Re={...x,includeTimespanAttributes:!1,flat:!1,arrayOnSingle:!1,arrayOnSingleValue:!0,arrayOnSingleGroup:void 0,arrayOnSingleField:void 0},ge=(e,t)=>{const r={...Re,...t||{}},{includeTimespanAttributes:s,arrayOnSingle:n,flat:i}=r,a=Object.fromEntries(Object.entries(t).map(([u,_])=>{if(Object.keys(x).includes(u))return["arrayOnSingleGroup","arrayOnSingleField","arrayOnSingleValue"].includes(u)&&(_!==void 0?_:n===!0)?[u,!0]:["overrideGroup","overrideField"].includes(u)&&(_!==void 0?_:i===!0)?[u,!0]:[u,_]}).filter(u=>!!u)),o=Object.fromEntries(Object.entries(t).map(([u,_])=>{if(Object.keys(B).includes(u))return["arrayOnSingleField","arrayOnSingleValue"].includes(u)&&(_!==void 0?_:n===!0)?[u,!0]:["overrideField"].includes(u)&&(_!==void 0?_:i===!0)?[u,!0]:[u,_]}).filter(u=>!!u)),{field:c,group:l,...d}=e||{},m=c&&K(c,o),p=l&&z(l,a);return{...s===!0&&d||Array.isArray(s)&&Object.fromEntries(Object.entries(d).filter(([u])=>s.includes(u)))||{},...o!=null&&o.fieldAsList?{field:m}:m,...a!=null&&a.groupAsList?{group:p}:p}},J={...Re,timespanAsList:!1,joinTimespan:"_",sortTimespan:!1,flat:!1,flatTimespan:void 0},X=(e,t)=>{const r={...J,...t||{}},{timespanAsList:s,joinTimespan:n,sortTimespan:i,flat:a,flatTimespan:o,...c}=r,l={flat:a,...c};i&&e.sort(rt);const d=(o!==void 0?o===!0:a===!0)&&s===!1,m={};return e==null||e.forEach(p=>{const{start:T,end:u}=p,_=d?"flat":[T,u].join(n),E=ge(p,l),h=m[_];h?d?T==="-INF"&&u==="+INF"?m[_]={...he(h),...E}:m[_]={...E,...he(h)}:m[_]=[...y(h),E]:m[_]=E}),s===!0?Object.values(m):d?Object.values(m).pop():m},ct={...J,includeMetadataAttributes:!1,flat:!1};function dt(e,t){const r={...ct,...t||{}},{includeMetadataAttributes:s,flat:n}=r,{timespan:i=[],...a}=e||{},o=Object.fromEntries(Object.entries(t).map(([d,m])=>{if(Object.keys(J).includes(d))return["onlyGeneric","overrideGroup","overrideField"].includes(d)&&(m!==void 0?m:n===!0)?[d,!0]:[d,m]}).filter(d=>!!d)),c=X(i,o);return{...s===!0&&{...a,...a.revision?{revision:a.revision.split(",")}:{}}||Array.isArray(s)&&Object.fromEntries(Object.entries(a).map(([d,m])=>{if(s.includes(d))return[d,d==="revision"&&typeof m=="string"?m.split(","):m]}).filter(d=>!!d))||{},...o!=null&&o.timespanAsList?{timespan:c}:c}}const ut=e=>{const{field:t=[]}=e||{};return N(t)},q={PAL:{denominator:25,numerator:1},NTSC:{denominator:3e4,numerator:1001},NTSC30:{denominator:30,numerator:1},29.97:{denominator:3e4,numerator:1001},59.94:{denominator:6e4,numerator:1001},23.976:{denominator:48e3,numerator:2002},23.98:{denominator:48e3,numerator:2002}},be=Object.keys(q),Ne={toText:{constant:!1,fraction:!1},toRate:{fixed:!0,rounded:!1}};class S{constructor(t){this.numerator=1,this.denominator=1;const{numerator:r=1,denominator:s=1}=t||{};this.numerator=Number(r),this.denominator=Number(s)}toConstant(){let t;return Object.entries(q).find(r=>{const[s,n]=r,{numerator:i,denominator:a}=n;return i===this.numerator&&a===this.denominator?(t=s,!0):!1}),t}toText(t){const{constant:r,fraction:s}={...Ne.toText,...t};if(r){const i=this.toConstant();if(i)return i}return s||this.numerator>1?[this.denominator,this.numerator].join(":"):String(this.denominator)}toRate(t){const r=this.denominator/this.numerator;if(Number.isInteger(r))return r;const{rounded:s,fixed:n}={...Ne.toRate,...t||{}};return s?Math.round(r):n===!0||typeof n=="number"?Number(r.toFixed(typeof n=="boolean"?2:n)):r}toObject(){return{denominator:this.denominator,numerator:this.numerator}}toJson(){return console.warn("Deprecated - use toObject instead"),this.toObject()}}const j=e=>{if(e===void 0)return new S;if(typeof e=="number")return new S({denominator:e});if(typeof e=="string"&&e.includes(":")){const[t,r]=e.split(":");return new S({denominator:t,numerator:r})}if(be.includes(e))return new S(q[e]);if(!["string","number"].includes(typeof e)||Number.isNaN(Number(e)))throw new Error(`timeBaseText must be a number or ${be.join(",")} - is ${JSON.stringify(e)}`);return new S({denominator:Number(e)})},F=e=>new S(e),D=e=>e instanceof S?e:typeof e=="string"||typeof e=="number"?j(e):F(e),Q=e=>{const t=e.toConstant();return t==="59.94"&&4||["NTSC","29.97"].includes(t)&&2||void 0},ye=e=>Q(e)>0,Fe=e=>{const{samples:t,timeBase:r}=e,s=Q(r);if(!s)return 0;const n=r.toRate({rounded:!0}),i=60*n,a=60*n-s,o=10*(i-s)+s,c=Math.floor((t+1)/o),l=Math.max(0,(t+1)%o-i),d=Math.floor(l/a),p=l%a>0?s:0;return c*9*s+d*s+p},Z={conformTimeBase:{dropFrame:void 0,frameSeparator:void 0},toText:{constant:!1,fraction:!1,includeTimeBaseForSeconds:!1},toDuration:{format:void 0}};class b{constructor(t,r){this.samples=0,this.timeBase=new S;const{samples:s,timeBase:n}=t||{};if(s!==void 0)if(typeof s=="number")this.samples=s;else if(typeof s=="string")s==="-INF"?this.samples=-1/0:s==="+INF"?this.samples=1/0:this.samples=Number(s);else throw new Error(`samples is not number/string/-Inf/+Inf is: ${s}`);n!==void 0&&(n instanceof S?this.timeBase=n:this.timeBase=D(n)),this.dropFrame=(r==null?void 0:r.dropFrame)??ye(this.timeBase),this.frameSeparator=(r==null?void 0:r.frameSeparator)??(this.dropFrame?";":":")}add(t){if(!(t!=null&&t.timeBase)||(t==null?void 0:t.samples)===void 0)throw Error("Invalid timeCodeType, cannot be added");const{numerator:r,denominator:s}=(t==null?void 0:t.timeBase)||{};let n=t;(r!==this.timeBase.numerator||s!==this.timeBase.denominator)&&(n=t.conformTimeBase(this.timeBase));const{samples:i}=n;return new b({samples:this.samples+i,timeBase:this.timeBase})}subtract(t){if(!(t!=null&&t.timeBase)||(t==null?void 0:t.samples)===void 0)throw Error("Invalid timeCodeType, cannot be subtracted");const{timeBase:{numerator:r,denominator:s}={}}=t;let n=t;(r!==this.timeBase.numerator||s!==this.timeBase.denominator)&&(n=t.conformTimeBase(this.timeBase));const{samples:i}=n;return new b({samples:this.samples-i,timeBase:this.timeBase})}conformTimeBase(t,r){const s=t instanceof S?t:D(t),n=Math.floor(this.samples/(this.timeBase.toRate({fixed:!1})/s.toRate({fixed:!1}))),i={...Z.conformTimeBase,...r||{}};return new b({samples:n,timeBase:s},i)}toText(t){let r=`${this.samples}`;const s={...Z.toText,...t||{}},n=this.timeBase.toText(s);return(t!=null&&t.includeTimeBaseForSeconds||!["1","1:1"].includes(n))&&(r=[this.samples,n].join("@")),r}toUnits(){if(this.samples===1/0)return{hours:1/0,minutes:1/0,seconds:1/0,frames:1/0};const t=this.samples+(this.dropFrame?Fe(this):0);let r=this.timeBase.toRate({rounded:!0});["23.976","23.98"].includes(this.timeBase.toConstant())&&(r=this.timeBase.toRate({fixed:!0}));const s=Math.floor(t/(3600*r)),n=Math.floor(t/(60*r))%60,i=Math.floor(t/r)%60,a=Math.floor(t%r);return{hours:s,minutes:n,seconds:i,frames:a}}toTime(){const t=this.samples+Fe(this),{hours:r,minutes:s,seconds:n}=this.toUnits(),i=this.timeBase.toRate({rounded:!0}),a=t%i,o=Math.floor(1e3*a/i),c=a/i;return{hours:r,minutes:s,seconds:n,milliseconds:o,partialSeconds:c}}toSeconds(){const{numerator:t,denominator:r}=this.timeBase;return Math.round(1e3*+(this.samples*t/r))/1e3}toDuration(t){const{format:r}={...Z.toDuration,...t||{}},{hours:s,...n}=this.toTime();let{minutes:i,seconds:a,milliseconds:o}=n;if(r&&typeof r!="string")throw Error("format has to be a string");const c=(p,T)=>!r.includes(p)||!T.some(u=>r.includes(u)&&r.lastIndexOf(p)>r.indexOf(u));if(r&&!(c("h",["m","s","S"])&&c("m",["s","S"])&&c("s",["S"])))throw Error("format order is unsupported (has to be h, m, s then S)");if(!r)return`${s>0?`${s}:${`${i}`.padStart(2,"0")}`:i}:${`${a}`.padStart(2,"0")}`;const l=(p,T)=>{let u=p;for(;T[u]===T[u+1];)u+=1;return u-p+1},d=["h","m","s","S"],m=[];return[...r].forEach((p,T,u)=>{switch(p){case"h":{if(u[T-1]==="h")break;const _=l(T,u);m.push(`${s}`.padStart(_,"0")),d.includes(u[T+_])&&m.push(":");break}case"m":{if(u[T-1]==="m")break;const _=l(T,u);r.includes("h")||(i+=s*60),m.push(`${i}`.padStart(_,"0")),d.includes(u[T+_])&&m.push(":");break}case"s":{if(u[T-1]==="s")break;const _=l(T,u);r.includes("m")||(a+=i*60),m.push(`${a}`.padStart(_,"0")),d.includes(u[T+_])&&m.push(".");break}case"S":{if(u[T-1]==="S")break;const _=l(T,u);r.includes("s")||(o+=a*1e3),m.push(`${Math.round(o/10**(3-_))}`.padStart(_,"0"));break}default:m.push(p)}}),m.join("")}toSmpte(){if(this.samples===-1/0)return"00:00:00:00";const{hours:t,minutes:r,seconds:s,frames:n}=this.toUnits(),i=[t.toFixed().padStart(2,"0"),r.toFixed().padStart(2,"0"),s.toFixed().padStart(2,"0")].join(":"),a=Math.max(2,`${this.timeBase.toRate({rounded:!0})-1}`.length);return[i,`${n}`.padStart(a,"0")].join(this.frameSeparator)}toObject(){return{samples:this.samples,timeBase:this.timeBase.toObject()}}toJson(){return console.warn("Deprecated - use toObject instead"),this.toObject()}}const lt=(e,t)=>{let r=Math.abs(e),s=Math.abs(t);for(;r&&s&&r!==s;)r>s?[r,s]=[r-s,s]:[r,s]=[r,s-r];return r||s},De=(e,t)=>{const{timeBase:r,useGCD:s=!1,...n}=t||{},i=`${e}`.replace(/,/g,".");if(Number.isNaN(+i))throw new Error(`seconds must be digits, is ${e}`);let a=1,o;if(Number.isInteger(+i))o=+i*a;else{const[,l]=i.split("."),d=Math.min((l==null?void 0:l.length)??0,16);a*=10**d,o=Math.round(Number(i)*a)}if(r===void 0&&s){const l=lt(a,o);o/=l,a/=l}const c=new b({samples:o,timeBase:{denominator:a,numerator:1}},n);return r!==void 0?c.conformTimeBase(D(r),n):c},mt=([e,t,r,s],n,i)=>{const a=i.toRate({rounded:!0}),o=Q(i);if(n===0||!o)return 0;const c=t%10!==0,l=c&&r===0,d=e*(3600*a-54*o),m=t*60*a-(t-Math.ceil(t/10))*o,p=r*a-(c&&r>1?o:0);if(l&&s<o)throw new Error(`Frame does not exist for ${i.toConstant()||i.toRate()} drop-frame`);const T=l?s-o:s,u=d+m+p+T;return n-u},ee=(e,t,r)=>{const[s,n,i,a]=e,o=t.toRate({rounded:!0}),c=s*3600*o+n*60*o+i*o+a;return c-(r?mt(e,c,t):0)},_t=e=>{const[t]=(e==null?void 0:e.match(/[^0-9:\-_]/))||[];let r=[];if(t){const[n,i]=e.split(t);r=[...n.split(":"),i]}else r=e.split(":");if(r.length!==4)throw new Error('Invalid format, must be "##:##:##:##');if(r.some(n=>Number.isNaN(n)))throw new Error("Invalid format, values must be numbers");const s=t||":";return{smpteValues:r.map(Number),smpteFrameSeparator:s}},pt=["error","add","ignore"],ft={exceedingMode:"error",timeBase:void 0,dropFrame:void 0,frameSeparator:void 0},Me=(e,t)=>{const{exceedingMode:r,timeBase:s,...n}={...ft,...t};if([null,void 0].includes(e))throw new Error("smpte cannot be undefined or null");if(typeof e!="string")throw new Error(`smpte must be a string, is ${JSON.stringify(e)}`);const{smpteValues:i,smpteFrameSeparator:a}=_t(e),o=D(s),c={...n,frameSeparator:(n==null?void 0:n.frameSeparator)||a,...(n==null?void 0:n.dropFrame)===void 0?{dropFrame:s!==void 0?ye(o):[";",","].includes(a)}:{}},l=o.toRate({rounded:!0}),d=Math.max(0,l-1);if(i.some(p=>p<0))throw new Error("Negative values are not supported");let m;switch(r){case"error":{const[p,T,u,_]=i;if(p>=100||T>=60)throw Error("Minutes has to be less than 60");if(u>=60)throw Error("Seconds has to be less than 60");if(_>d)throw Error(`Frames has to be less or equal to ${d}`);m=ee(i,o,c==null?void 0:c.dropFrame);break}case"ignore":{const[p,T,u,_]=i,E=[Math.min(100,p),Math.min(59,T),Math.min(59,u),Math.min(d,_)];m=ee(E,o,c==null?void 0:c.dropFrame);break}case"add":{m=ee(i,o,c==null?void 0:c.dropFrame);break}default:throw new Error(`Invalid exceedingMode, options are ${JSON.stringify(pt)}`)}return new b({samples:m,timeBase:o},c)},Tt={timeBase:void 0,dropFrame:void 0,frameSeparator:void 0},w=(e,t)=>{const{timeBase:r,...s}={...Tt,...t};let n;if(e===void 0)n={samples:0};else if(typeof e=="number")n={samples:e};else if(e.includes("@")){const[a,o]=e.split("@");n={samples:Number(a),timeBase:j(o)}}else e==="-INF"?n={samples:-1/0}:e==="+INF"?n={samples:1/0}:n={samples:Number(e)};if(Number.isNaN(n==null?void 0:n.samples)||n.timeBase&&!(n.timeBase instanceof S))throw new Error(`timeCodeText must be a number or sample@timeBase - is ${e}`);const i=new b(n,s);return r?i.conformTimeBase(D(r),s):i},Et={dropFrame:void 0,frameSeparator:void 0},M=(e,t)=>new b(e,{...Et,...t}),ht=e=>!!e.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/),At=e=>!Number.isNaN(Number(e)),L=(e,t)=>{if(e instanceof b)return e;if(typeof e!="string"&&typeof e!="number")return M(e,t);if(typeof e=="string"&&ht(e))return Me(e,t);if(["string","number"].includes(typeof e)&&At(e))return De(e,t);if(typeof e=="string")return w(e,t)};function ve({hours:e=0,minutes:t=0,seconds:r=0,partialSeconds:s=0}){const n=e.toFixed().padStart(2,"0"),i=t.toFixed().padStart(2,"0"),a=r.toFixed().padStart(2,"0"),o=(s*10).toFixed().padStart(3,"0");return`${n}:${i}:${a}.${o}`}const It={subtitleGroup:"stl_subtitle",subtitleField:"stl_text"},Ot=(e,t)=>{const{subtitleGroup:r,subtitleField:s}={...It,...t||{}},{timespan:n=[]}=e||{};return n.length===0?"":`WEBVTT
|
|
1
|
+
(function(f,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("filesize")):typeof define=="function"&&define.amd?define(["exports","filesize"],g):(f=typeof globalThis<"u"?globalThis:f||self,g(f["@vidispine/vdt-js"]={},f.filesize))})(this,function(f,g){"use strict";const ie=(e,t)=>t?ie(t,e%t):e,V=e=>{const{width:t,height:r}=e||{};if(t===void 0||r===void 0)return;const s=ie(t,r);let n=t/s,i=r/s;return n>21&&(i=1,n=(t/r).toFixed(2)),[n,i].join(":")},y=e=>Object.fromEntries((e==null?void 0:e.map(({key:t,value:r})=>[t,r]))||[]),Ke={ACCESSCONTROL_READ:"_accesscontrol_read",ACCESSCONTROL_WRITE:"_accesscontrol_write",ADMINISTRATOR:"_administrator",AUTO_PROJECTION_READ:"_auto_projection_read",AUTO_PROJECTION_WRITE:"_auto_projection_write",COLLECTION_NOTIFICATION_READ:"_collection_notification_read",COLLECTION_NOTIFICATION_WRITE:"_collection_notification_write",COLLECTION_READ:"_collection_read",COLLECTION_WRITE:"_collection_write",CONFIGURATION_READ:"_configuration_read",DELETION_LOCK_NOTIFICATION_READ:"_deletion_lock_notification_read",DELETION_LOCK_NOTIFICATION_WRITE:"_deletion_lock_notification_write",DELETION_LOCK_READ:"_deletion_lock_read",DELETION_LOCK_WRITE:"_deletion_lock_write",DOCUMENT_NOTIFICATION_READ:"_document_notification_read",DOCUMENT_NOTIFICATION_WRITE:"_document_notification_write",DOCUMENT_READ:"_document_read",DOCUMENT_WRITE:"_document_write",ERROR_READ:"_error_read",ERROR_WRITE:"_error_write",EXPORT:"_export",EXPORT_TEMPLATE_READ:"_export_template_read",EXPORT_TEMPLATE_WRITE:"_export_template_write",EXTERNAL_ID_READ:"_external_id_read",EXTERNAL_ID_WRITE:"_external_id_write",FILE_NOTIFICATION_READ:"_file_notification_read",FILE_NOTIFICATION_WRITE:"_file_notification_write",FILE_READ:"_file_read",FILE_WRITE:"_file_write",GROUP_READ:"_group_read",GROUP_WRITE:"_group_write",IMPORT_WRITE:"_import",ITEM_ID_READ:"_item_id_read",ITEM_ID_WRITE:"_item_id_write",ITEM_NOTIFICATION_READ:"_item_notification_read",ITEM_NOTIFICATION_WRITE:"_item_notification_write",ITEM_WRITE:"_item_write",ITEM_SEARCH:"_item_search",ITEM_SHAPE_READ:"_item_shape_read",ITEM_SHAPE_WRITE:"_item_shape_write",ITEM_TIMELINE_READ:"_item_timeline_read",ITEM_TIMELINE_WRITE:"_item_timeline_write",ITEM_URI:"_item_uri",JOB_NOTIFICATION_READ:"_job_notification_read",JOB_NOTIFICATION_WRITE:"_job_notification_write",JOB_READ:"_job_read",JOB_WRITE:"_job_write",LIBRARY_READ:"_library_read",LIBRARY_WRITE:"_library_write",LOCK_READ:"_lock_read",LOCK_WRITE:"_lock_write",LOG_READ:"_log_read",METADATA_DATASET_READ:"_metadata_dataset_read",METADATA_DATASET_WRITE:"_metadata_dataset_write",METADATA_FIELD_GROUP_READ:"_metadata_field_group_read",METADATA_FIELD_GROUP_WRITE:"_metadata_field_group_write",METADATA_FIELD_READ:"_metadata_field_read",METADATA_FIELD_WRITE:"_metadata_field_write",METADATA_GLOBAL_READ:"_metadata_global_read",METADATA_GLOBAL_WRITE:"_metadata_global_write",METADATA_LOCK_READ:"_metadata_lock_read",METADATA_LOCK_WRITE:"_metadata_lock_write",METADATA_READ:"_metadata_read",METADATA_SCHEMA_READ:"_metadata_schema_read",METADATA_SCHEMA_WRITE:"_metadata_schema_write",METADATA_WRITE:"_metadata_write",OTIF_ANALYZE:"_otif_analyze",OTIF_READ:"_otif_read",OTIF_WRITE:"_otif_write",PLACEHOLDER_NOTIFICATION_READ:"_placeholder_notification_read",PLACEHOLDER_NOTIFICATION_WRITE:"_placeholder_notification_write",PROJECTION_READ:"_projection_read",PROJECTION_WRITE:"_projection_write",QUOTA_NOTIFICATION_READ:"_quota_notification_read",QUOTA_NOTIFICATION_WRITE:"_quota_notification_write",QUOTA_READ:"_quota_read",QUOTA_WRITE:"_quota_write",RELATION_READ:"_relation_read",RELATION_WRITE:"_relation_write",RESOURCE_READ:"_resource_read",RESOURCE_WRITE:"_resource_write",RUN_AS:"_run_as",SEARCH:"_search",SEQUENCE_READ:"_sequence_read",SEQUENCE_WRITE:"_sequence_write",SHAPE_TAG_READ:"_shape_tag_read",SHAPE_TAG_WRITE:"_shape_tag_write",SITE_MANAGER:"_site_manager",SITE_RULE_READ:"_site_rule_read",SITE_RULE_WRITE:"_site_rule_write",STORAGE_GROUP_READ:"_storage_group_read",STORAGE_GROUP_WRITE:"_storage_group_write",STORAGE_NOTIFICATION_READ:"_storage_notification_read",STORAGE_NOTIFICATION_WRITE:"_storage_notification_write",STORAGE_READ:"_storage_read",STORAGE_RULE_READ:"_storage_rule_read",STORAGE_RULE_WRITE:"_storage_rule_write",STORAGE_WRITE:"_storage_write",SUPER_ACCESS_USER:"_super_access_user",TASKDEFINITION_READ:"_taskdefinition_read",TASKDEFINITION_WRITE:"_taskdefinition_write",THUMBNAIL_READ:"_thumbnail_read",THUMBNAIL_WRITE:"_thumbnail_write",TRANSCODER:"_transcoder",TRANSFER_READ:"_transfer_read",TRANSFER_WRITE:"_transfer_write",USER:"_user",VXA:"_vxa",VXA_READ:"_vxa_read"},xe=["stl_subtitle","stl_tti","stl_gsi","mrk_marker","pho_validation","pho_resource","pho_error","facedetect_rect","facedetect_face","originalTrackFilename","stl_gsiHeader"],ze=["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"],k=["uuid","user","timestamp","change","conflict","mode"],oe=["name","id","referenced","data","inheritance"],ae=[...k,"value","lang"],ce=[...k,...oe,"value","reference","type","track"],de=[...k,...oe,"cycle","field","group"],Y=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.value!==void 0,ue=e=>["string","boolean","number"].includes(typeof e),le=e=>Y(e)&&((e==null?void 0:e.value)===null||Y(e.value)||ue(e.value)),Je=e=>Object.prototype.toString.call(e)==="[object Object]",me=e=>Object.prototype.toString.call(e)==="[object Date]",_e=e=>e===null?!0:Array.isArray(e)?e.some(_e):ue(e)||le(e)||me(e),pe=e=>{const t=r=>Je(r)&&r.value===void 0&&!!Object.entries(e);return Array.isArray(e)?e.every(pe):t(e)},Xe=(e,t)=>e+(t.length>1?"s":""),fe=(e,t)=>{const r=e.filter(s=>!t.includes(s));if(r.length)throw Error(`Unsupported ${Xe("key",r)} (${r.join(", ")})`)},Te=e=>{if(Array.isArray(e))throw Error("Invalid value inside value object, cannot be array");return[void 0,null].includes(e)?{}:me(e)?{value:e.toISOString()}:{value:e.toString()}},qe=e=>{if(fe(Object.keys(e),ae),Object.keys(e).length===0)throw Error("Invalid value object, cannot be empty object");if(typeof(e==null?void 0:e.value)=="string")return e;const t=Te(e==null?void 0:e.value);return{...e,...t!==void 0?t:{}}},H=e=>{if(![void 0,null].includes(e))return Array.isArray(e)?e.flatMap(H):Y(e)?qe(e):Te(e)},Qe=e=>{fe(Object.keys(e),ce);const t=H(e==null?void 0:e.value);if(t===void 0){const{value:r,...s}=e;return s}return{...e,value:[...Array.isArray(t)?t:[t]]}},Ze=e=>{if(le(e))return Qe(e);const t=H(e);if(t!==void 0)return{value:[...Array.isArray(t)?t:[t]]}},Ee=e=>{const t=[],r=[];let s={};return Object.entries(e||{}).forEach(([n,i])=>{if(de.includes(n))s={...s,[n]:i};else if(_e(i))try{r.push({name:n,...Ze(i)})}catch(a){throw Error(a.message+(n?` for field "${n}"`:""))}else if(pe(i))(Array.isArray(i)?i:[i]).forEach(a=>{t.push({name:n,...Ee(a)})});else throw Error(`Unhandled value for "${n}"`)}),{...s,...t.length>0?{group:t}:{},...r.length>0?{field:r}:{}}},et=e=>{const{start:t="-INF",end:r="+INF",base:s=void 0,...n}=e,{group:i,field:a}=Ee(n);return{...i?{group:i}:{},...a?{field:a}:{},start:t.toString(),end:r.toString(),...s?{base:s}:{}}},tt=e=>({timespan:(Array.isArray(e)?e:[e||{}]).map(t=>et(t))}),rt=(e,t)=>{var n,i;const[r]=((n=e==null?void 0:e.start)==null?void 0:n.split("@"))||[],[s]=((i=t==null?void 0:t.start)==null?void 0:i.split("@"))||[];return Number(r)<Number(s)?-1:Number(r)>Number(s)?1:0},F=e=>Array.isArray(e)?e:e&&[e]||[],he=e=>Array.isArray(e)?e.pop():e,nt=e=>(e==null?void 0:e.every(t=>typeof t=="string"))||!1,Ae={includeValueAttributes:!1};function st(e,t){const{includeValueAttributes:r}={...Ae,...t||{}};if(r===!1)return e==null?void 0:e.value;const{value:s,...n}=e;return{...r===!0&&n||Array.isArray(r)&&Object.fromEntries(Object.entries(n).filter(([a])=>r.includes(a)))||{},value:s}}const Ie={...Ae,joinValue:void 0,arrayOnSingleValue:!0};function it(e,t){const{joinValue:r,arrayOnSingleValue:s,...n}={...Ie,...t||{}},i=e==null?void 0:e.map(a=>st(a,n));return nt(i)&&r?i==null?void 0:i.join(r):s!==!0&&(i==null?void 0:i.length)<=1?i==null?void 0:i[0]:i}const Oe={includeFieldAttributes:!1,...Ie},ot=(e,t)=>{const{includeFieldAttributes:r,...s}={...Oe,...t||{}},{value:n,...i}=e,a=it(n,s),o=r===!0&&i||Array.isArray(r)&&Object.fromEntries(Object.entries(i).filter(([c])=>r.includes(c)))||{};return r?{...o,value:a}:a},B={...Oe,fieldAsList:!1,arrayOnSingleField:!1,overrideField:void 0},K=(e,t)=>{const r={...B,...t||{}},{fieldAsList:s,arrayOnSingleField:n,overrideField:i}=r,a=i===!0&&s===!1,o={};return e==null||e.forEach(c=>{const{name:l}=c,d=ot(c,r),m=n===!0?F(d):d,p=o[l];p?a?o[l]=d:o[l]=[F(p),F(d)].flat():o[l]=m}),s===!0?Object.values(o).flat():o},Se={...B,includeGroupAttributes:!1,groupAsList:!1,arrayOnSingleGroup:!1,overrideGroup:void 0},at=(e,t)=>{const r={...Se,...t||{}},{includeGroupAttributes:s}=r,n=Object.fromEntries(Object.entries(r).filter(([m])=>Object.keys(B).includes(m))),{field:i,group:a,...o}=e,c=i&&K(i,n),l=a&&z(a,r);return{...s===!0&&o||Array.isArray(s)&&Object.fromEntries(Object.entries(o).filter(([m])=>s.includes(m)))||{},...n!=null&&n.fieldAsList?c&&{field:c}||{}:c,...r!=null&&r.groupAsList?l&&{group:l}||{}:l}},x=Se,z=(e,t)=>{const r={...x,...t||{}},{groupAsList:s,arrayOnSingleGroup:n,overrideGroup:i}=r,a=i===!0&&s===!1,o={};return e==null||e.forEach(c=>{const{name:l}=c,d=at(c,r),m=n===!0?F(d):d,p=o[l];p?a?o[l]=d:o[l]=[F(p),F(d)].flat():o[l]=m}),s?Object.values(o).flat():o},Re={...x,includeTimespanAttributes:!1,flat:!1,arrayOnSingle:!1,arrayOnSingleValue:!0,arrayOnSingleGroup:void 0,arrayOnSingleField:void 0},ge=(e,t)=>{const r={...Re,...t||{}},{includeTimespanAttributes:s,arrayOnSingle:n,flat:i}=r,a=Object.fromEntries(Object.entries(t).map(([u,_])=>{if(Object.keys(x).includes(u))return["arrayOnSingleGroup","arrayOnSingleField","arrayOnSingleValue"].includes(u)&&(_!==void 0?_:n===!0)?[u,!0]:["overrideGroup","overrideField"].includes(u)&&(_!==void 0?_:i===!0)?[u,!0]:[u,_]}).filter(u=>!!u)),o=Object.fromEntries(Object.entries(t).map(([u,_])=>{if(Object.keys(B).includes(u))return["arrayOnSingleField","arrayOnSingleValue"].includes(u)&&(_!==void 0?_:n===!0)?[u,!0]:["overrideField"].includes(u)&&(_!==void 0?_:i===!0)?[u,!0]:[u,_]}).filter(u=>!!u)),{field:c,group:l,...d}=e||{},m=c&&K(c,o),p=l&&z(l,a);return{...s===!0&&d||Array.isArray(s)&&Object.fromEntries(Object.entries(d).filter(([u])=>s.includes(u)))||{},...o!=null&&o.fieldAsList?{field:m}:m,...a!=null&&a.groupAsList?{group:p}:p}},J={...Re,timespanAsList:!1,joinTimespan:"_",sortTimespan:!1,flat:!1,flatTimespan:void 0},X=(e,t)=>{const r={...J,...t||{}},{timespanAsList:s,joinTimespan:n,sortTimespan:i,flat:a,flatTimespan:o,...c}=r,l={flat:a,...c};i&&e.sort(rt);const d=(o!==void 0?o===!0:a===!0)&&s===!1,m={};return e==null||e.forEach(p=>{const{start:T,end:u}=p,_=d?"flat":[T,u].join(n),E=ge(p,l),h=m[_];h?d?T==="-INF"&&u==="+INF"?m[_]={...he(h),...E}:m[_]={...E,...he(h)}:m[_]=[...F(h),E]:m[_]=E}),s===!0?Object.values(m):d?Object.values(m).pop():m},ct={...J,includeMetadataAttributes:!1,flat:!1};function dt(e,t){const r={...ct,...t||{}},{includeMetadataAttributes:s,flat:n}=r,{timespan:i=[],...a}=e||{},o=Object.fromEntries(Object.entries(t).map(([d,m])=>{if(Object.keys(J).includes(d))return["onlyGeneric","overrideGroup","overrideField"].includes(d)&&(m!==void 0?m:n===!0)?[d,!0]:[d,m]}).filter(d=>!!d)),c=X(i,o);return{...s===!0&&{...a,...a.revision?{revision:a.revision.split(",")}:{}}||Array.isArray(s)&&Object.fromEntries(Object.entries(a).map(([d,m])=>{if(s.includes(d))return[d,d==="revision"&&typeof m=="string"?m.split(","):m]}).filter(d=>!!d))||{},...o!=null&&o.timespanAsList?{timespan:c}:c}}const ut=e=>{const{field:t=[]}=e||{};return y(t)},q={PAL:{denominator:25,numerator:1},NTSC:{denominator:3e4,numerator:1001},NTSC30:{denominator:30,numerator:1},29.97:{denominator:3e4,numerator:1001},59.94:{denominator:6e4,numerator:1001},23.976:{denominator:48e3,numerator:2002},23.98:{denominator:48e3,numerator:2002}},be=Object.keys(q),Ne={toText:{constant:!1,fraction:!1},toRate:{fixed:!0,rounded:!1}};class O{constructor(t){this.numerator=1,this.denominator=1;const{numerator:r=1,denominator:s=1}=t||{};this.numerator=Number(r),this.denominator=Number(s)}toConstant(){let t;return Object.entries(q).find(r=>{const[s,n]=r,{numerator:i,denominator:a}=n;return i===this.numerator&&a===this.denominator?(t=s,!0):!1}),t}toText(t){const{constant:r,fraction:s}={...Ne.toText,...t};if(r){const i=this.toConstant();if(i)return i}return s||this.numerator>1?[this.denominator,this.numerator].join(":"):String(this.denominator)}toRate(t){const r=this.denominator/this.numerator;if(Number.isInteger(r))return r;const{rounded:s,fixed:n}={...Ne.toRate,...t||{}};return s?Math.round(r):n===!0||typeof n=="number"?Number(r.toFixed(typeof n=="boolean"?2:n)):r}toObject(){return{denominator:this.denominator,numerator:this.numerator}}toJson(){return console.warn("Deprecated - use toObject instead"),this.toObject()}}const j=e=>{if(e===void 0)return new O;if(typeof e=="number")return new O({denominator:e});if(typeof e=="string"&&e.includes(":")){const[t,r]=e.split(":");return new O({denominator:t,numerator:r})}if(be.includes(e))return new O(q[e]);if(!["string","number"].includes(typeof e)||Number.isNaN(Number(e)))throw new Error(`timeBaseText must be a number or ${be.join(",")} - is ${JSON.stringify(e)}`);return new O({denominator:Number(e)})},D=e=>new O(e),M=e=>e instanceof O?e:typeof e=="string"||typeof e=="number"?j(e):D(e),Q=e=>{const t=e.toConstant();return t==="59.94"&&4||["NTSC","29.97"].includes(t)&&2||void 0},ye=e=>Q(e)>0,Fe=e=>{const{samples:t,timeBase:r}=e,s=Q(r);if(!s)return 0;const n=r.toRate({rounded:!0}),i=60*n,a=60*n-s,o=10*(i-s)+s,c=Math.floor((t+1)/o),l=Math.max(0,(t+1)%o-i),d=Math.floor(l/a),p=l%a>0?s:0;return c*9*s+d*s+p},Z={conformTimeBase:{dropFrame:void 0,frameSeparator:void 0},toText:{constant:!1,fraction:!1,includeTimeBaseForSeconds:!1},toDuration:{format:void 0}};class b{constructor(t,r){this.samples=0,this.timeBase=new O;const{samples:s,timeBase:n}=t||{};if(s!==void 0)if(typeof s=="number")this.samples=s;else if(typeof s=="string")s==="-INF"?this.samples=-1/0:s==="+INF"?this.samples=1/0:this.samples=Number(s);else throw new Error(`samples is not number/string/-Inf/+Inf is: ${s}`);n!==void 0&&(n instanceof O?this.timeBase=n:this.timeBase=M(n)),this.dropFrame=(r==null?void 0:r.dropFrame)??ye(this.timeBase),this.frameSeparator=(r==null?void 0:r.frameSeparator)??(this.dropFrame?";":":")}add(t){if(!(t!=null&&t.timeBase)||(t==null?void 0:t.samples)===void 0)throw Error("Invalid timeCodeType, cannot be added");const{numerator:r,denominator:s}=(t==null?void 0:t.timeBase)||{};let n=t;(r!==this.timeBase.numerator||s!==this.timeBase.denominator)&&(n=t.conformTimeBase(this.timeBase));const{samples:i}=n;return new b({samples:this.samples+i,timeBase:this.timeBase})}subtract(t){if(!(t!=null&&t.timeBase)||(t==null?void 0:t.samples)===void 0)throw Error("Invalid timeCodeType, cannot be subtracted");const{timeBase:{numerator:r,denominator:s}={}}=t;let n=t;(r!==this.timeBase.numerator||s!==this.timeBase.denominator)&&(n=t.conformTimeBase(this.timeBase));const{samples:i}=n;return new b({samples:this.samples-i,timeBase:this.timeBase})}conformTimeBase(t,r){const s=t instanceof O?t:M(t),n=Math.floor(this.samples/(this.timeBase.toRate({fixed:!1})/s.toRate({fixed:!1}))),i={...Z.conformTimeBase,...r||{}};return new b({samples:n,timeBase:s},i)}toText(t){let r=`${this.samples}`;const s={...Z.toText,...t||{}},n=this.timeBase.toText(s);return(t!=null&&t.includeTimeBaseForSeconds||!["1","1:1"].includes(n))&&(r=[this.samples,n].join("@")),r}toUnits(){if(this.samples===1/0)return{hours:1/0,minutes:1/0,seconds:1/0,frames:1/0};const t=this.samples+(this.dropFrame?Fe(this):0);let r=this.timeBase.toRate({rounded:!0});["23.976","23.98"].includes(this.timeBase.toConstant())&&(r=this.timeBase.toRate({fixed:!0}));const s=Math.floor(t/(3600*r)),n=Math.floor(t/(60*r))%60,i=Math.floor(t/r)%60,a=Math.floor(t%r);return{hours:s,minutes:n,seconds:i,frames:a}}toTime(){const t=this.samples+Fe(this),{hours:r,minutes:s,seconds:n}=this.toUnits(),i=this.timeBase.toRate({rounded:!0}),a=t%i,o=Math.floor(1e3*a/i),c=a/i;return{hours:r,minutes:s,seconds:n,milliseconds:o,partialSeconds:c}}toSeconds(){const{numerator:t,denominator:r}=this.timeBase;return Math.round(1e3*+(this.samples*t/r))/1e3}toDuration(t){const{format:r}={...Z.toDuration,...t||{}},{hours:s,...n}=this.toTime();let{minutes:i,seconds:a,milliseconds:o}=n;if(r&&typeof r!="string")throw Error("format has to be a string");const c=(p,T)=>!r.includes(p)||!T.some(u=>r.includes(u)&&r.lastIndexOf(p)>r.indexOf(u));if(r&&!(c("h",["m","s","S"])&&c("m",["s","S"])&&c("s",["S"])))throw Error("format order is unsupported (has to be h, m, s then S)");if(!r)return`${s>0?`${s}:${`${i}`.padStart(2,"0")}`:i}:${`${a}`.padStart(2,"0")}`;const l=(p,T)=>{let u=p;for(;T[u]===T[u+1];)u+=1;return u-p+1},d=["h","m","s","S"],m=[];return[...r].forEach((p,T,u)=>{switch(p){case"h":{if(u[T-1]==="h")break;const _=l(T,u);m.push(`${s}`.padStart(_,"0")),d.includes(u[T+_])&&m.push(":");break}case"m":{if(u[T-1]==="m")break;const _=l(T,u);r.includes("h")||(i+=s*60),m.push(`${i}`.padStart(_,"0")),d.includes(u[T+_])&&m.push(":");break}case"s":{if(u[T-1]==="s")break;const _=l(T,u);r.includes("m")||(a+=i*60),m.push(`${a}`.padStart(_,"0")),d.includes(u[T+_])&&m.push(".");break}case"S":{if(u[T-1]==="S")break;const _=l(T,u);r.includes("s")||(o+=a*1e3),m.push(`${Math.round(o/10**(3-_))}`.padStart(_,"0"));break}default:m.push(p)}}),m.join("")}toSmpte(){if(this.samples===-1/0)return"00:00:00:00";const{hours:t,minutes:r,seconds:s,frames:n}=this.toUnits(),i=[t.toFixed().padStart(2,"0"),r.toFixed().padStart(2,"0"),s.toFixed().padStart(2,"0")].join(":"),a=Math.max(2,`${this.timeBase.toRate({rounded:!0})-1}`.length);return[i,`${n}`.padStart(a,"0")].join(this.frameSeparator)}toObject(){return{samples:this.samples,timeBase:this.timeBase.toObject()}}toJson(){return console.warn("Deprecated - use toObject instead"),this.toObject()}}const lt=(e,t)=>{let r=Math.abs(e),s=Math.abs(t);for(;r&&s&&r!==s;)r>s?[r,s]=[r-s,s]:[r,s]=[r,s-r];return r||s},De=(e,t)=>{const{timeBase:r,useGCD:s=!1,...n}=t||{},i=`${e}`.replace(/,/g,".");if(Number.isNaN(+i))throw new Error(`seconds must be digits, is ${e}`);let a=1,o;if(Number.isInteger(+i))o=+i*a;else{const[,l]=i.split("."),d=Math.min((l==null?void 0:l.length)??0,16);a*=10**d,o=Math.round(Number(i)*a)}if(r===void 0&&s){const l=lt(a,o);o/=l,a/=l}const c=new b({samples:o,timeBase:{denominator:a,numerator:1}},n);return r!==void 0?c.conformTimeBase(M(r),n):c},mt=([e,t,r,s],n,i)=>{const a=i.toRate({rounded:!0}),o=Q(i);if(n===0||!o)return 0;const c=t%10!==0,l=c&&r===0,d=e*(3600*a-54*o),m=t*60*a-(t-Math.ceil(t/10))*o,p=r*a-(c&&r>1?o:0);if(l&&s<o)throw new Error(`Frame does not exist for ${i.toConstant()||i.toRate()} drop-frame`);const T=l?s-o:s,u=d+m+p+T;return n-u},ee=(e,t,r)=>{const[s,n,i,a]=e,o=t.toRate({rounded:!0}),c=s*3600*o+n*60*o+i*o+a;return c-(r?mt(e,c,t):0)},_t=e=>{const[t]=(e==null?void 0:e.match(/[^0-9:\-_]/))||[];let r=[];if(t){const[n,i]=e.split(t);r=[...n.split(":"),i]}else r=e.split(":");if(r.length!==4)throw new Error('Invalid format, must be "##:##:##:##');if(r.some(n=>Number.isNaN(n)))throw new Error("Invalid format, values must be numbers");const s=t||":";return{smpteValues:r.map(Number),smpteFrameSeparator:s}},pt=["error","add","ignore"],ft={exceedingMode:"error",timeBase:void 0,dropFrame:void 0,frameSeparator:void 0},Me=(e,t)=>{const{exceedingMode:r,timeBase:s,...n}={...ft,...t};if([null,void 0].includes(e))throw new Error("smpte cannot be undefined or null");if(typeof e!="string")throw new Error(`smpte must be a string, is ${JSON.stringify(e)}`);const{smpteValues:i,smpteFrameSeparator:a}=_t(e),o=M(s),c={...n,frameSeparator:(n==null?void 0:n.frameSeparator)||a,...(n==null?void 0:n.dropFrame)===void 0?{dropFrame:s!==void 0?ye(o):[";",","].includes(a)}:{}},l=o.toRate({rounded:!0}),d=Math.max(0,l-1);if(i.some(p=>p<0))throw new Error("Negative values are not supported");let m;switch(r){case"error":{const[p,T,u,_]=i;if(p>=100||T>=60)throw Error("Minutes has to be less than 60");if(u>=60)throw Error("Seconds has to be less than 60");if(_>d)throw Error(`Frames has to be less or equal to ${d}`);m=ee(i,o,c==null?void 0:c.dropFrame);break}case"ignore":{const[p,T,u,_]=i,E=[Math.min(100,p),Math.min(59,T),Math.min(59,u),Math.min(d,_)];m=ee(E,o,c==null?void 0:c.dropFrame);break}case"add":{m=ee(i,o,c==null?void 0:c.dropFrame);break}default:throw new Error(`Invalid exceedingMode, options are ${JSON.stringify(pt)}`)}return new b({samples:m,timeBase:o},c)},Tt={timeBase:void 0,dropFrame:void 0,frameSeparator:void 0},w=(e,t)=>{const{timeBase:r,...s}={...Tt,...t};let n;if(e===void 0)n={samples:0};else if(typeof e=="number")n={samples:e};else if(e.includes("@")){const[a,o]=e.split("@");n={samples:Number(a),timeBase:j(o)}}else e==="-INF"?n={samples:-1/0}:e==="+INF"?n={samples:1/0}:n={samples:Number(e)};if(Number.isNaN(n==null?void 0:n.samples)||n.timeBase&&!(n.timeBase instanceof O))throw new Error(`timeCodeText must be a number or sample@timeBase - is ${e}`);const i=new b(n,s);return r?i.conformTimeBase(M(r),s):i},Et={dropFrame:void 0,frameSeparator:void 0},v=(e,t)=>new b(e,{...Et,...t}),ht=e=>!!e.match(/^(\d\d+):(\d\d+):(\d\d+)(:|;|\.|,)(\d\d+)$/),At=e=>!Number.isNaN(Number(e)),L=(e,t)=>{if(e instanceof b)return e;if(typeof e!="string"&&typeof e!="number")return v(e,t);if(typeof e=="string"&&ht(e))return Me(e,t);if(["string","number"].includes(typeof e)&&At(e))return De(e,t);if(typeof e=="string")return w(e,t)};function ve({hours:e=0,minutes:t=0,seconds:r=0,partialSeconds:s=0}){const n=e.toFixed().padStart(2,"0"),i=t.toFixed().padStart(2,"0"),a=r.toFixed().padStart(2,"0"),o=(s*10).toFixed().padStart(3,"0");return`${n}:${i}:${a}.${o}`}const It={subtitleGroup:"stl_subtitle",subtitleField:"stl_text"},Ot=(e,t)=>{const{subtitleGroup:r,subtitleField:s}={...It,...t||{}},{timespan:n=[]}=e||{};return n.length===0?"":`WEBVTT
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
${X(n,{includeTimespanAttributes:!0,sortTimespan:!0,timespanAsList:!0,overrideGroup:!0,joinValue:","}).map(o=>{const{start:c,end:l,[r]:{[s]:d}={}}=(Array.isArray(o)?o[0]:o)||{};if(!d)return"";const m=ve(w(c).toTime()),p=ve(w(l).toTime());return`${m} --> ${p} line:0%\r${d}\r`}).join(`
|
|
5
|
-
`)}`},St={count:!0,exclude:!0},Rt=(e=[],t={})=>{const r={...St,...t},{count:s,exclude:n}=r;return e.map(i=>typeof i=="string"?{field:i,name:i,count:s,...n===!0?{exclude:[i]}:{}}:i)},gt=(e=[])=>e==null?void 0:e.map(({name:t,field:r,count:s,range:n})=>({facetName:t,fieldName:r,count:s==null?void 0:s.reduce((i,{fieldValue:a,value:o})=>({...i,[a]:o}),{}),...n?{range:n.map(({value:i,start:a,end:o})=>({start:Number.isNaN(+a)?a:Number(a),end:Number.isNaN(+o)?o:Number(o),count:Number(i)||0}))}:{}})),bt=(e=[])=>{const t={};return e.forEach(({name:r,field:s,count:n})=>{t[r||s]=n.reduce((i,{fieldValue:a,value:o})=>({...i,[a]:o}),{})}),t},Ce={arrayOnSingle:!0,joinValue:void 0,timespanAsList:!1},W=(e,t)=>{const{arrayOnSingle:r=!0,joinValue:s=void 0,timespanAsList:n=!1}={...Ce,...t||{}},{field:i=[],start:a,end:o}=e||{},c=n?{start:a,end:o}:{};return i.reduce((d,m)=>{const{name:p,value:T=[]}=m;if(T.length===0)return d;let u;return r===!1&&T.length===1?[u]=T:s?u=T.join(s):u=T,{...d,[p]:u}},c)},Nt={...Ce,timespanAsList:!1,joinTimespan:"_",flat:!1,flatTimespan:!1},yt=(e=[],t)=>{const{timespanAsList:r,joinTimespan:s="_",flat:n,flatTimespan:i,...a}={...Nt,...t||{}};return r===!0?e.map(o=>W(o,{...a,timespanAsList:r})):n===!0||i===!0?e.reduce((o,c)=>({...o,...W(c,t)}),{}):e.reduce((o,c)=>({...o,[[c.start,c.end].join(s)]:W(c,t)}),{})},we=(e,t)=>{const r=L(t).toSeconds(),{thumbnails:s={}}=e||{},{uri:n=[]}=s,i=n.map(o=>{const c=o.split("/").pop().split("?").shift();return w(c).toSeconds()}),a=i.reduce((o,c,l)=>Math.abs(c-r)<Math.abs(i[o]-r)?l:o,0);return n[a]},Le={includeGroupMetadata:!1,flatEvents:!1,includeEntityType:!1,includeNearestThumbnail:!1},Ft=({start:e,end:t,group:r=[{id:"unknown",name:"unknown"}]})=>{const[{id:s,name:n}]=r,i=L(e).toSeconds(),a=L(t).toSeconds();return{start:e,end:t,startSeconds:i,endSeconds:a,group:{uuid:s,name:n}}},Dt=(e={},t)=>{const{entry:r=[]}=e,s={...Le,...t||{}},{includeGroupMetadata:n,flatEvents:i,includeEntityType:a,includeNearestThumbnail:o}=s,c=r.map(l=>{const{type:d,item:{metadata:m={},id:p,thumbnails:T={}}={},timespan:u,item:_}=l;let E=u.map(h=>Ft(h));if(o&&d==="Item"&&T.uri&&(E=E.map(h=>{const{start:A}=h,I=we(_,L(A));return{...h,thumbnail:I}})),n&&d==="Item"){const{timespan:h=[]}=m,A=h.flatMap(I=>I.group);if(A.length>0){const I=E.map(O=>{const{group:{uuid:C}}=O,[G]=C.split("/"),{field:ne=[],group:se=[]}=A.find(({uuid:$})=>$===G);return{...O,group:{...O.group,field:ne,group:se}}});return{entityType:"Item",entityId:p,events:I.sort((O,C)=>O.startSeconds-C.startSeconds),...a?{itemType:_}:{}}}}return{entityType:d==="Item"?"Item":"Collection",entityId:p,events:E.sort((h,A)=>h.startSeconds-A.startSeconds),...a&&d==="Item"?{itemType:_}:{},...a&&d==="Collection"?{collectionType:_}:{}}});return i?c.flatMap(({events:l,entityType:d,entityId:m,itemType:p,collectionType:T})=>l.map(u=>({...u,entityType:d,entityId:m,...p&&{itemType:p},...T&&{collectionType:T}}))).sort((l,d)=>l.startSeconds-d.startSeconds):c},Mt=(e="NOW")=>{if(e.startsWith("NOW")){if(e==="NOW")return new Date;const t=e[3],r=Number(e.match(/(\d+)/)[0]),s=e.match(/(\d.*)/)[0].replace(/\d/g,""),n=new Date;switch(s){case"HOUR":case"HOURS":t==="+"&&n.setHours(n.getHours()+r),t==="-"&&n.setHours(n.getHours()-r);break;case"DAY":case"DAYS":t==="+"&&n.setDate(n.getDate()+r),t==="-"&&n.setDate(n.getDate()-r);break;case"MONTH":case"MONTHS":t==="+"&&n.setMonth(n.getMonth()+r),t==="-"&&n.setMonth(n.getMonth()-r);break;case"YEAR":case"YEARS":t==="+"&&n.setFullYear(n.getFullYear()+r),t==="-"&&n.setFullYear(n.getFullYear()-r);break}return n}return new Date(e)},P=e=>{const{property:t=[],...r}=e||{};return{...N(t),...r}},vt=e=>P(e),Ct=e=>P(e),wt={kB:"kHz",B:"Hz",mB:"mHz"},Be={kB:"kbps",B:"bps",MB:"mbps"},je=e=>{var E;const{timeBase:t,channelCount:r,codec:s,mediaInfo:n,bitrate:i,metadata:a}=e,o=vt(n),{Format:c,Resolution:l,Bit_rate_mode:d}=o,m=N(a||[]),p=t!=null&&t.denominator?((t==null?void 0:t.denominator)||1)/((t==null?void 0:t.numerator)||1):void 0,T=p!==void 0?g.filesize(p,{base:10,round:1,symbols:wt}):void 0;let u,_;return i!==void 0&&(u=g.filesize(i,{round:2,symbols:Be}),_=Number((E=g.filesize(i,{exponent:1,symbols:Be}).split(" kbps"))==null?void 0:E[0])),{audioFormat:c,audioCodec:s,audioSamplerate:T,audioSamplerateSamples:p,audioBitDepth:l,audioBitrate:u,audioBitrateKbps:_,audioBitRateMode:d,audioChannels:r,audioMediaInfo:o,audioMetadata:m}},Lt={NONE:"NONE",OPEN:"OPEN",CLOSED:"CLOSED",UNKNOWN:"UNKNOWN",MISSING:"MISSING",LOST:"LOST",TO_APPEAR:"TO_APPEAR",TO_BE_DELETED:"TO_BE_DELETED",BEING_READ:"BEING_READ",ARCHIVED:"ARCHIVED",AWAITING_SYNC:"AWAITING_SYNC"},te=e=>{const{uri:t=[],size:r,hash:s,path:n,id:i,storage:a}=e,[o]=t,c=r!==void 0?g.filesize(r,{base:2,standard:"jedec"}):"",l=(n==null?void 0:n.split("/"))||[],d=l.pop()||"",m=l.map(p=>`${p}/`).join("")||void 0;return{uri:o,hash:s,fileSize:c,fileSizeBytes:r,path:n,fileName:d,fileId:i,storageId:a,folderPath:m}},We=(e={})=>{const{file:t,mediaInfo:r,metadata:s=[]}=e,n=N(s),i=P(r);let a={binaryMetadata:n,binaryMediaInfo:i};if(t){const[o]=t,c=te(o);a={...a,...c}}return a},Pe=(e={})=>{const{mediaInfo:t,metadata:r,file:s,duration:n,startTimestamp:i,startTimecode:a,timeCodeTimeBase:o}=e,c=N(r||[]),l=P(t);let{Format:d}=l;const{Video_Format_List:m,Audio_Format_List:p,Text_Format_List:T}=l;if(d===void 0){const{format:_}=e;d=_,_&&_.includes(",")&&([d]=_.split(","))}let u={containerFormat:d,videoFormat:m,audioFormat:p,textFormat:T,containerMetadata:c,containerMediaInfo:l};if(c.componentOriginalFilename&&(u.originalFilename=c.componentOriginalFilename),n!==void 0&&n.samples!==0){const _=M(n);u.durationTimeCode=_.toObject(),u.duration=_.toDuration()}if(i&&(u.startTimestamp=M(i).toObject()),a!==void 0&&o&&(u.startTimecode=M({samples:a,timeBase:o})),s){const[_]=s,E=te(_);u={...u,...E}}return u},Ue={kB:"kbps",B:"bps",MB:"mbps"},Ge=(e={})=>{var Ye;const{codec:t,bitrate:r,fieldOrder:s,resolution:n,mediaInfo:i,metadata:a=[]}=e,o=Ct(i),c=N(a),{Format:l,"Frame rate":d,"Color space":m,"Color primaries":p,Colorimetry:T}=o;let u;const{averageFrameRate:_,realBaseFrameRate:E}=e;E!==void 0?u=F({numerator:E.denominator,denominator:E.numerator}):d!==void 0?u=j(d):_!==void 0&&(u=F({numerator:_.denominator,denominator:_.numerator}));let{"Frame count":h}=o;if(h===void 0){const{numberOfPackets:He}=e;He!==void 0&&(h=He.toString())}let A,I,O;h&&u&&(A=M({samples:h,timeBase:u}),I=A.timeBase.toConstant()||A.timeBase.toRate(),O=A.toSmpte());const{height:C,width:G}=n||{},ne=V(n),se=`${G}x${C}`;let $,ke;return r!==void 0&&($=g.filesize(r,{round:2,symbols:Ue}),ke=Number((Ye=g.filesize(r,{exponent:2,symbols:Ue}).split(" mbps"))==null?void 0:Ye[0])),{videoFormat:l,dimension:se,frameRate:I,height:C,width:G,timeBase:u,timeCode:A,videoCodec:t,smpte:O,videoBitrate:$,videoBitrateMbps:ke,fieldOrder:s,colorSpace:m,chromaSubsampling:T,aspectRatio:ne,colorPrimaries:p,videoMetadata:c,videoMediaInfo:o}},re=(e={})=>{let t={};const{containerComponent:r,videoComponent:s,audioComponent:n,binaryComponent:i,mimeType:a=[],tag:o=[]}=e;if([t.tag]=o,[t.mimeType]=a,r){const c=Pe(r);t={...t,...c}}if(s){const[c]=s,l=Ge(c);t={...t,...l}}if(n){const[c]=n,l=je(c);t={...t,...l}}if(i){const[c]=i,l=We(c);t={...t,...l}}return t},v={PDF:"PDF",TEXT:"TEXT",MSWORD:"MSWORD",JSON:"JSON",XML:"XML"},R={IMAGE:"IMAGE",AUDIO:"AUDIO",VIDEO:"VIDEO",DOCUMENT:"DOCUMENT",BINARY:"BINARY"},Bt=(e={})=>{const{mimeType:t}=e,r=Array.isArray(t)?t[0]:t;if(r){if(r.endsWith("/pdf"))return v.PDF;if(r.startsWith("text/"))return v.TEXT;if(r.endsWith("/msword"))return v.MSWORD;if(r.endsWith("/json"))return v.JSON;if(r.endsWith("/xml"))return v.XML}},jt=["image/apng","image/bmp","image/gif","image/jpeg","image/x-icon","image/png","image/svg+xml"],Wt=["video/mp4"],Pt=["audio/mp4","audio/mpeg","audio/x-aac","audio/aac","audio/x-wav","audio/wav","audio/accp","audio/ogg","audio/webm","audio/x-flac"],Ut=[...Wt,...jt,...Pt],Gt=["http","https"],$t="video/mp4",Vt="video/quicktime",kt="video/x-m4v",Yt="MPEG-4",Ht="mov",Kt="h264",U=["__mp4","__mp3_160k","__png","__jpeg","__gif","original"].reverse(),$e=({parsedShape:{tag:e}},{parsedShape:{tag:t}})=>U.includes(e)||U.includes(t)?U.indexOf(t)-U.indexOf(e):e.toLowerCase().localeCompare(t.toLowerCase()),xt=(e,t)=>{const{allowedMimeTypes:r=Ut,allowedMethods:s=Gt,sortPriority:n=$e,sourceKey:i="src",mimeTypeKey:a="type",shapeKey:o="shape",parsedShapeKey:c="parsedShape"}=t||{},{shape:l=[]}=e||{},d=l.reduce((m,p)=>{let T,u;const _=re(p),{uri:E,mimeType:h,containerFormat:A,videoCodec:I}=_;if(h&&(T=h,(h===Vt||h===kt)&&(A===Yt||A===Ht)&&I===Kt&&(T=$t)),E)if(s){const[O]=E.split("://");s.includes(O)&&(u=E)}else u=E;return u&&r.includes(T)&&m.push({[i]:u,[a]:T,[o]:p,[c]:_}),m},[]);return typeof n=="function"&&d.sort($e),d},zt=e=>{const t=re(e),{mimeType:r,videoCodec:s,audioCodec:n}=t;if(r){if(r.startsWith("audio/")&&n!==void 0)return R.AUDIO;if(r.startsWith("video/")){if(s!==void 0)return R.VIDEO;if(n!==void 0)return R.AUDIO}if(r.startsWith("image/"))return R.IMAGE;if(r.endsWith("/pdf")||r.startsWith("text/")||r.endsWith("/msword")||r.endsWith("/json")||r.endsWith("/xml"))return R.DOCUMENT;if(r.endsWith("/octet-stream"))return R.BINARY}},Ve=e=>{const t={},{outputSetting:r=[]}=e||{};if(r.length===0)return t;const s=JSON.parse(r[0]),{Settings:{ContainerSettings:n,VideoDescription:i,AudioDescriptions:a}={}}=s;if(n&&(t.containerFormat=n.Container),i){const{CodecSettings:o={}}=i,{Codec:c,...l}=o;t.videoFormat=c;const{Height:d,Width:m}=i;t.height=d,t.width=m,d&&m&&(t.dimension=`${m}x${d}`,t.aspectRatio=V({height:d,width:m}));const[p]=Object.values(l);if(p){t.fieldOrder=p.InterlaceMode,t.fieldOrder&&t.fieldOrder.includes("TOP")&&(t.fieldOrder="interlaced"),t.videoBitrate=p.Bitrate;const T=p.FramerateDenominator,u=p.FramerateNumerator,_=F({denominator:u,numerator:T});t.timeBase=_,t.frameRate=_.toConstant()||_.toRate()}}if(a&&a.length>0){const{CodecSettings:o={}}=a[0],{Codec:c,...l}=o;t.audioFormat=c;const[d]=Object.values(l);d&&(t.audioSamplerate=d.SampleRate,t.audioBitrate=d.Bitrate,t.audioBitRateMode=d.RateControlMode)}return t},Jt=e=>{const t={},{description:r,format:s,audio:n,video:i,mediaconvert:a}=e||{};if(a)return{description:r,...Ve(a)};if(t.description=r,t.containerFormat=s,i){if(t.videoFormat=i.codec,t.videoBitrate=i.bitrate,i.framerate){const o=F(i.framerate);t.timeBase=o,t.frameRate=o.toConstant()||o.toRate()}if(i.scaling){const{height:o,width:c}=i.scaling;t.height=o,t.width=c,o&&c&&(t.dimension=`${c}x${o}`,t.aspectRatio=V({height:o,width:c}))}}if(n){const{codec:o,channel:c}=n;t.audioFormat=o,c&&(t.audioChannels=c.length)}return t},Xt=e=>{if(!e)return;const{name:t,type:r,defaultValue:s,stringRestriction:n,floatRestriction:i,integerRestriction:a,longRestriction:o,data:c,values:l}=e,{minLength:d,maxLength:m,pattern:p}=n||{},{minInclusive:T,maxInclusive:u}=i||a||o||{},_=((l==null?void 0:l.field)||[]).map(({key:I,value:O})=>({label:O??I,value:I})),h=(I=>Object.fromEntries(Object.entries(I).filter(([,O])=>O!==void 0)))({min:T,max:u,minLength:d,maxLength:m,pattern:p?new RegExp(p):void 0}),A=N(c);return{name:t,type:r,defaultValue:s,required:T!==void 0||d!==void 0&&d>0,restrictions:h,data:A,options:_}},qt=e=>e==null?void 0:e.map(Xt).filter(t=>!!t),Qt=["date","float","integer","long","string","string-exact","boolean","timeCode"];f.DOCUMENT_TYPES=v,f.FIELD_ATTRIBUTE_KEYS=ce,f.FIELD_DEFINITION_TYPES=Qt,f.FIELD_VALUE_ATTRIBUTE_KEYS=ae,f.FILE_STATES=Lt,f.GROUP_ATTRIBUTE_KEYS=de,f.ROLE_NAMES=Ke,f.SHAPE_MEDIA_TYPES=R,f.SYSTEM_FIELDGROUPS=xe,f.SYSTEM_FIELDS=ze,f.TimeBase=S,f.TimeCode=b,f.createMetadataType=tt,f.createSearchFacetList=Rt,f.createTimeBase=D,f.createTimeCode=L,f.defaultOptions=Le,f.filterShapeSource=xt,f.findNearestThumbnail=we,f.formatTimeBaseText=j,f.formatTimeBaseType=F,f.formatTimeCodeSeconds=De,f.formatTimeCodeSmpte=Me,f.formatTimeCodeText=w,f.formatTimeCodeType=M,f.getShapeDocumentType=Bt,f.getShapeMediaType=zt,f.metadataTypeToWebVtt=Ot,f.parseAudioComponent=je,f.parseBinaryComponent=We,f.parseContainerComponent=Pe,f.parseFacetList=gt,f.parseFacetType=bt,f.parseFieldDefinitionList=qt,f.parseFieldList=K,f.parseFileType=te,f.parseGroupList=z,f.parseHighlightTimespan=W,f.parseHighlightTimespanList=yt,f.parseKeyValuePairType=N,f.parseMediaConvertPreset=Ve,f.parseMetadataType=dt,f.parseNowDate=Mt,f.parseSearchResultEvents=Dt,f.parseShapeType=re,f.parseSimpleMetadataType=ut,f.parseTimespan=ge,f.parseTimespanList=X,f.parseTranscodePreset=Jt,f.parseVideoComponent=Ge,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
`)}`},St={count:!0,exclude:!0},Rt=(e=[],t={})=>{const r={...St,...t},{count:s,exclude:n}=r;return e.map(i=>typeof i=="string"?{field:i,name:i,count:s,...n===!0?{exclude:[i]}:{}}:i)},gt=(e=[])=>e==null?void 0:e.map(({name:t,field:r,count:s,range:n})=>({facetName:t,fieldName:r,count:s==null?void 0:s.reduce((i,{fieldValue:a,value:o})=>({...i,[a]:o}),{}),...n?{range:n.map(({value:i,start:a,end:o})=>({start:Number.isNaN(+a)?a:Number(a),end:Number.isNaN(+o)?o:Number(o),count:Number(i)||0}))}:{}})),bt=(e=[])=>{const t={};return e.forEach(({name:r,field:s,count:n})=>{t[r||s]=n.reduce((i,{fieldValue:a,value:o})=>({...i,[a]:o}),{})}),t},Ce={arrayOnSingle:!0,joinValue:void 0,timespanAsList:!1},W=(e,t)=>{const{arrayOnSingle:r=!0,joinValue:s=void 0,timespanAsList:n=!1}={...Ce,...t||{}},{field:i=[],start:a,end:o}=e||{},c=n?{start:a,end:o}:{};return i.reduce((d,m)=>{const{name:p,value:T=[]}=m;if(T.length===0)return d;let u;return r===!1&&T.length===1?[u]=T:s?u=T.join(s):u=T,{...d,[p]:u}},c)},Nt={...Ce,timespanAsList:!1,joinTimespan:"_",flat:!1,flatTimespan:!1},yt=(e=[],t)=>{const{timespanAsList:r,joinTimespan:s="_",flat:n,flatTimespan:i,...a}={...Nt,...t||{}};return r===!0?e.map(o=>W(o,{...a,timespanAsList:r})):n===!0||i===!0?e.reduce((o,c)=>({...o,...W(c,t)}),{}):e.reduce((o,c)=>({...o,[[c.start,c.end].join(s)]:W(c,t)}),{})},we=(e,t)=>{const r=L(t).toSeconds(),{thumbnails:s={}}=e||{},{uri:n=[]}=s,i=n.map(o=>{const c=o.split("/").pop().split("?").shift();return w(c).toSeconds()}),a=i.reduce((o,c,l)=>Math.abs(c-r)<Math.abs(i[o]-r)?l:o,0);return n[a]},Le={includeGroupMetadata:!1,flatEvents:!1,includeEntityType:!1,includeNearestThumbnail:!1},Ft=({start:e,end:t,group:r=[{id:"unknown",name:"unknown"}]})=>{const[{id:s,name:n}]=r,i=L(e).toSeconds(),a=L(t).toSeconds();return{start:e,end:t,startSeconds:i,endSeconds:a,group:{uuid:s,name:n}}},Dt=(e={},t)=>{const{entry:r=[]}=e,s={...Le,...t||{}},{includeGroupMetadata:n,flatEvents:i,includeEntityType:a,includeNearestThumbnail:o}=s,c=r.map(l=>{const{type:d,item:{metadata:m={},id:p,thumbnails:T={}}={},timespan:u,item:_}=l;let E=u.map(h=>Ft(h));if(o&&d==="Item"&&T.uri&&(E=E.map(h=>{const{start:A}=h,S=we(_,L(A));return{...h,thumbnail:S}})),n&&d==="Item"){const{timespan:h=[]}=m,A=h.flatMap(S=>S.group);if(A.length>0){const S=E.map(I=>{const{group:{uuid:N}}=I,[G]=N.split("/"),{field:ne=[],group:se=[]}=A.find(({uuid:$})=>$===G);return{...I,group:{...I.group,field:ne,group:se}}});return{entityType:"Item",entityId:p,events:S.sort((I,N)=>I.startSeconds-N.startSeconds),...a?{itemType:_}:{}}}}return{entityType:d==="Item"?"Item":"Collection",entityId:p,events:E.sort((h,A)=>h.startSeconds-A.startSeconds),...a&&d==="Item"?{itemType:_}:{},...a&&d==="Collection"?{collectionType:_}:{}}});return i?c.flatMap(({events:l,entityType:d,entityId:m,itemType:p,collectionType:T})=>l.map(u=>({...u,entityType:d,entityId:m,...p&&{itemType:p},...T&&{collectionType:T}}))).sort((l,d)=>l.startSeconds-d.startSeconds):c},Mt=(e="NOW")=>{if(e.startsWith("NOW")){if(e==="NOW")return new Date;const t=e[3],r=Number(e.match(/(\d+)/)[0]),s=e.match(/(\d.*)/)[0].replace(/\d/g,""),n=new Date;switch(s){case"HOUR":case"HOURS":t==="+"&&n.setHours(n.getHours()+r),t==="-"&&n.setHours(n.getHours()-r);break;case"DAY":case"DAYS":t==="+"&&n.setDate(n.getDate()+r),t==="-"&&n.setDate(n.getDate()-r);break;case"MONTH":case"MONTHS":t==="+"&&n.setMonth(n.getMonth()+r),t==="-"&&n.setMonth(n.getMonth()-r);break;case"YEAR":case"YEARS":t==="+"&&n.setFullYear(n.getFullYear()+r),t==="-"&&n.setFullYear(n.getFullYear()-r);break}return n}return new Date(e)},P=e=>{const{property:t=[],...r}=e||{};return{...y(t),...r}},vt=e=>P(e),Ct=e=>P(e),wt={kB:"kHz",B:"Hz",mB:"mHz"},Be={kB:"kbps",B:"bps",MB:"mbps"},je=e=>{var E;const{timeBase:t,channelCount:r,codec:s,mediaInfo:n,bitrate:i,metadata:a}=e,o=vt(n),{Format:c,Resolution:l,Bit_rate_mode:d}=o,m=y(a||[]),p=t!=null&&t.denominator?((t==null?void 0:t.denominator)||1)/((t==null?void 0:t.numerator)||1):void 0,T=p!==void 0?g.filesize(p,{base:10,round:1,symbols:wt}):void 0;let u,_;return i!==void 0&&(u=g.filesize(i,{round:2,symbols:Be}),_=Number((E=g.filesize(i,{exponent:1,symbols:Be}).split(" kbps"))==null?void 0:E[0])),{audioFormat:c,audioCodec:s,audioSamplerate:T,audioSamplerateSamples:p,audioBitDepth:l,audioBitrate:u,audioBitrateKbps:_,audioBitRateMode:d,audioChannels:r,audioMediaInfo:o,audioMetadata:m}},Lt={NONE:"NONE",OPEN:"OPEN",CLOSED:"CLOSED",UNKNOWN:"UNKNOWN",MISSING:"MISSING",LOST:"LOST",TO_APPEAR:"TO_APPEAR",TO_BE_DELETED:"TO_BE_DELETED",BEING_READ:"BEING_READ",ARCHIVED:"ARCHIVED",AWAITING_SYNC:"AWAITING_SYNC"},te=e=>{const{uri:t=[],size:r,hash:s,path:n,id:i,storage:a}=e,[o]=t,c=r!==void 0?g.filesize(r,{base:2,standard:"jedec"}):"",l=(n==null?void 0:n.split("/"))||[],d=l.pop()||"",m=l.map(p=>`${p}/`).join("")||void 0;return{uri:o,hash:s,fileSize:c,fileSizeBytes:r,path:n,fileName:d,fileId:i,storageId:a,folderPath:m}},We=(e={})=>{const{file:t,mediaInfo:r,metadata:s=[]}=e,n=y(s),i=P(r);let a={binaryMetadata:n,binaryMediaInfo:i};if(t){const[o]=t,c=te(o);a={...a,...c}}return a},Pe=(e={})=>{const{mediaInfo:t,metadata:r,file:s,duration:n,startTimestamp:i,startTimecode:a,timeCodeTimeBase:o}=e,c=y(r||[]),l=P(t);let{Format:d}=l;const{Video_Format_List:m,Audio_Format_List:p,Text_Format_List:T}=l;if(d===void 0){const{format:_}=e;d=_,_&&_.includes(",")&&([d]=_.split(","))}let u={containerFormat:d,videoFormat:m,audioFormat:p,textFormat:T,containerMetadata:c,containerMediaInfo:l};if(c.componentOriginalFilename&&(u.originalFilename=c.componentOriginalFilename),n!==void 0&&n.samples!==0){const _=v(n);u.durationTimeCode=_.toObject(),u.duration=_.toDuration()}if(i&&(u.startTimestamp=v(i).toObject()),a!==void 0&&o&&(u.startTimecode=v({samples:a,timeBase:o})),s){const[_]=s,E=te(_);u={...u,...E}}return u},Ue={kB:"kbps",B:"bps",MB:"mbps"},Ge=(e={})=>{var Ye;const{codec:t,bitrate:r,fieldOrder:s,resolution:n,mediaInfo:i,metadata:a=[]}=e,o=Ct(i),c=y(a),{Format:l,"Frame rate":d,"Color space":m,"Color primaries":p,Colorimetry:T}=o;let u;const{averageFrameRate:_,realBaseFrameRate:E}=e;E!==void 0?u=D({numerator:E.denominator,denominator:E.numerator}):d!==void 0?u=j(d):_!==void 0&&(u=D({numerator:_.denominator,denominator:_.numerator}));let{"Frame count":h}=o;if(h===void 0){const{numberOfPackets:He}=e;He!==void 0&&(h=He.toString())}let A,S,I;h&&u&&(A=v({samples:h,timeBase:u}),S=A.timeBase.toConstant()||A.timeBase.toRate(),I=A.toSmpte());const{height:N,width:G}=n||{},ne=V(n),se=`${G}x${N}`;let $,ke;return r!==void 0&&($=g.filesize(r,{round:2,symbols:Ue}),ke=Number((Ye=g.filesize(r,{exponent:2,symbols:Ue}).split(" mbps"))==null?void 0:Ye[0])),{videoFormat:l,dimension:se,frameRate:S,height:N,width:G,timeBase:u,timeCode:A,videoCodec:t,smpte:I,videoBitrate:$,videoBitrateMbps:ke,fieldOrder:s,colorSpace:m,chromaSubsampling:T,aspectRatio:ne,colorPrimaries:p,videoMetadata:c,videoMediaInfo:o}},re=(e={})=>{let t={};const{containerComponent:r,videoComponent:s,audioComponent:n,binaryComponent:i,mimeType:a=[],tag:o=[]}=e;if([t.tag]=o,[t.mimeType]=a,r){const c=Pe(r);t={...t,...c}}if(s){const[c]=s,l=Ge(c);t={...t,...l}}if(n){const[c]=n,l=je(c);t={...t,...l}}if(i){const[c]=i,l=We(c);t={...t,...l}}return t},C={PDF:"PDF",TEXT:"TEXT",MSWORD:"MSWORD",JSON:"JSON",XML:"XML"},R={IMAGE:"IMAGE",AUDIO:"AUDIO",VIDEO:"VIDEO",DOCUMENT:"DOCUMENT",BINARY:"BINARY"},Bt=(e={})=>{const{mimeType:t}=e,r=Array.isArray(t)?t[0]:t;if(r){if(r.endsWith("/pdf"))return C.PDF;if(r.startsWith("text/"))return C.TEXT;if(r.endsWith("/msword"))return C.MSWORD;if(r.endsWith("/json"))return C.JSON;if(r.endsWith("/xml"))return C.XML}},jt=["image/apng","image/bmp","image/gif","image/jpeg","image/x-icon","image/png","image/svg+xml"],Wt=["video/mp4"],Pt=["audio/mp4","audio/mpeg","audio/x-aac","audio/aac","audio/x-wav","audio/wav","audio/accp","audio/ogg","audio/webm","audio/x-flac"],Ut=[...Wt,...jt,...Pt],Gt=["http","https"],$t="video/mp4",Vt="video/quicktime",kt="video/x-m4v",Yt="MPEG-4",Ht="mov",Kt="h264",U=["__mp4","__mp3_160k","__png","__jpeg","__gif","original"].reverse(),$e=({parsedShape:{tag:e}},{parsedShape:{tag:t}})=>U.includes(e)||U.includes(t)?U.indexOf(t)-U.indexOf(e):e.toLowerCase().localeCompare(t.toLowerCase()),xt=(e,t)=>{const{allowedMimeTypes:r=Ut,allowedMethods:s=Gt,sortPriority:n=$e,sourceKey:i="src",mimeTypeKey:a="type",shapeKey:o="shape",parsedShapeKey:c="parsedShape"}=t||{},{shape:l=[]}=e||{},d=l.reduce((m,p)=>{let T,u;const _=re(p),{uri:E,mimeType:h,containerFormat:A,videoCodec:S}=_;if(h&&(T=h,(h===Vt||h===kt)&&(A===Yt||A===Ht)&&S===Kt&&(T=$t)),E)if(s){const[I]=E.split("://");s.includes(I)&&(u=E)}else u=E;return u&&r.includes(T)&&m.push({[i]:u,[a]:T,[o]:p,[c]:_}),m},[]);return typeof n=="function"&&d.sort($e),d},zt=e=>{const t=re(e),{mimeType:r,videoCodec:s,audioCodec:n}=t;if(r){if(r.startsWith("audio/")&&n!==void 0)return R.AUDIO;if(r.startsWith("video/")){if(s!==void 0)return R.VIDEO;if(n!==void 0)return R.AUDIO}if(r.startsWith("image/"))return R.IMAGE;if(r.endsWith("/pdf")||r.startsWith("text/")||r.endsWith("/msword")||r.endsWith("/json")||r.endsWith("/xml"))return R.DOCUMENT;if(r.endsWith("/octet-stream"))return R.BINARY}},Ve=e=>{const t={},{outputSetting:r=[]}=e||{};if(r.length===0)return t;const s=JSON.parse(r[0]),{Settings:{ContainerSettings:n,VideoDescription:i,AudioDescriptions:a}={}}=s;if(n&&(t.containerFormat=n.Container),i){const{CodecSettings:o={}}=i,{Codec:c,...l}=o;t.videoFormat=c;const{Height:d,Width:m}=i;t.height=d,t.width=m,d&&m&&(t.dimension=`${m}x${d}`,t.aspectRatio=V({height:d,width:m}));const[p]=Object.values(l);if(p){t.fieldOrder=p.InterlaceMode,t.fieldOrder&&t.fieldOrder.includes("TOP")&&(t.fieldOrder="interlaced"),t.videoBitrate=p.Bitrate;const T=p.FramerateDenominator,u=p.FramerateNumerator,_=D({denominator:u,numerator:T});t.timeBase=_,t.frameRate=_.toConstant()||_.toRate()}}if(a&&a.length>0){const{CodecSettings:o={}}=a[0],{Codec:c,...l}=o;t.audioFormat=c;const[d]=Object.values(l);d&&(t.audioSamplerate=d.SampleRate,t.audioBitrate=d.Bitrate,t.audioBitRateMode=d.RateControlMode)}return t},Jt=e=>{const t={},{description:r,format:s,audio:n,video:i,mediaconvert:a}=e||{};if(a)return{description:r,...Ve(a)};if(t.description=r,t.containerFormat=s,i){if(t.videoFormat=i.codec,t.videoBitrate=i.bitrate,i.framerate){const o=D(i.framerate);t.timeBase=o,t.frameRate=o.toConstant()||o.toRate()}if(i.scaling){const{height:o,width:c}=i.scaling;t.height=o,t.width=c,o&&c&&(t.dimension=`${c}x${o}`,t.aspectRatio=V({height:o,width:c}))}}if(n){const{codec:o,channel:c}=n;t.audioFormat=o,c&&(t.audioChannels=c.length)}return t},Xt=e=>{if(!e)return;const{name:t,type:r,defaultValue:s,stringRestriction:n,floatRestriction:i,integerRestriction:a,longRestriction:o,data:c,values:l,system:d}=e,{minLength:m,maxLength:p,pattern:T}=n||{},{minInclusive:u,maxInclusive:_}=i||a||o||{},E=((l==null?void 0:l.field)||[]).map(({key:I,value:N})=>({label:N??I,value:I})),A=(I=>Object.fromEntries(Object.entries(I).filter(([,N])=>N!==void 0)))({min:u,max:_,minLength:m,maxLength:p,pattern:T?new RegExp(T):void 0}),S=y(c);return{name:t,type:r,defaultValue:s,required:u!==void 0||m!==void 0&&m>0,restrictions:A,data:S,options:E,system:d==="true"}},qt=e=>e==null?void 0:e.map(Xt).filter(t=>!!t),Qt=["date","float","integer","long","string","string-exact","boolean","timeCode"];f.DOCUMENT_TYPES=C,f.FIELD_ATTRIBUTE_KEYS=ce,f.FIELD_DEFINITION_TYPES=Qt,f.FIELD_VALUE_ATTRIBUTE_KEYS=ae,f.FILE_STATES=Lt,f.GROUP_ATTRIBUTE_KEYS=de,f.ROLE_NAMES=Ke,f.SHAPE_MEDIA_TYPES=R,f.SYSTEM_FIELDGROUPS=xe,f.SYSTEM_FIELDS=ze,f.TimeBase=O,f.TimeCode=b,f.createMetadataType=tt,f.createSearchFacetList=Rt,f.createTimeBase=M,f.createTimeCode=L,f.defaultOptions=Le,f.filterShapeSource=xt,f.findNearestThumbnail=we,f.formatTimeBaseText=j,f.formatTimeBaseType=D,f.formatTimeCodeSeconds=De,f.formatTimeCodeSmpte=Me,f.formatTimeCodeText=w,f.formatTimeCodeType=v,f.getShapeDocumentType=Bt,f.getShapeMediaType=zt,f.metadataTypeToWebVtt=Ot,f.parseAudioComponent=je,f.parseBinaryComponent=We,f.parseContainerComponent=Pe,f.parseFacetList=gt,f.parseFacetType=bt,f.parseFieldDefinitionList=qt,f.parseFieldList=K,f.parseFileType=te,f.parseGroupList=z,f.parseHighlightTimespan=W,f.parseHighlightTimespanList=yt,f.parseKeyValuePairType=y,f.parseMediaConvertPreset=Ve,f.parseMetadataType=dt,f.parseNowDate=Mt,f.parseSearchResultEvents=Dt,f.parseShapeType=re,f.parseSimpleMetadataType=ut,f.parseTimespan=ge,f.parseTimespanList=X,f.parseTranscodePreset=Jt,f.parseVideoComponent=Ge,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vidispine/vdt-js",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.4.0-pre.1",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -37,26 +37,26 @@
|
|
|
37
37
|
"format": "prettier . --check"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@vidispine/types": "23.
|
|
41
|
-
"filesize": "^10.0.
|
|
40
|
+
"@vidispine/types": "23.4.0-pre.1",
|
|
41
|
+
"filesize": "^10.0.12"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@vidispine/eslint-config-base": "23.
|
|
45
|
-
"@vidispine/eslint-config-mdx": "23.
|
|
46
|
-
"@vidispine/eslint-config-storybook": "23.
|
|
47
|
-
"@vidispine/eslint-config-typescript": "23.
|
|
48
|
-
"@vidispine/tests": "23.
|
|
49
|
-
"@vidispine/types": "23.
|
|
44
|
+
"@vidispine/eslint-config-base": "23.4.0-pre.1",
|
|
45
|
+
"@vidispine/eslint-config-mdx": "23.4.0-pre.1",
|
|
46
|
+
"@vidispine/eslint-config-storybook": "23.4.0-pre.1",
|
|
47
|
+
"@vidispine/eslint-config-typescript": "23.4.0-pre.1",
|
|
48
|
+
"@vidispine/tests": "23.4.0-pre.1",
|
|
49
|
+
"@vidispine/types": "23.4.0-pre.1",
|
|
50
50
|
"concurrently": "7.6.0",
|
|
51
|
-
"eslint": "8.
|
|
52
|
-
"eslint-plugin-testing-library": "5.
|
|
53
|
-
"prettier": "2.8.
|
|
51
|
+
"eslint": "8.48.0",
|
|
52
|
+
"eslint-plugin-testing-library": "5.11.1",
|
|
53
|
+
"prettier": "2.8.8",
|
|
54
54
|
"rimraf": "3.0.2",
|
|
55
|
-
"typedoc": "0.23.
|
|
55
|
+
"typedoc": "0.23.28",
|
|
56
56
|
"typedoc-plugin-missing-exports": "1.0.0",
|
|
57
57
|
"typescript": "4.9.5",
|
|
58
|
-
"vite": "4.
|
|
59
|
-
"vite-plugin-dts": "3.
|
|
58
|
+
"vite": "4.4.9",
|
|
59
|
+
"vite-plugin-dts": "3.5.3"
|
|
60
60
|
},
|
|
61
61
|
"eslintConfig": {
|
|
62
62
|
"extends": [
|