@blackglory/structures 0.6.7 → 0.6.10

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.
@@ -10,10 +10,8 @@ class SparseSet {
10
10
  get [Symbol.toStringTag]() {
11
11
  return this.constructor.name;
12
12
  }
13
- *[Symbol.iterator]() {
14
- for (const value of this.values) {
15
- yield value;
16
- }
13
+ [Symbol.iterator]() {
14
+ return this.values[Symbol.iterator]();
17
15
  }
18
16
  has(value) {
19
17
  return (0, types_1.isntUndefined)(this.valueToValueIndex[value]);
@@ -28,7 +26,10 @@ class SparseSet {
28
26
  remove(value) {
29
27
  if (this.has(value)) {
30
28
  const lastValue = this.values.pop();
31
- if (value !== lastValue) {
29
+ if (value === lastValue) {
30
+ this.valueToValueIndex[value] = undefined;
31
+ }
32
+ else {
32
33
  const indexOfValue = this.valueToValueIndex[value];
33
34
  this.values[indexOfValue] = lastValue;
34
35
  this.valueToValueIndex[lastValue] = indexOfValue;
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAEjD,MAAa,SAAS;IAAtB;QACU,WAAM,GAAa,EAAE,CAAA;QACrB,sBAAiB,GAA8B,EAAE,CAAA;IAqC3D,CAAC;IAnCC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACtC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAG,CAAA;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAE,CAAA;gBACnD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;gBACrC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAA;gBAEhD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aAC1C;SACF;IACH,CAAC;CACF;AAvCD,8BAuCC"}
1
+ {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAEjD,MAAa,SAAS;IAAtB;QACU,WAAM,GAAa,EAAE,CAAA;QACrB,sBAAiB,GAA8B,EAAE,CAAA;IAqC3D,CAAC;IAnCC,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,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IACvC,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACtC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAG,CAAA;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aAC1C;iBAAM;gBACL,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAE,CAAA;gBACnD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;gBACrC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAA;gBAEhD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aAC1C;SACF;IACH,CAAC;CACF;AAvCD,8BAuCC"}
@@ -10,10 +10,8 @@ class SparseSet {
10
10
  get [Symbol.toStringTag]() {
11
11
  return this.constructor.name;
12
12
  }
13
- *[Symbol.iterator]() {
14
- for (const value of this.values) {
15
- yield value;
16
- }
13
+ [Symbol.iterator]() {
14
+ return this.values[Symbol.iterator]();
17
15
  }
18
16
  has(value) {
19
17
  return (0, types_1.isntUndefined)(this.valueToValueIndex[value]);
@@ -28,7 +26,10 @@ class SparseSet {
28
26
  remove(value) {
29
27
  if (this.has(value)) {
30
28
  const lastValue = this.values.pop();
31
- if (value !== lastValue) {
29
+ if (value === lastValue) {
30
+ this.valueToValueIndex[value] = undefined;
31
+ }
32
+ else {
32
33
  const indexOfValue = this.valueToValueIndex[value];
33
34
  this.values[indexOfValue] = lastValue;
34
35
  this.valueToValueIndex[lastValue] = indexOfValue;
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAEjD,MAAa,SAAS;IAAtB;QACU,WAAM,GAAa,EAAE,CAAA;QACrB,sBAAiB,GAA8B,EAAE,CAAA;IAqC3D,CAAC;IAnCC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACtC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAG,CAAA;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAE,CAAA;gBACnD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;gBACrC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAA;gBAEhD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aAC1C;SACF;IACH,CAAC;CACF;AAvCD,8BAuCC"}
1
+ {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAEjD,MAAa,SAAS;IAAtB;QACU,WAAM,GAAa,EAAE,CAAA;QACrB,sBAAiB,GAA8B,EAAE,CAAA;IAqC3D,CAAC;IAnCC,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,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IACvC,CAAC;IAED,GAAG,CAAC,KAAa;QAEf,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;SACtC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAG,CAAA;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aAC1C;iBAAM;gBACL,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAE,CAAA;gBACnD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;gBACrC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAA;gBAEhD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aAC1C;SACF;IACH,CAAC;CACF;AAvCD,8BAuCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackglory/structures",
3
- "version": "0.6.7",
3
+ "version": "0.6.10",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib",