Sha256: a77a6c139ed6fe2630383ab8f979a2ac0bb5108aa06640aa760ce1b805eb75dc
Contents?: true
Size: 801 Bytes
Versions: 11
Compression:
Stored size: 801 Bytes
Contents
u = up.util ###** A linear task queue whose (2..n)th tasks can be changed at any time. @function up.DivertibleChain @internal ### class up.DivertibleChain constructor: -> @reset() reset: => @queue = [] @currentTask = undefined promise: => lastTask = u.last(@allTasks()) lastTask?.promise || Promise.resolve() allTasks: => tasks = [] tasks.push(@currentTask) if @currentTask tasks = tasks.concat(@queue) tasks poke: => unless @currentTask # don't start a new task while we're still running one if @currentTask = @queue.shift() promise = @currentTask() u.always promise, => @currentTask = undefined @poke() asap: (newTasks...) => @queue = u.map(newTasks, u.previewable) @poke() @promise()
Version data entries
11 entries across 11 versions & 1 rubygems