@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.
@@ -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.
@@ -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 != null)
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":"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"}
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",
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?: number
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