GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — lib: make safe primordials safe to construct · nodejs/node@56af125

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • lib/internal/per_context
    • primordials.js
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎lib/internal/per_context/primordials.js‎

Copy file name to clipboardExpand all lines: lib/internal/per_context/primordials.js
+14-4Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff 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`.
149151
primordials.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
);
153157
primordials.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
);
157163
primordials.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
);
161169
primordials.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

0 commit comments

Comments
0 (0)
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.