File tree Expand file tree Collapse file tree 1 file changed +14
-4
lines changed
Expand file tree Collapse file tree 1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -146,21 +146,31 @@ primordials.makeSafe = makeSafe;
146146
147147// Subclass the constructors because we need to use their prototype
148148// methods later.
149+ // Defining the `constructor` is necessary here to avoid the default
150+ // constructor which uses the user-mutable `%ArrayIteratorPrototype%.next`.
149151primordials.SafeMap = makeSafe(
150152 Map,
151- class SafeMap extends Map {}
153+ class SafeMap extends Map {
154+ constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
155+ }
152156);
153157primordials.SafeWeakMap = makeSafe(
154158 WeakMap,
155- class SafeWeakMap extends WeakMap {}
159+ class SafeWeakMap extends WeakMap {
160+ constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
161+ }
156162);
157163primordials.SafeSet = makeSafe(
158164 Set,
159- class SafeSet extends Set {}
165+ class SafeSet extends Set {
166+ constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
167+ }
160168);
161169primordials.SafeWeakSet = makeSafe(
162170 WeakSet,
163- class SafeWeakSet extends WeakSet {}
171+ class SafeWeakSet extends WeakSet {
172+ constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
173+ }
164174);
165175
166176// Create copies of the namespace objects
You can’t perform that action at this time.
0 commit comments