diff --git a/package.json b/package.json index e56d22f..8136701 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,13 @@ "browserify": "^13.1.0", "envify": "^3.4.1", "http-server": "^0.9.0", - "watchify": "^3.7.0", - "pako": "^1.0.3" + "pako": "^1.0.3", + "watchify": "^3.7.0" }, "dependencies": { "file-type": "^3.8.0", + "is-url": "^1.2.2", + "isomorphic-fetch": "^2.2.1", "jpeg-js": "^0.2.0", "level-js": "^2.2.4", "object-assign": "^4.1.0", diff --git a/src/node/index.js b/src/node/index.js index 0f6eed1..cc98988 100644 --- a/src/node/index.js +++ b/src/node/index.js @@ -1,4 +1,6 @@ const path = require('path') +const fetch = require('isomorphic-fetch') +const isURL = require('is-url') exports.defaultOptions = { workerPath: path.join(__dirname, 'worker.js'), @@ -29,7 +31,17 @@ exports.sendPacket = function sendPacket(instance, packet){ function loadImage(image, cb){ - // TODO: support URLs + + if(isURL(image) { + fetch(image).then(function (resp) { + return resp.buffer(); + }).then(function (buffer) { + return loadImage(buffer, cb); + }).catch(function (err) { + return console.error(err); + }); + }) + if(typeof image === 'string'){ fs.readFile(image, function(err, buffer){ if (err) throw err;