var requireFromString = require('@runkit/frdl/require-from-string/1.0.1');
var axios = require('axios');
var baseUrl = 'https://cdn.frdl.de/';
function requireFromUrlAsync(url, filename, opts, Module){
return new Promise(async(resolve,reject)=>{
if('undefined' === typeof filename){
filename = url;
}else if('string' !== typeof filename){
Module = opts;
opts = filename;
filename = url;
}
if('http' !== url.substr(0,'http'.length)){
if('undefined'!==typeof opts && 'string'===typeof opts.baseUrl){
baseUrl = opts.baseUrl;
}
url = baseUrl + url;
}
var code = (
await axios.get(url)
).data;
try{
var _module = requireFromString(code, filename, opts, Module);
resolve(_module);
}catch(err){
reject(err);
}
});
}
module.exports = requireFromUrlAsync;