@blackglory/structures 0.10.5 → 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +7 -3
  2. package/dist/es2015/index.min.mjs +1 -1
  3. package/dist/es2015/index.min.mjs.map +1 -1
  4. package/dist/es2015/index.mjs +19 -10
  5. package/dist/es2015/index.mjs.map +1 -1
  6. package/dist/es2015/index.umd.js +19 -10
  7. package/dist/es2015/index.umd.js.map +1 -1
  8. package/dist/es2015/index.umd.min.js +2 -2
  9. package/dist/es2015/index.umd.min.js.map +1 -1
  10. package/dist/es2018/index.min.mjs +1 -1
  11. package/dist/es2018/index.min.mjs.map +1 -1
  12. package/dist/es2018/index.mjs +19 -10
  13. package/dist/es2018/index.mjs.map +1 -1
  14. package/dist/es2018/index.umd.js +19 -10
  15. package/dist/es2018/index.umd.js.map +1 -1
  16. package/dist/es2018/index.umd.min.js +2 -2
  17. package/dist/es2018/index.umd.min.js.map +1 -1
  18. package/lib/es2015/bit-set.d.ts +1 -1
  19. package/lib/es2015/bit-set.js +11 -10
  20. package/lib/es2015/bit-set.js.map +1 -1
  21. package/lib/es2015/sparse-set.d.ts +1 -1
  22. package/lib/es2015/sparse-set.js +4 -0
  23. package/lib/es2015/sparse-set.js.map +1 -1
  24. package/lib/es2015/typed-sparse-set.d.ts +1 -1
  25. package/lib/es2015/typed-sparse-set.js +4 -0
  26. package/lib/es2015/typed-sparse-set.js.map +1 -1
  27. package/lib/es2018/bit-set.d.ts +1 -1
  28. package/lib/es2018/bit-set.js +11 -10
  29. package/lib/es2018/bit-set.js.map +1 -1
  30. package/lib/es2018/sparse-set.d.ts +1 -1
  31. package/lib/es2018/sparse-set.js +4 -0
  32. package/lib/es2018/sparse-set.js.map +1 -1
  33. package/lib/es2018/typed-sparse-set.d.ts +1 -1
  34. package/lib/es2018/typed-sparse-set.js +4 -0
  35. package/lib/es2018/typed-sparse-set.js.map +1 -1
  36. package/package.json +1 -1
@@ -16470,6 +16470,10 @@
16470
16470
  // 跟一般的实现不同, 直接删除值的索引.
16471
16471
  delete this.valueToIndex[value];
16472
16472
  }
16473
+ return true;
16474
+ }
16475
+ else {
16476
+ return false;
16473
16477
  }
16474
16478
  }
16475
16479
  }
@@ -16643,6 +16647,10 @@
16643
16647
  this.indexToValue.internalTypedArray[index] = lastValue;
16644
16648
  this.valueToIndex[lastValue] = index;
16645
16649
  }
16650
+ return true;
16651
+ }
16652
+ else {
16653
+ return false;
16646
16654
  }
16647
16655
  }
16648
16656
  }
@@ -16983,7 +16991,7 @@
16983
16991
  for (let bit = 0; bit < BitSet.bitsPerElement; bit++) {
16984
16992
  const mask = this.getMask(bit);
16985
16993
  if ((element & mask) === mask) {
16986
- yield index * 8 + bit;
16994
+ yield index * BitSet.bitsPerElement + bit;
16987
16995
  }
16988
16996
  }
16989
16997
  }
@@ -16991,18 +16999,17 @@
16991
16999
  for (let bit = 0; bit < remainder; bit++) {
16992
17000
  const mask = this.getMask(bit);
16993
17001
  if ((lastElement & mask) === mask) {
16994
- yield lastIndex * 8 + bit;
17002
+ yield lastIndex * BitSet.bitsPerElement + bit;
16995
17003
  }
16996
17004
  }
16997
17005
  }
16998
17006
  }
16999
17007
  _dumpBinaryStrings() {
17000
17008
  const result = [];
17001
- const expectedBinaryStringLength = Uint8Array.BYTES_PER_ELEMENT * 8;
17002
17009
  for (let i = 0; i < this.array.length; i++) {
17003
17010
  const binary = this.array.internalTypedArray[i].toString(2);
17004
- if (binary.length < expectedBinaryStringLength) {
17005
- result.push('0'.repeat(expectedBinaryStringLength - binary.length) + binary);
17011
+ if (binary.length < BitSet.bitsPerElement) {
17012
+ result.push('0'.repeat(BitSet.bitsPerElement - binary.length) + binary);
17006
17013
  }
17007
17014
  else {
17008
17015
  result.push(binary);
@@ -17012,7 +17019,7 @@
17012
17019
  }
17013
17020
  has(value) {
17014
17021
  var _a;
17015
- const { index, mask } = this.getPosition(value);
17022
+ const [index, mask] = this.getPosition(value);
17016
17023
  return (((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & mask) === mask;
17017
17024
  }
17018
17025
  add(value) {
@@ -17021,13 +17028,15 @@
17021
17028
  if (value >= this.length) {
17022
17029
  this.length = value + 1;
17023
17030
  }
17024
- const { index, mask } = this.getPosition(value);
17031
+ const [index, mask] = this.getPosition(value);
17025
17032
  this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) | mask);
17026
17033
  }
17027
17034
  delete(value) {
17028
17035
  var _a;
17029
- const { index, mask } = this.getPosition(value);
17030
- this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & ~mask);
17036
+ const [index, mask] = this.getPosition(value);
17037
+ const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
17038
+ this.array.set(index, element & ~mask);
17039
+ return (element & mask) === mask;
17031
17040
  }
17032
17041
  clear() {
17033
17042
  for (let i = this.array.length; i--;) {
@@ -17039,7 +17048,7 @@
17039
17048
  const quotient = (value - remainder) / BitSet.bitsPerElement;
17040
17049
  const index = quotient;
17041
17050
  const mask = this.getMask(remainder);
17042
- return { index, mask };
17051
+ return [index, mask];
17043
17052
  }
17044
17053
  // 输入一定是一个小于bitsPerElement的值, 取值范围是[0, bitsPerElement)
17045
17054
  getMask(value) {