Archive @babel/helper-call-delegate (#13153)
This commit is contained in:
parent
d6d942ddac
commit
5c7d2a7fa2
@ -1,3 +0,0 @@
|
|||||||
src
|
|
||||||
test
|
|
||||||
*.log
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-call-delegate
|
|
||||||
|
|
||||||
> Helper function to call delegate
|
|
||||||
|
|
||||||
See our website [@babel/helper-call-delegate](https://babeljs.io/docs/en/babel-helper-call-delegate) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-call-delegate
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-call-delegate --dev
|
|
||||||
```
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@babel/helper-call-delegate",
|
|
||||||
"version": "7.12.13",
|
|
||||||
"description": "Helper function to call delegate",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel.git",
|
|
||||||
"directory": "packages/babel-helper-call-delegate"
|
|
||||||
},
|
|
||||||
"homepage": "https://babel.dev/docs/en/next/babel-helper-call-delegate",
|
|
||||||
"license": "MIT",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-hoist-variables": "workspace:^7.12.13",
|
|
||||||
"@babel/types": "workspace:^7.12.13"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/traverse": "workspace:*"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,67 +0,0 @@
|
|||||||
import hoistVariables from "@babel/helper-hoist-variables";
|
|
||||||
import type { NodePath } from "@babel/traverse";
|
|
||||||
import * as t from "@babel/types";
|
|
||||||
|
|
||||||
const visitor = {
|
|
||||||
enter(path, state) {
|
|
||||||
if (path.isThisExpression()) {
|
|
||||||
state.foundThis = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (path.isReferencedIdentifier({ name: "arguments" })) {
|
|
||||||
state.foundArguments = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
Function(path) {
|
|
||||||
path.skip();
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function (
|
|
||||||
path: NodePath,
|
|
||||||
scope = path.scope,
|
|
||||||
shouldHoistVariables = true,
|
|
||||||
) {
|
|
||||||
const { node } = path;
|
|
||||||
const container = t.functionExpression(
|
|
||||||
null,
|
|
||||||
[],
|
|
||||||
node.body,
|
|
||||||
node.generator,
|
|
||||||
node.async,
|
|
||||||
);
|
|
||||||
|
|
||||||
let callee = container;
|
|
||||||
let args = [];
|
|
||||||
|
|
||||||
if (shouldHoistVariables) {
|
|
||||||
hoistVariables(path, id => scope.push({ id }));
|
|
||||||
}
|
|
||||||
|
|
||||||
const state = {
|
|
||||||
foundThis: false,
|
|
||||||
foundArguments: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
path.traverse(visitor, state);
|
|
||||||
|
|
||||||
if (state.foundArguments || state.foundThis) {
|
|
||||||
callee = t.memberExpression(container, t.identifier("apply"));
|
|
||||||
args = [];
|
|
||||||
|
|
||||||
if (state.foundThis) {
|
|
||||||
args.push(t.thisExpression());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state.foundArguments) {
|
|
||||||
if (!state.foundThis) args.push(t.nullLiteral());
|
|
||||||
args.push(t.identifier("arguments"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let call = t.callExpression(callee, args);
|
|
||||||
if (node.generator) call = t.yieldExpression(call, true);
|
|
||||||
|
|
||||||
return t.returnStatement(call);
|
|
||||||
}
|
|
||||||
12
yarn.lock
12
yarn.lock
@ -389,16 +389,6 @@ __metadata:
|
|||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
"@babel/helper-call-delegate@workspace:packages/babel-helper-call-delegate":
|
|
||||||
version: 0.0.0-use.local
|
|
||||||
resolution: "@babel/helper-call-delegate@workspace:packages/babel-helper-call-delegate"
|
|
||||||
dependencies:
|
|
||||||
"@babel/helper-hoist-variables": "workspace:^7.12.13"
|
|
||||||
"@babel/traverse": "workspace:*"
|
|
||||||
"@babel/types": "workspace:^7.12.13"
|
|
||||||
languageName: unknown
|
|
||||||
linkType: soft
|
|
||||||
|
|
||||||
"@babel/helper-compilation-targets@npm:^7.13.0":
|
"@babel/helper-compilation-targets@npm:^7.13.0":
|
||||||
version: 7.13.0
|
version: 7.13.0
|
||||||
resolution: "@babel/helper-compilation-targets@npm:7.13.0"
|
resolution: "@babel/helper-compilation-targets@npm:7.13.0"
|
||||||
@ -614,7 +604,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/helper-hoist-variables@workspace:^7.12.13, @babel/helper-hoist-variables@workspace:^7.13.0, @babel/helper-hoist-variables@workspace:packages/babel-helper-hoist-variables":
|
"@babel/helper-hoist-variables@workspace:^7.13.0, @babel/helper-hoist-variables@workspace:packages/babel-helper-hoist-variables":
|
||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "@babel/helper-hoist-variables@workspace:packages/babel-helper-hoist-variables"
|
resolution: "@babel/helper-hoist-variables@workspace:packages/babel-helper-hoist-variables"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user