File tree 1 file changed +14
-4
lines changed
1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -146,21 +146,31 @@ primordials.makeSafe = makeSafe;
146
146
147
147
// Subclass the constructors because we need to use their prototype
148
148
// methods later.
149
+ // Defining the `constructor` is necessary here to avoid the default
150
+ // constructor which uses the user-mutable `%ArrayIteratorPrototype%.next`.
149
151
primordials . SafeMap = makeSafe (
150
152
Map ,
151
- class SafeMap extends Map { }
153
+ class SafeMap extends Map {
154
+ constructor ( i ) { super ( i ) ; } // eslint-disable-line no-useless-constructor
155
+ }
152
156
) ;
153
157
primordials . SafeWeakMap = makeSafe (
154
158
WeakMap ,
155
- class SafeWeakMap extends WeakMap { }
159
+ class SafeWeakMap extends WeakMap {
160
+ constructor ( i ) { super ( i ) ; } // eslint-disable-line no-useless-constructor
161
+ }
156
162
) ;
157
163
primordials . SafeSet = makeSafe (
158
164
Set ,
159
- class SafeSet extends Set { }
165
+ class SafeSet extends Set {
166
+ constructor ( i ) { super ( i ) ; } // eslint-disable-line no-useless-constructor
167
+ }
160
168
) ;
161
169
primordials . SafeWeakSet = makeSafe (
162
170
WeakSet ,
163
- class SafeWeakSet extends WeakSet { }
171
+ class SafeWeakSet extends WeakSet {
172
+ constructor ( i ) { super ( i ) ; } // eslint-disable-line no-useless-constructor
173
+ }
164
174
) ;
165
175
166
176
// Create copies of the namespace objects
You can’t perform that action at this time.
0 commit comments