@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,34 +0,0 @@
1
- import { dfdlT } from "@monstermann/dfdl";
2
- import { cloneSet } from "@monstermann/remmi";
3
-
4
- //#region src/Set/addOr.ts
5
- /**
6
- * ```ts
7
- * function Set.addOr(target, value, or)
8
- * ```
9
- *
10
- * Example
11
- *
12
- * ```ts
13
- * import { Set } from "@monstermann/set";
14
- *
15
- * Set.addOr(Set.create([1, 2]), 3, null); // Set([1, 2, 3])
16
- * Set.addOr(Set.create([1, 2]), 2, null); // null
17
- * ```
18
- *
19
- * ```ts
20
- * import { Set } from "@monstermann/set";
21
- *
22
- * pipe(Set.create([1, 2]), Set.addOr(3, null)); // Set([1, 2, 3])
23
- * pipe(Set.create([1, 2]), Set.addOr(2, null)); // null
24
- * ```
25
- */
26
- const addOr = dfdlT((target, value, or) => {
27
- if (target.has(value)) return or;
28
- const result = cloneSet(target);
29
- result.add(value);
30
- return result;
31
- }, 3);
32
-
33
- //#endregion
34
- export { addOr };
@@ -1,35 +0,0 @@
1
- //#region src/Set/addOrElse.d.ts
2
- /**
3
- * ```ts
4
- * function Set.addOrElse(target, value, orElse)
5
- * ```
6
- *
7
- * Example
8
- *
9
- * ```ts
10
- * import { Set } from "@monstermann/set";
11
- *
12
- * Set.addOrElse(Set.create([1, 2]), 3, (set) => set.size); // Set([1, 2, 3])
13
- * Set.addOrElse(Set.create([1, 2]), 2, (set) => set.size); // 2
14
- * ```
15
- *
16
- * ```ts
17
- * import { Set } from "@monstermann/set";
18
- *
19
- * pipe(
20
- * Set.create([1, 2]),
21
- * Set.addOrElse(3, (set) => set.size),
22
- * ); // Set([1, 2, 3])
23
- *
24
- * pipe(
25
- * Set.create([1, 2]),
26
- * Set.addOrElse(2, (set) => set.size),
27
- * ); // 2
28
- * ```
29
- */
30
- declare const addOrElse: {
31
- <T, U>(value: NoInfer<T>, orElse: (target: ReadonlySet<NoInfer<T>>) => U): (target: ReadonlySet<T>) => Set<T> | U;
32
- <T, U>(target: ReadonlySet<T>, value: NoInfer<T>, orElse: (target: ReadonlySet<NoInfer<T>>) => U): Set<T> | U;
33
- };
34
- //#endregion
35
- export { addOrElse };
@@ -1,41 +0,0 @@
1
- import { dfdlT } from "@monstermann/dfdl";
2
- import { cloneSet } from "@monstermann/remmi";
3
-
4
- //#region src/Set/addOrElse.ts
5
- /**
6
- * ```ts
7
- * function Set.addOrElse(target, value, orElse)
8
- * ```
9
- *
10
- * Example
11
- *
12
- * ```ts
13
- * import { Set } from "@monstermann/set";
14
- *
15
- * Set.addOrElse(Set.create([1, 2]), 3, (set) => set.size); // Set([1, 2, 3])
16
- * Set.addOrElse(Set.create([1, 2]), 2, (set) => set.size); // 2
17
- * ```
18
- *
19
- * ```ts
20
- * import { Set } from "@monstermann/set";
21
- *
22
- * pipe(
23
- * Set.create([1, 2]),
24
- * Set.addOrElse(3, (set) => set.size),
25
- * ); // Set([1, 2, 3])
26
- *
27
- * pipe(
28
- * Set.create([1, 2]),
29
- * Set.addOrElse(2, (set) => set.size),
30
- * ); // 2
31
- * ```
32
- */
33
- const addOrElse = dfdlT((target, value, orElse) => {
34
- if (target.has(value)) return orElse(target);
35
- const result = cloneSet(target);
36
- result.add(value);
37
- return result;
38
- }, 3);
39
-
40
- //#endregion
41
- export { addOrElse };
@@ -1,28 +0,0 @@
1
- //#region src/Set/addOrThrow.d.ts
2
- /**
3
- * ```ts
4
- * function Set.addOrThrow(target, value)
5
- * ```
6
- *
7
- * Example
8
- *
9
- * ```ts
10
- * import { Set } from "@monstermann/set";
11
- *
12
- * Set.addOrThrow(Set.create([1, 2]), 3); // Set([1, 2, 3])
13
- * Set.addOrThrow(Set.create([1, 2]), 2); // throws FnError
14
- * ```
15
- *
16
- * ```ts
17
- * import { Set } from "@monstermann/set";
18
- *
19
- * pipe(Set.create([1, 2]), Set.addOrThrow(3)); // Set([1, 2, 3])
20
- * pipe(Set.create([1, 2]), Set.addOrThrow(2)); // throws FnError
21
- * ```
22
- */
23
- declare const addOrThrow: {
24
- <T>(value: NoInfer<T>): (target: ReadonlySet<T>) => Set<T>;
25
- <T>(target: ReadonlySet<T>, value: NoInfer<T>): Set<T>;
26
- };
27
- //#endregion
28
- export { addOrThrow };
@@ -1,34 +0,0 @@
1
- import { dfdlT } from "@monstermann/dfdl";
2
- import { cloneSet } from "@monstermann/remmi";
3
-
4
- //#region src/Set/addOrThrow.ts
5
- /**
6
- * ```ts
7
- * function Set.addOrThrow(target, value)
8
- * ```
9
- *
10
- * Example
11
- *
12
- * ```ts
13
- * import { Set } from "@monstermann/set";
14
- *
15
- * Set.addOrThrow(Set.create([1, 2]), 3); // Set([1, 2, 3])
16
- * Set.addOrThrow(Set.create([1, 2]), 2); // throws FnError
17
- * ```
18
- *
19
- * ```ts
20
- * import { Set } from "@monstermann/set";
21
- *
22
- * pipe(Set.create([1, 2]), Set.addOrThrow(3)); // Set([1, 2, 3])
23
- * pipe(Set.create([1, 2]), Set.addOrThrow(2)); // throws FnError
24
- * ```
25
- */
26
- const addOrThrow = dfdlT((target, value) => {
27
- if (target.has(value)) throw new Error("Set.addOrThrow: Value already exists.");
28
- const result = cloneSet(target);
29
- result.add(value);
30
- return result;
31
- }, 2);
32
-
33
- //#endregion
34
- export { addOrThrow };
@@ -1,28 +0,0 @@
1
- //#region src/Set/removeOr.d.ts
2
- /**
3
- * ```ts
4
- * function Set.removeOr(target, value, or)
5
- * ```
6
- *
7
- * Example
8
- *
9
- * ```ts
10
- * import { Set } from "@monstermann/set";
11
- *
12
- * Set.removeOr(Set.create([1, 2, 3]), 2, null); // Set([1, 3])
13
- * Set.removeOr(Set.create([1, 2, 3]), 4, null); // null
14
- * ```
15
- *
16
- * ```ts
17
- * import { Set } from "@monstermann/set";
18
- *
19
- * pipe(Set.create([1, 2, 3]), Set.removeOr(2, null)); // Set([1, 3])
20
- * pipe(Set.create([1, 2, 3]), Set.removeOr(4, null)); // null
21
- * ```
22
- */
23
- declare const removeOr: {
24
- <T, U>(value: NoInfer<T>, or: U): (target: ReadonlySet<T>) => Set<T> | U;
25
- <T, U>(target: ReadonlySet<T>, value: NoInfer<T>, or: U): Set<T> | U;
26
- };
27
- //#endregion
28
- export { removeOr };
@@ -1,34 +0,0 @@
1
- import { dfdlT } from "@monstermann/dfdl";
2
- import { cloneSet } from "@monstermann/remmi";
3
-
4
- //#region src/Set/removeOr.ts
5
- /**
6
- * ```ts
7
- * function Set.removeOr(target, value, or)
8
- * ```
9
- *
10
- * Example
11
- *
12
- * ```ts
13
- * import { Set } from "@monstermann/set";
14
- *
15
- * Set.removeOr(Set.create([1, 2, 3]), 2, null); // Set([1, 3])
16
- * Set.removeOr(Set.create([1, 2, 3]), 4, null); // null
17
- * ```
18
- *
19
- * ```ts
20
- * import { Set } from "@monstermann/set";
21
- *
22
- * pipe(Set.create([1, 2, 3]), Set.removeOr(2, null)); // Set([1, 3])
23
- * pipe(Set.create([1, 2, 3]), Set.removeOr(4, null)); // null
24
- * ```
25
- */
26
- const removeOr = dfdlT((target, value, or) => {
27
- if (!target.has(value)) return or;
28
- const result = cloneSet(target);
29
- result.delete(value);
30
- return result;
31
- }, 3);
32
-
33
- //#endregion
34
- export { removeOr };
@@ -1,35 +0,0 @@
1
- //#region src/Set/removeOrElse.d.ts
2
- /**
3
- * ```ts
4
- * function Set.removeOrElse(target, value, orElse)
5
- * ```
6
- *
7
- * Example
8
- *
9
- * ```ts
10
- * import { Set } from "@monstermann/set";
11
- *
12
- * Set.removeOrElse(Set.create([1, 2, 3]), 2, (set) => set.size); // Set([1, 3])
13
- * Set.removeOrElse(Set.create([1, 2, 3]), 4, (set) => set.size); // 3
14
- * ```
15
- *
16
- * ```ts
17
- * import { Set } from "@monstermann/set";
18
- *
19
- * pipe(
20
- * Set.create([1, 2, 3]),
21
- * Set.removeOrElse(2, (set) => set.size),
22
- * ); // Set([1, 3])
23
- *
24
- * pipe(
25
- * Set.create([1, 2, 3]),
26
- * Set.removeOrElse(4, (set) => set.size),
27
- * ); // 3
28
- * ```
29
- */
30
- declare const removeOrElse: {
31
- <T, U>(value: NoInfer<T>, orElse: (target: ReadonlySet<NoInfer<T>>) => U): (target: ReadonlySet<T>) => Set<T> | U;
32
- <T, U>(target: ReadonlySet<T>, value: NoInfer<T>, orElse: (target: ReadonlySet<NoInfer<T>>) => U): Set<T> | U;
33
- };
34
- //#endregion
35
- export { removeOrElse };
@@ -1,41 +0,0 @@
1
- import { dfdlT } from "@monstermann/dfdl";
2
- import { cloneSet } from "@monstermann/remmi";
3
-
4
- //#region src/Set/removeOrElse.ts
5
- /**
6
- * ```ts
7
- * function Set.removeOrElse(target, value, orElse)
8
- * ```
9
- *
10
- * Example
11
- *
12
- * ```ts
13
- * import { Set } from "@monstermann/set";
14
- *
15
- * Set.removeOrElse(Set.create([1, 2, 3]), 2, (set) => set.size); // Set([1, 3])
16
- * Set.removeOrElse(Set.create([1, 2, 3]), 4, (set) => set.size); // 3
17
- * ```
18
- *
19
- * ```ts
20
- * import { Set } from "@monstermann/set";
21
- *
22
- * pipe(
23
- * Set.create([1, 2, 3]),
24
- * Set.removeOrElse(2, (set) => set.size),
25
- * ); // Set([1, 3])
26
- *
27
- * pipe(
28
- * Set.create([1, 2, 3]),
29
- * Set.removeOrElse(4, (set) => set.size),
30
- * ); // 3
31
- * ```
32
- */
33
- const removeOrElse = dfdlT((target, value, orElse) => {
34
- if (!target.has(value)) return orElse(target);
35
- const result = cloneSet(target);
36
- result.delete(value);
37
- return result;
38
- }, 3);
39
-
40
- //#endregion
41
- export { removeOrElse };
@@ -1,28 +0,0 @@
1
- //#region src/Set/removeOrThrow.d.ts
2
- /**
3
- * ```ts
4
- * function Set.removeOrThrow(target, value)
5
- * ```
6
- *
7
- * Example
8
- *
9
- * ```ts
10
- * import { Set } from "@monstermann/set";
11
- *
12
- * Set.removeOrThrow(Set.create([1, 2, 3]), 2); // Set([1, 3])
13
- * Set.removeOrThrow(Set.create([1, 2, 3]), 4); // throws FnError
14
- * ```
15
- *
16
- * ```ts
17
- * import { Set } from "@monstermann/set";
18
- *
19
- * pipe(Set.create([1, 2, 3]), Set.removeOrThrow(2)); // Set([1, 3])
20
- * pipe(Set.create([1, 2, 3]), Set.removeOrThrow(4)); // throws FnError
21
- * ```
22
- */
23
- declare const removeOrThrow: {
24
- <T>(value: NoInfer<T>): (target: ReadonlySet<T>) => Set<T>;
25
- <T>(target: ReadonlySet<T>, value: NoInfer<T>): Set<T>;
26
- };
27
- //#endregion
28
- export { removeOrThrow };
@@ -1,34 +0,0 @@
1
- import { dfdlT } from "@monstermann/dfdl";
2
- import { cloneSet } from "@monstermann/remmi";
3
-
4
- //#region src/Set/removeOrThrow.ts
5
- /**
6
- * ```ts
7
- * function Set.removeOrThrow(target, value)
8
- * ```
9
- *
10
- * Example
11
- *
12
- * ```ts
13
- * import { Set } from "@monstermann/set";
14
- *
15
- * Set.removeOrThrow(Set.create([1, 2, 3]), 2); // Set([1, 3])
16
- * Set.removeOrThrow(Set.create([1, 2, 3]), 4); // throws FnError
17
- * ```
18
- *
19
- * ```ts
20
- * import { Set } from "@monstermann/set";
21
- *
22
- * pipe(Set.create([1, 2, 3]), Set.removeOrThrow(2)); // Set([1, 3])
23
- * pipe(Set.create([1, 2, 3]), Set.removeOrThrow(4)); // throws FnError
24
- * ```
25
- */
26
- const removeOrThrow = dfdlT((target, value) => {
27
- if (!target.has(value)) throw new Error("Set.removeOrThrow: Value does not exist.");
28
- const result = cloneSet(target);
29
- result.delete(value);
30
- return result;
31
- }, 2);
32
-
33
- //#endregion
34
- export { removeOrThrow };