{"version":3,"file":"hash.cjs","sources":["../../src/lib/hash.ts"],"sourcesContent":["const hash = (str: string, seed = 0): number => {\n  let h = seed;\n  const len = str.length;\n  let i = 0;\n\n  while (i + 4 <= len) {\n    let k =\n      (str.charCodeAt(i) & 0xff) |\n      ((str.charCodeAt(i + 1) & 0xff) << 8) |\n      ((str.charCodeAt(i + 2) & 0xff) << 16) |\n      ((str.charCodeAt(i + 3) & 0xff) << 24);\n\n    k = (k << 15) | (k >>> 17);\n    k = k * 0x1b873593;\n\n    h ^= k;\n    h = (h << 13) | (h >>> 19);\n    h = h * 5 + 0xe6546b64;\n\n    i += 4;\n  }\n\n  let remaining = len - i;\n  if (remaining > 0) {\n    let k = 0;\n    while (remaining-- > 0) {\n      k |= (str.charCodeAt(i++) & 0xff) << (remaining * 8);\n    }\n    k = (k << 15) | (k >>> 17);\n    k = k * 0x1b873593;\n    h ^= k;\n  }\n\n  h ^= len;\n  h ^= h >>> 16;\n  h = h * 0x85ebca6b;\n  h ^= h >>> 13;\n  h = h * 0xc2b2ae35;\n  h ^= h >>> 16;\n\n  return h >>> 0;\n};\n\nexport default hash;\n"],"names":["hash","h","seed","len","str","k","remaining"],"mappings":"oEAAA,MAAMA,GAAQ,EAAa,EAAO,IAAc,CAC9C,IAAIC,EAAIC,EACFC,EAAMC,EAAI,OACZ,EAAI,EAER,KAAO,EAAI,GAAKD,GAAK,CACnB,IAAIE,EACDD,EAAI,WAAW,EAAE,CAAG,KACnBA,EAAI,WAAW,EAAI,EAAE,CAAG,MAAS,GACjCA,EAAI,WAAW,EAAI,EAAE,CAAG,MAAS,IACjCA,EAAI,WAAW,EAAI,EAAE,CAAG,MAAS,GAErC,EAAKC,GAAK,GAAOA,IAAM,GACvB,GAAQ,UAER,GAAKA,EACL,EAAKJ,GAAK,GAAOA,IAAM,GACvB,EAAIA,EAAI,EAAI,WAEZ,GAAK,EAGP,IAAIK,EAAYH,EAAM,EACtB,GAAIG,EAAY,EAAG,CACjB,IAAID,EAAI,EACR,KAAO,KAAc,GACnB,IAAMD,EAAI,WAAW,IAAI,CAAG,MAAUE,EAAY,EAEpD,EAAKD,GAAK,GAAOA,IAAM,GACvB,GAAQ,UACR,GAAKA,EAUP,MAPA,IAAKF,EACL,GAAKF,IAAM,GACX,GAAQ,WACR,GAAKA,IAAM,GACX,GAAQ,WACR,GAAKA,IAAM,GAEJA,IAAM"}