index.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. var __extends = this && this.t || function() {
  2. var extendStatics = function(n, t) {
  3. extendStatics = Object.setPrototypeOf || {
  4. __proto__: []
  5. } instanceof Array && function(n, t) {
  6. n.__proto__ = t;
  7. } || function(n, t) {
  8. for (var r in t) if (Object.prototype.hasOwnProperty.call(t, r)) n[r] = t[r];
  9. };
  10. return extendStatics(n, t);
  11. };
  12. return function(n, t) {
  13. if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
  14. extendStatics(n, t);
  15. function __() {
  16. this.constructor = n;
  17. }
  18. n.prototype = t === null ? Object.create(t) : (__.prototype = t.prototype, new __);
  19. };
  20. }();
  21. import { Base } from "../../ContainerBase";
  22. var HashContainer = function(n) {
  23. __extends(HashContainer, n);
  24. function HashContainer(t, r) {
  25. if (t === void 0) {
  26. t = 16;
  27. }
  28. if (r === void 0) {
  29. r = function(n) {
  30. var t;
  31. if (typeof n !== "string") {
  32. t = JSON.stringify(n);
  33. } else t = n;
  34. var r = 0;
  35. var i = t.length;
  36. for (var e = 0; e < i; e++) {
  37. var o = t.charCodeAt(e);
  38. r = (r << 5) - r + o;
  39. r |= 0;
  40. }
  41. return r >>> 0;
  42. };
  43. }
  44. var i = n.call(this) || this;
  45. if (t < 16 || (t & t - 1) !== 0) {
  46. throw new RangeError("InitBucketNum range error");
  47. }
  48. i.l = i.nn = t;
  49. i.p = r;
  50. return i;
  51. }
  52. HashContainer.prototype.clear = function() {
  53. this.o = 0;
  54. this.l = this.nn;
  55. this.h = [];
  56. };
  57. return HashContainer;
  58. }(Base);
  59. export default HashContainer;