@monstermann/set 0.2.0 → 0.3.0
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 +776 -0
- package/dist/Set/add.d.mts +12 -4
- package/dist/Set/add.mjs +12 -4
- package/dist/Set/addAll.d.mts +12 -4
- package/dist/Set/addAll.mjs +12 -4
- package/dist/Set/clone.d.mts +9 -4
- package/dist/Set/clone.mjs +9 -4
- package/dist/Set/compact.d.mts +11 -4
- package/dist/Set/compact.mjs +11 -4
- package/dist/Set/create.d.mts +9 -2
- package/dist/Set/create.mjs +9 -2
- package/dist/Set/difference.d.mts +12 -4
- package/dist/Set/difference.mjs +12 -4
- package/dist/Set/forEach.d.mts +15 -4
- package/dist/Set/forEach.mjs +15 -4
- package/dist/Set/has.d.mts +12 -4
- package/dist/Set/has.mjs +12 -4
- package/dist/Set/hasAll.d.mts +12 -4
- package/dist/Set/hasAll.mjs +12 -4
- package/dist/Set/hasAny.d.mts +12 -4
- package/dist/Set/hasAny.mjs +12 -4
- package/dist/Set/hasNone.d.mts +12 -4
- package/dist/Set/hasNone.mjs +12 -4
- package/dist/Set/index.d.mts +1 -7
- package/dist/Set/index.mjs +0 -12
- package/dist/Set/intersection.d.mts +12 -4
- package/dist/Set/intersection.mjs +12 -4
- package/dist/Set/is.d.mts +9 -4
- package/dist/Set/is.mjs +9 -4
- package/dist/Set/isDisjointFrom.d.mts +12 -4
- package/dist/Set/isDisjointFrom.mjs +12 -4
- package/dist/Set/isEmpty.d.mts +11 -4
- package/dist/Set/isEmpty.mjs +11 -4
- package/dist/Set/isShallowEqual.d.mts +12 -4
- package/dist/Set/isShallowEqual.mjs +12 -4
- package/dist/Set/isSubsetOf.d.mts +12 -4
- package/dist/Set/isSubsetOf.mjs +12 -4
- package/dist/Set/isSupersetOf.d.mts +12 -4
- package/dist/Set/isSupersetOf.mjs +12 -4
- package/dist/Set/mapEach.d.mts +15 -4
- package/dist/Set/mapEach.mjs +15 -4
- package/dist/Set/remove.d.mts +12 -4
- package/dist/Set/remove.mjs +12 -4
- package/dist/Set/removeAll.d.mts +12 -4
- package/dist/Set/removeAll.mjs +12 -4
- package/dist/Set/size.d.mts +11 -4
- package/dist/Set/size.mjs +11 -4
- package/dist/Set/symmetricDifference.d.mts +12 -4
- package/dist/Set/symmetricDifference.mjs +12 -4
- package/dist/Set/toArray.d.mts +9 -4
- package/dist/Set/toArray.mjs +9 -4
- package/dist/Set/union.d.mts +12 -4
- package/dist/Set/union.mjs +12 -4
- package/package.json +2 -2
- package/dist/Set/addOr.d.mts +0 -28
- package/dist/Set/addOr.mjs +0 -34
- package/dist/Set/addOrElse.d.mts +0 -35
- package/dist/Set/addOrElse.mjs +0 -41
- package/dist/Set/addOrThrow.d.mts +0 -28
- package/dist/Set/addOrThrow.mjs +0 -34
- package/dist/Set/removeOr.d.mts +0 -28
- package/dist/Set/removeOr.mjs +0 -34
- package/dist/Set/removeOrElse.d.mts +0 -35
- package/dist/Set/removeOrElse.mjs +0 -41
- package/dist/Set/removeOrThrow.d.mts +0 -28
- package/dist/Set/removeOrThrow.mjs +0 -34
package/dist/Set/add.d.mts
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/add.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # add
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.add(
|
|
6
|
+
* function Set.add<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* value: NoInfer<T>,
|
|
9
|
+
* ): ReadonlySet<T>
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns a set with the value added. If the value already exists in the set, returns the original set unchanged.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.add(Set.create([1, 2]), 3); // Set([1, 2, 3])
|
|
13
20
|
* Set.add(Set.create([1, 2]), 2); // Set([1, 2])
|
|
14
21
|
* ```
|
|
15
22
|
*
|
|
16
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
17
24
|
* import { Set } from "@monstermann/set";
|
|
18
25
|
*
|
|
19
26
|
* pipe(Set.create([1, 2]), Set.add(3)); // Set([1, 2, 3])
|
|
20
27
|
* pipe(Set.create([1, 2]), Set.add(2)); // Set([1, 2])
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const add: {
|
|
24
32
|
<T>(value: NoInfer<T>): (target: Set<T>) => Set<T>;
|
package/dist/Set/add.mjs
CHANGED
|
@@ -3,25 +3,33 @@ import { cloneSet } from "@monstermann/remmi";
|
|
|
3
3
|
|
|
4
4
|
//#region src/Set/add.ts
|
|
5
5
|
/**
|
|
6
|
+
* # add
|
|
7
|
+
*
|
|
6
8
|
* ```ts
|
|
7
|
-
* function Set.add(
|
|
9
|
+
* function Set.add<T>(
|
|
10
|
+
* target: ReadonlySet<T>,
|
|
11
|
+
* value: NoInfer<T>,
|
|
12
|
+
* ): ReadonlySet<T>
|
|
8
13
|
* ```
|
|
9
14
|
*
|
|
10
|
-
*
|
|
15
|
+
* Returns a set with the value added. If the value already exists in the set, returns the original set unchanged.
|
|
11
16
|
*
|
|
12
|
-
*
|
|
17
|
+
* ## Example
|
|
18
|
+
*
|
|
19
|
+
* ```ts [data-first]
|
|
13
20
|
* import { Set } from "@monstermann/set";
|
|
14
21
|
*
|
|
15
22
|
* Set.add(Set.create([1, 2]), 3); // Set([1, 2, 3])
|
|
16
23
|
* Set.add(Set.create([1, 2]), 2); // Set([1, 2])
|
|
17
24
|
* ```
|
|
18
25
|
*
|
|
19
|
-
* ```ts
|
|
26
|
+
* ```ts [data-last]
|
|
20
27
|
* import { Set } from "@monstermann/set";
|
|
21
28
|
*
|
|
22
29
|
* pipe(Set.create([1, 2]), Set.add(3)); // Set([1, 2, 3])
|
|
23
30
|
* pipe(Set.create([1, 2]), Set.add(2)); // Set([1, 2])
|
|
24
31
|
* ```
|
|
32
|
+
*
|
|
25
33
|
*/
|
|
26
34
|
const add = dfdlT((target, value) => {
|
|
27
35
|
if (target.has(value)) return target;
|
package/dist/Set/addAll.d.mts
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/addAll.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # addAll
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.addAll(
|
|
6
|
+
* function Set.addAll<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* values: Iterable<NoInfer<T>>,
|
|
9
|
+
* ): ReadonlySet<T>
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns a set with all values from the iterable added. Values that already exist in the set are skipped.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.addAll(Set.create([1, 2]), [3, 4]); // Set([1, 2, 3, 4])
|
|
13
20
|
* Set.addAll(Set.create([1, 2]), [2, 3]); // Set([1, 2, 3])
|
|
14
21
|
* ```
|
|
15
22
|
*
|
|
16
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
17
24
|
* import { Set } from "@monstermann/set";
|
|
18
25
|
*
|
|
19
26
|
* pipe(Set.create([1, 2]), Set.addAll([3, 4])); // Set([1, 2, 3, 4])
|
|
20
27
|
* pipe(Set.create([1, 2]), Set.addAll([2, 3])); // Set([1, 2, 3])
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const addAll: {
|
|
24
32
|
<T>(values: Iterable<NoInfer<T>>): (target: Set<T>) => Set<T>;
|
package/dist/Set/addAll.mjs
CHANGED
|
@@ -3,25 +3,33 @@ import { cloneSet } from "@monstermann/remmi";
|
|
|
3
3
|
|
|
4
4
|
//#region src/Set/addAll.ts
|
|
5
5
|
/**
|
|
6
|
+
* # addAll
|
|
7
|
+
*
|
|
6
8
|
* ```ts
|
|
7
|
-
* function Set.addAll(
|
|
9
|
+
* function Set.addAll<T>(
|
|
10
|
+
* target: ReadonlySet<T>,
|
|
11
|
+
* values: Iterable<NoInfer<T>>,
|
|
12
|
+
* ): ReadonlySet<T>
|
|
8
13
|
* ```
|
|
9
14
|
*
|
|
10
|
-
*
|
|
15
|
+
* Returns a set with all values from the iterable added. Values that already exist in the set are skipped.
|
|
11
16
|
*
|
|
12
|
-
*
|
|
17
|
+
* ## Example
|
|
18
|
+
*
|
|
19
|
+
* ```ts [data-first]
|
|
13
20
|
* import { Set } from "@monstermann/set";
|
|
14
21
|
*
|
|
15
22
|
* Set.addAll(Set.create([1, 2]), [3, 4]); // Set([1, 2, 3, 4])
|
|
16
23
|
* Set.addAll(Set.create([1, 2]), [2, 3]); // Set([1, 2, 3])
|
|
17
24
|
* ```
|
|
18
25
|
*
|
|
19
|
-
* ```ts
|
|
26
|
+
* ```ts [data-last]
|
|
20
27
|
* import { Set } from "@monstermann/set";
|
|
21
28
|
*
|
|
22
29
|
* pipe(Set.create([1, 2]), Set.addAll([3, 4])); // Set([1, 2, 3, 4])
|
|
23
30
|
* pipe(Set.create([1, 2]), Set.addAll([2, 3])); // Set([1, 2, 3])
|
|
24
31
|
* ```
|
|
32
|
+
*
|
|
25
33
|
*/
|
|
26
34
|
const addAll = dfdlT((target, values) => {
|
|
27
35
|
let result;
|
package/dist/Set/clone.d.mts
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
//#region src/Set/clone.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # clone
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.clone(target)
|
|
6
|
+
* function Set.clone<T>(target: ReadonlySet<T>): Set<T>
|
|
5
7
|
* ```
|
|
6
8
|
*
|
|
7
|
-
*
|
|
9
|
+
* Returns a shallow copy of the set, unless marked as mutable with `markAsMutable` inside a mutation context (see [@monstermann/remmi](https://michaelostermann.github.io/remmi/#clonearray-array)).
|
|
8
10
|
*
|
|
9
|
-
*
|
|
11
|
+
* ## Example
|
|
12
|
+
*
|
|
13
|
+
* ```ts [data-first]
|
|
10
14
|
* import { Set } from "@monstermann/set";
|
|
11
15
|
*
|
|
12
16
|
* const original = Set.create([1, 2, 3]);
|
|
13
17
|
* const copy = Set.clone(original); // Set { 1, 2, 3 }
|
|
14
18
|
* ```
|
|
15
19
|
*
|
|
16
|
-
* ```ts
|
|
20
|
+
* ```ts [data-last]
|
|
17
21
|
* import { Set } from "@monstermann/set";
|
|
18
22
|
*
|
|
19
23
|
* const original = Set.create([1, 2, 3]);
|
|
20
24
|
* const copy = pipe(original, Set.clone()); // Set { 1, 2, 3 }
|
|
21
25
|
* ```
|
|
26
|
+
*
|
|
22
27
|
*/
|
|
23
28
|
declare const clone: {
|
|
24
29
|
(): <T>(target: ReadonlySet<T>) => Set<T>;
|
package/dist/Set/clone.mjs
CHANGED
|
@@ -3,25 +3,30 @@ import { cloneSet } from "@monstermann/remmi";
|
|
|
3
3
|
|
|
4
4
|
//#region src/Set/clone.ts
|
|
5
5
|
/**
|
|
6
|
+
* # clone
|
|
7
|
+
*
|
|
6
8
|
* ```ts
|
|
7
|
-
* function Set.clone(target)
|
|
9
|
+
* function Set.clone<T>(target: ReadonlySet<T>): Set<T>
|
|
8
10
|
* ```
|
|
9
11
|
*
|
|
10
|
-
*
|
|
12
|
+
* Returns a shallow copy of the set, unless marked as mutable with `markAsMutable` inside a mutation context (see [@monstermann/remmi](https://michaelostermann.github.io/remmi/#clonearray-array)).
|
|
11
13
|
*
|
|
12
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
13
17
|
* import { Set } from "@monstermann/set";
|
|
14
18
|
*
|
|
15
19
|
* const original = Set.create([1, 2, 3]);
|
|
16
20
|
* const copy = Set.clone(original); // Set { 1, 2, 3 }
|
|
17
21
|
* ```
|
|
18
22
|
*
|
|
19
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
20
24
|
* import { Set } from "@monstermann/set";
|
|
21
25
|
*
|
|
22
26
|
* const original = Set.create([1, 2, 3]);
|
|
23
27
|
* const copy = pipe(original, Set.clone()); // Set { 1, 2, 3 }
|
|
24
28
|
* ```
|
|
29
|
+
*
|
|
25
30
|
*/
|
|
26
31
|
const clone = dfdlT(cloneSet, 1);
|
|
27
32
|
|
package/dist/Set/compact.d.mts
CHANGED
|
@@ -3,25 +3,32 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
3
3
|
//#region src/Set/compact.d.ts
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
+
* # compact
|
|
7
|
+
*
|
|
6
8
|
* ```ts
|
|
7
|
-
* function Set.compact(
|
|
9
|
+
* function Set.compact<T>(
|
|
10
|
+
* target: ReadonlySet<T>,
|
|
11
|
+
* ): ReadonlySet<NonNil<T>>
|
|
8
12
|
* ```
|
|
9
13
|
*
|
|
10
|
-
*
|
|
14
|
+
* Returns a set with all `null` and `undefined` values removed.
|
|
11
15
|
*
|
|
12
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
13
19
|
* import { Set } from "@monstermann/set";
|
|
14
20
|
*
|
|
15
21
|
* Set.compact(Set.create([1, null, 2, undefined])); // Set([1, 2])
|
|
16
22
|
* Set.compact(Set.create([1, 2, 3])); // Set([1, 2, 3])
|
|
17
23
|
* ```
|
|
18
24
|
*
|
|
19
|
-
* ```ts
|
|
25
|
+
* ```ts [data-last]
|
|
20
26
|
* import { Set } from "@monstermann/set";
|
|
21
27
|
*
|
|
22
28
|
* pipe(Set.create([1, null, 2, undefined]), Set.compact()); // Set([1, 2])
|
|
23
29
|
* pipe(Set.create([1, 2, 3]), Set.compact()); // Set([1, 2, 3])
|
|
24
30
|
* ```
|
|
31
|
+
*
|
|
25
32
|
*/
|
|
26
33
|
declare const compact: {
|
|
27
34
|
<T>(): (target: Set<T>) => Set<NonNil<T>>;
|
package/dist/Set/compact.mjs
CHANGED
|
@@ -3,25 +3,32 @@ import { cloneSet } from "@monstermann/remmi";
|
|
|
3
3
|
|
|
4
4
|
//#region src/Set/compact.ts
|
|
5
5
|
/**
|
|
6
|
+
* # compact
|
|
7
|
+
*
|
|
6
8
|
* ```ts
|
|
7
|
-
* function Set.compact(
|
|
9
|
+
* function Set.compact<T>(
|
|
10
|
+
* target: ReadonlySet<T>,
|
|
11
|
+
* ): ReadonlySet<NonNil<T>>
|
|
8
12
|
* ```
|
|
9
13
|
*
|
|
10
|
-
*
|
|
14
|
+
* Returns a set with all `null` and `undefined` values removed.
|
|
11
15
|
*
|
|
12
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
13
19
|
* import { Set } from "@monstermann/set";
|
|
14
20
|
*
|
|
15
21
|
* Set.compact(Set.create([1, null, 2, undefined])); // Set([1, 2])
|
|
16
22
|
* Set.compact(Set.create([1, 2, 3])); // Set([1, 2, 3])
|
|
17
23
|
* ```
|
|
18
24
|
*
|
|
19
|
-
* ```ts
|
|
25
|
+
* ```ts [data-last]
|
|
20
26
|
* import { Set } from "@monstermann/set";
|
|
21
27
|
*
|
|
22
28
|
* pipe(Set.create([1, null, 2, undefined]), Set.compact()); // Set([1, 2])
|
|
23
29
|
* pipe(Set.create([1, 2, 3]), Set.compact()); // Set([1, 2, 3])
|
|
24
30
|
* ```
|
|
31
|
+
*
|
|
25
32
|
*/
|
|
26
33
|
const compact = dfdlT((target) => {
|
|
27
34
|
if (!target.has(null) && !target.has(void 0)) return target;
|
package/dist/Set/create.d.mts
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
//#region src/Set/create.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # create
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.create(
|
|
6
|
+
* function Set.create<T>(
|
|
7
|
+
* iterable?: Iterable<T> | null | undefined,
|
|
8
|
+
* ): Set<T>
|
|
5
9
|
* ```
|
|
6
10
|
*
|
|
7
|
-
*
|
|
11
|
+
* Creates a new set from an optional iterable.
|
|
12
|
+
*
|
|
13
|
+
* ## Example
|
|
8
14
|
*
|
|
9
15
|
* ```ts
|
|
10
16
|
* import { Set } from "@monstermann/set";
|
|
11
17
|
*
|
|
12
18
|
* Set.create([1, 2, 3]); // Set([1, 2, 3])
|
|
13
19
|
* ```
|
|
20
|
+
*
|
|
14
21
|
*/
|
|
15
22
|
declare function create<T>(iterable?: Iterable<T> | null | undefined): Set<T>;
|
|
16
23
|
//#endregion
|
package/dist/Set/create.mjs
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
//#region src/Set/create.ts
|
|
2
2
|
/**
|
|
3
|
+
* # create
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.create(
|
|
6
|
+
* function Set.create<T>(
|
|
7
|
+
* iterable?: Iterable<T> | null | undefined,
|
|
8
|
+
* ): Set<T>
|
|
5
9
|
* ```
|
|
6
10
|
*
|
|
7
|
-
*
|
|
11
|
+
* Creates a new set from an optional iterable.
|
|
12
|
+
*
|
|
13
|
+
* ## Example
|
|
8
14
|
*
|
|
9
15
|
* ```ts
|
|
10
16
|
* import { Set } from "@monstermann/set";
|
|
11
17
|
*
|
|
12
18
|
* Set.create([1, 2, 3]); // Set([1, 2, 3])
|
|
13
19
|
* ```
|
|
20
|
+
*
|
|
14
21
|
*/
|
|
15
22
|
function create(iterable) {
|
|
16
23
|
return new globalThis.Set(iterable);
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/difference.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # difference
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.difference
|
|
6
|
+
* function Set.difference<T, U>(
|
|
7
|
+
* target: Set<T>,
|
|
8
|
+
* source: Set<U>,
|
|
9
|
+
* ): Set<T>
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns a set containing all values from the target set that are not in the source set.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.difference(Set.create([1, 2, 3]), Set.create([2, 3, 4])); // Set([1])
|
|
13
20
|
* Set.difference(Set.create([1, 2]), Set.create([3, 4])); // Set([1, 2])
|
|
14
21
|
* ```
|
|
15
22
|
*
|
|
16
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
17
24
|
* import { Set } from "@monstermann/set";
|
|
18
25
|
*
|
|
19
26
|
* pipe(Set.create([1, 2, 3]), Set.difference(Set.create([2, 3, 4]))); // Set([1])
|
|
20
27
|
* pipe(Set.create([1, 2]), Set.difference(Set.create([3, 4]))); // Set([1, 2])
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const difference: {
|
|
24
32
|
<T, U>(source: Set<U>): (target: Set<T>) => Set<T>;
|
package/dist/Set/difference.mjs
CHANGED
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/difference.ts
|
|
4
4
|
/**
|
|
5
|
+
* # difference
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.difference
|
|
8
|
+
* function Set.difference<T, U>(
|
|
9
|
+
* target: Set<T>,
|
|
10
|
+
* source: Set<U>,
|
|
11
|
+
* ): Set<T>
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns a set containing all values from the target set that are not in the source set.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.difference(Set.create([1, 2, 3]), Set.create([2, 3, 4])); // Set([1])
|
|
15
22
|
* Set.difference(Set.create([1, 2]), Set.create([3, 4])); // Set([1, 2])
|
|
16
23
|
* ```
|
|
17
24
|
*
|
|
18
|
-
* ```ts
|
|
25
|
+
* ```ts [data-last]
|
|
19
26
|
* import { Set } from "@monstermann/set";
|
|
20
27
|
*
|
|
21
28
|
* pipe(Set.create([1, 2, 3]), Set.difference(Set.create([2, 3, 4]))); // Set([1])
|
|
22
29
|
* pipe(Set.create([1, 2]), Set.difference(Set.create([3, 4]))); // Set([1, 2])
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const difference = dfdlT((target, source) => {
|
|
26
34
|
if (source.size === 0) return target;
|
package/dist/Set/forEach.d.mts
CHANGED
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
//#region src/Set/forEach.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # forEach
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.forEach(
|
|
6
|
+
* function Set.forEach<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* fn: (
|
|
9
|
+
* value: NoInfer<T>,
|
|
10
|
+
* target: ReadonlySet<NoInfer<T>>,
|
|
11
|
+
* ) => unknown,
|
|
12
|
+
* ): ReadonlySet<T>
|
|
5
13
|
* ```
|
|
6
14
|
*
|
|
7
|
-
*
|
|
15
|
+
* Executes a function for each value in the set and returns the set unchanged.
|
|
8
16
|
*
|
|
9
|
-
*
|
|
17
|
+
* ## Example
|
|
18
|
+
*
|
|
19
|
+
* ```ts [data-first]
|
|
10
20
|
* import { Set } from "@monstermann/set";
|
|
11
21
|
*
|
|
12
22
|
* Set.forEach(Set.create([1, 2, 3]), (value) => console.log(value)); // Set([1, 2, 3])
|
|
13
23
|
* ```
|
|
14
24
|
*
|
|
15
|
-
* ```ts
|
|
25
|
+
* ```ts [data-last]
|
|
16
26
|
* import { Set } from "@monstermann/set";
|
|
17
27
|
*
|
|
18
28
|
* pipe(
|
|
@@ -20,6 +30,7 @@
|
|
|
20
30
|
* Set.forEach((value) => console.log(value)),
|
|
21
31
|
* ); // Set([1, 2, 3])
|
|
22
32
|
* ```
|
|
33
|
+
*
|
|
23
34
|
*/
|
|
24
35
|
declare const forEach: {
|
|
25
36
|
<T>(fn: (value: NoInfer<T>, target: ReadonlySet<NoInfer<T>>) => unknown): (target: Set<T>) => Set<T>;
|
package/dist/Set/forEach.mjs
CHANGED
|
@@ -2,19 +2,29 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/forEach.ts
|
|
4
4
|
/**
|
|
5
|
+
* # forEach
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.forEach(
|
|
8
|
+
* function Set.forEach<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* fn: (
|
|
11
|
+
* value: NoInfer<T>,
|
|
12
|
+
* target: ReadonlySet<NoInfer<T>>,
|
|
13
|
+
* ) => unknown,
|
|
14
|
+
* ): ReadonlySet<T>
|
|
7
15
|
* ```
|
|
8
16
|
*
|
|
9
|
-
*
|
|
17
|
+
* Executes a function for each value in the set and returns the set unchanged.
|
|
10
18
|
*
|
|
11
|
-
*
|
|
19
|
+
* ## Example
|
|
20
|
+
*
|
|
21
|
+
* ```ts [data-first]
|
|
12
22
|
* import { Set } from "@monstermann/set";
|
|
13
23
|
*
|
|
14
24
|
* Set.forEach(Set.create([1, 2, 3]), (value) => console.log(value)); // Set([1, 2, 3])
|
|
15
25
|
* ```
|
|
16
26
|
*
|
|
17
|
-
* ```ts
|
|
27
|
+
* ```ts [data-last]
|
|
18
28
|
* import { Set } from "@monstermann/set";
|
|
19
29
|
*
|
|
20
30
|
* pipe(
|
|
@@ -22,6 +32,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
22
32
|
* Set.forEach((value) => console.log(value)),
|
|
23
33
|
* ); // Set([1, 2, 3])
|
|
24
34
|
* ```
|
|
35
|
+
*
|
|
25
36
|
*/
|
|
26
37
|
const forEach = dfdlT((target, fn) => {
|
|
27
38
|
for (const value of target) fn(value, target);
|
package/dist/Set/has.d.mts
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/has.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # has
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.has(
|
|
6
|
+
* function Set.has<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* value: NoInfer<T>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if the set contains the value, `false` otherwise.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.has(Set.create([1, 2, 3]), 2); // true
|
|
13
20
|
* Set.has(Set.create([1, 2, 3]), 4); // false
|
|
14
21
|
* ```
|
|
15
22
|
*
|
|
16
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
17
24
|
* import { Set } from "@monstermann/set";
|
|
18
25
|
*
|
|
19
26
|
* pipe(Set.create([1, 2, 3]), Set.has(2)); // true
|
|
20
27
|
* pipe(Set.create([1, 2, 3]), Set.has(4)); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const has: {
|
|
24
32
|
<T>(value: NoInfer<T>): (target: ReadonlySet<T>) => boolean;
|
package/dist/Set/has.mjs
CHANGED
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/has.ts
|
|
4
4
|
/**
|
|
5
|
+
* # has
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.has(
|
|
8
|
+
* function Set.has<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* value: NoInfer<T>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if the set contains the value, `false` otherwise.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.has(Set.create([1, 2, 3]), 2); // true
|
|
15
22
|
* Set.has(Set.create([1, 2, 3]), 4); // false
|
|
16
23
|
* ```
|
|
17
24
|
*
|
|
18
|
-
* ```ts
|
|
25
|
+
* ```ts [data-last]
|
|
19
26
|
* import { Set } from "@monstermann/set";
|
|
20
27
|
*
|
|
21
28
|
* pipe(Set.create([1, 2, 3]), Set.has(2)); // true
|
|
22
29
|
* pipe(Set.create([1, 2, 3]), Set.has(4)); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const has = dfdlT((target, value) => {
|
|
26
34
|
return target.has(value);
|
package/dist/Set/hasAll.d.mts
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/hasAll.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # hasAll
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.hasAll(
|
|
6
|
+
* function Set.hasAll<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* values: Iterable<NoInfer<T>>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if the set contains all values from the iterable, `false` otherwise.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.hasAll(Set.create([1, 2, 3]), [1, 2]); // true
|
|
13
20
|
* Set.hasAll(Set.create([1, 2, 3]), [1, 4]); // false
|
|
14
21
|
* ```
|
|
15
22
|
*
|
|
16
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
17
24
|
* import { Set } from "@monstermann/set";
|
|
18
25
|
*
|
|
19
26
|
* pipe(Set.create([1, 2, 3]), Set.hasAll([1, 2])); // true
|
|
20
27
|
* pipe(Set.create([1, 2, 3]), Set.hasAll([1, 4])); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const hasAll: {
|
|
24
32
|
<T>(values: Iterable<NoInfer<T>>): (target: ReadonlySet<T>) => boolean;
|
package/dist/Set/hasAll.mjs
CHANGED
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/hasAll.ts
|
|
4
4
|
/**
|
|
5
|
+
* # hasAll
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.hasAll(
|
|
8
|
+
* function Set.hasAll<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* values: Iterable<NoInfer<T>>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if the set contains all values from the iterable, `false` otherwise.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.hasAll(Set.create([1, 2, 3]), [1, 2]); // true
|
|
15
22
|
* Set.hasAll(Set.create([1, 2, 3]), [1, 4]); // false
|
|
16
23
|
* ```
|
|
17
24
|
*
|
|
18
|
-
* ```ts
|
|
25
|
+
* ```ts [data-last]
|
|
19
26
|
* import { Set } from "@monstermann/set";
|
|
20
27
|
*
|
|
21
28
|
* pipe(Set.create([1, 2, 3]), Set.hasAll([1, 2])); // true
|
|
22
29
|
* pipe(Set.create([1, 2, 3]), Set.hasAll([1, 4])); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const hasAll = dfdlT((target, values) => {
|
|
26
34
|
for (const value of values) if (!target.has(value)) return false;
|