summaryrefslogtreecommitdiff
path: root/node_modules/@babel/plugin-transform-block-scoped-functions
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/plugin-transform-block-scoped-functions')
-rw-r--r--node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE22
-rw-r--r--node_modules/@babel/plugin-transform-block-scoped-functions/README.md19
-rw-r--r--node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js44
-rw-r--r--node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js.map1
-rw-r--r--node_modules/@babel/plugin-transform-block-scoped-functions/package.json34
5 files changed, 120 insertions, 0 deletions
diff --git a/node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE b/node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE
new file mode 100644
index 00000000..f31575ec
--- /dev/null
+++ b/node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/@babel/plugin-transform-block-scoped-functions/README.md b/node_modules/@babel/plugin-transform-block-scoped-functions/README.md
new file mode 100644
index 00000000..1999b60b
--- /dev/null
+++ b/node_modules/@babel/plugin-transform-block-scoped-functions/README.md
@@ -0,0 +1,19 @@
+# @babel/plugin-transform-block-scoped-functions
+
+> Babel plugin to ensure function declarations at the block level are block scoped
+
+See our website [@babel/plugin-transform-block-scoped-functions](https://babeljs.io/docs/en/babel-plugin-transform-block-scoped-functions) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save-dev @babel/plugin-transform-block-scoped-functions
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/plugin-transform-block-scoped-functions --dev
+```
diff --git a/node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js b/node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js
new file mode 100644
index 00000000..1e6d6369
--- /dev/null
+++ b/node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js
@@ -0,0 +1,44 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+var _helperPluginUtils = require("@babel/helper-plugin-utils");
+var _core = require("@babel/core");
+var _default = (0, _helperPluginUtils.declare)(api => {
+ api.assertVersion(7);
+ function transformStatementList(paths) {
+ for (const path of paths) {
+ if (!path.isFunctionDeclaration()) continue;
+ const func = path.node;
+ const declar = _core.types.variableDeclaration("let", [_core.types.variableDeclarator(func.id, _core.types.toExpression(func))]);
+ declar._blockHoist = 2;
+ func.id = null;
+ path.replaceWith(declar);
+ }
+ }
+ return {
+ name: "transform-block-scoped-functions",
+ visitor: {
+ BlockStatement(path) {
+ const {
+ node,
+ parent
+ } = path;
+ if (_core.types.isFunction(parent, {
+ body: node
+ }) || _core.types.isExportDeclaration(parent)) {
+ return;
+ }
+ transformStatementList(path.get("body"));
+ },
+ SwitchCase(path) {
+ transformStatementList(path.get("consequent"));
+ }
+ }
+ };
+});
+exports.default = _default;
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js.map b/node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js.map
new file mode 100644
index 00000000..66979265
--- /dev/null
+++ b/node_modules/@babel/plugin-transform-block-scoped-functions/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_helperPluginUtils","require","_core","_default","declare","api","assertVersion","transformStatementList","paths","path","isFunctionDeclaration","func","node","declar","t","variableDeclaration","variableDeclarator","id","toExpression","_blockHoist","replaceWith","name","visitor","BlockStatement","parent","isFunction","body","isExportDeclaration","get","SwitchCase","exports","default"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function transformStatementList(paths: NodePath<t.Statement>[]) {\n for (const path of paths) {\n if (!path.isFunctionDeclaration()) continue;\n const func = path.node;\n const declar = t.variableDeclaration(\"let\", [\n t.variableDeclarator(func.id, t.toExpression(func)),\n ]);\n\n // hoist it up above everything else\n // @ts-expect-error todo(flow->ts): avoid mutations\n declar._blockHoist = 2;\n\n // todo: name this\n func.id = null;\n\n path.replaceWith(declar);\n }\n }\n\n return {\n name: \"transform-block-scoped-functions\",\n\n visitor: {\n BlockStatement(path) {\n const { node, parent } = path;\n if (\n t.isFunction(parent, { body: node }) ||\n t.isExportDeclaration(parent)\n ) {\n return;\n }\n\n transformStatementList(path.get(\"body\"));\n },\n\n SwitchCase(path) {\n transformStatementList(path.get(\"consequent\"));\n },\n },\n };\n});\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,QAAA,GAG1B,IAAAC,0BAAO,EAACC,GAAG,IAAI;EAC5BA,GAAG,CAACC,aAAa,CAAC,CAAC,CAAC;EAEpB,SAASC,sBAAsBA,CAACC,KAA8B,EAAE;IAC9D,KAAK,MAAMC,IAAI,IAAID,KAAK,EAAE;MACxB,IAAI,CAACC,IAAI,CAACC,qBAAqB,CAAC,CAAC,EAAE;MACnC,MAAMC,IAAI,GAAGF,IAAI,CAACG,IAAI;MACtB,MAAMC,MAAM,GAAGC,WAAC,CAACC,mBAAmB,CAAC,KAAK,EAAE,CAC1CD,WAAC,CAACE,kBAAkB,CAACL,IAAI,CAACM,EAAE,EAAEH,WAAC,CAACI,YAAY,CAACP,IAAI,CAAC,CAAC,CACpD,CAAC;MAIFE,MAAM,CAACM,WAAW,GAAG,CAAC;MAGtBR,IAAI,CAACM,EAAE,GAAG,IAAI;MAEdR,IAAI,CAACW,WAAW,CAACP,MAAM,CAAC;IAC1B;EACF;EAEA,OAAO;IACLQ,IAAI,EAAE,kCAAkC;IAExCC,OAAO,EAAE;MACPC,cAAcA,CAACd,IAAI,EAAE;QACnB,MAAM;UAAEG,IAAI;UAAEY;QAAO,CAAC,GAAGf,IAAI;QAC7B,IACEK,WAAC,CAACW,UAAU,CAACD,MAAM,EAAE;UAAEE,IAAI,EAAEd;QAAK,CAAC,CAAC,IACpCE,WAAC,CAACa,mBAAmB,CAACH,MAAM,CAAC,EAC7B;UACA;QACF;QAEAjB,sBAAsB,CAACE,IAAI,CAACmB,GAAG,CAAC,MAAM,CAAC,CAAC;MAC1C,CAAC;MAEDC,UAAUA,CAACpB,IAAI,EAAE;QACfF,sBAAsB,CAACE,IAAI,CAACmB,GAAG,CAAC,YAAY,CAAC,CAAC;MAChD;IACF;EACF,CAAC;AACH,CAAC,CAAC;AAAAE,OAAA,CAAAC,OAAA,GAAA5B,QAAA"} \ No newline at end of file
diff --git a/node_modules/@babel/plugin-transform-block-scoped-functions/package.json b/node_modules/@babel/plugin-transform-block-scoped-functions/package.json
new file mode 100644
index 00000000..0fd8cd4e
--- /dev/null
+++ b/node_modules/@babel/plugin-transform-block-scoped-functions/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "@babel/plugin-transform-block-scoped-functions",
+ "version": "7.22.5",
+ "description": "Babel plugin to ensure function declarations at the block level are block scoped",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-plugin-transform-block-scoped-functions"
+ },
+ "homepage": "https://babel.dev/docs/en/next/babel-plugin-transform-block-scoped-functions",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "main": "./lib/index.js",
+ "keywords": [
+ "babel-plugin"
+ ],
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.22.5",
+ "@babel/helper-plugin-test-runner": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "author": "The Babel Team (https://babel.dev/team)",
+ "type": "commonjs"
+} \ No newline at end of file