@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/hasAny.d.mts
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/hasAny.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # hasAny
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.hasAny(
|
|
6
|
+
* function Set.hasAny<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* values: Iterable<NoInfer<T>>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if the set contains at least one value 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.hasAny(Set.create([1, 2, 3]), [3, 4]); // true
|
|
13
20
|
* Set.hasAny(Set.create([1, 2, 3]), [4, 5]); // 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.hasAny([3, 4])); // true
|
|
20
27
|
* pipe(Set.create([1, 2, 3]), Set.hasAny([4, 5])); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const hasAny: {
|
|
24
32
|
<T>(values: Iterable<NoInfer<T>>): (target: ReadonlySet<T>) => boolean;
|
package/dist/Set/hasAny.mjs
CHANGED
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/hasAny.ts
|
|
4
4
|
/**
|
|
5
|
+
* # hasAny
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.hasAny(
|
|
8
|
+
* function Set.hasAny<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* values: Iterable<NoInfer<T>>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if the set contains at least one value 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.hasAny(Set.create([1, 2, 3]), [3, 4]); // true
|
|
15
22
|
* Set.hasAny(Set.create([1, 2, 3]), [4, 5]); // 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.hasAny([3, 4])); // true
|
|
22
29
|
* pipe(Set.create([1, 2, 3]), Set.hasAny([4, 5])); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const hasAny = dfdlT((target, values) => {
|
|
26
34
|
for (const value of values) if (target.has(value)) return true;
|
package/dist/Set/hasNone.d.mts
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/hasNone.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # hasNone
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.hasNone(
|
|
6
|
+
* function Set.hasNone<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* values: Iterable<NoInfer<T>>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if the set contains none of the 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.hasNone(Set.create([1, 2, 3]), [4, 5]); // true
|
|
13
20
|
* Set.hasNone(Set.create([1, 2, 3]), [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.hasNone([4, 5])); // true
|
|
20
27
|
* pipe(Set.create([1, 2, 3]), Set.hasNone([3, 4])); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const hasNone: {
|
|
24
32
|
<T>(values: Iterable<NoInfer<T>>): (target: ReadonlySet<T>) => boolean;
|
package/dist/Set/hasNone.mjs
CHANGED
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/hasNone.ts
|
|
4
4
|
/**
|
|
5
|
+
* # hasNone
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.hasNone(
|
|
8
|
+
* function Set.hasNone<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* values: Iterable<NoInfer<T>>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if the set contains none of the 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.hasNone(Set.create([1, 2, 3]), [4, 5]); // true
|
|
15
22
|
* Set.hasNone(Set.create([1, 2, 3]), [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.hasNone([4, 5])); // true
|
|
22
29
|
* pipe(Set.create([1, 2, 3]), Set.hasNone([3, 4])); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const hasNone = dfdlT((target, values) => {
|
|
26
34
|
for (const value of values) if (target.has(value)) return false;
|
package/dist/Set/index.d.mts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { add } from "./add.mjs";
|
|
2
2
|
import { addAll } from "./addAll.mjs";
|
|
3
|
-
import { addOr } from "./addOr.mjs";
|
|
4
|
-
import { addOrElse } from "./addOrElse.mjs";
|
|
5
|
-
import { addOrThrow } from "./addOrThrow.mjs";
|
|
6
3
|
import { clone } from "./clone.mjs";
|
|
7
4
|
import { compact } from "./compact.mjs";
|
|
8
5
|
import { create } from "./create.mjs";
|
|
@@ -22,9 +19,6 @@ import { isSupersetOf } from "./isSupersetOf.mjs";
|
|
|
22
19
|
import { mapEach } from "./mapEach.mjs";
|
|
23
20
|
import { remove } from "./remove.mjs";
|
|
24
21
|
import { removeAll } from "./removeAll.mjs";
|
|
25
|
-
import { removeOr } from "./removeOr.mjs";
|
|
26
|
-
import { removeOrElse } from "./removeOrElse.mjs";
|
|
27
|
-
import { removeOrThrow } from "./removeOrThrow.mjs";
|
|
28
22
|
import { size } from "./size.mjs";
|
|
29
23
|
import { symmetricDifference } from "./symmetricDifference.mjs";
|
|
30
24
|
import { toArray } from "./toArray.mjs";
|
|
@@ -33,7 +27,7 @@ import { union } from "./union.mjs";
|
|
|
33
27
|
//#region src/Set/index.d.ts
|
|
34
28
|
|
|
35
29
|
declare namespace Set {
|
|
36
|
-
export { add, addAll,
|
|
30
|
+
export { add, addAll, clone, compact, create, difference, forEach, has, hasAll, hasAny, hasNone, intersection, is, isDisjointFrom, isEmpty, isShallowEqual, isSubsetOf, isSupersetOf, mapEach, remove, removeAll, size, symmetricDifference, toArray, union };
|
|
37
31
|
}
|
|
38
32
|
//#endregion
|
|
39
33
|
export { Set };
|
package/dist/Set/index.mjs
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { add } from "./add.mjs";
|
|
2
2
|
import { addAll } from "./addAll.mjs";
|
|
3
|
-
import { addOr } from "./addOr.mjs";
|
|
4
|
-
import { addOrElse } from "./addOrElse.mjs";
|
|
5
|
-
import { addOrThrow } from "./addOrThrow.mjs";
|
|
6
3
|
import { clone } from "./clone.mjs";
|
|
7
4
|
import { compact } from "./compact.mjs";
|
|
8
5
|
import { create } from "./create.mjs";
|
|
@@ -22,9 +19,6 @@ import { isSupersetOf } from "./isSupersetOf.mjs";
|
|
|
22
19
|
import { mapEach } from "./mapEach.mjs";
|
|
23
20
|
import { remove } from "./remove.mjs";
|
|
24
21
|
import { removeAll } from "./removeAll.mjs";
|
|
25
|
-
import { removeOr } from "./removeOr.mjs";
|
|
26
|
-
import { removeOrElse } from "./removeOrElse.mjs";
|
|
27
|
-
import { removeOrThrow } from "./removeOrThrow.mjs";
|
|
28
22
|
import { size } from "./size.mjs";
|
|
29
23
|
import { symmetricDifference } from "./symmetricDifference.mjs";
|
|
30
24
|
import { toArray } from "./toArray.mjs";
|
|
@@ -34,9 +28,6 @@ import { union } from "./union.mjs";
|
|
|
34
28
|
const Set = {
|
|
35
29
|
add,
|
|
36
30
|
addAll,
|
|
37
|
-
addOr,
|
|
38
|
-
addOrElse,
|
|
39
|
-
addOrThrow,
|
|
40
31
|
clone,
|
|
41
32
|
compact,
|
|
42
33
|
create,
|
|
@@ -56,9 +47,6 @@ const Set = {
|
|
|
56
47
|
mapEach,
|
|
57
48
|
remove,
|
|
58
49
|
removeAll,
|
|
59
|
-
removeOr,
|
|
60
|
-
removeOrElse,
|
|
61
|
-
removeOrThrow,
|
|
62
50
|
size,
|
|
63
51
|
symmetricDifference,
|
|
64
52
|
toArray,
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/intersection.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # intersection
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.intersection
|
|
6
|
+
* function Set.intersection<T, U>(
|
|
7
|
+
* target: Set<T>,
|
|
8
|
+
* source: Set<U>,
|
|
9
|
+
* ): Set<T | U>
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns a set containing only the values that exist in both sets.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.intersection(Set.create([1, 2, 3]), Set.create([2, 3, 4])); // Set([2, 3])
|
|
13
20
|
* Set.intersection(Set.create([1, 2]), Set.create([3, 4])); // Set([])
|
|
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.intersection(Set.create([2, 3, 4]))); // Set([2, 3])
|
|
20
27
|
* pipe(Set.create([1, 2]), Set.intersection(Set.create([3, 4]))); // Set([])
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const intersection: {
|
|
24
32
|
<T, U>(source: Set<U>): (target: Set<T>) => Set<T | U>;
|
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/intersection.ts
|
|
4
4
|
/**
|
|
5
|
+
* # intersection
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.intersection
|
|
8
|
+
* function Set.intersection<T, U>(
|
|
9
|
+
* target: Set<T>,
|
|
10
|
+
* source: Set<U>,
|
|
11
|
+
* ): Set<T | U>
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns a set containing only the values that exist in both sets.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.intersection(Set.create([1, 2, 3]), Set.create([2, 3, 4])); // Set([2, 3])
|
|
15
22
|
* Set.intersection(Set.create([1, 2]), Set.create([3, 4])); // Set([])
|
|
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.intersection(Set.create([2, 3, 4]))); // Set([2, 3])
|
|
22
29
|
* pipe(Set.create([1, 2]), Set.intersection(Set.create([3, 4]))); // Set([])
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const intersection = dfdlT((target, source) => {
|
|
26
34
|
if (target.size === 0) return target;
|
package/dist/Set/is.d.mts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
//#region src/Set/is.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # is
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.is(target)
|
|
6
|
+
* function Set.is(target: unknown): target is Set<unknown>
|
|
5
7
|
* ```
|
|
6
8
|
*
|
|
7
|
-
*
|
|
9
|
+
* Returns `true` if the value is a Set, `false` otherwise.
|
|
8
10
|
*
|
|
9
|
-
*
|
|
11
|
+
* ## Example
|
|
12
|
+
*
|
|
13
|
+
* ```ts [data-first]
|
|
10
14
|
* import { Set } from "@monstermann/set";
|
|
11
15
|
*
|
|
12
16
|
* Set.is(Set.create([1, 2, 3])); // true
|
|
@@ -14,13 +18,14 @@
|
|
|
14
18
|
* Set.is({}); // false
|
|
15
19
|
* ```
|
|
16
20
|
*
|
|
17
|
-
* ```ts
|
|
21
|
+
* ```ts [data-last]
|
|
18
22
|
* import { Set } from "@monstermann/set";
|
|
19
23
|
*
|
|
20
24
|
* pipe(Set.create([1, 2, 3]), Set.is()); // true
|
|
21
25
|
* pipe([1, 2, 3], Set.is()); // false
|
|
22
26
|
* pipe({}, Set.is()); // false
|
|
23
27
|
* ```
|
|
28
|
+
*
|
|
24
29
|
*/
|
|
25
30
|
declare const is: {
|
|
26
31
|
(): (target: unknown) => target is Set<unknown>;
|
package/dist/Set/is.mjs
CHANGED
|
@@ -2,13 +2,17 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/is.ts
|
|
4
4
|
/**
|
|
5
|
+
* # is
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.is(target)
|
|
8
|
+
* function Set.is(target: unknown): target is Set<unknown>
|
|
7
9
|
* ```
|
|
8
10
|
*
|
|
9
|
-
*
|
|
11
|
+
* Returns `true` if the value is a Set, `false` otherwise.
|
|
10
12
|
*
|
|
11
|
-
*
|
|
13
|
+
* ## Example
|
|
14
|
+
*
|
|
15
|
+
* ```ts [data-first]
|
|
12
16
|
* import { Set } from "@monstermann/set";
|
|
13
17
|
*
|
|
14
18
|
* Set.is(Set.create([1, 2, 3])); // true
|
|
@@ -16,13 +20,14 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
16
20
|
* Set.is({}); // false
|
|
17
21
|
* ```
|
|
18
22
|
*
|
|
19
|
-
* ```ts
|
|
23
|
+
* ```ts [data-last]
|
|
20
24
|
* import { Set } from "@monstermann/set";
|
|
21
25
|
*
|
|
22
26
|
* pipe(Set.create([1, 2, 3]), Set.is()); // true
|
|
23
27
|
* pipe([1, 2, 3], Set.is()); // false
|
|
24
28
|
* pipe({}, Set.is()); // false
|
|
25
29
|
* ```
|
|
30
|
+
*
|
|
26
31
|
*/
|
|
27
32
|
const is = dfdlT((target) => {
|
|
28
33
|
return target instanceof Set;
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/isDisjointFrom.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # isDisjointFrom
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.isDisjointFrom(
|
|
6
|
+
* function Set.isDisjointFrom<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* source: ReadonlySet<NoInfer<T>>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if the sets have no values in common, `false` otherwise.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.isDisjointFrom(Set.create([1, 2]), Set.create([3, 4])); // true
|
|
13
20
|
* Set.isDisjointFrom(Set.create([1, 2]), Set.create([2, 3])); // 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]), Set.isDisjointFrom(Set.create([3, 4]))); // true
|
|
20
27
|
* pipe(Set.create([1, 2]), Set.isDisjointFrom(Set.create([2, 3]))); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const isDisjointFrom: {
|
|
24
32
|
<T>(source: ReadonlySet<NoInfer<T>>): (target: ReadonlySet<T>) => boolean;
|
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/isDisjointFrom.ts
|
|
4
4
|
/**
|
|
5
|
+
* # isDisjointFrom
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.isDisjointFrom(
|
|
8
|
+
* function Set.isDisjointFrom<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* source: ReadonlySet<NoInfer<T>>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if the sets have no values in common, `false` otherwise.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.isDisjointFrom(Set.create([1, 2]), Set.create([3, 4])); // true
|
|
15
22
|
* Set.isDisjointFrom(Set.create([1, 2]), Set.create([2, 3])); // 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]), Set.isDisjointFrom(Set.create([3, 4]))); // true
|
|
22
29
|
* pipe(Set.create([1, 2]), Set.isDisjointFrom(Set.create([2, 3]))); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const isDisjointFrom = dfdlT((target, source) => {
|
|
26
34
|
for (const value of target) if (source.has(value)) return false;
|
package/dist/Set/isEmpty.d.mts
CHANGED
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
//#region src/Set/isEmpty.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # isEmpty
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.isEmpty(
|
|
6
|
+
* function Set.isEmpty<T extends ReadonlySet<unknown>>(
|
|
7
|
+
* target: T,
|
|
8
|
+
* ): boolean
|
|
5
9
|
* ```
|
|
6
10
|
*
|
|
7
|
-
*
|
|
11
|
+
* Returns `true` if the set contains no values, `false` otherwise.
|
|
8
12
|
*
|
|
9
|
-
*
|
|
13
|
+
* ## Example
|
|
14
|
+
*
|
|
15
|
+
* ```ts [data-first]
|
|
10
16
|
* import { Set } from "@monstermann/set";
|
|
11
17
|
*
|
|
12
18
|
* Set.isEmpty(Set.create()); // true
|
|
13
19
|
* Set.isEmpty(Set.create([1, 2, 3])); // false
|
|
14
20
|
* ```
|
|
15
21
|
*
|
|
16
|
-
* ```ts
|
|
22
|
+
* ```ts [data-last]
|
|
17
23
|
* import { Set } from "@monstermann/set";
|
|
18
24
|
*
|
|
19
25
|
* pipe(Set.create(), Set.isEmpty()); // true
|
|
20
26
|
* pipe(Set.create([1, 2, 3]), Set.isEmpty()); // false
|
|
21
27
|
* ```
|
|
28
|
+
*
|
|
22
29
|
*/
|
|
23
30
|
declare const isEmpty: {
|
|
24
31
|
(): <T extends ReadonlySet<unknown>>(target: T) => boolean;
|
package/dist/Set/isEmpty.mjs
CHANGED
|
@@ -2,25 +2,32 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/isEmpty.ts
|
|
4
4
|
/**
|
|
5
|
+
* # isEmpty
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.isEmpty(
|
|
8
|
+
* function Set.isEmpty<T extends ReadonlySet<unknown>>(
|
|
9
|
+
* target: T,
|
|
10
|
+
* ): boolean
|
|
7
11
|
* ```
|
|
8
12
|
*
|
|
9
|
-
*
|
|
13
|
+
* Returns `true` if the set contains no values, `false` otherwise.
|
|
10
14
|
*
|
|
11
|
-
*
|
|
15
|
+
* ## Example
|
|
16
|
+
*
|
|
17
|
+
* ```ts [data-first]
|
|
12
18
|
* import { Set } from "@monstermann/set";
|
|
13
19
|
*
|
|
14
20
|
* Set.isEmpty(Set.create()); // true
|
|
15
21
|
* Set.isEmpty(Set.create([1, 2, 3])); // false
|
|
16
22
|
* ```
|
|
17
23
|
*
|
|
18
|
-
* ```ts
|
|
24
|
+
* ```ts [data-last]
|
|
19
25
|
* import { Set } from "@monstermann/set";
|
|
20
26
|
*
|
|
21
27
|
* pipe(Set.create(), Set.isEmpty()); // true
|
|
22
28
|
* pipe(Set.create([1, 2, 3]), Set.isEmpty()); // false
|
|
23
29
|
* ```
|
|
30
|
+
*
|
|
24
31
|
*/
|
|
25
32
|
const isEmpty = dfdlT((target) => {
|
|
26
33
|
return target.size === 0;
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/isShallowEqual.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # isShallowEqual
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.isShallowEqual(
|
|
6
|
+
* function Set.isShallowEqual<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* source: ReadonlySet<NoInfer<T>>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if both sets contain the same values, `false` otherwise.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.isShallowEqual(Set.create([1, 2, 3]), Set.create([3, 2, 1])); // true
|
|
13
20
|
* Set.isShallowEqual(Set.create([1, 2]), Set.create([1, 2, 3])); // 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.isShallowEqual(Set.create([3, 2, 1]))); // true
|
|
20
27
|
* pipe(Set.create([1, 2]), Set.isShallowEqual(Set.create([1, 2, 3]))); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const isShallowEqual: {
|
|
24
32
|
<T>(source: ReadonlySet<NoInfer<T>>): (target: ReadonlySet<T>) => boolean;
|
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/isShallowEqual.ts
|
|
4
4
|
/**
|
|
5
|
+
* # isShallowEqual
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.isShallowEqual(
|
|
8
|
+
* function Set.isShallowEqual<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* source: ReadonlySet<NoInfer<T>>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if both sets contain the same values, `false` otherwise.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.isShallowEqual(Set.create([1, 2, 3]), Set.create([3, 2, 1])); // true
|
|
15
22
|
* Set.isShallowEqual(Set.create([1, 2]), Set.create([1, 2, 3])); // 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.isShallowEqual(Set.create([3, 2, 1]))); // true
|
|
22
29
|
* pipe(Set.create([1, 2]), Set.isShallowEqual(Set.create([1, 2, 3]))); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const isShallowEqual = dfdlT((target, source) => {
|
|
26
34
|
if (target.size !== source.size) return false;
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
//#region src/Set/isSubsetOf.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # isSubsetOf
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Set.isSubsetOf(
|
|
6
|
+
* function Set.isSubsetOf<T>(
|
|
7
|
+
* target: ReadonlySet<T>,
|
|
8
|
+
* source: ReadonlySet<NoInfer<T>>,
|
|
9
|
+
* ): boolean
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
7
|
-
*
|
|
12
|
+
* Returns `true` if all values in the target set are also in the source set, `false` otherwise.
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* ## Example
|
|
15
|
+
*
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Set } from "@monstermann/set";
|
|
11
18
|
*
|
|
12
19
|
* Set.isSubsetOf(Set.create([1, 2]), Set.create([1, 2, 3])); // true
|
|
13
20
|
* Set.isSubsetOf(Set.create([1, 4]), Set.create([1, 2, 3])); // 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]), Set.isSubsetOf(Set.create([1, 2, 3]))); // true
|
|
20
27
|
* pipe(Set.create([1, 4]), Set.isSubsetOf(Set.create([1, 2, 3]))); // false
|
|
21
28
|
* ```
|
|
29
|
+
*
|
|
22
30
|
*/
|
|
23
31
|
declare const isSubsetOf: {
|
|
24
32
|
<T>(source: ReadonlySet<NoInfer<T>>): (target: ReadonlySet<T>) => boolean;
|
package/dist/Set/isSubsetOf.mjs
CHANGED
|
@@ -2,25 +2,33 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Set/isSubsetOf.ts
|
|
4
4
|
/**
|
|
5
|
+
* # isSubsetOf
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Set.isSubsetOf(
|
|
8
|
+
* function Set.isSubsetOf<T>(
|
|
9
|
+
* target: ReadonlySet<T>,
|
|
10
|
+
* source: ReadonlySet<NoInfer<T>>,
|
|
11
|
+
* ): boolean
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Returns `true` if all values in the target set are also in the source set, `false` otherwise.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
16
|
+
* ## Example
|
|
17
|
+
*
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Set } from "@monstermann/set";
|
|
13
20
|
*
|
|
14
21
|
* Set.isSubsetOf(Set.create([1, 2]), Set.create([1, 2, 3])); // true
|
|
15
22
|
* Set.isSubsetOf(Set.create([1, 4]), Set.create([1, 2, 3])); // 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]), Set.isSubsetOf(Set.create([1, 2, 3]))); // true
|
|
22
29
|
* pipe(Set.create([1, 4]), Set.isSubsetOf(Set.create([1, 2, 3]))); // false
|
|
23
30
|
* ```
|
|
31
|
+
*
|
|
24
32
|
*/
|
|
25
33
|
const isSubsetOf = dfdlT((target, source) => {
|
|
26
34
|
if (target.size > source.size) return false;
|