UNPKG

1.14 kBJavaScriptView Raw
1var GoogleImages, fs, request;
2request = require('request');
3fs = require('fs');
4GoogleImages = (function() {
5 function GoogleImages() {}
6 GoogleImages.prototype.search = function(query, callback) {
7 if (!query) {
8 return callback([]);
9 }
10 return request('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=' + query.replace(/\s+/, '+'), function(err, res, body) {
11 var images, item, items, _i, _len;
12 items = JSON.parse(body).responseData.results;
13 images = [];
14 for (_i = 0, _len = items.length; _i < _len; _i++) {
15 item = items[_i];
16 images.push({
17 width: item.width,
18 height: item.height,
19 unescapedUrl: item.unescapedUrl,
20 url: item.url,
21 writeTo: function(path, callback) {
22 var stream;
23 stream = fs.createWriteStream(path);
24 stream.on('close', function() {
25 return callback();
26 });
27 return request(item.url).pipe(stream);
28 }
29 });
30 }
31 return callback(images);
32 });
33 };
34 return GoogleImages;
35})();
36module.exports = new GoogleImages;
\No newline at end of file