@blackglory/structures 0.15.0 → 0.15.2

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 (79) hide show
  1. package/README.md +13 -0
  2. package/lib/bit-set/bit-set.d.ts +1 -1
  3. package/lib/bit-set/bit-set.js +6 -6
  4. package/lib/bit-set/bit-set.js.map +1 -1
  5. package/lib/bit-set/dynamic-typed-bit-set.d.ts +1 -1
  6. package/lib/bit-set/dynamic-typed-bit-set.js +5 -5
  7. package/lib/bit-set/dynamic-typed-bit-set.js.map +1 -1
  8. package/lib/bit-set/resizable-typed-bit-set.d.ts +1 -1
  9. package/lib/bit-set/resizable-typed-bit-set.js +5 -5
  10. package/lib/bit-set/resizable-typed-bit-set.js.map +1 -1
  11. package/lib/bit-set/typed-bit-set.d.ts +1 -1
  12. package/lib/bit-set/typed-bit-set.js +5 -5
  13. package/lib/bit-set/typed-bit-set.js.map +1 -1
  14. package/lib/dynamic-typed-array.d.ts +1 -1
  15. package/lib/dynamic-typed-array.js +14 -14
  16. package/lib/dynamic-typed-array.js.map +1 -1
  17. package/lib/index.d.ts +1 -0
  18. package/lib/index.js +1 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/resizable-typed-array.d.ts +1 -1
  21. package/lib/resizable-typed-array.js +14 -14
  22. package/lib/resizable-typed-array.js.map +1 -1
  23. package/lib/sparse-map/typed-clean-sparse-map-lite.d.ts +1 -1
  24. package/lib/sparse-map/typed-clean-sparse-map-lite.js +8 -8
  25. package/lib/sparse-map/typed-clean-sparse-map-lite.js.map +1 -1
  26. package/lib/sparse-map/typed-clean-sparse-map.d.ts +1 -1
  27. package/lib/sparse-map/typed-clean-sparse-map.js +9 -9
  28. package/lib/sparse-map/typed-clean-sparse-map.js.map +1 -1
  29. package/lib/sparse-map/typed-sparse-map-lite.d.ts +1 -1
  30. package/lib/sparse-map/typed-sparse-map-lite.js +13 -13
  31. package/lib/sparse-map/typed-sparse-map-lite.js.map +1 -1
  32. package/lib/sparse-map/typed-sparse-map.d.ts +1 -1
  33. package/lib/sparse-map/typed-sparse-map.js +14 -14
  34. package/lib/sparse-map/typed-sparse-map.js.map +1 -1
  35. package/lib/sparse-set/dynamic-typed-clean-sparse-set.js +1 -1
  36. package/lib/sparse-set/dynamic-typed-clean-sparse-set.js.map +1 -1
  37. package/lib/sparse-set/dynamic-typed-sparse-set.js +1 -1
  38. package/lib/sparse-set/dynamic-typed-sparse-set.js.map +1 -1
  39. package/lib/sparse-set/resizable-typed-clean-sparse-set.js +1 -1
  40. package/lib/sparse-set/resizable-typed-clean-sparse-set.js.map +1 -1
  41. package/lib/sparse-set/resizable-typed-sparse-set.js +1 -1
  42. package/lib/sparse-set/resizable-typed-sparse-set.js.map +1 -1
  43. package/lib/sparse-set/typed-clean-sparse-set-lite.d.ts +1 -1
  44. package/lib/sparse-set/typed-clean-sparse-set-lite.js +6 -6
  45. package/lib/sparse-set/typed-clean-sparse-set-lite.js.map +1 -1
  46. package/lib/sparse-set/typed-clean-sparse-set.d.ts +1 -1
  47. package/lib/sparse-set/typed-clean-sparse-set.js +7 -7
  48. package/lib/sparse-set/typed-clean-sparse-set.js.map +1 -1
  49. package/lib/sparse-set/typed-sparse-set-lite.d.ts +1 -1
  50. package/lib/sparse-set/typed-sparse-set-lite.js +8 -8
  51. package/lib/sparse-set/typed-sparse-set-lite.js.map +1 -1
  52. package/lib/sparse-set/typed-sparse-set.d.ts +1 -1
  53. package/lib/sparse-set/typed-sparse-set.js +9 -9
  54. package/lib/sparse-set/typed-sparse-set.js.map +1 -1
  55. package/lib/{utils/get-max-value-of-unsigned-typed-array.js → typed-array.js} +1 -1
  56. package/lib/typed-array.js.map +1 -0
  57. package/package.json +1 -1
  58. package/src/bit-set/bit-set.ts +6 -6
  59. package/src/bit-set/dynamic-typed-bit-set.ts +5 -5
  60. package/src/bit-set/resizable-typed-bit-set.ts +5 -5
  61. package/src/bit-set/typed-bit-set.ts +5 -5
  62. package/src/dynamic-typed-array.ts +14 -14
  63. package/src/index.ts +1 -0
  64. package/src/resizable-typed-array.ts +14 -14
  65. package/src/sparse-map/typed-clean-sparse-map-lite.ts +8 -8
  66. package/src/sparse-map/typed-clean-sparse-map.ts +9 -9
  67. package/src/sparse-map/typed-sparse-map-lite.ts +13 -13
  68. package/src/sparse-map/typed-sparse-map.ts +14 -14
  69. package/src/sparse-set/dynamic-typed-clean-sparse-set.ts +1 -1
  70. package/src/sparse-set/dynamic-typed-sparse-set.ts +1 -1
  71. package/src/sparse-set/resizable-typed-clean-sparse-set.ts +1 -1
  72. package/src/sparse-set/resizable-typed-sparse-set.ts +1 -1
  73. package/src/sparse-set/typed-clean-sparse-set-lite.ts +6 -6
  74. package/src/sparse-set/typed-clean-sparse-set.ts +7 -7
  75. package/src/sparse-set/typed-sparse-set-lite.ts +8 -8
  76. package/src/sparse-set/typed-sparse-set.ts +9 -9
  77. package/lib/utils/get-max-value-of-unsigned-typed-array.js.map +0 -1
  78. /package/lib/{utils/get-max-value-of-unsigned-typed-array.d.ts → typed-array.d.ts} +0 -0
  79. /package/src/{utils/get-max-value-of-unsigned-typed-array.ts → typed-array.ts} +0 -0
