UNPKG

guv

Version:

Grid Utilization Virgilante

39 lines (33 loc) 1.07 kB
# guv - Scaling governor of cloud workers # (c) 2015 The Grid # guv may be freely distributed under the MIT license async = require 'async' # @func: function(key, value, cb). cb: function(err, returnvalue) exports.mapDictionaryAsync = (obj, func, callback) -> f = (key, cb) -> value = obj[key] func key, value, (err, returnvalue) -> return callback err, { key: key, returnvalue: returnvalue } keys = Object.keys obj async.map keys, f, (err, results) -> return callback err if err objresults = {} for item in results objresults[item.key] = item.returnvalue return callback err, objresults # returns true if predicate() is true for all items in sequence, else false exports.all = (sequence, predicate) -> for i in [0...sequence.length] p = predicate sequence[i] return false if not p return true exports.arraymax = (sequence, predicate) -> max = null for i in [0...sequence.length] val = sequence[i] if not max? max = val else if val > max max = val return max