()
| 10159 | |
| 10160 | |
| 10161 | function getChanges() { |
| 10162 | if (!( |
| 10163 | !changesPending && |
| 10164 | !changesCompleted && |
| 10165 | batches.length < batches_limit |
| 10166 | )) { |
| 10167 | return; |
| 10168 | } |
| 10169 | changesPending = true; |
| 10170 | function abortChanges() { |
| 10171 | changes.cancel(); |
| 10172 | } |
| 10173 | function removeListener() { |
| 10174 | returnValue.removeListener('cancel', abortChanges); |
| 10175 | } |
| 10176 | |
| 10177 | if (returnValue._changes) { // remove old changes() and listeners |
| 10178 | returnValue.removeListener('cancel', returnValue._abortChanges); |
| 10179 | returnValue._changes.cancel(); |
| 10180 | } |
| 10181 | returnValue.once('cancel', abortChanges); |
| 10182 | |
| 10183 | var changes = src.changes(changesOpts) |
| 10184 | .on('change', onChange); |
| 10185 | changes.then(removeListener, removeListener); |
| 10186 | changes.then(onChangesComplete) |
| 10187 | .catch(onChangesError); |
| 10188 | |
| 10189 | if (opts.retry) { |
| 10190 | // save for later so we can cancel if necessary |
| 10191 | returnValue._changes = changes; |
| 10192 | returnValue._abortChanges = abortChanges; |
| 10193 | } |
| 10194 | } |
| 10195 | |
| 10196 | function createTask(checkpoint) { |
| 10197 | return src.info().then(function (info) { |
no test coverage detected
searching dependent graphs…