Lines 69-109javascript
69 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
72var __importDefault = (this && this.__importDefault) || function (mod) {
73 return (mod && mod.__esModule) ? mod : { "default": mod };
75Object.defineProperty(exports, "__esModule", { value: true });
76exports.Downloader = void 0;
77var stream_1 = require("stream");
78var fs_1 = __importDefault(require("fs"));
79var path_1 = __importDefault(require("path"));
80var fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
81var ffmpeg_1 = __importDefault(require("@ffmpeg-installer/ffmpeg"));
82fluent_ffmpeg_1.default.setFfmpegPath(ffmpeg_1.default.path);
83var youtubeiPromise = null;
84var innertubePromise = null;
85var getYoutubei = function () {
86 if (!youtubeiPromise) {
87 youtubeiPromise = Promise.resolve().then(function () { return __importStar(require("youtubei.js")); }).then(function (mod) {
88 // Required so ciphered stream URLs (e.g. TV client) can be deciphered.
89 mod.Platform.shim.eval = function (data) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a
90 return [2 /*return*/, new Function(data.output)()];
91 }); }); };
LowEval
Package source references a known benign dynamic code generation pattern.
lib/core/index.jsView on unpkg · L89 95 return youtubeiPromise;
97var getInnertube = function () { return __awaiter(void 0, void 0, void 0, function () {
98 return __generator(this, function (_a) {
99 if (!innertubePromise) {
100 innertubePromise = (function () { return __awaiter(void 0, void 0, void 0, function () {
101 var _a, Innertube, UniversalCache;
102 return __generator(this, function (_b) {
104 case 0: return [4 /*yield*/, getYoutubei()];
106 _a = _b.sent(), Innertube = _a.Innertube, UniversalCache = _a.UniversalCache;
107 return [2 /*return*/, Innertube.create({
108 cache: new UniversalCache(false),