aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLuci Phillips <104490260+scorpi4n@users.noreply.github.com>2024-05-15 17:30:32 -0500
committerLouis Pilfold <louis@lpil.uk>2024-05-20 19:26:45 +0100
commit341edd8afe9f1e88c578a8a34f258b761db4b079 (patch)
tree3f4f13b02d40081a5695d17a484afcec7bc17680 /src
parente5e5143842d93c986a99ef1d1f122cc686d76767 (diff)
downloadgleam_stdlib-341edd8afe9f1e88c578a8a34f258b761db4b079.tar.gz
gleam_stdlib-341edd8afe9f1e88c578a8a34f258b761db4b079.zip
Implement and test set.is_subset
Diffstat (limited to 'src')
-rw-r--r--src/gleam/set.gleam18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gleam/set.gleam b/src/gleam/set.gleam
index 390c101..57c6388 100644
--- a/src/gleam/set.gleam
+++ b/src/gleam/set.gleam
@@ -289,3 +289,21 @@ pub fn difference(
) -> Set(member) {
drop(from: first, drop: to_list(second))
}
+
+/// Determines if a set is fully contained by another.
+///
+/// ## Examples
+///
+/// ```gleam
+/// is_subset(from_list([1]), from_list([1, 2]))
+/// // -> True
+/// ```
+///
+/// ```gleam
+/// is_subset(from_list([1, 2, 3]), from_list([3, 4, 5]))
+/// // -> False
+/// ```
+///
+pub fn is_subset(first: Set(member), of second: Set(member)) -> Bool {
+ intersection(of: first, and: second) == first
+}