diff --git a/api/2019-09-10.js b/api/2019-09-10.js new file mode 100644 index 0000000..f354e6d --- /dev/null +++ b/api/2019-09-10.js @@ -0,0 +1,67 @@ + +// Subscribe several functions in a single call. +Reporter.prototype.subscribeMany = function(funcs) +{ + for (var i = 0; i < funcs.length; ++i) + { + var func = funcs[i]; + this.subscribe(func); + } +} + +murom.getMany = function(urls, completionCallback) +{ + var self = this; + var results = new Array(urls.length).fill(null); + + var count = 0; + function reportCompletion() + { + if (++count == urls.length) + { + if (completionCallback) + { + completionCallback(results); + } + } + } + + for (var id in urls) + { + const url = urls[id]; + const urlId = id; + murom.get( + url, + function(contents) + { + results[urlId] = contents; + reportCompletion() + }, + function(status) + { + LOG( + formatString( + "ERROR Could not download URL: '{0}' status: '{1}'", + url, + status + ) + ); + reportCompletion() + } + ); + } +}; + +murom.import = function(urls, completionCallback) +{ + murom.getMany( + urls, + function(contents) + { + for (var id in contents) + { + eval(contents[id]); + } + } + ); +};