UNPKG

node-firefox-launch-app

Version:
60 lines (42 loc) 1.24 kB
'use strict'; // See https://github.com/jshint/jshint/issues/1747 for context /* global -Promise */ var Promise = require('es6-promise').Promise; module.exports = function(options) { options = options || {}; var manifestURL = options.manifestURL; var client = options.client; return new Promise(function(resolve, reject) { if (manifestURL === undefined || client === undefined) { return reject(new Error('App manifestURL and client are required to launch an app')); } getWebAppsActor(client).then(function(webAppsActor) { launchApp(webAppsActor, manifestURL) .then(function(result) { resolve(result); }, function(err) { reject(err); }); }); }); }; function getWebAppsActor(client) { return new Promise(function(resolve, reject) { client.getWebapps(function(err, webAppsActor) { if (err) { return reject(err); } resolve(webAppsActor); }); }); } function launchApp(webAppsActor, appManifestURL) { return new Promise(function(resolve, reject) { webAppsActor.launch(appManifestURL, function(err, response) { if (err) { return reject(err); } resolve(response); }); }); }