UNPKG

all-downloader

Version:

Download your favorite videos from online websites with ease

2 lines (1 loc) 1.23 kB
import{v7 as o}from"uuid";import s from"crypto-js";var n=class e{activationKey="";apiToken="";constructor(){}static async createInstance(){let a=new e;return await a.initialize(),a}async initialize(){let a=await this.generateApiKey();if(!a)throw new Error("Failed to initialize All Downloader library.");this.apiToken=a.api_token,this.activationKey=a.activation_key}async generateApiKey(){try{let t=await(await fetch("https://snapdownloader.com/api/v6/licenses/trial",{body:new URLSearchParams({uuid:s.MD5(o()).toString(s.enc.Hex),tk:"F8XQUvsAtxcR8BKfA7wotRBmm",os:"win"}),method:"POST"})).json();if(!t.success)throw new Error(t.data);return t.data.data}catch(a){return console.error(a),null}}async parse(a){if(!this.isValidUrl(a))throw new Error("Invalid URL");try{let r=await(await fetch("https://snapdownloader.com/api/v6/video-info",{body:new URLSearchParams({link:a,tk:"jkxHUcfFb7NAAdbUDWR8Zh7aM",ak:this.activationKey,apk:this.apiToken}),method:"POST"})).json();if(!r.success)throw new Error(r.data);return r.data}catch(t){return console.error(t),null}}isValidUrl(a){try{return new URL(a),!0}catch{return!1}}},i;async function p(e){return i||(i=await n.createInstance()),i.parse(e)}export{n as AllDownloader,p as parse};