@monstermann/set 0.2.0 → 0.4.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/add.d.ts
2
2
  /**
3
+ * # add
4
+ *
3
5
  * ```ts
4
- * function Set.add(target, value)
6
+ * function Set.add<T>(
7
+ * target: ReadonlySet<T>,
8
+ * value: NoInfer<T>,
9
+ * ): ReadonlySet<T>
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns a set with the value added. If the value already exists in the set, returns the original set unchanged.
8
13
  *
9
- * ```ts
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(target, value)
9
+ * function Set.add<T>(
10
+ * target: ReadonlySet<T>,
11
+ * value: NoInfer<T>,
12
+ * ): ReadonlySet<T>
8
13
  * ```
9
14
  *
10
- * Example
15
+ * Returns a set with the value added. If the value already exists in the set, returns the original set unchanged.
11
16
  *
12
- * ```ts
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;
@@ -1,24 +1,32 @@
1
1
  //#region src/Set/addAll.d.ts
2
2
  /**
3
+ * # addAll
4
+ *
3
5
  * ```ts
4
- * function Set.addAll(target, values)
6
+ * function Set.addAll<T>(
7
+ * target: ReadonlySet<T>,
8
+ * values: Iterable<NoInfer<T>>,
9
+ * ): ReadonlySet<T>
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns a set with all values from the iterable added. Values that already exist in the set are skipped.
8
13
  *
9
- * ```ts
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>;
@@ -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(target, values)
9
+ * function Set.addAll<T>(
10
+ * target: ReadonlySet<T>,
11
+ * values: Iterable<NoInfer<T>>,
12
+ * ): ReadonlySet<T>
8
13
  * ```
9
14
  *
10
- * Example
15
+ * Returns a set with all values from the iterable added. Values that already exist in the set are skipped.
11
16
  *
12
- * ```ts
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;
@@ -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
- * Example
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
- * ```ts
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>;
@@ -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
- * Example
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
- * ```ts
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
 
@@ -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(target)
9
+ * function Set.compact<T>(
10
+ * target: ReadonlySet<T>,
11
+ * ): ReadonlySet<NonNil<T>>
8
12
  * ```
9
13
  *
10
- * Example
14
+ * Returns a set with all `null` and `undefined` values removed.
11
15
  *
12
- * ```ts
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>>;
@@ -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(target)
9
+ * function Set.compact<T>(
10
+ * target: ReadonlySet<T>,
11
+ * ): ReadonlySet<NonNil<T>>
8
12
  * ```
9
13
  *
10
- * Example
14
+ * Returns a set with all `null` and `undefined` values removed.
11
15
  *
12
- * ```ts
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;
@@ -1,16 +1,23 @@
1
1
  //#region src/Set/create.d.ts
2
2
  /**
3
+ * # create
4
+ *
3
5
  * ```ts
4
- * function Set.create(iterable?)
6
+ * function Set.create<T>(
7
+ * iterable?: Iterable<T> | null | undefined,
8
+ * ): Set<T>
5
9
  * ```
6
10
  *
7
- * Example
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
@@ -1,16 +1,23 @@
1
1
  //#region src/Set/create.ts
2
2
  /**
3
+ * # create
4
+ *
3
5
  * ```ts
4
- * function Set.create(iterable?)
6
+ * function Set.create<T>(
7
+ * iterable?: Iterable<T> | null | undefined,
8
+ * ): Set<T>
5
9
  * ```
6
10
  *
7
- * Example
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(target, source)
6
+ * function Set.difference<T, U>(
7
+ * target: Set<T>,
8
+ * source: Set<U>,
9
+ * ): Set<T>
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns a set containing all values from the target set that are not in the source set.
8
13
  *
9
- * ```ts
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>;
@@ -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(target, source)
8
+ * function Set.difference<T, U>(
9
+ * target: Set<T>,
10
+ * source: Set<U>,
11
+ * ): Set<T>
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns a set containing all values from the target set that are not in the source set.
10
15
  *
11
- * ```ts
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;
@@ -1,18 +1,28 @@
1
1
  //#region src/Set/forEach.d.ts
2
2
  /**
3
+ * # forEach
4
+ *
3
5
  * ```ts
4
- * function Set.forEach(target, fn)
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
- * Example
15
+ * Executes a function for each value in the set and returns the set unchanged.
8
16
  *
9
- * ```ts
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>;
@@ -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(target, fn)
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
- * Example
17
+ * Executes a function for each value in the set and returns the set unchanged.
10
18
  *
11
- * ```ts
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);
@@ -1,24 +1,32 @@
1
1
  //#region src/Set/has.d.ts
2
2
  /**
3
+ * # has
4
+ *
3
5
  * ```ts
4
- * function Set.has(target, value)
6
+ * function Set.has<T>(
7
+ * target: ReadonlySet<T>,
8
+ * value: NoInfer<T>,
9
+ * ): boolean
5
10
  * ```
6
11
  *
7
- * Example
12
+ * Returns `true` if the set contains the value, `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.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(target, value)
8
+ * function Set.has<T>(
9
+ * target: ReadonlySet<T>,
10
+ * value: NoInfer<T>,
11
+ * ): boolean
7
12
  * ```
8
13
  *
9
- * Example
14
+ * Returns `true` if the set contains the value, `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.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);
@@ -1,24 +1,32 @@
1
1
  //#region src/Set/hasAll.d.ts
2
2
  /**
3
+ * # hasAll
4
+ *
3
5
  * ```ts
4
- * function Set.hasAll(target, values)
6
+ * function Set.hasAll<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 all 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.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;
@@ -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(target, values)
8
+ * function Set.hasAll<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 all 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.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;