@blackglory/structures 0.15.1 → 0.15.3
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.
- package/lib/bit-set/bit-set.d.ts +1 -1
- package/lib/bit-set/bit-set.js +6 -6
- package/lib/bit-set/bit-set.js.map +1 -1
- package/lib/bit-set/dynamic-typed-bit-set.d.ts +1 -1
- package/lib/bit-set/dynamic-typed-bit-set.js +5 -5
- package/lib/bit-set/dynamic-typed-bit-set.js.map +1 -1
- package/lib/bit-set/resizable-typed-bit-set.d.ts +1 -1
- package/lib/bit-set/resizable-typed-bit-set.js +5 -5
- package/lib/bit-set/resizable-typed-bit-set.js.map +1 -1
- package/lib/bit-set/typed-bit-set.d.ts +1 -1
- package/lib/bit-set/typed-bit-set.js +5 -5
- package/lib/bit-set/typed-bit-set.js.map +1 -1
- package/lib/dynamic-typed-array.d.ts +1 -1
- package/lib/dynamic-typed-array.js +14 -14
- package/lib/dynamic-typed-array.js.map +1 -1
- package/lib/resizable-typed-array.d.ts +1 -1
- package/lib/resizable-typed-array.js +14 -14
- package/lib/resizable-typed-array.js.map +1 -1
- package/lib/sparse-map/typed-clean-sparse-map-lite.d.ts +1 -1
- package/lib/sparse-map/typed-clean-sparse-map-lite.js +8 -8
- package/lib/sparse-map/typed-clean-sparse-map-lite.js.map +1 -1
- package/lib/sparse-map/typed-clean-sparse-map.d.ts +1 -1
- package/lib/sparse-map/typed-clean-sparse-map.js +15 -9
- package/lib/sparse-map/typed-clean-sparse-map.js.map +1 -1
- package/lib/sparse-map/typed-sparse-map-lite.d.ts +1 -1
- package/lib/sparse-map/typed-sparse-map-lite.js +13 -13
- package/lib/sparse-map/typed-sparse-map-lite.js.map +1 -1
- package/lib/sparse-map/typed-sparse-map.d.ts +1 -1
- package/lib/sparse-map/typed-sparse-map.js +13 -13
- package/lib/sparse-map/typed-sparse-map.js.map +1 -1
- package/lib/sparse-set/typed-clean-sparse-set-lite.d.ts +1 -1
- package/lib/sparse-set/typed-clean-sparse-set-lite.js +6 -6
- package/lib/sparse-set/typed-clean-sparse-set-lite.js.map +1 -1
- package/lib/sparse-set/typed-clean-sparse-set.d.ts +1 -1
- package/lib/sparse-set/typed-clean-sparse-set.js +6 -6
- package/lib/sparse-set/typed-clean-sparse-set.js.map +1 -1
- package/lib/sparse-set/typed-sparse-set-lite.d.ts +1 -1
- package/lib/sparse-set/typed-sparse-set-lite.js +8 -8
- package/lib/sparse-set/typed-sparse-set-lite.js.map +1 -1
- package/lib/sparse-set/typed-sparse-set.d.ts +1 -1
- package/lib/sparse-set/typed-sparse-set.js +8 -8
- package/lib/sparse-set/typed-sparse-set.js.map +1 -1
- package/package.json +1 -1
- package/src/bit-set/bit-set.ts +6 -6
- package/src/bit-set/dynamic-typed-bit-set.ts +5 -5
- package/src/bit-set/resizable-typed-bit-set.ts +5 -5
- package/src/bit-set/typed-bit-set.ts +5 -5
- package/src/dynamic-typed-array.ts +14 -14
- package/src/resizable-typed-array.ts +14 -14
- package/src/sparse-map/typed-clean-sparse-map-lite.ts +8 -8
- package/src/sparse-map/typed-clean-sparse-map.ts +14 -9
- package/src/sparse-map/typed-sparse-map-lite.ts +13 -13
- package/src/sparse-map/typed-sparse-map.ts +13 -13
- package/src/sparse-set/typed-clean-sparse-set-lite.ts +6 -6
- package/src/sparse-set/typed-clean-sparse-set.ts +6 -6
- package/src/sparse-set/typed-sparse-set-lite.ts +8 -8
- package/src/sparse-set/typed-sparse-set.ts +8 -8
package/lib/bit-set/bit-set.d.ts
CHANGED
package/lib/bit-set/bit-set.js
CHANGED
|
@@ -4,7 +4,7 @@ export class BitSet {
|
|
|
4
4
|
bitsPerElement;
|
|
5
5
|
array = [];
|
|
6
6
|
length = 0;
|
|
7
|
-
|
|
7
|
+
_size = 0;
|
|
8
8
|
isBitsPerElementPowerOfTwo = false;
|
|
9
9
|
quotientShift = 0;
|
|
10
10
|
remainderMask = 0;
|
|
@@ -23,7 +23,7 @@ export class BitSet {
|
|
|
23
23
|
return this.constructor.name;
|
|
24
24
|
}
|
|
25
25
|
get size() {
|
|
26
|
-
return this
|
|
26
|
+
return this._size;
|
|
27
27
|
}
|
|
28
28
|
[Symbol.iterator]() {
|
|
29
29
|
return this.values();
|
|
@@ -64,7 +64,7 @@ export class BitSet {
|
|
|
64
64
|
this.array[index] = element | mask;
|
|
65
65
|
const added = (element & mask) !== mask;
|
|
66
66
|
if (added)
|
|
67
|
-
this
|
|
67
|
+
this._size++;
|
|
68
68
|
if (value >= this.length)
|
|
69
69
|
this.length = value + 1;
|
|
70
70
|
return added;
|
|
@@ -75,11 +75,11 @@ export class BitSet {
|
|
|
75
75
|
this.array[index] = element & ~mask;
|
|
76
76
|
const deleted = (element & mask) === mask;
|
|
77
77
|
if (deleted)
|
|
78
|
-
this
|
|
78
|
+
this._size--;
|
|
79
79
|
return deleted;
|
|
80
80
|
}
|
|
81
81
|
clear() {
|
|
82
|
-
this
|
|
82
|
+
this._size = 0;
|
|
83
83
|
this.length = 0;
|
|
84
84
|
this.array.length = 0;
|
|
85
85
|
}
|
|
@@ -87,7 +87,7 @@ export class BitSet {
|
|
|
87
87
|
const clone = new BitSet(this.bitsPerElement);
|
|
88
88
|
clone.array = [...this.array];
|
|
89
89
|
clone.length = this.length;
|
|
90
|
-
clone
|
|
90
|
+
clone._size = this._size;
|
|
91
91
|
return clone;
|
|
92
92
|
}
|
|
93
93
|
getPosition(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set/bit-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,OAAO,MAAM;IASG;IARZ,KAAK,GAA8B,EAAE,CAAA;IACrC,MAAM,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set/bit-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { UnsignedTypedArrayConstructor } from 'justypes';
|
|
2
2
|
import { DynamicTypedArray } from '../dynamic-typed-array.js';
|
|
3
3
|
export declare class DynamicTypedBitSet implements Iterable<number> {
|
|
4
|
-
#private;
|
|
5
4
|
private array;
|
|
6
5
|
private bitsPerElement;
|
|
7
6
|
private length;
|
|
7
|
+
private _size;
|
|
8
8
|
private quotientShift;
|
|
9
9
|
private remainderMask;
|
|
10
10
|
get [Symbol.toStringTag](): string;
|
|
@@ -4,14 +4,14 @@ export class DynamicTypedBitSet {
|
|
|
4
4
|
array;
|
|
5
5
|
bitsPerElement;
|
|
6
6
|
length = 0;
|
|
7
|
-
|
|
7
|
+
_size = 0;
|
|
8
8
|
quotientShift = 0;
|
|
9
9
|
remainderMask = 0;
|
|
10
10
|
get [Symbol.toStringTag]() {
|
|
11
11
|
return this.constructor.name;
|
|
12
12
|
}
|
|
13
13
|
get size() {
|
|
14
|
-
return this
|
|
14
|
+
return this._size;
|
|
15
15
|
}
|
|
16
16
|
constructor(array) {
|
|
17
17
|
this.array = array;
|
|
@@ -63,7 +63,7 @@ export class DynamicTypedBitSet {
|
|
|
63
63
|
this.array.set(index, element | mask);
|
|
64
64
|
const added = (element & mask) !== mask;
|
|
65
65
|
if (added)
|
|
66
|
-
this
|
|
66
|
+
this._size++;
|
|
67
67
|
if (value >= this.length)
|
|
68
68
|
this.length = value + 1;
|
|
69
69
|
return added;
|
|
@@ -74,11 +74,11 @@ export class DynamicTypedBitSet {
|
|
|
74
74
|
this.array.set(index, element & ~mask);
|
|
75
75
|
const deleted = (element & mask) === mask;
|
|
76
76
|
if (deleted)
|
|
77
|
-
this
|
|
77
|
+
this._size--;
|
|
78
78
|
return deleted;
|
|
79
79
|
}
|
|
80
80
|
clear() {
|
|
81
|
-
this
|
|
81
|
+
this._size = 0;
|
|
82
82
|
this.array.clear();
|
|
83
83
|
}
|
|
84
84
|
getPosition(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-typed-bit-set.js","sourceRoot":"","sources":["../../src/bit-set/dynamic-typed-bit-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,OAAO,kBAAkB;IAgBT;IAfZ,cAAc,CAAQ;IACtB,MAAM,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"dynamic-typed-bit-set.js","sourceRoot":"","sources":["../../src/bit-set/dynamic-typed-bit-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { UnsignedTypedArrayConstructor } from 'justypes';
|
|
2
2
|
import { ResizableTypedArray } from '../resizable-typed-array.js';
|
|
3
3
|
export declare class ResizableTypedBitSet implements Iterable<number> {
|
|
4
|
-
#private;
|
|
5
4
|
private array;
|
|
6
5
|
private bitsPerElement;
|
|
7
6
|
private length;
|
|
7
|
+
private _size;
|
|
8
8
|
private quotientShift;
|
|
9
9
|
private remainderMask;
|
|
10
10
|
get [Symbol.toStringTag](): string;
|
|
@@ -4,14 +4,14 @@ export class ResizableTypedBitSet {
|
|
|
4
4
|
array;
|
|
5
5
|
bitsPerElement;
|
|
6
6
|
length = 0;
|
|
7
|
-
|
|
7
|
+
_size = 0;
|
|
8
8
|
quotientShift = 0;
|
|
9
9
|
remainderMask = 0;
|
|
10
10
|
get [Symbol.toStringTag]() {
|
|
11
11
|
return this.constructor.name;
|
|
12
12
|
}
|
|
13
13
|
get size() {
|
|
14
|
-
return this
|
|
14
|
+
return this._size;
|
|
15
15
|
}
|
|
16
16
|
constructor(array) {
|
|
17
17
|
this.array = array;
|
|
@@ -62,7 +62,7 @@ export class ResizableTypedBitSet {
|
|
|
62
62
|
this.array.set(index, element | mask);
|
|
63
63
|
const added = (element & mask) !== mask;
|
|
64
64
|
if (added)
|
|
65
|
-
this
|
|
65
|
+
this._size++;
|
|
66
66
|
if (value >= this.length)
|
|
67
67
|
this.length = value + 1;
|
|
68
68
|
return added;
|
|
@@ -73,11 +73,11 @@ export class ResizableTypedBitSet {
|
|
|
73
73
|
this.array.set(index, element & ~mask);
|
|
74
74
|
const deleted = (element & mask) === mask;
|
|
75
75
|
if (deleted)
|
|
76
|
-
this
|
|
76
|
+
this._size--;
|
|
77
77
|
return deleted;
|
|
78
78
|
}
|
|
79
79
|
clear() {
|
|
80
|
-
this
|
|
80
|
+
this._size = 0;
|
|
81
81
|
this.length = 0;
|
|
82
82
|
this.array.clear();
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable-typed-bit-set.js","sourceRoot":"","sources":["../../src/bit-set/resizable-typed-bit-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,OAAO,oBAAoB;IAgBX;IAfZ,cAAc,CAAQ;IACtB,MAAM,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"resizable-typed-bit-set.js","sourceRoot":"","sources":["../../src/bit-set/resizable-typed-bit-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { UnsignedTypedArray } from 'justypes';
|
|
2
2
|
export declare class TypedBitSet implements Iterable<number> {
|
|
3
|
-
#private;
|
|
4
3
|
private array;
|
|
5
4
|
private bitsPerElement;
|
|
6
5
|
private length;
|
|
6
|
+
private _size;
|
|
7
7
|
private quotientShift;
|
|
8
8
|
private remainderMask;
|
|
9
9
|
get [Symbol.toStringTag](): string;
|
|
@@ -4,7 +4,7 @@ export class TypedBitSet {
|
|
|
4
4
|
array;
|
|
5
5
|
bitsPerElement;
|
|
6
6
|
length = 0;
|
|
7
|
-
|
|
7
|
+
_size = 0;
|
|
8
8
|
quotientShift = 0;
|
|
9
9
|
remainderMask = 0;
|
|
10
10
|
get [Symbol.toStringTag]() {
|
|
@@ -14,7 +14,7 @@ export class TypedBitSet {
|
|
|
14
14
|
return this.array.length * this.bitsPerElement;
|
|
15
15
|
}
|
|
16
16
|
get size() {
|
|
17
|
-
return this
|
|
17
|
+
return this._size;
|
|
18
18
|
}
|
|
19
19
|
constructor(array) {
|
|
20
20
|
this.array = array;
|
|
@@ -66,7 +66,7 @@ export class TypedBitSet {
|
|
|
66
66
|
this.array[index] = element | mask;
|
|
67
67
|
const added = (element & mask) !== mask;
|
|
68
68
|
if (added)
|
|
69
|
-
this
|
|
69
|
+
this._size++;
|
|
70
70
|
if (value >= this.length)
|
|
71
71
|
this.length = value + 1;
|
|
72
72
|
return added;
|
|
@@ -77,11 +77,11 @@ export class TypedBitSet {
|
|
|
77
77
|
this.array[index] = element & ~mask;
|
|
78
78
|
const deleted = (element & mask) === mask;
|
|
79
79
|
if (deleted)
|
|
80
|
-
this
|
|
80
|
+
this._size--;
|
|
81
81
|
return deleted;
|
|
82
82
|
}
|
|
83
83
|
clear() {
|
|
84
|
-
this
|
|
84
|
+
this._size = 0;
|
|
85
85
|
this.length = 0;
|
|
86
86
|
this.array.fill(0);
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-bit-set.js","sourceRoot":"","sources":["../../src/bit-set/typed-bit-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,OAAO,WAAW;IAoBF;IAnBZ,cAAc,CAAQ;IACtB,MAAM,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"typed-bit-set.js","sourceRoot":"","sources":["../../src/bit-set/typed-bit-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@ interface IDynamicTypedArrayOptions {
|
|
|
5
5
|
fillValue?: number;
|
|
6
6
|
}
|
|
7
7
|
export declare class DynamicTypedArray<T extends TypedArrayConstructor> implements Iterable<number> {
|
|
8
|
-
#private;
|
|
9
8
|
private typedArrayConstructor;
|
|
10
9
|
private array;
|
|
11
10
|
readonly growthFactor: number;
|
|
12
11
|
readonly BYTES_PER_ELEMENT: number;
|
|
13
12
|
readonly fillValue: number;
|
|
13
|
+
private _length;
|
|
14
14
|
get [Symbol.toStringTag](): string;
|
|
15
15
|
get internalTypedArray(): TypedArrayOfConstructor<T>;
|
|
16
16
|
get capacity(): number;
|
|
@@ -6,7 +6,7 @@ export class DynamicTypedArray {
|
|
|
6
6
|
growthFactor;
|
|
7
7
|
BYTES_PER_ELEMENT;
|
|
8
8
|
fillValue;
|
|
9
|
-
|
|
9
|
+
_length = 0;
|
|
10
10
|
get [Symbol.toStringTag]() {
|
|
11
11
|
return this.constructor.name;
|
|
12
12
|
}
|
|
@@ -17,7 +17,7 @@ export class DynamicTypedArray {
|
|
|
17
17
|
return this.array.length;
|
|
18
18
|
}
|
|
19
19
|
get length() {
|
|
20
|
-
return this
|
|
20
|
+
return this._length;
|
|
21
21
|
}
|
|
22
22
|
constructor(typedArrayConstructor, { growthFactor = 1.5, initialCapacity = 0, fillValue = 0 } = {}) {
|
|
23
23
|
this.typedArrayConstructor = typedArrayConstructor;
|
|
@@ -36,7 +36,7 @@ export class DynamicTypedArray {
|
|
|
36
36
|
return this.values();
|
|
37
37
|
}
|
|
38
38
|
*values() {
|
|
39
|
-
for (let i = 0; i < this
|
|
39
|
+
for (let i = 0; i < this._length; i++) {
|
|
40
40
|
yield this.array[i];
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -45,8 +45,8 @@ export class DynamicTypedArray {
|
|
|
45
45
|
const newCapacity = computeNewCapacity(this.capacity, index + 1, this.growthFactor);
|
|
46
46
|
this.resize(newCapacity);
|
|
47
47
|
}
|
|
48
|
-
if (index >= this
|
|
49
|
-
this
|
|
48
|
+
if (index >= this._length) {
|
|
49
|
+
this._length = index + 1;
|
|
50
50
|
}
|
|
51
51
|
this.array[index] = value;
|
|
52
52
|
}
|
|
@@ -56,30 +56,30 @@ export class DynamicTypedArray {
|
|
|
56
56
|
const newCapacity = computeNewCapacity(this.capacity, endIndex, this.growthFactor);
|
|
57
57
|
this.resize(newCapacity);
|
|
58
58
|
}
|
|
59
|
-
if (endIndex > this
|
|
60
|
-
this
|
|
59
|
+
if (endIndex > this._length) {
|
|
60
|
+
this._length = endIndex;
|
|
61
61
|
}
|
|
62
62
|
this.array.set(values, index);
|
|
63
63
|
}
|
|
64
64
|
get(index) {
|
|
65
|
-
return index < this
|
|
65
|
+
return index < this._length
|
|
66
66
|
? this.array[index]
|
|
67
67
|
: undefined;
|
|
68
68
|
}
|
|
69
69
|
push(...values) {
|
|
70
|
-
const newLength = this
|
|
70
|
+
const newLength = this._length + values.length;
|
|
71
71
|
if (newLength > this.capacity) {
|
|
72
72
|
const newCapacity = computeNewCapacity(this.capacity, newLength, this.growthFactor);
|
|
73
73
|
this.resize(newCapacity);
|
|
74
74
|
}
|
|
75
75
|
for (const value of values) {
|
|
76
|
-
this.array[this
|
|
76
|
+
this.array[this._length++] = value;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
pop() {
|
|
80
|
-
if (this
|
|
81
|
-
const value = this.array[this
|
|
82
|
-
this
|
|
80
|
+
if (this._length > 0) {
|
|
81
|
+
const value = this.array[this._length - 1];
|
|
82
|
+
this._length--;
|
|
83
83
|
return value;
|
|
84
84
|
}
|
|
85
85
|
else {
|
|
@@ -87,7 +87,7 @@ export class DynamicTypedArray {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
clear() {
|
|
90
|
-
this
|
|
90
|
+
this._length = 0;
|
|
91
91
|
}
|
|
92
92
|
shrink() {
|
|
93
93
|
const newCapacity = computeNewCapacity(this.capacity, this.length, this.growthFactor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-typed-array.js","sourceRoot":"","sources":["../src/dynamic-typed-array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAQnE,MAAM,OAAO,iBAAiB;IAkClB;IA/BF,KAAK,CAA4B;IAEhC,YAAY,CAAQ;IACpB,iBAAiB,CAAQ;IACzB,SAAS,CAAQ;
|
|
1
|
+
{"version":3,"file":"dynamic-typed-array.js","sourceRoot":"","sources":["../src/dynamic-typed-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@ interface IResizableTypedArrayOptions {
|
|
|
6
6
|
fillValue?: number;
|
|
7
7
|
}
|
|
8
8
|
export declare class ResizableTypedArray<T extends TypedArrayConstructor> implements Iterable<number> {
|
|
9
|
-
#private;
|
|
10
9
|
private array;
|
|
11
10
|
readonly maxCapacity: number;
|
|
12
11
|
readonly growthFactor: number;
|
|
13
12
|
readonly BYTES_PER_ELEMENT: number;
|
|
14
13
|
readonly internalTypedArray: TypedArrayOfConstructor<T>;
|
|
15
14
|
readonly fillValue: number;
|
|
15
|
+
private _length;
|
|
16
16
|
get [Symbol.toStringTag](): string;
|
|
17
17
|
get capacity(): number;
|
|
18
18
|
get length(): number;
|
|
@@ -7,7 +7,7 @@ export class ResizableTypedArray {
|
|
|
7
7
|
BYTES_PER_ELEMENT;
|
|
8
8
|
internalTypedArray;
|
|
9
9
|
fillValue;
|
|
10
|
-
|
|
10
|
+
_length = 0;
|
|
11
11
|
get [Symbol.toStringTag]() {
|
|
12
12
|
return this.constructor.name;
|
|
13
13
|
}
|
|
@@ -15,7 +15,7 @@ export class ResizableTypedArray {
|
|
|
15
15
|
return this.array.length;
|
|
16
16
|
}
|
|
17
17
|
get length() {
|
|
18
|
-
return this
|
|
18
|
+
return this._length;
|
|
19
19
|
}
|
|
20
20
|
constructor(typedArrayConstructor, { maxCapacity, initialCapacity = 0, growthFactor = 1.5, fillValue = 0 }) {
|
|
21
21
|
assert(growthFactor >= 1, 'growthFactory must be greater than or equal to 1');
|
|
@@ -39,7 +39,7 @@ export class ResizableTypedArray {
|
|
|
39
39
|
return this.values();
|
|
40
40
|
}
|
|
41
41
|
*values() {
|
|
42
|
-
for (let i = 0; i < this
|
|
42
|
+
for (let i = 0; i < this._length; i++) {
|
|
43
43
|
yield this.array[i];
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -49,8 +49,8 @@ export class ResizableTypedArray {
|
|
|
49
49
|
const newCapacity = Math.min(computeNewCapacity(this.capacity, index + 1, this.growthFactor), this.maxCapacity);
|
|
50
50
|
this.resize(newCapacity);
|
|
51
51
|
}
|
|
52
|
-
if (index >= this
|
|
53
|
-
this
|
|
52
|
+
if (index >= this._length) {
|
|
53
|
+
this._length = index + 1;
|
|
54
54
|
}
|
|
55
55
|
this.array[index] = value;
|
|
56
56
|
}
|
|
@@ -61,31 +61,31 @@ export class ResizableTypedArray {
|
|
|
61
61
|
const newCapacity = Math.min(computeNewCapacity(this.capacity, index + values.length, this.growthFactor), this.maxCapacity);
|
|
62
62
|
this.resize(newCapacity);
|
|
63
63
|
}
|
|
64
|
-
if (endIndex > this
|
|
65
|
-
this
|
|
64
|
+
if (endIndex > this._length) {
|
|
65
|
+
this._length = endIndex;
|
|
66
66
|
}
|
|
67
67
|
this.array.set(values, index);
|
|
68
68
|
}
|
|
69
69
|
get(index) {
|
|
70
|
-
return index < this
|
|
70
|
+
return index < this._length
|
|
71
71
|
? this.array[index]
|
|
72
72
|
: undefined;
|
|
73
73
|
}
|
|
74
74
|
push(...values) {
|
|
75
|
-
const newLength = this
|
|
75
|
+
const newLength = this._length + values.length;
|
|
76
76
|
if (newLength > this.capacity) {
|
|
77
77
|
assert(newLength <= this.maxCapacity, 'newLength must be less than or equal to maxCapacity');
|
|
78
78
|
const newCapacity = Math.min(computeNewCapacity(this.capacity, newLength, this.growthFactor), this.maxCapacity);
|
|
79
79
|
this.resize(newCapacity);
|
|
80
80
|
}
|
|
81
81
|
for (const value of values) {
|
|
82
|
-
this.array[this
|
|
82
|
+
this.array[this._length++] = value;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
pop() {
|
|
86
|
-
if (this
|
|
87
|
-
const value = this.array[this
|
|
88
|
-
this
|
|
86
|
+
if (this._length > 0) {
|
|
87
|
+
const value = this.array[this._length - 1];
|
|
88
|
+
this._length--;
|
|
89
89
|
return value;
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
@@ -93,7 +93,7 @@ export class ResizableTypedArray {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
clear() {
|
|
96
|
-
this
|
|
96
|
+
this._length = 0;
|
|
97
97
|
}
|
|
98
98
|
shrink() {
|
|
99
99
|
const newCapacity = computeNewCapacity(this.capacity, this.length, this.growthFactor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable-typed-array.js","sourceRoot":"","sources":["../src/resizable-typed-array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAWnE,MAAM,OAAO,mBAAmB;IAGtB,KAAK,CAAyC;IAE7C,WAAW,CAAQ;IACnB,YAAY,CAAQ;IACpB,iBAAiB,CAAQ;IACzB,kBAAkB,CAA4B;IAC9C,SAAS,CAAQ;
|
|
1
|
+
{"version":3,"file":"resizable-typed-array.js","sourceRoot":"","sources":["../src/resizable-typed-array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAWnE,MAAM,OAAO,mBAAmB;IAGtB,KAAK,CAAyC;IAE7C,WAAW,CAAQ;IACnB,YAAY,CAAQ;IACpB,iBAAiB,CAAQ;IACzB,kBAAkB,CAA4B;IAC9C,SAAS,CAAQ;IAElB,OAAO,GAAW,CAAC,CAAA;IAE3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAKD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAKD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,YACE,qBAAwB,EACxB,EACE,WAAW,EACX,eAAe,GAAG,CAAC,EACnB,YAAY,GAAG,GAAG,EAClB,SAAS,GAAG,CAAC,EACe;QAE9B,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,kDAAkD,CAAC,CAAA;QAC7E,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE,oDAAoD,CAAC,CAAA;QAClF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,6BAA6B,CAAC,CAAA;QACxE,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE,6CAA6C,CAAC,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,gCAAgC,CAAC,CAAA;QACvE,MAAM,CAAC,WAAW,IAAI,eAAe,EAAE,uDAAuD,CAAC,CAAA;QAE/F,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,eAAe,GAAG,qBAAqB,CAAC,iBAAiB,EACzD,EAAE,aAAa,EAAE,WAAW,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,CACzE,CAAA;QACD,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,SAAS,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAgD,CAAA;QAE7D,IAAI,CAAC,kBAAkB,GAAG,KAAgD,CAAA;QAC1E,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,iBAAiB,CAAA;IAClE,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,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAa;QAC9B,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAA;YAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,kBAAkB,CAChB,IAAI,CAAC,QAAQ,EACb,KAAK,GAAG,CAAC,EACT,IAAI,CAAC,YAAY,CAClB,EACD,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,MAAyB;QAChD,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,CACJ,QAAQ,IAAI,IAAI,CAAC,WAAW,EAC5B,mDAAmD,CACpD,CAAA;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,kBAAkB,CAChB,IAAI,CAAC,QAAQ,EACb,KAAK,GAAG,MAAM,CAAC,MAAM,EACrB,IAAI,CAAC,YAAY,CAClB,EACD,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAA;QACzB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,KAAa;QACf,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO;YACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnB,CAAC,CAAC,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,MAAgB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CACJ,SAAS,IAAI,IAAI,CAAC,WAAW,EAC7B,qDAAqD,CACtD,CAAA;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,kBAAkB,CAChB,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,IAAI,CAAC,YAAY,CAClB,EACD,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAA;QACpC,CAAC;IACH,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAA;YAEd,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,MAAM;QACJ,MAAM,WAAW,GAAG,kBAAkB,CACpC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAClB,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,OAA0C;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAEO,MAAM,CAAC,WAAmB;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;gBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;aAAiD,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TypedArrayConstructor, UnsignedTypedArrayConstructor, TypedArrayOfConstructor } from 'justypes';
|
|
2
2
|
export declare class TypedCleanSparseMapLite<K extends UnsignedTypedArrayConstructor, V extends TypedArrayConstructor> {
|
|
3
|
-
#private;
|
|
4
3
|
private denseKeys;
|
|
5
4
|
private denseValues;
|
|
6
5
|
private sparse;
|
|
6
|
+
private _length;
|
|
7
7
|
readonly internalKeyArray: TypedArrayOfConstructor<K, ArrayBuffer>;
|
|
8
8
|
readonly internalValueArray: TypedArrayOfConstructor<V, ArrayBuffer>;
|
|
9
9
|
get [Symbol.toStringTag](): string;
|
|
@@ -3,14 +3,14 @@ export class TypedCleanSparseMapLite {
|
|
|
3
3
|
denseKeys;
|
|
4
4
|
denseValues;
|
|
5
5
|
sparse = [];
|
|
6
|
-
|
|
6
|
+
_length = 0;
|
|
7
7
|
internalKeyArray;
|
|
8
8
|
internalValueArray;
|
|
9
9
|
get [Symbol.toStringTag]() {
|
|
10
10
|
return this.constructor.name;
|
|
11
11
|
}
|
|
12
12
|
get size() {
|
|
13
|
-
return this
|
|
13
|
+
return this._length;
|
|
14
14
|
}
|
|
15
15
|
constructor(keys, values) {
|
|
16
16
|
assert(!keys.buffer.resizable, 'The keys buffer must not be resizable');
|
|
@@ -22,7 +22,7 @@ export class TypedCleanSparseMapLite {
|
|
|
22
22
|
this.internalValueArray = values;
|
|
23
23
|
}
|
|
24
24
|
*entries() {
|
|
25
|
-
for (let i = 0; i < this
|
|
25
|
+
for (let i = 0; i < this._length; i++) {
|
|
26
26
|
yield [
|
|
27
27
|
this.denseKeys[i],
|
|
28
28
|
this.denseValues[i]
|
|
@@ -30,12 +30,12 @@ export class TypedCleanSparseMapLite {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
*keys() {
|
|
33
|
-
for (let i = 0; i < this
|
|
33
|
+
for (let i = 0; i < this._length; i++) {
|
|
34
34
|
yield this.denseKeys[i];
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
*values() {
|
|
38
|
-
for (let i = 0; i < this
|
|
38
|
+
for (let i = 0; i < this._length; i++) {
|
|
39
39
|
yield this.denseValues[i];
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -60,7 +60,7 @@ export class TypedCleanSparseMapLite {
|
|
|
60
60
|
this.denseValues[index] = value;
|
|
61
61
|
}
|
|
62
62
|
else {
|
|
63
|
-
const index = this
|
|
63
|
+
const index = this._length++;
|
|
64
64
|
this.denseKeys[index] = key;
|
|
65
65
|
this.denseValues[index] = value;
|
|
66
66
|
this.sparse[key] = index;
|
|
@@ -70,7 +70,7 @@ export class TypedCleanSparseMapLite {
|
|
|
70
70
|
const index = this.sparse[key];
|
|
71
71
|
if (index !== undefined) {
|
|
72
72
|
this.sparse[key] = undefined;
|
|
73
|
-
const lastIndex = --this
|
|
73
|
+
const lastIndex = --this._length;
|
|
74
74
|
const lastKey = this.denseKeys[lastIndex];
|
|
75
75
|
const lastValue = this.denseValues[lastIndex];
|
|
76
76
|
if (key !== lastKey) {
|
|
@@ -85,7 +85,7 @@ export class TypedCleanSparseMapLite {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
clear() {
|
|
88
|
-
this
|
|
88
|
+
this._length = 0;
|
|
89
89
|
this.sparse.length = 0;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-clean-sparse-map-lite.js","sourceRoot":"","sources":["../../src/sparse-map/typed-clean-sparse-map-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C,MAAM,OAAO,uBAAuB;IAI1B,SAAS,CAA4B;IACrC,WAAW,CAA4B;IACvC,MAAM,GAA8B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"typed-clean-sparse-map-lite.js","sourceRoot":"","sources":["../../src/sparse-map/typed-clean-sparse-map-lite.ts"],"names":[],"mappings":"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"}
|