@pixwel/pixwel-sdk 2.1.17 → 2.1.19
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/coverage/clover.xml +261 -261
- package/coverage/coverage-final.json +4 -4
- package/coverage/lcov-report/Ass.js.html +1 -1
- package/coverage/lcov-report/Asset.js.html +1 -1
- package/coverage/lcov-report/AssetType.js.html +1 -1
- package/coverage/lcov-report/Encode.js.html +1 -1
- package/coverage/lcov-report/File.js.html +13 -13
- package/coverage/lcov-report/Filename.js.html +1 -1
- package/coverage/lcov-report/Ingest.js.html +441 -441
- package/coverage/lcov-report/IngestFile.js.html +1 -1
- package/coverage/lcov-report/Model.js.html +24 -24
- package/coverage/lcov-report/Order.js.html +25 -25
- package/coverage/lcov-report/Srt.js.html +1 -1
- package/coverage/lcov-report/Sub.js.html +1 -1
- package/coverage/lcov-report/Tag.js.html +1 -1
- package/coverage/lcov-report/TimeFormat.js.html +1 -1
- package/coverage/lcov-report/fileType.js.html +1 -1
- package/coverage/lcov-report/index.html +44 -44
- package/coverage/lcov.info +495 -495
- package/dist/src/Ingest.js +8 -8
- package/package.json +1 -1
- package/src/Ingest.js +8 -8
- package/test/Ingest.spec.js +15 -19
- package/test/mocks/mediainfo-4x3.mock.js +76 -0
- package/test/mocks/mediainfo.mock.js +1 -1
- package/test/mocks/mediainfo.mxf.mock.js +1 -1
- package/test/mocks/mediainfo.png.mock.js +1 -1
- package/test/mocks/prores.mock.js +1 -1
- package/dist/Ass.js +0 -206
- package/dist/Asset.js +0 -49
- package/dist/AssetType.js +0 -45
- package/dist/Encode.js +0 -45
- package/dist/File.js +0 -45
- package/dist/Filename.js +0 -23
- package/dist/Ingest.js +0 -734
- package/dist/IngestFile.js +0 -18
- package/dist/Model.js +0 -580
- package/dist/Order.js +0 -70
- package/dist/Srt.js +0 -97
- package/dist/Sub.js +0 -46
- package/dist/Tag.js +0 -45
- package/dist/TimeFormat.js +0 -53
- package/dist/fileType.js +0 -39
- package/dist/index.d.ts +0 -16
package/dist/src/Ingest.js
CHANGED
|
@@ -327,19 +327,19 @@ var Ingest = function (_Model) {
|
|
|
327
327
|
|
|
328
328
|
var tags = {};
|
|
329
329
|
|
|
330
|
-
if (!info.
|
|
331
|
-
throw "missing info.
|
|
330
|
+
if (!info.media) {
|
|
331
|
+
throw "missing info.media";
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
if (!info.
|
|
335
|
-
throw "missing info.
|
|
334
|
+
if (!info.media.track) {
|
|
335
|
+
throw "missing info.media.track";
|
|
336
336
|
}
|
|
337
337
|
|
|
338
338
|
var general = void 0;
|
|
339
|
-
if (!Array.isArray(info["
|
|
340
|
-
general = info["
|
|
339
|
+
if (!Array.isArray(info["media"]["track"])) {
|
|
340
|
+
general = info["media"]["track"];
|
|
341
341
|
} else {
|
|
342
|
-
general = _lodash2.default.find(info["
|
|
342
|
+
general = _lodash2.default.find(info["media"]["track"], { _type: "General" });
|
|
343
343
|
}
|
|
344
344
|
|
|
345
345
|
switch (mediaType) {
|
|
@@ -366,7 +366,7 @@ var Ingest = function (_Model) {
|
|
|
366
366
|
ScanType: ""
|
|
367
367
|
};
|
|
368
368
|
|
|
369
|
-
var media = _lodash2.default.find(info["
|
|
369
|
+
var media = _lodash2.default.find(info["media"]["track"], {
|
|
370
370
|
_type: mediaType
|
|
371
371
|
});
|
|
372
372
|
media = _lodash2.default.merge({}, mediainfoDefaults, media);
|
package/package.json
CHANGED
package/src/Ingest.js
CHANGED
|
@@ -302,19 +302,19 @@ export default class Ingest extends Model {
|
|
|
302
302
|
|
|
303
303
|
let tags = {};
|
|
304
304
|
|
|
305
|
-
if (!info.
|
|
306
|
-
throw "missing info.
|
|
305
|
+
if (!info.media) {
|
|
306
|
+
throw "missing info.media";
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
if (!info.
|
|
310
|
-
throw "missing info.
|
|
309
|
+
if (!info.media.track) {
|
|
310
|
+
throw "missing info.media.track";
|
|
311
311
|
}
|
|
312
312
|
|
|
313
313
|
let general;
|
|
314
|
-
if (!Array.isArray(info["
|
|
315
|
-
general = info["
|
|
314
|
+
if (!Array.isArray(info["media"]["track"])) {
|
|
315
|
+
general = info["media"]["track"];
|
|
316
316
|
} else {
|
|
317
|
-
general = _.find(info["
|
|
317
|
+
general = _.find(info["media"]["track"], { _type: "General" });
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
switch (mediaType) {
|
|
@@ -341,7 +341,7 @@ export default class Ingest extends Model {
|
|
|
341
341
|
ScanType: ""
|
|
342
342
|
};
|
|
343
343
|
|
|
344
|
-
let media = _.find(info["
|
|
344
|
+
let media = _.find(info["media"]["track"], {
|
|
345
345
|
_type: mediaType
|
|
346
346
|
});
|
|
347
347
|
media = _.merge({}, mediainfoDefaults, media);
|
package/test/Ingest.spec.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Ingest, Order } from "../index";
|
|
2
2
|
|
|
3
3
|
import mock from "./mocks/mediainfo.mock";
|
|
4
|
+
import mock4x3 from "./mocks/mediainfo-4x3.mock";
|
|
4
5
|
import proresMock from "./mocks/prores.mock";
|
|
5
6
|
import pngMock from "./mocks/mediainfo.png.mock";
|
|
6
7
|
import mxfMock from "./mocks/mediainfo.mxf.mock";
|
|
@@ -698,19 +699,14 @@ describe("Ingest", () => {
|
|
|
698
699
|
language: "ENG",
|
|
699
700
|
country: "WW",
|
|
700
701
|
tags: {
|
|
701
|
-
Extra: [],
|
|
702
|
-
SubDub: {
|
|
703
|
-
sub: null,
|
|
704
|
-
dub: null
|
|
705
|
-
},
|
|
706
|
-
Resolution: "720x486",
|
|
707
|
-
Codec: "prores",
|
|
708
|
-
"Frame Mode": "progressive",
|
|
709
|
-
Framerate: "23.98",
|
|
710
702
|
Standard: "ntsc",
|
|
711
|
-
Usage: "broadcast",
|
|
712
703
|
Aspect: "16:9",
|
|
713
|
-
|
|
704
|
+
Resolution: "1920x1080",
|
|
705
|
+
"Frame Mode": "progressive",
|
|
706
|
+
Framerate: "29.97",
|
|
707
|
+
Text: "txtd",
|
|
708
|
+
Extra: ["COMING-SOON", "HOJE"],
|
|
709
|
+
Codec: "PRORES"
|
|
714
710
|
}
|
|
715
711
|
}
|
|
716
712
|
}
|
|
@@ -721,7 +717,7 @@ describe("Ingest", () => {
|
|
|
721
717
|
let extension = "mp4";
|
|
722
718
|
let name = ingest.renderFilename({ allTags, allTypes, extension });
|
|
723
719
|
expect(name).toBe(
|
|
724
|
-
"TESTPROJECT_ITR-TEST-ASSET-
|
|
720
|
+
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_COMING-SOON_HOJE_PRORES_NTSC-16X9_1080p2997.mp4"
|
|
725
721
|
);
|
|
726
722
|
});
|
|
727
723
|
it("renders `set` tags when all tags in `set` are specified but retains `codec`", function() {
|
|
@@ -1037,7 +1033,7 @@ describe("Ingest", () => {
|
|
|
1037
1033
|
}
|
|
1038
1034
|
},
|
|
1039
1035
|
mediainfo: {
|
|
1040
|
-
|
|
1036
|
+
media: { track: {} }
|
|
1041
1037
|
},
|
|
1042
1038
|
selected: {
|
|
1043
1039
|
download: {
|
|
@@ -1319,7 +1315,7 @@ describe("Ingest", () => {
|
|
|
1319
1315
|
});
|
|
1320
1316
|
});
|
|
1321
1317
|
describe("mapFromMediainfo", () => {
|
|
1322
|
-
it("should throw exception if missing
|
|
1318
|
+
it("should throw exception if missing media object", () => {
|
|
1323
1319
|
let meta = {};
|
|
1324
1320
|
expect(() => {
|
|
1325
1321
|
let ingest = new Ingest({
|
|
@@ -1327,20 +1323,20 @@ describe("Ingest", () => {
|
|
|
1327
1323
|
mediainfo: meta
|
|
1328
1324
|
});
|
|
1329
1325
|
let info = ingest.mapFromMediainfo();
|
|
1330
|
-
}).toThrow("missing info.
|
|
1326
|
+
}).toThrow("missing info.media");
|
|
1331
1327
|
});
|
|
1332
|
-
it("should throw exception if missing
|
|
1333
|
-
let meta = {
|
|
1328
|
+
it("should throw exception if missing media.track object", () => {
|
|
1329
|
+
let meta = { media: {} };
|
|
1334
1330
|
expect(() => {
|
|
1335
1331
|
let ingest = new Ingest({
|
|
1336
1332
|
source: { mediaType: "video" },
|
|
1337
1333
|
mediainfo: meta
|
|
1338
1334
|
});
|
|
1339
1335
|
let info = ingest.mapFromMediainfo();
|
|
1340
|
-
}).toThrow("missing info.
|
|
1336
|
+
}).toThrow("missing info.media.track");
|
|
1341
1337
|
});
|
|
1342
1338
|
it("should return empty object of tags if no metadata supplied", () => {
|
|
1343
|
-
let meta = {
|
|
1339
|
+
let meta = { media: { track: {} } };
|
|
1344
1340
|
let ingest = new Ingest({
|
|
1345
1341
|
source: { mediaType: "video" },
|
|
1346
1342
|
mediainfo: meta
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
|
|
2
|
+
module.exports = {
|
|
3
|
+
File: {
|
|
4
|
+
track: [
|
|
5
|
+
{
|
|
6
|
+
Complete_name:
|
|
7
|
+
"https://slurpee3-encode-bucket.s3.us-west-2.amazonaws.com/encoded/5d729ee130c5782b008b456e.mov?AWSAccessKeyId=ASIA6POTFMFMZCJQFKMU&Expires=1567796481&Signature=LgyMuh65spyyt%2F%2FSyOnr4Jxqs0g%3D&x-amz-security-token=AgoJb3JpZ2luX2VjEKr%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJHMEUCIQDieWUmrxT0AzYzVxzFv%2FPPorrdWtMNQwGo8L9UdlGvgQIgW7JgNXI5uU3fmv1DWCatjm8A17HvMucz6%2BvamgIlxRAqmwIIYxAAGgw5OTUyNjQ2NTE2MDkiDBnCi08PK03Wx7FM4Cr4AZKz6X7mA%2B4uRPysQxLquVuGhm%2BT3y5LN0naVSJri79wGtMskSHTGcLSO1mR5YMJgPM%2BLG%2BK1O8UdxohgNitGYgdsSvVKqUYQoVbRFvCkwMtxHVUuh37rBgjug26BkfyWm7F9dJEuLDP2YMIshhP0Iys81dX%2BU6p7tuA2KDY10Or0%2Bo6j3OgvKezwnL40aFM3bLR7Mjc7CcwKIeUj3%2FLADhlAfxxd4jVHCNyYs8d0oXE689PWhAUjqnLfm5s7sG5dR7bJhq8Bgv%2BrdbVcvKODOg2y33JsweUXJG0hnydMACnsOjJmUxgE7hlrVkBz%2BKE5aYgNOF7w8%2FSMPC9yusFOrQB90%2BMdanLrtCez%2Bl9fg5Eas3sNdg9Kflg4MxGZ70yU6ukLKGILmi1fneLBa2CxR1UrtOJJiT5ECRrUY68RdRq4OlZRrSXW5AxTjyn2KLn5OVPHY8VcxfwdkxzQbxmDyoFGWSnsch5nS5LU0snKRQe4h7dGUYLNnWsUR5PceG9dZJeORP6YXHtB%2FmVG%2Fv0AlpGo8Z7qXicVMLL6MuPPT3bPa%2BVKb%2FrZCWF5jw5l1kjHx%2FxzmzS",
|
|
8
|
+
Format: "MPEG-4",
|
|
9
|
+
Format_profile: "QuickTime",
|
|
10
|
+
Codec_ID: "qt 2005.03 (qt )",
|
|
11
|
+
File_size: "8.03 MiB",
|
|
12
|
+
Duration: "1 s 68 ms",
|
|
13
|
+
Overall_bit_rate_mode: "Variable",
|
|
14
|
+
Overall_bit_rate: "63.1 Mb/s",
|
|
15
|
+
Encoded_date: "UTC 2019-09-06 18:01:18",
|
|
16
|
+
Tagged_date: "UTC 2019-09-06 18:01:18",
|
|
17
|
+
FileExtension_Invalid:
|
|
18
|
+
"mov mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4v",
|
|
19
|
+
_type: "General"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
ID: "1",
|
|
23
|
+
Format: "ProRes",
|
|
24
|
+
Format_version: "Version 0",
|
|
25
|
+
Format_profile: "422 HQ",
|
|
26
|
+
Codec_ID: "apch",
|
|
27
|
+
Duration: "1 s 68 ms",
|
|
28
|
+
Bit_rate_mode: "Variable",
|
|
29
|
+
Bit_rate: "61.2 Mb/s",
|
|
30
|
+
Width: "720 pixels",
|
|
31
|
+
Clean_aperture_width: "704 pixels",
|
|
32
|
+
Height: "486 pixels",
|
|
33
|
+
Clean_aperture_height: "480 pixels",
|
|
34
|
+
Display_aspect_ratio: "4:3",
|
|
35
|
+
Clean_aperture_display_aspect_ratio: "4:3",
|
|
36
|
+
Frame_rate_mode: "Constant",
|
|
37
|
+
Frame_rate: "29.970 (30000/1001) FPS",
|
|
38
|
+
Standard: "NTSC",
|
|
39
|
+
Color_space: "YUV",
|
|
40
|
+
Chroma_subsampling: "4:2:2",
|
|
41
|
+
Scan_type: "Progressive",
|
|
42
|
+
Bits__Pixel_Frame_: "5.833",
|
|
43
|
+
Stream_size: "7.79 MiB (97%)",
|
|
44
|
+
Writing_library: "ael0",
|
|
45
|
+
Language: "English",
|
|
46
|
+
Encoded_date: "UTC 2019-09-06 18:01:18",
|
|
47
|
+
Tagged_date: "UTC 2019-09-06 18:01:18",
|
|
48
|
+
Color_primaries: "BT.709",
|
|
49
|
+
Transfer_characteristics: "BT.709",
|
|
50
|
+
Matrix_coefficients: "BT.709",
|
|
51
|
+
matrix_coefficients_Original: "BT.601",
|
|
52
|
+
_type: "Video"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
ID: "2",
|
|
56
|
+
Format: "PCM",
|
|
57
|
+
Format_settings__Endianness: "Little",
|
|
58
|
+
Format_settings__Sign: "Signed",
|
|
59
|
+
Codec_ID: "lpcm",
|
|
60
|
+
Duration: "1 s 61 ms",
|
|
61
|
+
Bit_rate_mode: "Constant",
|
|
62
|
+
Bit_rate: "1 536 kb/s",
|
|
63
|
+
Channel_s_: "2 channels",
|
|
64
|
+
Channel_positions: "Front: L R",
|
|
65
|
+
Sampling_rate: "48.0 kHz",
|
|
66
|
+
Bit_depth: "16 bits",
|
|
67
|
+
Stream_size: "199 KiB (2%)",
|
|
68
|
+
Language: "English",
|
|
69
|
+
Encoded_date: "UTC 2019-09-06 18:01:18",
|
|
70
|
+
Tagged_date: "UTC 2019-09-06 18:01:18",
|
|
71
|
+
_type: "Audio"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
_version: "0.7.92.1"
|
|
76
|
+
};
|
package/dist/Ass.js
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
11
|
-
|
|
12
|
-
var _TimeFormat = _interopRequireDefault(require("./TimeFormat"));
|
|
13
|
-
|
|
14
|
-
function trim(str) {
|
|
15
|
-
return str.replace(/^\s+|\s+$/g, '');
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function searchIndex(lines, pattern, startIndex) {
|
|
19
|
-
var len = lines.length;
|
|
20
|
-
startIndex = startIndex || 0;
|
|
21
|
-
|
|
22
|
-
for (var i = startIndex; i < len; i++) {
|
|
23
|
-
var line = lines[i];
|
|
24
|
-
|
|
25
|
-
if (line.match(pattern)) {
|
|
26
|
-
return i;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function extractStyles(lines) {
|
|
34
|
-
var line,
|
|
35
|
-
styles = {};
|
|
36
|
-
var currentIndex = searchIndex(lines, /^\[V4\+ Styles\]$/);
|
|
37
|
-
|
|
38
|
-
if (currentIndex === false) {
|
|
39
|
-
return styles;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
currentIndex = searchIndex(lines, /^Format:/, ++currentIndex);
|
|
43
|
-
|
|
44
|
-
if (currentIndex === false) {
|
|
45
|
-
return styles;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
line = trim(lines[currentIndex]);
|
|
49
|
-
var fields = line.replace(/^Format:\s+/, '').split(/\s*,\s*/);
|
|
50
|
-
var nameIndex = fields.indexOf('Name');
|
|
51
|
-
var alignmentIndex = fields.indexOf('Alignment');
|
|
52
|
-
|
|
53
|
-
if (nameIndex === -1) {
|
|
54
|
-
return styles;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
var pattern = new RegExp('^' + new Array(fields.length).join('\s*(.*?)\s*,') + '(.*?)$');
|
|
58
|
-
currentIndex = searchIndex(lines, /^Style:/, ++currentIndex);
|
|
59
|
-
|
|
60
|
-
while (currentIndex !== false) {
|
|
61
|
-
line = trim(lines[currentIndex]);
|
|
62
|
-
var parts = line.replace(/^Style:\s+/, '').match(pattern);
|
|
63
|
-
|
|
64
|
-
if (!parts) {
|
|
65
|
-
throw new Error('Error, missing fields in a `Style` entry');
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (parts.length) {
|
|
69
|
-
var style = {};
|
|
70
|
-
|
|
71
|
-
if (alignmentIndex !== -1) {
|
|
72
|
-
var alignmentNumber = parts[alignmentIndex + 1];
|
|
73
|
-
style.alignment = alignmentNumber >= 7 ? 'top' : 'bottom';
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
styles[parts[nameIndex + 1]] = style;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
currentIndex = searchIndex(lines, /^Style:/, ++currentIndex);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return styles;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
var _default = {
|
|
86
|
-
parse: function parse(lines) {
|
|
87
|
-
var line;
|
|
88
|
-
var currentIndex = 0;
|
|
89
|
-
|
|
90
|
-
function normalizeTime(time) {
|
|
91
|
-
if (time.charAt(1) === ':') {
|
|
92
|
-
time = '0' + time;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return time.replace('.', ',') + '0';
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function normalizeText(text) {
|
|
99
|
-
return text.replace(/\\n|\\N/, '\n').replace(/{\\(.*)1}(.*){\\\1[0]}/g, function (match, tag, content) {
|
|
100
|
-
return '<' + tag + '>' + content + '</' + tag + '>';
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
var styles = extractStyles(lines);
|
|
105
|
-
currentIndex = searchIndex(lines, /^\[Events\]$/);
|
|
106
|
-
|
|
107
|
-
if (currentIndex === false) {
|
|
108
|
-
throw new Error('Error, missing `[Events]` section');
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
currentIndex = searchIndex(lines, /^Format:/, ++currentIndex);
|
|
112
|
-
|
|
113
|
-
if (currentIndex === false) {
|
|
114
|
-
throw new Error('Error, missing `Format` entry');
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
line = trim(lines[currentIndex]);
|
|
118
|
-
var fields = line.replace(/^Format:\s+/, '').split(/\s*,\s*/);
|
|
119
|
-
var startIndex = fields.indexOf('Start');
|
|
120
|
-
var endIndex = fields.indexOf('End');
|
|
121
|
-
var styleIndex = fields.indexOf('Style');
|
|
122
|
-
var textIndex = fields.indexOf('Text');
|
|
123
|
-
|
|
124
|
-
if (startIndex === -1 || endIndex === -1 || textIndex === -1) {
|
|
125
|
-
throw new Error('Error, missing fields in a `Format` entry');
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
var result = [];
|
|
129
|
-
var pattern = new RegExp('^' + new Array(fields.length).join('\s*(.*?)\s*,') + '(.*?)$');
|
|
130
|
-
currentIndex = searchIndex(lines, /^Dialogue:/, ++currentIndex);
|
|
131
|
-
|
|
132
|
-
while (currentIndex !== false) {
|
|
133
|
-
line = trim(lines[currentIndex]);
|
|
134
|
-
var parts = line.replace(/^Dialogue:\s+/, '').match(pattern);
|
|
135
|
-
|
|
136
|
-
if (!parts) {
|
|
137
|
-
throw new Error('Error, missing fields in a `Dialogue` entry');
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (parts.length) {
|
|
141
|
-
var entry = {
|
|
142
|
-
startTime: normalizeTime(parts[startIndex + 1]),
|
|
143
|
-
stopTime: normalizeTime(parts[endIndex + 1]),
|
|
144
|
-
text: normalizeText(parts[textIndex + 1]),
|
|
145
|
-
alignment: 'bottom'
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
if (styleIndex !== -1) {
|
|
149
|
-
var style = styles[parts[styleIndex + 1]];
|
|
150
|
-
|
|
151
|
-
if (style && style.alignment) {
|
|
152
|
-
entry.alignment = style.alignment;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
result.push(entry);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
currentIndex = searchIndex(lines, /^Dialogue:/, ++currentIndex);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
return result;
|
|
163
|
-
},
|
|
164
|
-
"export": function _export(lines, options) {
|
|
165
|
-
var result = '';
|
|
166
|
-
options = options || {};
|
|
167
|
-
var font = options.font || {
|
|
168
|
-
face: 'Arial',
|
|
169
|
-
size: 20
|
|
170
|
-
};
|
|
171
|
-
result += "[Script Info]\n";
|
|
172
|
-
result += "ScriptType: v4.00+\n\n";
|
|
173
|
-
result += "[V4+ Styles]\n";
|
|
174
|
-
result += "Format: Name, Fontname, Fontsize, PrimaryColour,Shadow,MarginV,Alignment\n";
|
|
175
|
-
result += "Style: Bottom," + font.face + "," + font.size + ",&H00FFFFFF,1,20,2\n";
|
|
176
|
-
result += "Style: Top," + font.face + "," + font.size + ",&H00FFFFFF,1,20,8\n\n";
|
|
177
|
-
result += "[Events]\n";
|
|
178
|
-
result += "Format: Layer, Start, End, Style, Text\n";
|
|
179
|
-
|
|
180
|
-
function normalizeTime(time) {
|
|
181
|
-
if (time.charAt(0) === '0') {
|
|
182
|
-
time = time.substr(1);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return time.replace(',', '.').slice(0, -1);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
function normalizeText(text) {
|
|
189
|
-
return _lodash["default"].unescape(text.replace(/<div>/g, '\\N').replace(/<\/div>/g, '').replace(/\n/g, '\\N').replace(/<br>/g, '\\N').replace(/<i>/g, '{\\i1}').replace(/<\/i>/g, '{\\i0}').replace(/<b>/g, '{\\b1}').replace(/<\/b>/g, '{\\b0}'));
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
lines.forEach(function (line) {
|
|
193
|
-
if (line.text === undefined) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
result += "Dialogue: 0";
|
|
198
|
-
result += "," + normalizeTime(_TimeFormat["default"].startTime(line));
|
|
199
|
-
result += "," + normalizeTime(_TimeFormat["default"].stopTime(line));
|
|
200
|
-
result += line.alignment === 'top' ? ",Top" : ",Bottom";
|
|
201
|
-
result += "," + normalizeText(line.text) + "\n";
|
|
202
|
-
});
|
|
203
|
-
return result;
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
exports["default"] = _default;
|
package/dist/Asset.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var Asset =
|
|
15
|
-
/*#__PURE__*/
|
|
16
|
-
function () {
|
|
17
|
-
function Asset() {
|
|
18
|
-
(0, _classCallCheck2["default"])(this, Asset);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
(0, _createClass2["default"])(Asset, null, [{
|
|
22
|
-
key: "mapFromOrder",
|
|
23
|
-
value: function mapFromOrder(order) {
|
|
24
|
-
if (!order) {
|
|
25
|
-
throw new Error("missing order");
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (!order.asset) {
|
|
29
|
-
throw new Error("missing order.asset");
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (!order.project) {
|
|
33
|
-
throw new Error("missing order.project");
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (!order.project.slug) {
|
|
37
|
-
throw new Error("missing order.project.slug");
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
var asset = order.asset;
|
|
41
|
-
asset.project = order.project;
|
|
42
|
-
asset.project.filePrefix = order.project.slug.toUpperCase();
|
|
43
|
-
return asset;
|
|
44
|
-
}
|
|
45
|
-
}]);
|
|
46
|
-
return Asset;
|
|
47
|
-
}();
|
|
48
|
-
|
|
49
|
-
exports["default"] = Asset;
|
package/dist/AssetType.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
|
|
16
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _Model2 = _interopRequireDefault(require("./Model"));
|
|
21
|
-
|
|
22
|
-
var AssetType =
|
|
23
|
-
/*#__PURE__*/
|
|
24
|
-
function (_Model) {
|
|
25
|
-
(0, _inherits2["default"])(AssetType, _Model);
|
|
26
|
-
|
|
27
|
-
function AssetType(data) {
|
|
28
|
-
var _this;
|
|
29
|
-
|
|
30
|
-
(0, _classCallCheck2["default"])(this, AssetType);
|
|
31
|
-
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(AssetType).call(this, data));
|
|
32
|
-
_this._resource = 'assettypes';
|
|
33
|
-
return _this;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
(0, _createClass2["default"])(AssetType, null, [{
|
|
37
|
-
key: "_resource",
|
|
38
|
-
get: function get() {
|
|
39
|
-
return 'assettypes';
|
|
40
|
-
}
|
|
41
|
-
}]);
|
|
42
|
-
return AssetType;
|
|
43
|
-
}(_Model2["default"]);
|
|
44
|
-
|
|
45
|
-
exports["default"] = AssetType;
|
package/dist/Encode.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
|
|
16
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _Model2 = _interopRequireDefault(require("./Model"));
|
|
21
|
-
|
|
22
|
-
var Encode =
|
|
23
|
-
/*#__PURE__*/
|
|
24
|
-
function (_Model) {
|
|
25
|
-
(0, _inherits2["default"])(Encode, _Model);
|
|
26
|
-
|
|
27
|
-
function Encode(data) {
|
|
28
|
-
var _this;
|
|
29
|
-
|
|
30
|
-
(0, _classCallCheck2["default"])(this, Encode);
|
|
31
|
-
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Encode).call(this, data));
|
|
32
|
-
_this._resource = 'encodes';
|
|
33
|
-
return _this;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
(0, _createClass2["default"])(Encode, null, [{
|
|
37
|
-
key: "_resource",
|
|
38
|
-
get: function get() {
|
|
39
|
-
return 'encodes';
|
|
40
|
-
}
|
|
41
|
-
}]);
|
|
42
|
-
return Encode;
|
|
43
|
-
}(_Model2["default"]);
|
|
44
|
-
|
|
45
|
-
exports["default"] = Encode;
|
package/dist/File.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
|
|
16
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _Model2 = _interopRequireDefault(require("./Model"));
|
|
21
|
-
|
|
22
|
-
var File =
|
|
23
|
-
/*#__PURE__*/
|
|
24
|
-
function (_Model) {
|
|
25
|
-
(0, _inherits2["default"])(File, _Model);
|
|
26
|
-
|
|
27
|
-
function File(data) {
|
|
28
|
-
var _this;
|
|
29
|
-
|
|
30
|
-
(0, _classCallCheck2["default"])(this, File);
|
|
31
|
-
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(File).call(this, data));
|
|
32
|
-
_this._resource = "files";
|
|
33
|
-
return _this;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
(0, _createClass2["default"])(File, null, [{
|
|
37
|
-
key: "_resource",
|
|
38
|
-
get: function get() {
|
|
39
|
-
return 'files';
|
|
40
|
-
}
|
|
41
|
-
}]);
|
|
42
|
-
return File;
|
|
43
|
-
}(_Model2["default"]);
|
|
44
|
-
|
|
45
|
-
exports["default"] = File;
|