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