@blackglory/structures 0.14.8 → 0.14.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.
package/README.md CHANGED
@@ -35,12 +35,12 @@ function convertArrayToCons<T>([value, ...next]: T[]): Cons<T>
35
35
  ### Array
36
36
  #### sliceArrayLeft
37
37
  ```ts
38
- function sliceArrayLeft<T>(arr: T[], num: number): T[]
38
+ function sliceArrayLeft<T>(arr: readonly T[], num: number): T[]
39
39
  ```
40
40
 
41
41
  #### sliceArrayRight
42
42
  ```ts
43
- function sliceArrayRight<T>(arr: T[], num: number): T[]
43
+ function sliceArrayRight<T>(arr: readonly T[], num: number): T[]
44
44
  ```
45
45
 
46
46
  #### truncateArrayLeft
@@ -254,6 +254,7 @@ class HashSet<V, Hash = unknown> implements Iterable<V> {
254
254
  add(value: V): this
255
255
  delete(value: V): boolean
256
256
  has(value: V): boolean
257
+ get(value: V): V | undefined
257
258
  clear(): void
258
259
  keys(): IterableIterator<V>
259
260
  values(): IterableIterator<V>
package/lib/array.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export declare function sliceArrayLeft<T>(arr: T[], num: number): T[];
2
- export declare function sliceArrayRight<T>(arr: T[], num: number): T[];
1
+ export declare function sliceArrayLeft<T>(arr: readonly T[], num: number): T[];
2
+ export declare function sliceArrayRight<T>(arr: readonly T[], num: number): T[];
3
3
  export declare function truncateArrayLeft(arr: unknown[], num: number): void;
4
4
  export declare function truncateArrayRight(arr: unknown[], num: number): void;
5
5
  export declare function clearArray(arr: unknown[]): void;
package/lib/array.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAI,GAAQ,EAAE,GAAW;IACrD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,GAAQ,EAAE,GAAW;IACtD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAc,EAAE,GAAW;IAC3D,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAc,EAAE,GAAW;IAC5D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IACnC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAI,GAAiB,EAAE,GAAW;IAC9D,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,GAAiB,EAAE,GAAW;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAc,EAAE,GAAW;IAC3D,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAc,EAAE,GAAW;IAC5D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IACnC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AAChB,CAAC"}
package/lib/hash-set.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare class HashSet<V, Hash = unknown> implements Iterable<V> {
8
8
  add(value: V): this;
9
9
  delete(value: V): boolean;
10
10
  has(value: V): boolean;
11
+ get(value: V): V | undefined;
11
12
  clear(): void;
12
13
  keys(): IterableIterator<V>;
13
14
  values(): IterableIterator<V>;
package/lib/hash-set.js CHANGED
@@ -23,6 +23,9 @@ export class HashSet {
23
23
  has(value) {
24
24
  return this.map.has(this.hash(value));
25
25
  }
26
+ get(value) {
27
+ return this.map.get(this.hash(value));
28
+ }
26
29
  clear() {
27
30
  this.map.clear();
28
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hash-set.js","sourceRoot":"","sources":["../src/hash-set.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAeE;IAdZ,GAAG,GAAG,IAAI,GAAG,EAAW,CAAA;IAEhC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;IAED,YAAoB,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEhD,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAQ;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"hash-set.js","sourceRoot":"","sources":["../src/hash-set.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAeE;IAdZ,GAAG,GAAG,IAAI,GAAG,EAAW,CAAA;IAEhC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;IAED,YAAoB,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEhD,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAQ;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackglory/structures",
3
- "version": "0.14.8",
3
+ "version": "0.14.10",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib",
package/src/array.ts CHANGED
@@ -1,8 +1,8 @@
1
- export function sliceArrayLeft<T>(arr: T[], num: number): T[] {
1
+ export function sliceArrayLeft<T>(arr: readonly T[], num: number): T[] {
2
2
  return arr.slice(0, num)
3
3
  }
4
4
 
5
- export function sliceArrayRight<T>(arr: T[], num: number): T[] {
5
+ export function sliceArrayRight<T>(arr: readonly T[], num: number): T[] {
6
6
  const startIndex = arr.length - num
7
7
  return arr.slice(startIndex >= 0 ? startIndex : 0)
8
8
  }
package/src/hash-set.ts CHANGED
@@ -28,6 +28,10 @@ export class HashSet<V, Hash = unknown> implements Iterable<V> /* ReadonlySetLik
28
28
  return this.map.has(this.hash(value))
29
29
  }
30
30
 
31
+ get(value: V): V | undefined {
32
+ return this.map.get(this.hash(value))
33
+ }
34
+
31
35
  clear(): void {
32
36
  this.map.clear()
33
37
  }