Skip to content
Permalink
Browse files
repl: use SafePromiseAll and SafePromiseRace
PR-URL: #43758
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
aduh95 authored and danielleadams committed Jul 26, 2022
1 parent 50b3750 commit 1deb6b73b79090c11dcb6784e043d0c795a06225
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 25 deletions.
@@ -23,16 +23,15 @@ const {
ObjectKeys,
ObjectValues,
Promise,
PromiseAll,
PromisePrototypeCatch,
PromisePrototypeThen,
PromiseResolve,
ReflectGetOwnPropertyDescriptor,
ReflectOwnKeys,
RegExpPrototypeExec,
RegExpPrototypeSymbolReplace,
SafeArrayIterator,
SafeMap,
SafePromiseAll,
String,
StringFromCharCode,
StringPrototypeEndsWith,
@@ -519,22 +518,19 @@ function createRepl(inspector) {
}

loadScopes() {
return PromiseAll(
new SafeArrayIterator(ArrayPrototypeMap(
ArrayPrototypeFilter(
this.scopeChain,
(scope) => scope.type !== 'global'
),
async (scope) => {
const { objectId } = scope.object;
const { result } = await Runtime.getProperties({
objectId,
generatePreview: true,
});
return new ScopeSnapshot(scope, result);
})
)
);
return SafePromiseAll(
ArrayPrototypeFilter(
this.scopeChain,
(scope) => scope.type !== 'global'
),
async (scope) => {
const { objectId } = scope.object;
const { result } = await Runtime.getProperties({
objectId,
generatePreview: true,
});
return new ScopeSnapshot(scope, result);
});
}

list(delta = 5) {
@@ -661,8 +657,7 @@ function createRepl(inspector) {
(error) => `<${error.message}>`);
const lastIndex = watchedExpressions.length - 1;

const values = await PromiseAll(new SafeArrayIterator(
ArrayPrototypeMap(watchedExpressions, inspectValue)));
const values = await SafePromiseAll(watchedExpressions, inspectValue);
const lines = ArrayPrototypeMap(watchedExpressions, (expr, idx) => {
const prefix = `${leftPad(idx, ' ', lastIndex)}: ${expr} =`;
const value = inspect(values[idx]);
@@ -866,7 +861,7 @@ function createRepl(inspector) {
location.lineNumber + 1));
if (!newBreakpoints.length) return PromiseResolve();
return PromisePrototypeThen(
PromiseAll(new SafeArrayIterator(newBreakpoints)),
SafePromiseAll(newBreakpoints),
(results) => {
print(`${results.length} breakpoints restored.`);
});
@@ -902,8 +897,7 @@ function createRepl(inspector) {

inspector.suspendReplWhile(() =>
PromisePrototypeThen(
PromiseAll(new SafeArrayIterator(
[formatWatchers(true), selectedFrame.list(2)])),
SafePromiseAll([formatWatchers(true), selectedFrame.list(2)]),
({ 0: watcherList, 1: context }) => {
const breakContext = watcherList ?
`${watcherList}\n${inspect(context)}` :
@@ -74,12 +74,12 @@ const {
ObjectKeys,
ObjectSetPrototypeOf,
Promise,
PromiseRace,
ReflectApply,
RegExp,
RegExpPrototypeExec,
RegExpPrototypeSymbolReplace,
RegExpPrototypeSymbolSplit,
SafePromiseRace,
SafeSet,
SafeWeakSet,
StringPrototypeCharAt,
@@ -611,7 +611,7 @@ function REPLServer(prompt,
};
prioritizedSigintQueue.add(sigintListener);
});
promise = PromiseRace([promise, interrupt]);
promise = SafePromiseRace([promise, interrupt]);
}

(async () => {

0 comments on commit 1deb6b7

Please sign in to comment.