@vdegenne/subtitles 0.1.2 → 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,7 +1,16 @@
1
1
  export declare function numericTimeToTimecode(seconds: sub.NumericTime): sub.Timecode;
2
- export declare function subtitlesToVTT(subtitles: sub.Subtitles): string;
2
+ export declare function timecodeToNumericTime(timecode: string): number;
3
+ interface SubtitlesToVTTOptions {
4
+ /**
5
+ * A number between 0 and 1 that determines the y-position of all subtitles in the final VTT output.
6
+ * e.g. 0.9 would place the subtitles at 90% from the top (bottom area of the screen).
7
+ */
8
+ verticalPosition: number;
9
+ }
10
+ export declare function subtitlesToVTT(subtitles: sub.Subtitles, options?: Partial<SubtitlesToVTTOptions>): string;
3
11
  export declare function numericTimeToSRTTimecode(seconds: sub.NumericTime): string;
4
12
  export declare function subtitlesToSRT(subtitles: sub.Subtitles): string;
5
13
  export declare function VTTtoSRT(vtt: string): string;
6
14
  export declare function SRTtoVTT(srt: string): string;
15
+ export {};
7
16
  //# sourceMappingURL=index.d.ts.map
@@ -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,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAU/D;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,12 +7,40 @@ export function numericTimeToTimecode(seconds) {
7
7
  '.' +
8
8
  String(((seconds * 1000) | 0) % 1000).padStart(3, '0'));
9
9
  }
10
- export function subtitlesToVTT(subtitles) {
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
+ }
32
+ export function subtitlesToVTT(subtitles, options) {
33
+ const opts = {
34
+ verticalPosition: 1,
35
+ ...options,
36
+ };
11
37
  let vtt = 'WEBVTT\n\n';
38
+ // Convert normalized 0–1 vertical position to WebVTT percent
39
+ const lineValue = Math.round(opts.verticalPosition * 100);
12
40
  for (const s of subtitles) {
13
- if (s.id != null)
41
+ if (s.id !== undefined && s.id !== null)
14
42
  vtt += `${s.id}\n`;
15
- vtt += `${numericTimeToTimecode(s.start)} --> ${numericTimeToTimecode(s.end)}\n`;
43
+ vtt += `${numericTimeToTimecode(s.start)} --> ${numericTimeToTimecode(s.end)} line:${lineValue}%\n`;
16
44
  vtt += `${s.text}\n\n`;
17
45
  }
18
46
  return vtt;
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;AAED,MAAM,UAAU,cAAc,CAAC,SAAwB;IACtD,IAAI,GAAG,GAAG,YAAY,CAAA;IAEtB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI;YAAE,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAA;QACpC,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QAChF,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;IACvB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAwB;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrE,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAwB;IACtD,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAE,CAAA;QACvB,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAA;QACnB,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACtF,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;IACvB,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ;YAAE,SAAQ;QAExC,gBAAgB;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,uBAAuB;YAC7D,SAAQ;QACT,CAAC;QAED,gBAAgB;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,CAAC,sBAAsB;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;QAE7B,uBAAuB;QACvB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAQ;QAEhC,kDAAkD;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;YACtC,SAAQ;QACT,CAAC;QAED,8BAA8B;QAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
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;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACrD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACpC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAEzC,IAAI,KAAK,GAAG,CAAC,EACZ,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,YAAY,GAAG,CAAC,CAAA;IAEjB,IAAI,MAAM;QAAE,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAE9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,CAAC;QAAA,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,KAAiC,CAAA;IAC/D,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,CAAC;QAAA,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,KAAyB,CAAA;IAChD,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAW,CAAA;IAC7B,CAAC;IAED,OAAO,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,YAAY,GAAG,IAAI,CAAA;AACnE,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,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI;YAAE,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAA;QAC3D,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,KAAK,CAAA;QACnG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;IACvB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAwB;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrE,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAwB;IACtD,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAE,CAAA;QACvB,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAA;QACnB,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACtF,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;IACvB,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ;YAAE,SAAQ;QAExC,gBAAgB;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,uBAAuB;YAC7D,SAAQ;QACT,CAAC;QAED,gBAAgB;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,CAAC,sBAAsB;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;QAE7B,uBAAuB;QACvB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAQ;QAEhC,kDAAkD;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;YACtC,SAAQ;QACT,CAAC;QAED,8BAA8B;QAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@vdegenne/subtitles",
3
- "version": "0.1.2",
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