File size: 640 Bytes
7a4c980 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import { Platform, Types } from "youtubei.js";
// https://ytjs.dev/guide/getting-started.html#providing-a-custom-javascript-interpreter
// deno-lint-ignore require-await
export const jsInterpreter = Platform.shim.eval = async (
data: Types.BuildScriptResult,
env: Record<string, Types.VMPrimative>,
) => {
const properties = [];
if (env.n) {
properties.push(`n: exportedVars.nFunction("${env.n}")`);
}
if (env.sig) {
properties.push(`sig: exportedVars.sigFunction("${env.sig}")`);
}
const code = `${data.output}\nreturn { ${properties.join(", ")} }`;
return new Function(code)();
};
|