@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
@@ -16464,6 +16464,10 @@ class SparseSet {
16464
16464
  // 跟一般的实现不同, 直接删除值的索引.
16465
16465
  delete this.valueToIndex[value];
16466
16466
  }
16467
+ return true;
16468
+ }
16469
+ else {
16470
+ return false;
16467
16471
  }
16468
16472
  }
16469
16473
  }
@@ -16637,6 +16641,10 @@ class TypedSparseSet {
16637
16641
  this.indexToValue.internalTypedArray[index] = lastValue;
16638
16642
  this.valueToIndex[lastValue] = index;
16639
16643
  }
16644
+ return true;
16645
+ }
16646
+ else {
16647
+ return false;
16640
16648
  }
16641
16649
  }
16642
16650
  }
@@ -16977,7 +16985,7 @@ class BitSet {
16977
16985
  for (let bit = 0; bit < BitSet.bitsPerElement; bit++) {
16978
16986
  const mask = this.getMask(bit);
16979
16987
  if ((element & mask) === mask) {
16980
- yield index * 8 + bit;
16988
+ yield index * BitSet.bitsPerElement + bit;
16981
16989
  }
16982
16990
  }
16983
16991
  }
@@ -16985,18 +16993,17 @@ class BitSet {
16985
16993
  for (let bit = 0; bit < remainder; bit++) {
16986
16994
  const mask = this.getMask(bit);
16987
16995
  if ((lastElement & mask) === mask) {
16988
- yield lastIndex * 8 + bit;
16996
+ yield lastIndex * BitSet.bitsPerElement + bit;
16989
16997
  }
16990
16998
  }
16991
16999
  }
16992
17000
  }
16993
17001
  _dumpBinaryStrings() {
16994
17002
  const result = [];
16995
- const expectedBinaryStringLength = Uint8Array.BYTES_PER_ELEMENT * 8;
16996
17003
  for (let i = 0; i < this.array.length; i++) {
16997
17004
  const binary = this.array.internalTypedArray[i].toString(2);
16998
- if (binary.length < expectedBinaryStringLength) {
16999
- result.push('0'.repeat(expectedBinaryStringLength - binary.length) + binary);
17005
+ if (binary.length < BitSet.bitsPerElement) {
17006
+ result.push('0'.repeat(BitSet.bitsPerElement - binary.length) + binary);
17000
17007
  }
17001
17008
  else {
17002
17009
  result.push(binary);
@@ -17006,7 +17013,7 @@ class BitSet {
17006
17013
  }
17007
17014
  has(value) {
17008
17015
  var _a;
17009
- const { index, mask } = this.getPosition(value);
17016
+ const [index, mask] = this.getPosition(value);
17010
17017
  return (((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & mask) === mask;
17011
17018
  }
17012
17019
  add(value) {
@@ -17015,13 +17022,15 @@ class BitSet {
17015
17022
  if (value >= this.length) {
17016
17023
  this.length = value + 1;
17017
17024
  }
17018
- const { index, mask } = this.getPosition(value);
17025
+ const [index, mask] = this.getPosition(value);
17019
17026
  this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) | mask);
17020
17027
  }
17021
17028
  delete(value) {
17022
17029
  var _a;
17023
- const { index, mask } = this.getPosition(value);
17024
- this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & ~mask);
17030
+ const [index, mask] = this.getPosition(value);
17031
+ const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
17032
+ this.array.set(index, element & ~mask);
17033
+ return (element & mask) === mask;
17025
17034
  }
17026
17035
  clear() {
17027
17036
  for (let i = this.array.length; i--;) {
@@ -17033,7 +17042,7 @@ class BitSet {
17033
17042
  const quotient = (value - remainder) / BitSet.bitsPerElement;
17034
17043
  const index = quotient;
17035
17044
  const mask = this.getMask(remainder);
17036
- return { index, mask };
17045
+ return [index, mask];
17037
17046
  }
17038
17047
  // 输入一定是一个小于bitsPerElement的值, 取值范围是[0, bitsPerElement)
17039
17048
  getMask(value) {