|
28 | 28 |
|
29 | 29 | var processing = require('../lib/process.js')(clone_and_set_option_defaults, Array.isArray, QRatio, extract); |
30 | 30 | var dedupe = processing.dedupe; |
31 | | - |
| 31 | + |
32 | 32 | /** Mostly follows after python fuzzywuzzy, https://github.com/seatgeek/fuzzywuzzy */ |
33 | 33 |
|
34 | 34 |
|
|
292 | 292 | * @param {boolean} [options_p.trySimple] - try simple/partial ratio as part of (parial_)token_set_ratio test suite |
293 | 293 | * @param {string} [options_p.wildcards] - characters that will be used as wildcards if provided |
294 | 294 | * @param {boolean} [options_p.returnObjects] - return array of object instead of array of tuples; default false |
| 295 | + * @param {Object} [options_p.abortController] - track abortion |
295 | 296 | * @param {Object} [options_p.cancelToken] - track cancellation |
296 | 297 | * @param {number} [options_p.asyncLoopOffset] - number of rows to run in between every async loop iteration, default 256 |
297 | 298 | * @param {function} callback - node style callback (err, arrayOfResults) |
298 | 299 | */ |
299 | 300 | var options = clone_and_set_option_defaults(options_p); |
300 | 301 |
|
| 302 | + var abortController; |
| 303 | + if (typeof options_p.abortController === "object") { |
| 304 | + abortController = options_p.abortController; |
| 305 | + } |
| 306 | + |
301 | 307 | var cancelToken; |
302 | 308 | if (typeof options_p.cancelToken === "object") { |
303 | 309 | cancelToken = options_p.cancelToken; |
|
428 | 434 | } |
429 | 435 | } |
430 | 436 |
|
| 437 | + if (abortController && abortController.signal.aborted === true) { |
| 438 | + callback(new Error("aborted")); |
| 439 | + return; |
| 440 | + } |
| 441 | + |
431 | 442 | if (cancelToken && cancelToken.canceled === true) { |
432 | 443 | callback(new Error("canceled")); |
433 | 444 | return; |
|
476 | 487 | var sorted_2to1 = diff2to1.sort().join(" "); |
477 | 488 | var combined_1to2 = sorted_sect + " " + sorted_1to2; |
478 | 489 | var combined_2to1 = sorted_sect + " " + sorted_2to1; |
479 | | - |
| 490 | + |
480 | 491 | sorted_sect = sorted_sect.trim(); |
481 | 492 | combined_1to2 = combined_1to2.trim(); |
482 | 493 | combined_2to1 = combined_2to1.trim(); |
|
0 commit comments