From fe02c30d8cf28082f8cf85a910b064f25e11d49f Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 1 Apr 2025 15:58:36 -0500 Subject: [PATCH] lib: add `SafeSet.prototype.toUnsafeSet` This should help with #57688 and others --- lib/internal/per_context/primordials.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/internal/per_context/primordials.js b/lib/internal/per_context/primordials.js index 9851f3f64f6e56..2803ae3d1c3009 100644 --- a/lib/internal/per_context/primordials.js +++ b/lib/internal/per_context/primordials.js @@ -420,6 +420,12 @@ primordials.SafeSet = makeSafe( Set, class SafeSet extends Set { constructor(i) { super(i); } // eslint-disable-line no-useless-constructor + + toUnsafeSet() { + const set = new Set(); + this.forEach((value) => primordials.SetPrototypeAdd(set, value)); + return set; + } }, ); primordials.SafeWeakSet = makeSafe(