Promise .all([ queryCollaborators({ repositoryOwner, repositoryName }), queryCommits({ repositoryOwner, repositoryName, since }) ]) .then(results => { const collaborators = _.keyBy(results[0], 'login') return _.chain(results[1]) .map('author.user') .reject(_.isEmpty) .groupBy('login') .map(group => _.defaults({ commits: _.size(group) }, _.head(group))) .filter(user => _.isEmpty(collaborators[user.login])) .value() }) .then(res => formatOutput(res)) .catch(err => console.log(err))
let instanceProperties = []; let templateProperties = resultProperties.map(entity => entity.data); let submittedMap = _.keyBy(submittedProperties, 'id');
/* 我们还可以设置一个一天的定时器,每天与云存储进行一次全量的同步,以免错过某个 Class Hook */ AV.Cloud.define('refreshCategories', async request => { const categories = await new AV.Query(Category).find() const categorieSerialized = _.mapValues(_.keyBy(categories, category => category.get('name')), object => JSON.stringify(object.toFullJSON())) await redisClient.hmset('categories', categorieSerialized) })
async init() { // this.loadFnFromConfig(okConfig); // saveConfig; const pairs = await this.pairs(); const pairO = _.keyBy(pairs, 'pair'); this.saveConfig(pairO, 'pairs'); }
// 关于交易费用的测试 function filterBalance(balances, arr) { arr = _.keyBy(arr, d => d); return _.filter(balances, balance => balance.coin in arr); }
function getPairObject(ds) { ds = _.cloneDeep(ds); ds = _.map(ds, (d) => { d.symbol = pair2symbol(d.pair); return d; }); return _.keyBy(ds, 'symbol'); }
function checkKey(o, vs) { if (Array.isArray(vs)) { vs = _.keyBy(vs, v => v); _.forEach(vs, (k) => { if (isNull(o[k])) _handelNull(k); }); } else if (isNull(o[vs])) _handelNull(vs); }
function parseTable({ selector, parseIndices, parsers, rowParser, key }) { return ($html) => { const $table = selector($html); const entries = scrapeUtil .parseTable($table, parseIndices, parsers).map(rowParser); return key ? _.keyBy(entries, key) : entries; }; }
function _updateSymbolMap(ps) { symbolMap = _.keyBy(ps, p => pair2symbol(p.pair)); }
function updatePairs(pairs) { _.forEach(pairs, (d) => { const { pair, symbol, filters } = d; pairMap[symbol] = pair; pairInfo[symbol] = { ...d, ...(_.keyBy(filters, d => d.filterType)) }; }); }
Promise .all([ queryCollaborators({ repositoryOwner, repositoryName }), queryCommits({ repositoryOwner, repositoryName, since }) ]) .then(results => { const collaborators = _.keyBy(results[0], 'login') return _.chain(results[1]) .map('author.user') .reject(_.isEmpty) .groupBy('login') .map(group => _.defaults({ commits: _.size(group) }, _.head(group))) .filter(user => _.isEmpty(collaborators[user.login])) .value() }) .then(res => formatOutput(res)) .catch(err => console.log(err))
function _updateSymbolMap(ps) { symbolMap = _.keyBy(ps, p => pair2symbol(p.pair)); }
function updateSymbolMap() { symbolMap = _.keyBy(allPairs, d => pair2symbol(d.pair)); }