UNPKG

1.61 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/hash.ts"],"names":["BKDRHash","str","seed","seed2","hash","MAX_SAFE_INTEGER","Math","floor","i","length","charCodeAt","djb2hash","toString"],"mappings":";;;;;;;;AAAO,SAASA,QAAT,CAAkBC,GAAlB,EAA+B;AACpC,MAAMC,IAAI,GAAG,GAAb;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAIC,IAAI,GAAG,CAAX;AACAH,EAAAA,GAAG,IAAI,GAAP;AACA,MAAMI,gBAAgB,GAAGC,IAAI,CAACC,KAAL,CAAW,mBAAmBJ,KAA9B,CAAzB;;AACA,OAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,GAAG,CAACQ,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;AACnC,QAAIJ,IAAI,GAAGC,gBAAX,EAA6B;AAC3BD,MAAAA,IAAI,GAAGE,IAAI,CAACC,KAAL,CAAWH,IAAI,GAAGD,KAAlB,CAAP;AACD;;AACDC,IAAAA,IAAI,GAAGA,IAAI,GAAGF,IAAP,GAAcD,GAAG,CAACS,UAAJ,CAAeF,CAAf,CAArB;AACD;;AACD,SAAOJ,IAAP;AACD;;AACM,SAASO,QAAT,CAAkBV,GAAlB,EAA+B;AACpCA,EAAAA,GAAG,GAAGA,GAAG,CAACW,QAAJ,EAAN;AACA,MAAIR,IAAI,GAAG,IAAX;AACA,MAAII,CAAC,GAAGP,GAAG,CAACQ,MAAZ;;AAEA,SAAOD,CAAP,EAAU;AACRJ,IAAAA,IAAI,GAAIA,IAAI,GAAG,EAAR,GAAcH,GAAG,CAACS,UAAJ,CAAe,EAAEF,CAAjB,CAArB;AACD;;AACD,SAAOJ,IAAI,KAAK,CAAhB;AACD","sourcesContent":["export function BKDRHash(str: string) {\n const seed = 131;\n const seed2 = 137;\n let hash = 0;\n str += 'x';\n const MAX_SAFE_INTEGER = Math.floor(9007199254740991 / seed2);\n for (let i = 0; i < str.length; i++) {\n if (hash > MAX_SAFE_INTEGER) {\n hash = Math.floor(hash / seed2);\n }\n hash = hash * seed + str.charCodeAt(i);\n }\n return hash;\n}\nexport function djb2hash(str: string) {\n str = str.toString();\n let hash = 5381;\n let i = str.length;\n\n while (i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0;\n}\n"],"file":"hash.js"}
\No newline at end of file