@@ -1,9 +1,9 @@
1
1
  import { UnsignedTypedArray } from 'justypes';
2
2
  export declare class TypedCleanSparseSet implements Iterable<number> {
3
- #private;
4
3
  private dense;
5
4
  private sparse;
6
5
  private readonly NULL;
6
+ private _length;
7
7
  get [Symbol.toStringTag](): string;
8
8
  get size(): number;
9
9
  constructor(array: UnsignedTypedArray<ArrayBuffer>);
@@ -1,16 +1,16 @@
1
1
  import { assert } from '@blackglory/errors';
2
2
  import { go } from '@blackglory/go';
3
- import { getMaxValueOfUnsignedTypedArray, getMaxValueOfUnsignedTypedArrayConstructor } from '../utils/get-max-value-of-unsigned-typed-array.js';
3
+ import { getMaxValueOfUnsignedTypedArray, getMaxValueOfUnsignedTypedArrayConstructor } from '../typed-array.js';
4
4
  export class TypedCleanSparseSet {
5
5
  dense;
6
6
  sparse;
7
7
  NULL;
8
- #length = 0;
8
+ _length = 0;
9
9
  get [Symbol.toStringTag]() {
10
10
  return this.constructor.name;
11
11
  }
12
12
  get size() {
13
- return this.#length;
13
+ return this._length;
14
14
  }
15
15
  constructor(array) {
16
16
  assert(!array.buffer.resizable, 'The array buffer must not be resizable');
@@ -42,7 +42,7 @@ export class TypedCleanSparseSet {
42
42
  return this.values();
43
43
  }
44
44
  *values() {
45
- for (let i = 0; i < this.#length; i++) {
45
+ for (let i = 0; i < this._length; i++) {
46
46
  yield this.dense[i];
47
47
  }
48
48
  }
@@ -51,7 +51,7 @@ export class TypedCleanSparseSet {
51
51
  }
52
52
  add(value) {
53
53
  if (!this.has(value)) {
54
- const index = this.#length++;
54
+ const index = this._length++;
55
55
  this.dense[index] = value;
56
56
  this.sparse[value] = index;
57
57
  }
@@ -60,7 +60,7 @@ export class TypedCleanSparseSet {
60
60
  const index = this.sparse[value];
61
61
  if (index !== this.NULL) {
62
62
  this.sparse[value] = this.NULL;
63
- const lastIndex = --this.#length;
63
+ const lastIndex = --this._length;
64
64
  const lastValue = this.dense[lastIndex];
65
65
  if (value !== lastValue) {
66
66
  this.dense[index] = lastValue;
@@ -73,7 +73,7 @@ export class TypedCleanSparseSet {
73
73
  }
74
74
  }
75
75
  clear() {
76
- this.#length = 0;
76
+ this._length = 0;
77
77
  this.sparse.fill(this.NULL);
78
78
  }
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typed-clean-sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set/typed-clean-sparse-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-clean-sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set/typed-clean-sparse-set.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { UnsignedTypedArray } from 'justypes';
2
2
  export declare class TypedSparseSetLite implements Iterable<number> {
3
- #private;
4
3
  private dense;
5
4
  private sparse;
5
+ private _length;
6
6
  get [Symbol.toStringTag](): string;
7
7
  get size(): number;
8
8
  constructor(array: UnsignedTypedArray<ArrayBuffer>);
@@ -2,12 +2,12 @@ import { assert } from '@blackglory/errors';
2
2
  export class TypedSparseSetLite {
3
3
  dense;
4
4
  sparse = [];
5
- #length = 0;
5
+ _length = 0;
6
6
  get [Symbol.toStringTag]() {
7
7
  return this.constructor.name;
8
8
  }
9
9
  get size() {
10
- return this.#length;
10
+ return this._length;
11
11
  }
12
12
  constructor(array) {
13
13
  assert(!array.buffer.resizable, 'The array buffer must not be resizable');
@@ -17,20 +17,20 @@ export class TypedSparseSetLite {
17
17
  return this.values();
18
18
  }
19
19
  *values() {
20
- for (let i = 0; i < this.#length; i++) {
20
+ for (let i = 0; i < this._length; i++) {
21
21
  yield this.dense[i];
22
22
  }
23
23
  }
24
24
  has(value) {
25
25
  const index = this.sparse[value];
26
26
  return index !== undefined
27
- && index < this.#length
27
+ && index < this._length
28
28
  && index < this.dense.length
29
29
  && this.dense[index] === value;
30
30
  }
31
31
  add(value) {
32
32
  if (!this.has(value)) {
33
- const index = this.#length++;
33
+ const index = this._length++;
34
34
  this.dense[index] = value;
35
35
  this.sparse[value] = index;
36
36
  }
@@ -38,10 +38,10 @@ export class TypedSparseSetLite {
38
38
  delete(value) {
39
39
  const index = this.sparse[value];
40
40
  if (index !== undefined &&
41
- index < this.#length &&
41
+ index < this._length &&
42
42
  index < this.dense.length &&
43
43
  this.dense[index] === value) {
44
- const lastIndex = --this.#length;
44
+ const lastIndex = --this._length;
45
45
  const lastValue = this.dense[lastIndex];
46
46
  if (value !== lastValue) {
47
47
  this.dense[index] = lastValue;
@@ -54,7 +54,7 @@ export class TypedSparseSetLite {
54
54
  }
55
55
  }
56
56
  clear() {
57
- this.#length = 0;
57
+ this._length = 0;
58
58
  }
59
59
  }
60
60
  //# sourceMappingURL=typed-sparse-set-lite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-sparse-set-lite.js","sourceRoot":"","sources":["../../src/sparse-set/typed-sparse-set-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C,MAAM,OAAO,kBAAkB;IACrB,KAAK,CAAoB;IACzB,MAAM,GAA8B,EAAE,CAAA;IAC9C,OAAO,GAAG,CAAC,CAAA;IAEX,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,YAAY,KAAsC;QAChD,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAA;QAEzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,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;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,OAAO,KAAK,KAAK,SAAS;eACnB,KAAK,GAAG,IAAI,CAAC,OAAO;eACpB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;eACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA;IACpC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,IACE,KAAK,KAAK,SAAS;YACnB,KAAK,GAAG,IAAI,CAAC,OAAO;YACpB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAC3B,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,IAAI,CAAC,OAAO,CAAA;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;gBAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;YAChC,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAElB,CAAC;CACF"}
1
+ {"version":3,"file":"typed-sparse-set-lite.js","sourceRoot":"","sources":["../../src/sparse-set/typed-sparse-set-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C,MAAM,OAAO,kBAAkB;IACrB,KAAK,CAAoB;IACzB,MAAM,GAA8B,EAAE,CAAA;IACtC,OAAO,GAAG,CAAC,CAAA;IAEnB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,YAAY,KAAsC;QAChD,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAA;QAEzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,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;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,OAAO,KAAK,KAAK,SAAS;eACnB,KAAK,GAAG,IAAI,CAAC,OAAO;eACpB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;eACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA;IACpC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,IACE,KAAK,KAAK,SAAS;YACnB,KAAK,GAAG,IAAI,CAAC,OAAO;YACpB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAC3B,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,IAAI,CAAC,OAAO,CAAA;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;gBAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;YAChC,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAElB,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { UnsignedTypedArray } from 'justypes';
2
2
  export declare class TypedSparseSet implements Iterable<number> {
3
- #private;
4
3
  private dense;
5
4
  private sparse;
5
+ private _length;
6
6
  get [Symbol.toStringTag](): string;
7
7
  get size(): number;
8
8
  constructor(array: UnsignedTypedArray<ArrayBuffer>);
@@ -1,15 +1,15 @@
1
1
  import { assert } from '@blackglory/errors';
2
2
  import { go } from '@blackglory/go';
3
- import { getMaxValueOfUnsignedTypedArray, getMaxValueOfUnsignedTypedArrayConstructor } from '../utils/get-max-value-of-unsigned-typed-array.js';
3
+ import { getMaxValueOfUnsignedTypedArray, getMaxValueOfUnsignedTypedArrayConstructor } from '../typed-array.js';
4
4
  export class TypedSparseSet {
5
5
  dense;
6
6
  sparse;
7
- #length = 0;
7
+ _length = 0;
8
8
  get [Symbol.toStringTag]() {
9
9
  return this.constructor.name;
10
10
  }
11
11
  get size() {
12
- return this.#length;
12
+ return this._length;
13
13
  }
14
14
  constructor(array) {
15
15
  assert(!array.buffer.resizable, 'The array buffer must not be resizable');
@@ -38,20 +38,20 @@ export class TypedSparseSet {
38
38
  return this.values();
39
39
  }
40
40
  *values() {
41
- for (let i = 0; i < this.#length; i++) {
41
+ for (let i = 0; i < this._length; i++) {
42
42
  yield this.dense[i];
43
43
  }
44
44
  }
45
45
  has(value) {
46
46
  const index = this.sparse[value];
47
47
  return index !== undefined
48
- && index < this.#length
48
+ && index < this._length
49
49
  && index < this.dense.length
50
50
  && this.dense[index] === value;
51
51
  }
52
52
  add(value) {
53
53
  if (!this.has(value)) {
54
- const index = this.#length++;
54
+ const index = this._length++;
55
55
  this.dense[index] = value;
56
56
  this.sparse[value] = index;
57
57
  }
@@ -59,10 +59,10 @@ export class TypedSparseSet {
59
59
  delete(value) {
60
60
  const index = this.sparse[value];
61
61
  if (index !== undefined &&
62
- index < this.#length &&
62
+ index < this._length &&
63
63
  index < this.dense.length &&
64
64
  this.dense[index] === value) {
65
- const lastIndex = --this.#length;
65
+ const lastIndex = --this._length;
66
66
  const lastValue = this.dense[lastIndex];
67
67
  if (value !== lastValue) {
68
68
  this.dense[index] = lastValue;
@@ -75,7 +75,7 @@ export class TypedSparseSet {
75
75
  }
76
76
  }
77
77
  clear() {
78
- this.#length = 0;
78
+ this._length = 0;
79
79
  }
80
80
  }
81
81
  //# sourceMappingURL=typed-sparse-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set/typed-sparse-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-sparse-set.js","sourceRoot":"","sources":["../../src/sparse-set/typed-sparse-set.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,4 @@ export function getMaxValueOfUnsignedTypedArrayConstructor(constructor) {
10
10
  export function getMaxValueOfUnsignedTypedArray(array) {
11
11
  return getMaxValueOfUnsignedTypedArrayConstructor(array.constructor);
12
12
  }
13
- //# sourceMappingURL=get-max-value-of-unsigned-typed-array.js.map
13
+ //# sourceMappingURL=typed-array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-array.js","sourceRoot":"","sources":["../src/typed-array.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0CAA0C,CACxD,WAA0C;IAE1C,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,UAAU,CAAC;QAChB,KAAK,iBAAiB,CAAC,CAAC,OAAO,GAAG,CAAA;QAClC,KAAK,WAAW,CAAC,CAAC,OAAO,KAAK,CAAA;QAC9B,KAAK,WAAW,CAAC,CAAC,OAAO,UAAU,CAAA;QACnC,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAyB;IACvE,OAAO,0CAA0C,CAC/C,KAAK,CAAC,WAA4C,CACnD,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackglory/structures",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib",
@@ -4,7 +4,7 @@ import { trailingZeros } from '@utils/trailing-zeros.js'
4
4
  export class BitSet implements Iterable<number> {
5
5
  private array: Array<number | undefined> = []
6
6
  private length = 0
7
- #size = 0
7
+ private _size = 0
8
8
 
9
9
  private isBitsPerElementPowerOfTwo: boolean = false
10
10
  private quotientShift = 0
@@ -39,7 +39,7 @@ export class BitSet implements Iterable<number> {
39
39
  }
40
40
 
41
41
  get size(): number {
42
- return this.#size
42
+ return this._size
43
43
  }
44
44
 
45
45
  [Symbol.iterator](): IterableIterator<number> {
@@ -89,7 +89,7 @@ export class BitSet implements Iterable<number> {
89
89
  this.array[index] = element | mask
90
90
 
91
91
  const added = (element & mask) !== mask
92
- if (added) this.#size++
92
+ if (added) this._size++
93
93
 
94
94
  if (value >= this.length) this.length = value + 1
95
95
 
@@ -103,13 +103,13 @@ export class BitSet implements Iterable<number> {
103
103
  this.array[index] = element & ~mask
104
104
 
105
105
  const deleted = (element & mask) === mask
106
- if (deleted) this.#size--
106
+ if (deleted) this._size--
107
107
 
108
108
  return deleted
109
109
  }
110
110
 
111
111
  clear(): void {
112
- this.#size = 0
112
+ this._size = 0
113
113
  this.length = 0
114
114
  this.array.length = 0
115
115
  }
@@ -119,7 +119,7 @@ export class BitSet implements Iterable<number> {
119
119
 
120
120
  clone.array = [...this.array]
121
121
  clone.length = this.length
122
- clone.#size = this.#size
122
+ clone._size = this._size
123
123
 
124
124
  return clone
125
125
  }
@@ -6,7 +6,7 @@ import { trailingZeros } from '@utils/trailing-zeros.js'
6
6
  export class DynamicTypedBitSet implements Iterable<number> {
7
7
  private bitsPerElement: number
8
8
  private length = 0
9
- #size = 0
9
+ private _size = 0
10
10
 
11
11
  private quotientShift = 0
12
12
  private remainderMask = 0
@@ -16,7 +16,7 @@ export class DynamicTypedBitSet implements Iterable<number> {
16
16
  }
17
17
 
18
18
  get size(): number {
19
- return this.#size
19
+ return this._size
20
20
  }
21
21
 
22
22
  constructor(private array: DynamicTypedArray<UnsignedTypedArrayConstructor>) {
@@ -89,7 +89,7 @@ export class DynamicTypedBitSet implements Iterable<number> {
89
89
  this.array.set(index, element | mask)
90
90
 
91
91
  const added = (element & mask) !== mask
92
- if (added) this.#size++
92
+ if (added) this._size++
93
93
 
94
94
  if (value >= this.length) this.length = value + 1
95
95
 
@@ -103,13 +103,13 @@ export class DynamicTypedBitSet implements Iterable<number> {
103
103
  this.array.set(index, element & ~mask)
104
104
 
105
105
  const deleted = (element & mask) === mask
106
- if (deleted) this.#size--
106
+ if (deleted) this._size--
107
107
 
108
108
  return deleted
109
109
  }
110
110
 
111
111
  clear(): void {
112
- this.#size = 0
112
+ this._size = 0
113
113
  this.array.clear()
114
114
  }
115
115
 
@@ -6,7 +6,7 @@ import { trailingZeros } from '@utils/trailing-zeros.js'
6
6
  export class ResizableTypedBitSet implements Iterable<number> {
7
7
  private bitsPerElement: number
8
8
  private length = 0
9
- #size = 0
9
+ private _size = 0
10
10
 
11
11
  private quotientShift = 0
12
12
  private remainderMask = 0
@@ -16,7 +16,7 @@ export class ResizableTypedBitSet implements Iterable<number> {
16
16
  }
17
17
 
18
18
  get size(): number {
19
- return this.#size
19
+ return this._size
20
20
  }
21
21
 
22
22
  constructor(private array: ResizableTypedArray<UnsignedTypedArrayConstructor>) {
@@ -88,7 +88,7 @@ export class ResizableTypedBitSet implements Iterable<number> {
88
88
  this.array.set(index, element | mask)
89
89
 
90
90
  const added = (element & mask) !== mask
91
- if (added) this.#size++
91
+ if (added) this._size++
92
92
 
93
93
  if (value >= this.length) this.length = value + 1
94
94
 
@@ -102,13 +102,13 @@ export class ResizableTypedBitSet implements Iterable<number> {
102
102
  this.array.set(index, element & ~mask)
103
103
 
104
104
  const deleted = (element & mask) === mask
105
- if (deleted) this.#size--
105
+ if (deleted) this._size--
106
106
 
107
107
  return deleted
108
108
  }
109
109
 
110
110
  clear(): void {
111
- this.#size = 0
111
+ this._size = 0
112
112
  this.length = 0
113
113
  this.array.clear()
114
114
  }
@@ -5,7 +5,7 @@ import { trailingZeros } from '@utils/trailing-zeros.js'
5
5
  export class TypedBitSet implements Iterable<number> {
6
6
  private bitsPerElement: number
7
7
  private length = 0
8
- #size = 0
8
+ private _size = 0
9
9
 
10
10
  private quotientShift = 0
11
11
  private remainderMask = 0
@@ -19,7 +19,7 @@ export class TypedBitSet implements Iterable<number> {
19
19
  }
20
20
 
21
21
  get size(): number {
22
- return this.#size
22
+ return this._size
23
23
  }
24
24
 
25
25
  constructor(private array: UnsignedTypedArray) {
@@ -91,7 +91,7 @@ export class TypedBitSet implements Iterable<number> {
91
91
  this.array[index] = element | mask
92
92
 
93
93
  const added = (element & mask) !== mask
94
- if (added) this.#size++
94
+ if (added) this._size++
95
95
 
96
96
  if (value >= this.length) this.length = value + 1
97
97
 
@@ -105,13 +105,13 @@ export class TypedBitSet implements Iterable<number> {
105
105
  this.array[index] = element & ~mask
106
106
 
107
107
  const deleted = (element & mask) === mask
108
- if (deleted) this.#size--
108
+ if (deleted) this._size--
109
109
 
110
110
  return deleted
111
111
  }
112
112
 
113
113
  clear(): void {
114
- this.#size = 0
114
+ this._size = 0
115
115
  this.length = 0
116
116
  this.array.fill(0)
117
117
  }
@@ -17,7 +17,7 @@ export class DynamicTypedArray<
17
17
  readonly BYTES_PER_ELEMENT: number
18
18
  readonly fillValue: number
19
19
 
20
- #length: number = 0
20
+ private _length: number = 0
21
21
 
22
22
  get [Symbol.toStringTag](): string {
23
23
  return this.constructor.name
@@ -38,7 +38,7 @@ export class DynamicTypedArray<
38
38
  * 数组逻辑上的长度, 总是小于或等于capacity.
39
39
  */
40
40
  get length(): number {
41
- return this.#length
41
+ return this._length
42
42
  }
43
43
 
44
44
  constructor(
@@ -68,7 +68,7 @@ export class DynamicTypedArray<
68
68
  }
69
69
 
70
70
  * values(): IterableIterator<number> {
71
- for (let i = 0; i < this.#length; i++) {
71
+ for (let i = 0; i < this._length; i++) {
72
72
  yield this.array[i]
73
73
  }
74
74
  }
@@ -83,8 +83,8 @@ export class DynamicTypedArray<
83
83
  this.resize(newCapacity)
84
84
  }
85
85
 
86
- if (index >= this.#length) {
87
- this.#length = index + 1
86
+ if (index >= this._length) {
87
+ this._length = index + 1
88
88
  }
89
89
 
90
90
  this.array[index] = value
@@ -101,21 +101,21 @@ export class DynamicTypedArray<
101
101
  this.resize(newCapacity)
102
102
  }
103
103
 
104
- if (endIndex > this.#length) {
105
- this.#length = endIndex
104
+ if (endIndex > this._length) {
105
+ this._length = endIndex
106
106
  }
107
107
 
108
108
  this.array.set(values, index)
109
109
  }
110
110
 
111
111
  get(index: number): number | undefined {
112
- return index < this.#length
112
+ return index < this._length
113
113
  ? this.array[index]
114
114
  : undefined
115
115
  }
116
116
 
117
117
  push(...values: number[]): void {
118
- const newLength = this.#length + values.length
118
+ const newLength = this._length + values.length
119
119
  if (newLength > this.capacity) {
120
120
  const newCapacity = computeNewCapacity(
121
121
  this.capacity
@@ -126,14 +126,14 @@ export class DynamicTypedArray<
126
126
  }
127
127
 
128
128
  for (const value of values) {
129
- this.array[this.#length++] = value
129
+ this.array[this._length++] = value
130
130
  }
131
131
  }
132
132
 
133
133
  pop(): number | undefined {
134
- if (this.#length > 0) {
135
- const value = this.array[this.#length - 1]
136
- this.#length--
134
+ if (this._length > 0) {
135
+ const value = this.array[this._length - 1]
136
+ this._length--
137
137
 
138
138
  return value
139
139
  } else {
@@ -142,7 +142,7 @@ export class DynamicTypedArray<
142
142
  }
143
143
 
144
144
  clear(): void {
145
- this.#length = 0
145
+ this._length = 0
146
146
  }
147
147
 
148
148
  shrink(): void {
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './box.js'
2
2
  export * from './cons.js'
3
3
  export * from './array.js'
4
+ export * from './typed-array.js'
4
5
  export * from './emitter.js'
5
6
  export * from './generator-emitter.js'
6
7
  export * from './async-generator-emitter.js'
@@ -22,7 +22,7 @@ export class ResizableTypedArray<
22
22
  readonly internalTypedArray: TypedArrayOfConstructor<T>
23
23
  readonly fillValue: number
24
24
 
25
- #length: number = 0
25
+ private _length: number = 0
26
26
 
27
27
  get [Symbol.toStringTag](): string {
28
28
  return this.constructor.name
@@ -39,7 +39,7 @@ export class ResizableTypedArray<
39
39
  * 数组逻辑上的长度, 总是小于或等于capacity.
40
40
  */
41
41
  get length(): number {
42
- return this.#length
42
+ return this._length
43
43
  }
44
44
 
45
45
  constructor(
@@ -79,7 +79,7 @@ export class ResizableTypedArray<
79
79
  }
80
80
 
81
81
  * values(): IterableIterator<number> {
82
- for (let i = 0; i < this.#length; i++) {
82
+ for (let i = 0; i < this._length; i++) {
83
83
  yield this.array[i]
84
84
  }
85
85
  }
@@ -100,8 +100,8 @@ export class ResizableTypedArray<
100
100
  this.resize(newCapacity)
101
101
  }
102
102
 
103
- if (index >= this.#length) {
104
- this.#length = index + 1
103
+ if (index >= this._length) {
104
+ this._length = index + 1
105
105
  }
106
106
 
107
107
  this.array[index] = value
@@ -127,21 +127,21 @@ export class ResizableTypedArray<
127
127
  this.resize(newCapacity)
128
128
  }
129
129
 
130
- if (endIndex > this.#length) {
131
- this.#length = endIndex
130
+ if (endIndex > this._length) {
131
+ this._length = endIndex
132
132
  }
133
133
 
134
134
  this.array.set(values, index)
135
135
  }
136
136
 
137
137
  get(index: number): number | undefined {
138
- return index < this.#length
138
+ return index < this._length
139
139
  ? this.array[index]
140
140
  : undefined
141
141
  }
142
142
 
143
143
  push(...values: number[]): void {
144
- const newLength = this.#length + values.length
144
+ const newLength = this._length + values.length
145
145
  if (newLength > this.capacity) {
146
146
  assert(
147
147
  newLength <= this.maxCapacity
@@ -161,14 +161,14 @@ export class ResizableTypedArray<
161
161
  }
162
162
 
163
163
  for (const value of values) {
164
- this.array[this.#length++] = value
164
+ this.array[this._length++] = value
165
165
  }
166
166
  }
167
167
 
168
168
  pop(): number | undefined {
169
- if (this.#length > 0) {
170
- const value = this.array[this.#length - 1]
171
- this.#length--
169
+ if (this._length > 0) {
170
+ const value = this.array[this._length - 1]
171
+ this._length--
172
172
 
173
173
  return value
174
174
  } else {
@@ -177,7 +177,7 @@ export class ResizableTypedArray<
177
177
  }
178
178
 
179
179
  clear(): void {
180
- this.#length = 0
180
+ this._length = 0
181
181
  }
182
182
 
183
183
  shrink(): void {