@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
@@ -9,7 +9,7 @@ export declare class BitSet {
9
9
  _dumpBinaryStrings(): string[];
10
10
  has(value: number): boolean;
11
11
  add(value: number): void;
12
- delete(value: number): void;
12
+ delete(value: number): boolean;
13
13
  clear(): void;
14
14
  private getPosition;
15
15
  private getMask;
@@ -27,7 +27,7 @@ class BitSet {
27
27
  for (let bit = 0; bit < BitSet.bitsPerElement; bit++) {
28
28
  const mask = this.getMask(bit);
29
29
  if ((element & mask) === mask) {
30
- yield index * 8 + bit;
30
+ yield index * BitSet.bitsPerElement + bit;
31
31
  }
32
32
  }
33
33
  }
@@ -35,18 +35,17 @@ class BitSet {
35
35
  for (let bit = 0; bit < remainder; bit++) {
36
36
  const mask = this.getMask(bit);
37
37
  if ((lastElement & mask) === mask) {
38
- yield lastIndex * 8 + bit;
38
+ yield lastIndex * BitSet.bitsPerElement + bit;
39
39
  }
40
40
  }
41
41
  }
42
42
  }
43
43
  _dumpBinaryStrings() {
44
44
  const result = [];
45
- const expectedBinaryStringLength = Uint8Array.BYTES_PER_ELEMENT * 8;
46
45
  for (let i = 0; i < this.array.length; i++) {
47
46
  const binary = this.array.internalTypedArray[i].toString(2);
48
- if (binary.length < expectedBinaryStringLength) {
49
- result.push('0'.repeat(expectedBinaryStringLength - binary.length) + binary);
47
+ if (binary.length < BitSet.bitsPerElement) {
48
+ result.push('0'.repeat(BitSet.bitsPerElement - binary.length) + binary);
50
49
  }
51
50
  else {
52
51
  result.push(binary);
@@ -56,7 +55,7 @@ class BitSet {
56
55
  }
57
56
  has(value) {
58
57
  var _a;
59
- const { index, mask } = this.getPosition(value);
58
+ const [index, mask] = this.getPosition(value);
60
59
  return (((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & mask) === mask;
61
60
  }
62
61
  add(value) {
@@ -65,13 +64,15 @@ class BitSet {
65
64
  if (value >= this.length) {
66
65
  this.length = value + 1;
67
66
  }
68
- const { index, mask } = this.getPosition(value);
67
+ const [index, mask] = this.getPosition(value);
69
68
  this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) | mask);
70
69
  }
71
70
  delete(value) {
72
71
  var _a;
73
- const { index, mask } = this.getPosition(value);
74
- this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & ~mask);
72
+ const [index, mask] = this.getPosition(value);
73
+ const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
74
+ this.array.set(index, element & ~mask);
75
+ return (element & mask) === mask;
75
76
  }
76
77
  clear() {
77
78
  for (let i = this.array.length; i--;) {
@@ -83,7 +84,7 @@ class BitSet {
83
84
  const quotient = (value - remainder) / BitSet.bitsPerElement;
84
85
  const index = quotient;
85
86
  const mask = this.getMask(remainder);
86
- return { index, mask };
87
+ return [index, mask];
87
88
  }
88
89
  getMask(value) {
89
90
  return Math.pow(2, value);
@@ -1 +1 @@
1
- {"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":";;;AAAA,+DAAyD;AACzD,+CAA2C;AAE3C,MAAa,MAAM;IAAnB;QAEU,UAAK,GAAG,IAAI,uCAAiB,CAAC,UAAU,CAAC,CAAA;QACzC,WAAM,GAAG,CAAC,CAAA;IA8FpB,CAAC;IA5FC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YAChG,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC,CAAA;YACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACpD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;oBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,CAAA;qBAC1C;iBACF;aACF;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;YACrE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;oBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,CAAA;iBAC9C;aACF;SACF;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE;gBACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;aACxE;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACpB;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,GAAG,CAAC,KAAa;;QACf,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7C,OAAO,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IACvD,CAAC;IAED,GAAG,CAAC,KAAa;;QACf,IAAA,eAAM,EAAC,KAAK,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAA;QAC9D,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;SACxB;QAED,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,KAAa;;QAClB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7C,MAAM,OAAO,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IAClC,CAAC;IAED,KAAK;QACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SACrB;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,cAAc,CAAA;QAC/C,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAA;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACtB,CAAC;IAGO,OAAO,CAAC,KAAa;QAC3B,OAAO,SAAA,CAAC,EAAI,KAAK,CAAA,CAAA;IACnB,CAAC;;AAhGH,wBAiGC;AAhGgB,qBAAc,GAAG,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAA"}
@@ -7,5 +7,5 @@ export declare class SparseSet implements Iterable<number> {
7
7
  values(): IterableIterator<number>;
8
8
  has(value: number): boolean;
9
9
  add(value: number): void;
10
- delete(value: number): void;
10
+ delete(value: number): boolean;
11
11
  }
@@ -43,6 +43,10 @@ class SparseSet {
43
43
  this.valueToIndex[lastValue] = index;
44
44
  delete this.valueToIndex[value];
45
45
  }
46
+ return true;
47
+ }
48
+ else {
49
+ return false;
46
50
  }
47
51
  }
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAYpB,YAAY,QAAkB,EAAE;QAXxB,iBAAY,GAAa,EAAE,CAAA;QAYjC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC5C,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAjBD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAaD,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAE,CAAA;gBACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;gBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;gBAEpC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;SACF;IACH,CAAC;CACF;AAtDD,8BAsDC"}
1
+ {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAYpB,YAAY,QAAkB,EAAE;QAXxB,iBAAY,GAAa,EAAE,CAAA;QAYjC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC5C,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAjBD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAaD,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAE,CAAA;gBACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;gBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;gBAEpC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;YACD,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CACF;AAzDD,8BAyDC"}
@@ -9,5 +9,5 @@ export declare class TypedSparseSet<T extends UnsignedTypedArrayConstructor> imp
9
9
  values(): IterableIterator<number>;
10
10
  has(value: number): boolean;
11
11
  add(value: number): void;
12
- delete(value: number): void;
12
+ delete(value: number): boolean;
13
13
  }
@@ -42,6 +42,10 @@ class TypedSparseSet {
42
42
  this.indexToValue.internalTypedArray[index] = lastValue;
43
43
  this.valueToIndex[lastValue] = index;
44
44
  }
45
+ return true;
46
+ }
47
+ else {
48
+ return false;
45
49
  }
46
50
  }
47
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typed-sparse-set.js","sourceRoot":"","sources":["../../src/typed-sparse-set.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAMzB,YAAY,KAA2B;QACrC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBAC/D,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;SAC9C;IACH,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,CAAA;IAC/D,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,EAAE;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,GAAG,SAAS,CAAA;gBACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;aACrC;SACF;IACH,CAAC;CACF;AAvDD,wCAuDC"}
1
+ {"version":3,"file":"typed-sparse-set.js","sourceRoot":"","sources":["../../src/typed-sparse-set.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAMzB,YAAY,KAA2B;QACrC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBAC/D,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;SAC9C;IACH,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,CAAA;IAC/D,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,EAAE;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,GAAG,SAAS,CAAA;gBACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;aACrC;YACD,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CACF;AA1DD,wCA0DC"}
@@ -9,7 +9,7 @@ export declare class BitSet {
9
9
  _dumpBinaryStrings(): string[];
10
10
  has(value: number): boolean;
11
11
  add(value: number): void;
12
- delete(value: number): void;
12
+ delete(value: number): boolean;
13
13
  clear(): void;
14
14
  private getPosition;
15
15
  private getMask;
@@ -27,7 +27,7 @@ class BitSet {
27
27
  for (let bit = 0; bit < BitSet.bitsPerElement; bit++) {
28
28
  const mask = this.getMask(bit);
29
29
  if ((element & mask) === mask) {
30
- yield index * 8 + bit;
30
+ yield index * BitSet.bitsPerElement + bit;
31
31
  }
32
32
  }
33
33
  }
@@ -35,18 +35,17 @@ class BitSet {
35
35
  for (let bit = 0; bit < remainder; bit++) {
36
36
  const mask = this.getMask(bit);
37
37
  if ((lastElement & mask) === mask) {
38
- yield lastIndex * 8 + bit;
38
+ yield lastIndex * BitSet.bitsPerElement + bit;
39
39
  }
40
40
  }
41
41
  }
42
42
  }
43
43
  _dumpBinaryStrings() {
44
44
  const result = [];
45
- const expectedBinaryStringLength = Uint8Array.BYTES_PER_ELEMENT * 8;
46
45
  for (let i = 0; i < this.array.length; i++) {
47
46
  const binary = this.array.internalTypedArray[i].toString(2);
48
- if (binary.length < expectedBinaryStringLength) {
49
- result.push('0'.repeat(expectedBinaryStringLength - binary.length) + binary);
47
+ if (binary.length < BitSet.bitsPerElement) {
48
+ result.push('0'.repeat(BitSet.bitsPerElement - binary.length) + binary);
50
49
  }
51
50
  else {
52
51
  result.push(binary);
@@ -56,7 +55,7 @@ class BitSet {
56
55
  }
57
56
  has(value) {
58
57
  var _a;
59
- const { index, mask } = this.getPosition(value);
58
+ const [index, mask] = this.getPosition(value);
60
59
  return (((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & mask) === mask;
61
60
  }
62
61
  add(value) {
@@ -65,13 +64,15 @@ class BitSet {
65
64
  if (value >= this.length) {
66
65
  this.length = value + 1;
67
66
  }
68
- const { index, mask } = this.getPosition(value);
67
+ const [index, mask] = this.getPosition(value);
69
68
  this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) | mask);
70
69
  }
71
70
  delete(value) {
72
71
  var _a;
73
- const { index, mask } = this.getPosition(value);
74
- this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & ~mask);
72
+ const [index, mask] = this.getPosition(value);
73
+ const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
74
+ this.array.set(index, element & ~mask);
75
+ return (element & mask) === mask;
75
76
  }
76
77
  clear() {
77
78
  for (let i = this.array.length; i--;) {
@@ -83,7 +84,7 @@ class BitSet {
83
84
  const quotient = (value - remainder) / BitSet.bitsPerElement;
84
85
  const index = quotient;
85
86
  const mask = this.getMask(remainder);
86
- return { index, mask };
87
+ return [index, mask];
87
88
  }
88
89
  getMask(value) {
89
90
  return 2 ** value;
@@ -1 +1 @@
1
- {"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":";;;AAAA,+DAAyD;AACzD,+CAA2C;AAE3C,MAAa,MAAM;IAAnB;QAEU,UAAK,GAAG,IAAI,uCAAiB,CAAC,UAAU,CAAC,CAAA;QACzC,WAAM,GAAG,CAAC,CAAA;IA6FpB,CAAC;IA3FC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YAChG,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC,CAAA;YACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACpD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;oBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA;qBACtB;iBACF;aACF;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;YACrE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;oBACjC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAA;iBAC1B;aACF;SACF;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,MAAM,0BAA0B,GAAG,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAA;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,0BAA0B,EAAE;gBAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;aAC7E;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACpB;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,GAAG,CAAC,KAAa;;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE/C,OAAO,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IACvD,CAAC;IAED,GAAG,CAAC,KAAa;;QACf,IAAA,eAAM,EAAC,KAAK,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAA;QAC9D,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;SACxB;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,KAAa;;QAClB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK;QACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SACrB;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,cAAc,CAAA;QAC/C,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAA;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;IAGO,OAAO,CAAC,KAAa;QAC3B,OAAO,CAAC,IAAI,KAAK,CAAA;IACnB,CAAC;;AA/FH,wBAgGC;AA/FgB,qBAAc,GAAG,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":";;;AAAA,+DAAyD;AACzD,+CAA2C;AAE3C,MAAa,MAAM;IAAnB;QAEU,UAAK,GAAG,IAAI,uCAAiB,CAAC,UAAU,CAAC,CAAA;QACzC,WAAM,GAAG,CAAC,CAAA;IA8FpB,CAAC;IA5FC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YAChG,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC,CAAA;YACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACpD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;oBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,CAAA;qBAC1C;iBACF;aACF;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;YACrE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;oBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,CAAA;iBAC9C;aACF;SACF;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE;gBACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;aACxE;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACpB;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,GAAG,CAAC,KAAa;;QACf,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7C,OAAO,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IACvD,CAAC;IAED,GAAG,CAAC,KAAa;;QACf,IAAA,eAAM,EAAC,KAAK,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAA;QAC9D,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;SACxB;QAED,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,KAAa;;QAClB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7C,MAAM,OAAO,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IAClC,CAAC;IAED,KAAK;QACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SACrB;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,cAAc,CAAA;QAC/C,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAA;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACtB,CAAC;IAGO,OAAO,CAAC,KAAa;QAC3B,OAAO,CAAC,IAAI,KAAK,CAAA;IACnB,CAAC;;AAhGH,wBAiGC;AAhGgB,qBAAc,GAAG,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAA"}
@@ -7,5 +7,5 @@ export declare class SparseSet implements Iterable<number> {
7
7
  values(): IterableIterator<number>;
8
8
  has(value: number): boolean;
9
9
  add(value: number): void;
10
- delete(value: number): void;
10
+ delete(value: number): boolean;
11
11
  }
@@ -43,6 +43,10 @@ class SparseSet {
43
43
  this.valueToIndex[lastValue] = index;
44
44
  delete this.valueToIndex[value];
45
45
  }
46
+ return true;
47
+ }
48
+ else {
49
+ return false;
46
50
  }
47
51
  }
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAYpB,YAAY,QAAkB,EAAE;QAXxB,iBAAY,GAAa,EAAE,CAAA;QAYjC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC5C,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAjBD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAaD,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAE,CAAA;gBACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;gBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;gBAEpC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;SACF;IACH,CAAC;CACF;AAtDD,8BAsDC"}
1
+ {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAYpB,YAAY,QAAkB,EAAE;QAXxB,iBAAY,GAAa,EAAE,CAAA;QAYjC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC5C,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAjBD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAaD,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAE,CAAA;gBACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;gBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;gBAEpC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aAChC;YACD,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CACF;AAzDD,8BAyDC"}
@@ -9,5 +9,5 @@ export declare class TypedSparseSet<T extends UnsignedTypedArrayConstructor> imp
9
9
  values(): IterableIterator<number>;
10
10
  has(value: number): boolean;
11
11
  add(value: number): void;
12
- delete(value: number): void;
12
+ delete(value: number): boolean;
13
13
  }
@@ -42,6 +42,10 @@ class TypedSparseSet {
42
42
  this.indexToValue.internalTypedArray[index] = lastValue;
43
43
  this.valueToIndex[lastValue] = index;
44
44
  }
45
+ return true;
46
+ }
47
+ else {
48
+ return false;
45
49
  }
46
50
  }
47
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typed-sparse-set.js","sourceRoot":"","sources":["../../src/typed-sparse-set.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAMzB,YAAY,KAA2B;QACrC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBAC/D,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;SAC9C;IACH,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,CAAA;IAC/D,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,EAAE;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,GAAG,SAAS,CAAA;gBACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;aACrC;SACF;IACH,CAAC;CACF;AAvDD,wCAuDC"}
1
+ {"version":3,"file":"typed-sparse-set.js","sourceRoot":"","sources":["../../src/typed-sparse-set.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAMzB,YAAY,KAA2B;QACrC,MAAM,YAAY,GAA8B,EAAE,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBAC/D,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;aAC5B;SACF;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,CAAE,MAAM;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;SAC9C;IACH,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,CAAA;IAC/D,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACjC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,KAAK,KAAK,EAAE;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAM,CAAC,GAAG,SAAS,CAAA;gBACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;aACrC;YACD,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CACF;AA1DD,wCA0DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackglory/structures",
3
- "version": "0.10.5",
3
+ "version": "0.10.8",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib",