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:
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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}`,
|
||||
|
||||
@@ -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',
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user