wechat wss demo

index.js 686B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use strict';
  2. var arr = [];
  3. var charCodeCache = [];
  4. module.exports = function (a, b) {
  5. if (a === b) {
  6. return 0;
  7. }
  8. var aLen = a.length;
  9. var bLen = b.length;
  10. if (aLen === 0) {
  11. return bLen;
  12. }
  13. if (bLen === 0) {
  14. return aLen;
  15. }
  16. var bCharCode;
  17. var ret;
  18. var tmp;
  19. var tmp2;
  20. var i = 0;
  21. var j = 0;
  22. while (i < aLen) {
  23. charCodeCache[i] = a.charCodeAt(i);
  24. arr[i] = ++i;
  25. }
  26. while (j < bLen) {
  27. bCharCode = b.charCodeAt(j);
  28. tmp = j++;
  29. ret = j;
  30. for (i = 0; i < aLen; i++) {
  31. tmp2 = bCharCode === charCodeCache[i] ? tmp : tmp + 1;
  32. tmp = arr[i];
  33. ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2;
  34. }
  35. }
  36. return ret;
  37. };