From ec2eb422e77ca3c251ebda3e89b0a6a868da7e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Mon, 20 Jun 2022 11:27:49 -0400 Subject: [PATCH] fix assert.rejects polyfill --- .../src/index.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/babel-helper-transform-fixture-test-runner/src/index.ts b/packages/babel-helper-transform-fixture-test-runner/src/index.ts index c4668c1823c3..da82eadae3a9 100644 --- a/packages/babel-helper-transform-fixture-test-runner/src/index.ts +++ b/packages/babel-helper-transform-fixture-test-runner/src/index.ts @@ -33,14 +33,16 @@ type Module = { }; if (!process.env.BABEL_8_BREAKING) { - // Introduced in Node.js 8 + // Introduced in Node.js 10 if (!assert.rejects) { assert.rejects = async function (block, validateError) { try { - await block(); + await (typeof block === "function" ? block() : block); return Promise.reject(new Error("Promise not rejected")); } catch (error) { - if (!validateError(error)) { + // @ts-ignore Fixme: validateError can be a string | object + // see https://nodejs.org/api/assert.html#assertrejectsasyncfn-error-message + if (typeof validateError === "function" && !validateError(error)) { return Promise.reject( new Error("Promise rejected with invalid error"), );