async innerTrain(settings) { let locales = settings.locales || this.locales; if (!Array.isArray(locales)) { locales = [locales]; } const promises = locales .filter((locale) => this.domainManagers[locale]) .map((locale) => this.domainManagers[locale].train(settings.settings)); return Promise.all(promises); }
testConnections() { const tests = []; Object.keys(this.dataSourceIdToOrchestratorApi).forEach(dataSourceId => { const orchestratorApi = this.dataSourceIdToOrchestratorApi[dataSourceId]; tests.push(orchestratorApi.testConnection()); }); return Promise.all(tests); }
async persistSources(sourceContainer, packageVersions) { const sources = sourceContainer.outputSources(); await Promise.all(sources.map((file) => fs.outputFile(path.join(this.appPath, file.fileName), file.content))); const packageJson = fs.readJsonSync(path.join(this.appPath, 'package.json')); packageJson.cubejsTemplates = { ...packageJson.cubejsTemplates, ...packageVersions, }; await fs.writeJson(path.join(this.appPath, 'package.json'), packageJson, { spaces: 2, }); }
async server() { // run test server. Warning! PHP required! await Promise.all([ exec('php -S 127.0.0.1:8000 -t test/data/app'), npmRun('json-server'), ]); }
async renderChoices() { if (this.state.submitted) return ' '; let sep = this.options.sep || ` ${this.styles.muted(this.symbols.middot)} `; let choices = this.visible.map(async(ch, i) => await this.renderChoice(ch, i)); let visible = await Promise.all(choices); return visible.join(sep); }
/** * @params {!Array<string>} pathFolders * @param {!Array<string>} fileNameParts * @return {!Promise<string>} */ async function loadSource(pathFolders, ...fileNameParts) { const paths = lookupFile(pathFolders, ...fileNameParts).reverse(); return (await Promise.all(paths.map(name => fs.readFile(name, 'utf8')))).join('\n'); }
it('batches multiple requests with max batch sizes', async () => { const [ identityLoader, loadCalls ] = idLoader<number>({ maxBatchSize: 2 }); const promise1 = identityLoader.load(1); const promise2 = identityLoader.load(2); const promise3 = identityLoader.load(3); const [ value1, value2, value3 ] = await Promise.all([ promise1, promise2, promise3 ]); expect(value1).toBe(1); expect(value2).toBe(2); expect(value3).toBe(3); expect(loadCalls).toEqual([ [ 1, 2 ], [ 3 ] ]); });
it('should be able to retreive a list for each category', () => { const categoryIds = Object.keys(gplay.category); const fetchCategory = (category) => gplay.list({ category, collection: gplay.collection.TOP_FREE, num: 10 }).catch(() => { assert.equal(category, void 0, 'invalid category'); }); return Promise.all(categoryIds.map(fetchCategory)); }).timeout(200 * 1000);
/** * {{> grabHTMLFrom }} */ async grabHTMLFrom(locator) { const els = await this._locate(locator); assertElementExists(els, locator); const values = await Promise.all(els.map(el => el.executionContext().evaluate(element => element.innerHTML, el))); if (Array.isArray(values) && values.length === 1) { return values[0]; } return values; }
function deletePassedTests(passedTests) { const deleteVideoPromiseList = passedTests.map(clearString).map(test => axios.delete(`${seleniumUrl}/video/${test}.mp4`)); const deleteLogPromiseList = passedTests.map(clearString).map(test => axios.delete(`${seleniumUrl}/logs/${test}.log`)); return Promise.all(deleteVideoPromiseList.concat(deleteLogPromiseList)) .then(() => output.debug('Deleted videos and logs for all passed tests')) .catch(err => output.error(`Error while deleting video and log files ${err.stack}`)); }
async function proceedIsChecked(assertType, option) { const els = await findCheckable(this.browser, option); assertElementExists(els, option, 'Option'); const elsSelected = []; els.forEach(el => elsSelected.push(el.isSelected())); const values = await Promise.all(elsSelected); const selected = values.reduce((prev, cur) => prev || cur); return truth(`checkable ${option}`, 'to be checked')[assertType](selected); }
// Note: mirrors 'batches multiple requests' above. it('May disable batching', async () => { const [ identityLoader, loadCalls ] = idLoader<number>({ batch: false }); const promise1 = identityLoader.load(1); const promise2 = identityLoader.load(2); const [ value1, value2 ] = await Promise.all([ promise1, promise2 ]); expect(value1).toBe(1); expect(value2).toBe(2); expect(loadCalls).toEqual([ [ 1 ], [ 2 ] ]); });
const formatSource = async () => { console.log(chalk.reset('Formatting source files...')); try { const sourceFilePaths = await getSourceFilePaths(); const formattedPaths = await Promise.all(sourceFilePaths.map(filePath => formatFile(filePath, filePath))); console.log(chalk.green(`Formatted ${formattedPaths.length} files.`)); } catch (error) { console.log(chalk.red('Problem formatting file:\n'), chalk.reset(error)); process.exit(1); } }
async function proceedIsChecked(assertType, option) { let els = await findCheckable.call(this, option); assertElementExists(els, option, 'Checkable'); els = await Promise.all(els.map(el => el.getProperty('checked'))); els = await Promise.all(els.map(el => el.jsonValue())); const selected = els.reduce((prev, cur) => prev || cur); return truth(`checkable ${option}`, 'to be checked')[assertType](selected); }
async renderChoices() { if (this.state.submitted) return ''; this.tableize(); let choices = this.visible.map(async(ch, i) => await this.renderChoice(ch, i)); let visible = await Promise.all(choices); let heading = await this.renderScaleHeading(); return this.margin[0] + [heading, ...visible.map(v => v.join(' '))].join('\n'); }