Skip to content

Commit 2415c58

Browse files
Add HashSet.toValues
1 parent 16d6bc9 commit 2415c58

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

.changeset/three-bees-attack.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"effect": minor
33
---
44

5-
Add HashMap.toValues getter
5+
Add `HashMap.toValues` and `HashSet.toValues` getters

packages/effect/src/HashSet.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,14 @@ export const isSubset: {
115115
*/
116116
export const values: <A>(self: HashSet<A>) => IterableIterator<A> = HS.values
117117

118+
/**
119+
* Returns an `Array` of the values within the `HashSet`.
120+
*
121+
* @since 3.13.0
122+
* @category getters
123+
*/
124+
export const toValues = <A>(self: HashSet<A>): Array<A> => Array.from(values(self))
125+
118126
/**
119127
* Calculates the number of values in the `HashSet`.
120128
*

packages/effect/test/HashSet.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,14 @@ describe("HashSet", () => {
219219
deepStrictEqual(result, [value(0), value(1), value(2)])
220220
})
221221

222+
it("toValues", () => {
223+
const hashSet = makeTestHashSet(0, 1, 2)
224+
225+
const result = HashSet.toValues(hashSet)
226+
227+
deepStrictEqual(result, [value(0), value(1), value(2)])
228+
})
229+
222230
it("pipe()", () => {
223231
expect(HashSet.empty<string>().pipe(HashSet.add("value"))).toEqual(HashSet.make("value"))
224232
})

0 commit comments

Comments
 (0)