summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/strings/soundex.js.map
blob: a63cae725fc38463c43790000c0d8f7312236db2 (plain) (blame)
1
{"version":3,"sources":["../../../src/php/strings/soundex.js"],"names":["module","exports","soundex","str","toUpperCase","sdx","m","B","F","P","V","C","G","J","K","Q","S","X","Z","D","T","L","M","N","R","i","j","s","c","p","charAt","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,GAAlB,EAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA,QAAM,CAACA,MAAM,EAAP,EAAWC,WAAX,EAAN;AACA,MAAI,CAACD,GAAL,EAAU;AACR,WAAO,EAAP;AACD;;AAED,MAAIE,MAAM,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAV;AACA,MAAIC,IAAI;AACNC,OAAG,CADG;AAENC,OAAG,CAFG;AAGNC,OAAG,CAHG;AAINC,OAAG,CAJG;AAKNC,OAAG,CALG;AAMNC,OAAG,CANG;AAONC,OAAG,CAPG;AAQNC,OAAG,CARG;AASNC,OAAG,CATG;AAUNC,OAAG,CAVG;AAWNC,OAAG,CAXG;AAYNC,OAAG,CAZG;AAaNC,OAAG,CAbG;AAcNC,OAAG,CAdG;AAeNC,OAAG,CAfG;AAgBNC,OAAG,CAhBG;AAiBNC,OAAG,CAjBG;AAkBNC,OAAG;AAlBG,GAAR;AAoBA,MAAIC,IAAI,CAAR;AACA,MAAIC,CAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;;AAEA,SAAO,CAACD,IAAIzB,IAAI2B,MAAJ,CAAWL,GAAX,CAAL,KAAyBE,IAAI,CAApC,EAAuC;AACrC,QAAKD,IAAIpB,EAAEsB,CAAF,CAAT,EAAgB;AACd,UAAIF,MAAMG,CAAV,EAAa;AACXxB,YAAIsB,GAAJ,IAAWE,IAAIH,CAAf;AACD;AACF,KAJD,MAIO;AACLC,WAAKF,MAAM,CAAX;AACAI,UAAI,CAAJ;AACD;AACF;;AAEDxB,MAAI,CAAJ,IAASF,IAAI2B,MAAJ,CAAW,CAAX,CAAT;;AAEA,SAAOzB,IAAI0B,IAAJ,CAAS,EAAT,CAAP;AACD,CA/DD","file":"soundex.js","sourcesContent":["module.exports = function soundex (str) {\n  //  discuss at: http://locutus.io/php/soundex/\n  // original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)\n  // original by: Arnout Kazemier (http://www.3rd-Eden.com)\n  // improved by: Jack\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n  // bugfixed by: Kevin van Zonneveld (http://kvz.io)\n  //    input by: Brett Zamir (http://brett-zamir.me)\n  //  revised by: Rafał Kukawski (http://blog.kukawski.pl)\n  //   example 1: soundex('Kevin')\n  //   returns 1: 'K150'\n  //   example 2: soundex('Ellery')\n  //   returns 2: 'E460'\n  //   example 3: soundex('Euler')\n  //   returns 3: 'E460'\n\n  str = (str + '').toUpperCase()\n  if (!str) {\n    return ''\n  }\n\n  var sdx = [0, 0, 0, 0]\n  var m = {\n    B: 1,\n    F: 1,\n    P: 1,\n    V: 1,\n    C: 2,\n    G: 2,\n    J: 2,\n    K: 2,\n    Q: 2,\n    S: 2,\n    X: 2,\n    Z: 2,\n    D: 3,\n    T: 3,\n    L: 4,\n    M: 5,\n    N: 5,\n    R: 6\n  }\n  var i = 0\n  var j\n  var s = 0\n  var c\n  var p\n\n  while ((c = str.charAt(i++)) && s < 4) {\n    if ((j = m[c])) {\n      if (j !== p) {\n        sdx[s++] = p = j\n      }\n    } else {\n      s += i === 1\n      p = 0\n    }\n  }\n\n  sdx[0] = str.charAt(0)\n\n  return sdx.join('')\n}\n"]}