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