|
- import { config } from 'dotenv';
- import { beforeAll, describe, it } from 'vitest';
- import { createSummarizer, VideoType } from '../src';
- import { writeFileSync } from 'fs';
-
- describe('blah', () => {
- beforeAll(() => {
- config();
- });
-
- it('works', () => new Promise<void>((done) => {
- const summarizer = createSummarizer({
- type: VideoType.YOUTUBE,
- url: 'https://www.youtube.com/watch?v=WeNgDxtBiyw',
- openaiApiKey: process.env.OPENAI_API_KEY as string,
- });
-
- summarizer.on('success', (data) => {
- const transcripts = JSON.parse(data.content as string) as {
- transcripts: { text: string }[],
- summary: string,
- };
- const transcriptText = transcripts.transcripts.map((t) => t.text).join('\n');
- writeFileSync('transcript.txt', transcriptText);
- writeFileSync('summary.txt', transcripts.summary);
- });
-
- summarizer.on('error', (err) => {
- console.log(err);
- done();
- });
-
- summarizer.on('end', () => {
- done();
- });
-
- summarizer.process();
- }), { timeout: 180000 });
- });
|