@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 +3 -2
- package/lib/array.d.ts +2 -2
- package/lib/array.js.map +1 -1
- package/lib/hash-set.d.ts +1 -0
- package/lib/hash-set.js +3 -0
- package/lib/hash-set.js.map +1 -1
- package/package.json +1 -1
- package/src/array.ts +2 -2
- package/src/hash-set.ts +4 -0
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,
|
|
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
package/lib/hash-set.js.map
CHANGED
|
@@ -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
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
|
}
|