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
Use youtube.com/watch instead of /getinfo

View File

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

View File

@@ -20,10 +20,10 @@ export async function getSubtitles({
if (!data.includes('captionTracks'))
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 { captionTracks } = JSON.parse(`${match}}`);
const { captionTracks } = JSON.parse(`{${match}}`);
const subtitle =
find(captionTracks, {
vssId: `.${lang}`,

View File

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