index.js 810 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var Q = require('q');
  2. var Runner = require('./runner');
  3. var yellowLabTools = function(url, options) {
  4. 'use strict';
  5. var deferred = Q.defer();
  6. if (!url) {
  7. deferred.reject('URL missing');
  8. } else {
  9. if (url.toLowerCase().indexOf('http://') !== 0 && url.toLowerCase().indexOf('https://') !== 0) {
  10. url = 'http://' + url;
  11. }
  12. var params = {
  13. url: url,
  14. options: options || {}
  15. };
  16. var runner = new Runner(params)
  17. .progress(deferred.notify)
  18. .then(function(data) {
  19. deferred.resolve(data);
  20. })
  21. .fail(function(err) {
  22. deferred.reject(err);
  23. });
  24. }
  25. return deferred.promise;
  26. };
  27. module.exports = yellowLabTools;