fix: destructure non-iterable instance error (#21)

* fix(issue-20): fix destructure non-iterable instance error

* fix(issue-20): update changelog and app version
This commit is contained in:
Vikrant Guleria
2023-10-18 09:37:03 +00:00
committed by GitHub
parent 9dd01b5361
commit f28361c4bc
4 changed files with 10 additions and 6 deletions

View File

@@ -1,3 +1,7 @@
# v2.0.1
Fixed Invalid attempt to destructure non-iterable instance error
# v2.0.0 # v2.0.0
Use youtube.com/watch instead of /getinfo Use youtube.com/watch instead of /getinfo

View File

@@ -1,6 +1,6 @@
{ {
"name": "youtube-captions-scraper", "name": "youtube-captions-scraper",
"version": "2.0.0", "version": "2.0.1",
"description": "Scrap youtube auto-generated captions", "description": "Scrap youtube auto-generated captions",
"main": "dist/index.js", "main": "dist/index.js",
"author": { "author": {

View File

@@ -20,10 +20,10 @@ export async function getSubtitles({
if (!data.includes('captionTracks')) if (!data.includes('captionTracks'))
throw new Error(`Could not find captions for video: ${videoID}`); throw new Error(`Could not find captions for video: ${videoID}`);
const regex = /({"captionTracks":.*isTranslatable":(true|false)}])/; const regex = /"captionTracks":(\[.*?\])/;
const [match] = regex.exec(data); const [match] = regex.exec(data);
const { captionTracks } = JSON.parse(`${match}}`);
const { captionTracks } = JSON.parse(`{${match}}`);
const subtitle = const subtitle =
find(captionTracks, { find(captionTracks, {
vssId: `.${lang}`, vssId: `.${lang}`,

View File

@@ -4,9 +4,9 @@ import { getSubtitles } from '../src';
test('Extract estonia war subtitles', async t => { test('Extract estonia war subtitles', async t => {
const subtitles = await getSubtitles({ videoID: 'HBA0xDHZjko' }); const subtitles = await getSubtitles({ videoID: 'HBA0xDHZjko' });
t.deepEqual(subtitles[0], { t.deepEqual(subtitles[0], {
dur: '5.679', dur: '4.72',
start: '7.12', start: '6.98',
text: 'november 1918', text: 'November 1918',
}); });
}); });