@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.
Files changed (66) hide show
  1. package/README.md +776 -0
  2. package/dist/Set/add.d.mts +12 -4
  3. package/dist/Set/add.mjs +12 -4
  4. package/dist/Set/addAll.d.mts +12 -4
  5. package/dist/Set/addAll.mjs +12 -4
  6. package/dist/Set/clone.d.mts +9 -4
  7. package/dist/Set/clone.mjs +9 -4
  8. package/dist/Set/compact.d.mts +11 -4
  9. package/dist/Set/compact.mjs +11 -4
  10. package/dist/Set/create.d.mts +9 -2
  11. package/dist/Set/create.mjs +9 -2
  12. package/dist/Set/difference.d.mts +12 -4
  13. package/dist/Set/difference.mjs +12 -4
  14. package/dist/Set/forEach.d.mts +15 -4
  15. package/dist/Set/forEach.mjs +15 -4
  16. package/dist/Set/has.d.mts +12 -4
  17. package/dist/Set/has.mjs +12 -4
  18. package/dist/Set/hasAll.d.mts +12 -4
  19. package/dist/Set/hasAll.mjs +12 -4
  20. package/dist/Set/hasAny.d.mts +12 -4
  21. package/dist/Set/hasAny.mjs +12 -4
  22. package/dist/Set/hasNone.d.mts +12 -4
  23. package/dist/Set/hasNone.mjs +12 -4
  24. package/dist/Set/index.d.mts +1 -7
  25. package/dist/Set/index.mjs +0 -12
  26. package/dist/Set/intersection.d.mts +12 -4
  27. package/dist/Set/intersection.mjs +12 -4
  28. package/dist/Set/is.d.mts +9 -4
  29. package/dist/Set/is.mjs +9 -4
  30. package/dist/Set/isDisjointFrom.d.mts +12 -4
  31. package/dist/Set/isDisjointFrom.mjs +12 -4
  32. package/dist/Set/isEmpty.d.mts +11 -4
  33. package/dist/Set/isEmpty.mjs +11 -4
  34. package/dist/Set/isShallowEqual.d.mts +12 -4
  35. package/dist/Set/isShallowEqual.mjs +12 -4
  36. package/dist/Set/isSubsetOf.d.mts +12 -4
  37. package/dist/Set/isSubsetOf.mjs +12 -4
  38. package/dist/Set/isSupersetOf.d.mts +12 -4
  39. package/dist/Set/isSupersetOf.mjs +12 -4
  40. package/dist/Set/mapEach.d.mts +15 -4
  41. package/dist/Set/mapEach.mjs +15 -4
  42. package/dist/Set/remove.d.mts +12 -4
  43. package/dist/Set/remove.mjs +12 -4
  44. package/dist/Set/removeAll.d.mts +12 -4
  45. package/dist/Set/removeAll.mjs +12 -4
  46. package/dist/Set/size.d.mts +11 -4
  47. package/dist/Set/size.mjs +11 -4
  48. package/dist/Set/symmetricDifference.d.mts +12 -4
  49. package/dist/Set/symmetricDifference.mjs +12 -4
  50. package/dist/Set/toArray.d.mts +9 -4
  51. package/dist/Set/toArray.mjs +9 -4
  52. package/dist/Set/union.d.mts +12 -4
  53. package/dist/Set/union.mjs +12 -4
  54. package/package.json +2 -2
  55. package/dist/Set/addOr.d.mts +0 -28
  56. package/dist/Set/addOr.mjs +0 -34
  57. package/dist/Set/addOrElse.d.mts +0 -35
  58. package/dist/Set/addOrElse.mjs +0 -41
  59. package/dist/Set/addOrThrow.d.mts +0 -28
  60. package/dist/Set/addOrThrow.mjs +0 -34
  61. package/dist/Set/removeOr.d.mts +0 -28
  62. package/dist/Set/removeOr.mjs +0 -34
  63. package/dist/Set/removeOrElse.d.mts +0 -35
  64. package/dist/Set/removeOrElse.mjs +0 -41
  65. package/dist/Set/removeOrThrow.d.mts +0 -28
  66. package/dist/Set/removeOrThrow.mjs +0 -34
@@ -1,24 +1,32 @@
1
1
  //#region src/Set/hasAny.d.ts
