index.js 479 B

123456789101112131415161718192021222324
  1. 'use strict';
  2. function fuzzysearch (needle, haystack) {
  3. var tlen = haystack.length;
  4. var qlen = needle.length;
  5. if (qlen > tlen) {
  6. return false;
  7. }
  8. if (qlen === tlen) {
  9. return needle === haystack;
  10. }
  11. outer: for (var i = 0, j = 0; i < qlen; i++) {
  12. var nch = needle.charCodeAt(i);
  13. while (j < tlen) {
  14. if (haystack.charCodeAt(j++) === nch) {
  15. continue outer;
  16. }
  17. }
  18. return false;
  19. }
  20. return true;
  21. }
  22. module.exports = fuzzysearch;