()
| 10125 | |
| 10126 | |
| 10127 | function getChanges() { |
| 10128 | if (!( |
| 10129 | !changesPending && |
| 10130 | !changesCompleted && |
| 10131 | batches.length < batches_limit |
| 10132 | )) { |
| 10133 | return; |
| 10134 | } |
| 10135 | changesPending = true; |
| 10136 | function abortChanges() { |
| 10137 | changes.cancel(); |
| 10138 | } |
| 10139 | function removeListener() { |
| 10140 | returnValue.removeListener('cancel', abortChanges); |
| 10141 | } |
| 10142 | |
| 10143 | if (returnValue._changes) { // remove old changes() and listeners |
| 10144 | returnValue.removeListener('cancel', returnValue._abortChanges); |
| 10145 | returnValue._changes.cancel(); |
| 10146 | } |
| 10147 | returnValue.once('cancel', abortChanges); |
| 10148 | |
| 10149 | var changes = src.changes(changesOpts) |
| 10150 | .on('change', onChange); |
| 10151 | changes.then(removeListener, removeListener); |
| 10152 | changes.then(onChangesComplete) |
| 10153 | .catch(onChangesError); |
| 10154 | |
| 10155 | if (opts.retry) { |
| 10156 | // save for later so we can cancel if necessary |
| 10157 | returnValue._changes = changes; |
| 10158 | returnValue._abortChanges = abortChanges; |
| 10159 | } |
| 10160 | } |
| 10161 | |
| 10162 | function createTask(checkpoint) { |
| 10163 | return src.info().then(function (info) { |
no test coverage detected
searching dependent graphs…