@vdegenne/subtitles 0.1.3 → 0.1.4
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/lib/SubtitlesManager.d.ts +33 -0
- package/lib/SubtitlesManager.d.ts.map +1 -0
- package/lib/SubtitlesManager.js +52 -0
- package/lib/SubtitlesManager.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +23 -1
- package/lib/index.js.map +1 -1
- package/package.json +5 -1
- package/types.d.ts +3 -3
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
interface Subtitle extends Omit<sub.Subtitle, 'text'> {
|
|
2
|
+
text: string[];
|
|
3
|
+
}
|
|
4
|
+
interface SetTextOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Id of the subtitle
|
|
7
|
+
*/
|
|
8
|
+
id: number;
|
|
9
|
+
/**
|
|
10
|
+
* Text index of the subtitle
|
|
11
|
+
* (BEWARE) If `undefined` the text will be written to index 0
|
|
12
|
+
* and all other indexes will get deleted.
|
|
13
|
+
*
|
|
14
|
+
* @default undefined
|
|
15
|
+
*/
|
|
16
|
+
index: number | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Text to change with
|
|
19
|
+
*/
|
|
20
|
+
text: string;
|
|
21
|
+
}
|
|
22
|
+
export declare class SubtitleManager {
|
|
23
|
+
#private;
|
|
24
|
+
protected cutIndexWith: string;
|
|
25
|
+
constructor(subtitles?: sub.Subtitle[], cutIndexWith?: string);
|
|
26
|
+
getSubtitleFromId(id: number): Subtitle | undefined;
|
|
27
|
+
setText(options: SetTextOptions): boolean;
|
|
28
|
+
getScript(index?: number, clearEmptyLines?: boolean, joinIndexWith?: string): string;
|
|
29
|
+
rebuild(): sub.Subtitle[];
|
|
30
|
+
iterate(): Generator<Subtitle, void, unknown>;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=SubtitlesManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubtitlesManager.d.ts","sourceRoot":"","sources":["../src/SubtitlesManager.ts"],"names":[],"mappings":"AAAA,UAAU,QAAS,SAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpD,IAAI,EAAE,MAAM,EAAE,CAAA;CACd;AAED,UAAU,cAAc;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAEzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,eAAe;;IAK1B,SAAS,CAAC,YAAY;gBADtB,SAAS,GAAE,GAAG,CAAC,QAAQ,EAAO,EACpB,YAAY,SAAS;IAUhC,iBAAiB,CAAC,EAAE,EAAE,MAAM;IAI5B,OAAO,CAAC,OAAO,EAAE,cAAc;IAc/B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,UAAO,EAAE,aAAa,SAAO;IAYtE,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE;IASxB,OAAO;CAKR"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export class SubtitleManager {
|
|
2
|
+
#subtitles = [];
|
|
3
|
+
constructor(subtitles = [], cutIndexWith = '\n\n') {
|
|
4
|
+
this.cutIndexWith = cutIndexWith;
|
|
5
|
+
this.#subtitles = subtitles.map((s) => {
|
|
6
|
+
return {
|
|
7
|
+
...s,
|
|
8
|
+
text: s.text.split(this.cutIndexWith),
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
getSubtitleFromId(id) {
|
|
13
|
+
return this.#subtitles.find((s) => s.id === id);
|
|
14
|
+
}
|
|
15
|
+
setText(options) {
|
|
16
|
+
// if (options.id === undefined) return
|
|
17
|
+
const subtitle = this.getSubtitleFromId(options.id);
|
|
18
|
+
if (subtitle) {
|
|
19
|
+
if (options.index === undefined) {
|
|
20
|
+
subtitle.text = [options.text];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
subtitle.text[options.index] = options.text;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
getScript(index, clearEmptyLines = true, joinIndexWith = '\n') {
|
|
30
|
+
const joined = this.#subtitles
|
|
31
|
+
.map((sub) => index === undefined ? sub.text.join(joinIndexWith) : sub.text[index])
|
|
32
|
+
.filter((text) => {
|
|
33
|
+
return !(!text && clearEmptyLines);
|
|
34
|
+
})
|
|
35
|
+
.join(joinIndexWith);
|
|
36
|
+
return joined;
|
|
37
|
+
}
|
|
38
|
+
rebuild() {
|
|
39
|
+
return this.#subtitles.map((s) => {
|
|
40
|
+
return {
|
|
41
|
+
...s,
|
|
42
|
+
text: s.text.join(this.cutIndexWith),
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
*iterate() {
|
|
47
|
+
for (const item of this.#subtitles) {
|
|
48
|
+
yield item;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=SubtitlesManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubtitlesManager.js","sourceRoot":"","sources":["../src/SubtitlesManager.ts"],"names":[],"mappings":"AAyBA,MAAM,OAAO,eAAe;IAC3B,UAAU,GAAe,EAAE,CAAA;IAE3B,YACC,YAA4B,EAAE,EACpB,eAAe,MAAM;QAArB,iBAAY,GAAZ,YAAY,CAAS;QAE/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;aACrC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,CAAC,OAAuB;QAC9B,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;YAC5C,CAAC;YACD,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,SAAS,CAAC,KAAc,EAAE,eAAe,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;aAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACZ,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CACpE;aACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,CAAA;QACnC,CAAC,CAAC;aACD,IAAI,CAAC,aAAa,CAAC,CAAA;QACrB,OAAO,MAAM,CAAA;IACd,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED,CAAC,OAAO;QACP,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,CAAA;QACX,CAAC;IACF,CAAC;CACD"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare function numericTimeToTimecode(seconds: sub.NumericTime): sub.Timecode;
|
|
2
|
+
export declare function timecodeToNumericTime(timecode: string): number;
|
|
2
3
|
interface SubtitlesToVTTOptions {
|
|
3
4
|
/**
|
|
4
5
|
* A number between 0 and 1 that determines the y-position of all subtitles in the final VTT output.
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAQ5E;AAED,UAAU,qBAAqB;IAC9B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,cAAc,CAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,MAAM,CAkBR;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAMzE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAS/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyB5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB5C"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAQ5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED,UAAU,qBAAqB;IAC9B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,cAAc,CAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,MAAM,CAkBR;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAMzE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAS/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyB5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB5C"}
|
package/lib/index.js
CHANGED
|
@@ -7,6 +7,28 @@ export function numericTimeToTimecode(seconds) {
|
|
|
7
7
|
'.' +
|
|
8
8
|
String(((seconds * 1000) | 0) % 1000).padStart(3, '0'));
|
|
9
9
|
}
|
|
10
|
+
export function timecodeToNumericTime(timecode) {
|
|
11
|
+
const [main, msPart] = timecode.split('.');
|
|
12
|
+
if (main === undefined) {
|
|
13
|
+
throw new Error('invalid timecode');
|
|
14
|
+
}
|
|
15
|
+
const parts = main.split(':').map(Number);
|
|
16
|
+
let hours = 0, minutes = 0, seconds = 0, milliseconds = 0;
|
|
17
|
+
if (msPart)
|
|
18
|
+
milliseconds = parseInt(msPart.padEnd(3, '0'), 10);
|
|
19
|
+
if (parts.length === 3) {
|
|
20
|
+
;
|
|
21
|
+
[hours, minutes, seconds] = parts;
|
|
22
|
+
}
|
|
23
|
+
else if (parts.length === 2) {
|
|
24
|
+
;
|
|
25
|
+
[minutes, seconds] = parts;
|
|
26
|
+
}
|
|
27
|
+
else if (parts.length === 1) {
|
|
28
|
+
seconds = parts[0];
|
|
29
|
+
}
|
|
30
|
+
return hours * 3600 + minutes * 60 + seconds + milliseconds / 1000;
|
|
31
|
+
}
|
|
10
32
|
export function subtitlesToVTT(subtitles, options) {
|
|
11
33
|
const opts = {
|
|
12
34
|
verticalPosition: 1,
|
|
@@ -16,7 +38,7 @@ export function subtitlesToVTT(subtitles, options) {
|
|
|
16
38
|
// Convert normalized 0–1 vertical position to WebVTT percent
|
|
17
39
|
const lineValue = Math.round(opts.verticalPosition * 100);
|
|
18
40
|
for (const s of subtitles) {
|
|
19
|
-
if (s.id
|
|
41
|
+
if (s.id !== undefined && s.id !== null)
|
|
20
42
|
vtt += `${s.id}\n`;
|
|
21
43
|
vtt += `${numericTimeToTimecode(s.start)} --> ${numericTimeToTimecode(s.end)} line:${lineValue}%\n`;
|
|
22
44
|
vtt += `${s.text}\n\n`;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACpD,GAAG;QACH,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAClD,GAAG;QACH,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC3C,GAAG;QACH,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAiB,CAAA;AACzE,CAAC;AAUD,MAAM,UAAU,cAAc,CAC7B,SAAwB,EACxB,OAAwC;IAExC,MAAM,IAAI,GAA0B;QACnC,gBAAgB,EAAE,CAAC;QACnB,GAAG,OAAO;KACV,CAAA;IAED,IAAI,GAAG,GAAG,YAAY,CAAA;IAEtB,6DAA6D;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAA;IAEzD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI;YAAE,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vdegenne/subtitles",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Small npm utility to work with subtitles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
8
|
"import": "./lib/index.js",
|
|
9
9
|
"types": "./types.d.ts"
|
|
10
|
+
},
|
|
11
|
+
"./SubtitlesManager.js": {
|
|
12
|
+
"import": "./lib/SubtitlesManager.js",
|
|
13
|
+
"types": "./lib/SubtitlesManager.d.ts"
|
|
10
14
|
}
|
|
11
15
|
},
|
|
12
16
|
"files": [
|
package/types.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ declare global {
|
|
|
5
5
|
type NumericTime = number
|
|
6
6
|
|
|
7
7
|
interface Subtitle {
|
|
8
|
-
id
|
|
8
|
+
id: number
|
|
9
9
|
/** numeric time in seconds */
|
|
10
|
-
start: NumericTime
|
|
10
|
+
start: sub.NumericTime
|
|
11
11
|
/** numeric time in seconds */
|
|
12
|
-
end: NumericTime
|
|
12
|
+
end: sub.NumericTime
|
|
13
13
|
text: string
|
|
14
14
|
}
|
|
15
15
|
|