summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/tsc/dts/lib.esnext.collection.d.ts31
-rw-r--r--tests/unit/esnext_test.ts7
2 files changed, 38 insertions, 0 deletions
diff --git a/cli/tsc/dts/lib.esnext.collection.d.ts b/cli/tsc/dts/lib.esnext.collection.d.ts
index a48fd93d5..834b1a6b1 100644
--- a/cli/tsc/dts/lib.esnext.collection.d.ts
+++ b/cli/tsc/dts/lib.esnext.collection.d.ts
@@ -27,3 +27,34 @@ interface MapConstructor {
keySelector: (item: T, index: number) => K,
): Map<K, T[]>;
}
+
+interface Set<T> {
+ /**
+ * @returns a new Set containing all the elements in this Set and also all the elements in the argument.
+ */
+ union<U>(other: Set<U>): Set<T | U>;
+ /**
+ * @returns a new Set containing all the elements which are both in this Set and in the argument.
+ */
+ intersection<U>(other: Set<U>): Set<T & U>;
+ /**
+ * @returns a new Set containing all the elements in this Set which are not also in the argument.
+ */
+ difference<U>(other: Set<U>): Set<T>;
+ /**
+ * @returns a new Set containing all the elements which are in either this Set or in the argument, but not in both.
+ */
+ symmetricDifference<U>(other: Set<U>): Set<T | U>;
+ /**
+ * @returns a boolean indicating whether all the elements in this Set are also in the argument.
+ */
+ isSubsetOf(other: Set<unknown>): boolean;
+ /**
+ * @returns a boolean indicating whether all the elements in the argument are also in this Set.
+ */
+ isSupersetOf(other: Set<unknown>): boolean;
+ /**
+ * @returns a boolean indicating whether this Set has no elements in common with the argument.
+ */
+ isDisjointFrom(other: Set<unknown>): boolean;
+}
diff --git a/tests/unit/esnext_test.ts b/tests/unit/esnext_test.ts
index 6b2334f42..cb40cc241 100644
--- a/tests/unit/esnext_test.ts
+++ b/tests/unit/esnext_test.ts
@@ -41,3 +41,10 @@ Deno.test(function intlListFormat() {
{ type: "element", value: "golang" },
]);
});
+
+Deno.test(function setUnion() {
+ const a = new Set([1, 2, 3]);
+ const b = new Set([3, 4, 5]);
+ const union = a.union(b);
+ assertEquals(union, new Set([1, 2, 3, 4, 5]));
+});