index.js 903 B

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