2
2
  /**
3
+ * # hasAny
4
+ *
3
5
  * ```ts
4
- * function Set.hasAny(target, values)
6
+ * function Set.hasAny<T>(
7
+ * target: ReadonlySet<T>,
8
+ * values: Iterable<NoInfer<T>>,
9
+ * ): boolean
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns `true` if the set contains at least one value from the iterable, `false` otherwise.
8
13
  *
9
- * ```ts
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;
@@ -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(target, values)
8
+ * function Set.hasAny<T>(
9
+ * target: ReadonlySet<T>,
10
+ * values: Iterable<NoInfer<T>>,
11
+ * ): boolean
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns `true` if the set contains at least one value from the iterable, `false` otherwise.
10
15
  *
11
- * ```ts
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;
@@ -1,24 +1,32 @@
1
1
  //#region src/Set/hasNone.d.ts
2
2
  /**
3
+ * # hasNone
4
+ *
3
5
  * ```ts
4
- * function Set.hasNone(target, values)
6
+ * function Set.hasNone<T>(
7
+ * target: ReadonlySet<T>,
8
+ * values: Iterable<NoInfer<T>>,
9
+ * ): boolean
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns `true` if the set contains none of the values from the iterable, `false` otherwise.
8
13
  *
9
- * ```ts
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;
@@ -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(target, values)
8
+ * function Set.hasNone<T>(
9
+ * target: ReadonlySet<T>,
10
+ * values: Iterable<NoInfer<T>>,
11
+ * ): boolean
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns `true` if the set contains none of the values from the iterable, `false` otherwise.
10
15
  *
11
- * ```ts
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;
@@ -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, addOr, addOrElse, addOrThrow, clone, compact, create, difference, forEach, has, hasAll, hasAny, hasNone, intersection, is, isDisjointFrom, isEmpty, isShallowEqual, isSubsetOf, isSupersetOf, mapEach, remove, removeAll, removeOr, removeOrElse, removeOrThrow, size, symmetricDifference, toArray, union };
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 };
@@ -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(target, source)
6
+ * function Set.intersection<T, U>(
7
+ * target: Set<T>,
8
+ * source: Set<U>,
9
+ * ): Set<T | U>
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns a set containing only the values that exist in both sets.
8
13
  *
9
- * ```ts
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(target, source)
8
+ * function Set.intersection<T, U>(
9
+ * target: Set<T>,
10
+ * source: Set<U>,
11
+ * ): Set<T | U>
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns a set containing only the values that exist in both sets.
10
15
  *
11
- * ```ts
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
- * Example
9
+ * Returns `true` if the value is a Set, `false` otherwise.
8
10
  *
9
- * ```ts
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
- * Example
11
+ * Returns `true` if the value is a Set, `false` otherwise.
10
12
  *
11
- * ```ts
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(target, source)
6
+ * function Set.isDisjointFrom<T>(
7
+ * target: ReadonlySet<T>,
8
+ * source: ReadonlySet<NoInfer<T>>,
9
+ * ): boolean
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns `true` if the sets have no values in common, `false` otherwise.
8
13
  *
9
- * ```ts
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(target, source)
8
+ * function Set.isDisjointFrom<T>(
9
+ * target: ReadonlySet<T>,
10
+ * source: ReadonlySet<NoInfer<T>>,
11
+ * ): boolean
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns `true` if the sets have no values in common, `false` otherwise.
10
15
  *
11
- * ```ts
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;
@@ -1,24 +1,31 @@
1
1
  //#region src/Set/isEmpty.d.ts
2
2
  /**
3
+ * # isEmpty
4
+ *
3
5
  * ```ts
4
- * function Set.isEmpty(target)
6
+ * function Set.isEmpty<T extends ReadonlySet<unknown>>(
7
+ * target: T,
8
+ * ): boolean
5
9
  * ```
6
10
  *
7
- * Example
11
+ * Returns `true` if the set contains no values, `false` otherwise.
8
12
  *
9
- * ```ts
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;
@@ -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(target)
8
+ * function Set.isEmpty<T extends ReadonlySet<unknown>>(
9
+ * target: T,
10
+ * ): boolean
7
11
  * ```
8
12
  *
9
- * Example
13
+ * Returns `true` if the set contains no values, `false` otherwise.
10
14
  *
11
- * ```ts
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(target, source)
6
+ * function Set.isShallowEqual<T>(
7
+ * target: ReadonlySet<T>,
8
+ * source: ReadonlySet<NoInfer<T>>,
9
+ * ): boolean
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns `true` if both sets contain the same values, `false` otherwise.
8
13
  *
9
- * ```ts
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(target, source)
8
+ * function Set.isShallowEqual<T>(
9
+ * target: ReadonlySet<T>,
10
+ * source: ReadonlySet<NoInfer<T>>,
11
+ * ): boolean
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns `true` if both sets contain the same values, `false` otherwise.
10
15
  *
11
- * ```ts
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(target, source)
6
+ * function Set.isSubsetOf<T>(
7
+ * target: ReadonlySet<T>,
8
+ * source: ReadonlySet<NoInfer<T>>,
9
+ * ): boolean
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns `true` if all values in the target set are also in the source set, `false` otherwise.
8
13
  *
9
- * ```ts
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;
@@ -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(target, source)
8
+ * function Set.isSubsetOf<T>(
9
+ * target: ReadonlySet<T>,
10
+ * source: ReadonlySet<NoInfer<T>>,
11
+ * ): boolean
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns `true` if all values in the target set are also in the source set, `false` otherwise.
10
15
  *
11
- * ```ts
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;