// Check membership // https://developer.github.com/v3/orgs/members/#check-membership isMember(user) { return this.get(`members/${user}`) .then(() => { return true; }, () => { return Promise(false); }); }
function execPromise (cmd) { return Q.Promise(function (resolve, reject) { exec(cmd, function (code, output) { if (code) { reject(output); } else { resolve(output); } }); }); }
/** * Fetch all items by iterating over pages. * @return {Promise<Array>} */ all() { let results = []; function handlePage(page) { results = results.concat(page.list); if (!page.hasNext()) { return results; } return page.next().then(handlePage); } return Promise(handlePage(this)); }
createTunnel () { logger.info('cordova-paramedic: attempt to create local tunnel'); return Q.Promise((resolve, reject) => { const tunnel = localtunnel(this.port, (err, tunnel) => { if (err) { reject('Unable to create local tunnel: ' + err); return; } this.tunneledUrl = tunnel.url; logger.info('cordova-paramedic: using tunneled url ' + this.tunneledUrl); resolve(this); }); // this trace is useful to debug test run timeout issue tunnel.on('close', function () { logger.normal('local-server: local tunnel has been closed'); }); }); }
executeUninstallCommand (uninstallCommand) { return Q.Promise((resolve, reject) => { logger.info('cordova-paramedic: Running command: ' + uninstallCommand); exec(uninstallCommand, (code) => { if (code === 0) { resolve(); } else { logger.error('Failed to uninstall the app'); logger.error('Error code: ' + code); reject(); } }); }).timeout(60000) .fail(() => { logger.warn('cordova-paramedic: App uninstall timed out!'); }); }
connectSauceConnect () { const isBrowser = this.isBrowser; // on platforms other than browser, only run sauce connect if user explicitly asks for it if (!isBrowser && !this.config.getSauceTunnelId()) return Q(); // on browser, run sauce connect in any case if (isBrowser && !this.config.getSauceTunnelId()) { this.config.setSauceTunnelId(process.env[utilities.SAUCE_TUNNEL_ID_ENV_VAR] || this.config.getBuildName()); } return Q.Promise((resolve, reject) => { logger.info('cordova-paramedic: Starting Sauce Connect...'); sauceConnectLauncher({ username: this.config.getSauceUser(), accessKey: this.config.getSauceKey(), tunnelIdentifier: this.config.getSauceTunnelId(), connectRetries: utilities.SAUCE_CONNECT_CONNECTION_RETRIES, connectRetryTimeout: utilities.SAUCE_CONNECT_CONNECTION_TIMEOUT, downloadRetries: utilities.SAUCE_CONNECT_DOWNLOAD_RETRIES, downloadRetryTimeout: utilities.SAUCE_CONNECT_DOWNLOAD_TIMEOUT }, (err, sauceConnectProcess) => { if (err) reject(err); this.sauceConnectProcess = sauceConnectProcess; logger.info('cordova-paramedic: Sauce Connect ready'); resolve(); }); }); }
describe('.validate', function() { it('should return a promise, resolved with the input', function() { const type = Type.String(); return type.validate('Hello') .then(function(result) { expect(result).toBe('Hello'); }); }); it('should call all validation functions', function() { const type = Type.String({ validations: [ Validation.minLength(1), Validation.maxLength(3, 'too long') ] }); return type.validate('Hello') .then(function(result) { throw new Error('It should have failed'); }, function() { return Promise(); }); }); });
// ---- API /** * Saves the incoming stream into a file * * @param {String} filename * @param {Stream} istream * @memberof DiskStore */ saveStream(filename, istream) { return Q.Promise((resolve, reject) => { let outputFilename = this._stampFilename(filename); let outputFilepath = path.join(this.uploadFolder, outputFilename); let ostream = fs.createWriteStream(outputFilepath); istream.pipe(ostream); ostream.on('finish', (d) => { this._getMetadata(outputFilename) .then(resolve) .catch(reject); }); istream.on('error', reject); }); }
packageApp () { switch (this.platformId) { case utilities.IOS: { return Q.Promise((resolve, reject) => { const zipCommand = 'zip -r ' + this.getPackageName() + ' ' + this.getBinaryName(); shell.pushd(this.getPackageFolder()); shell.rm('-rf', this.getPackageName()); console.log('Running command: ' + zipCommand + ' in dir: ' + shell.pwd()); exec(zipCommand, (code) => { shell.popd(); if (code) { reject('zip command returned with error code ' + code); } else { resolve(); } }); }); } case utilities.ANDROID: break; // don't need to zip the app for Android case utilities.BROWSER: break; // don't need to bundle the app on Browser platform at all default: throw new Error('Don\'t know how to package the app for platform: ' + this.platformId); } return Q.resolve(); }
signout(removeTokenFromDB) { var that = this; return Promise((resolve, reject) => { if (removeTokenFromDB) { var userid = this.localStorageService.get('rh_userid'); this.Rh.one('_authtokens', userid).remove().then(function () { that.clearAuthInfo(); resolve(true); }, function errorCallback(response) { reject(response); }); } else { that.clearAuthInfo(); resolve(true); } }); }
.fin((result) => { return runProcess ? Q.Promise((resolve) => { utilities.killProcess(runProcess.pid, () => { resolve(result);
return true; }, function () { return Promise(false); });
/** * * * @param {any} filename * @memberof DiskStore */ delete(filename) { return Q.Promise((resolve, reject) => { fs.unlink(path.join(this.uploadFolder, filename), (err) => { if (err) { return reject(err) } resolve(); }); }); }
return Promise<boolean>((resolve, reject) => { this.clearAuthInfo(); this.setAuthHeader(id, password);
signout(removeTokenFromDB) { var that = this; return Promise((resolve, reject) => { if (removeTokenFromDB) { var userid = this.localStorageService.get('rh_userid'); this.Rh.one('_authtokens', userid).remove().then(function () { that.clearAuthInfo(); resolve(true); }, function errorCallback(response) { reject(response); }); } else { that.clearAuthInfo(); resolve(true); } }); }