From e29b244aeab08ea36fb385c7beb2ad0560217039 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 13 Oct 2024 10:37:19 +0800 Subject: =?UTF-8?q?bump:=20@babel/cli=207.25.6=20=E2=86=92=207.25.7,=20@ba?= =?UTF-8?q?bel/core=207.25.2=20=E2=86=92=207.25.8,=20@babel/preset-env=207?= =?UTF-8?q?.25.4=20=E2=86=92=207.25.8,=20postcss=208.4.41=20=E2=86=92=208.?= =?UTF-8?q?4.47,=20swup=204.7.0=20=E2=86=92=204.8.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../@babel/plugin-transform-spread/lib/index.js | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'node_modules/@babel/plugin-transform-spread/lib/index.js') diff --git a/node_modules/@babel/plugin-transform-spread/lib/index.js b/node_modules/@babel/plugin-transform-spread/lib/index.js index f996f731..c1d8aac5 100644 --- a/node_modules/@babel/plugin-transform-spread/lib/index.js +++ b/node_modules/@babel/plugin-transform-spread/lib/index.js @@ -18,11 +18,34 @@ var _default = exports.default = (0, _helperPluginUtils.declare)((api, options) })) { return spread.argument; } else { - return scope.toArray(spread.argument, true, arrayLikeIsIterable); + const node = spread.argument; + if (_core.types.isIdentifier(node)) { + const binding = scope.getBinding(node.name); + if (binding != null && binding.constant && binding.path.isGenericType("Array")) { + return node; + } + } + if (_core.types.isArrayExpression(node)) { + return node; + } + if (_core.types.isIdentifier(node, { + name: "arguments" + })) { + return _core.template.expression.ast` + Array.prototype.slice.call(${node}) + `; + } + const args = [node]; + let helperName = "toConsumableArray"; + if (arrayLikeIsIterable) { + args.unshift(scope.path.hub.addHelper(helperName)); + helperName = "maybeArrayLike"; + } + return _core.types.callExpression(scope.path.hub.addHelper(helperName), args); } } function hasHole(spread) { - return spread.elements.some(el => el === null); + return spread.elements.includes(null); } function hasSpread(nodes) { for (let i = 0; i < nodes.length; i++) { -- cgit v1.2.3