summaryrefslogtreecommitdiff
path: root/node_modules/@babel/helper-split-export-declaration
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-10-14 15:31:11 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-10-14 15:31:11 +0800
commitaa773172311dcada759dfbaac485f4bc6e00bc21 (patch)
treeca6d9a5eff3ab8f689f9acb4f0df791d9486813d /node_modules/@babel/helper-split-export-declaration
parentc5a5384e846f242e901e859fe600d695d8990a9a (diff)
added babel
Diffstat (limited to 'node_modules/@babel/helper-split-export-declaration')
-rw-r--r--node_modules/@babel/helper-split-export-declaration/LICENSE22
-rw-r--r--node_modules/@babel/helper-split-export-declaration/README.md19
-rw-r--r--node_modules/@babel/helper-split-export-declaration/lib/index.js59
-rw-r--r--node_modules/@babel/helper-split-export-declaration/lib/index.js.map1
-rw-r--r--node_modules/@babel/helper-split-export-declaration/package.json24
5 files changed, 125 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-split-export-declaration/LICENSE b/node_modules/@babel/helper-split-export-declaration/LICENSE
new file mode 100644
index 00000000..f31575ec
--- /dev/null
+++ b/node_modules/@babel/helper-split-export-declaration/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/helper-split-export-declaration/README.md b/node_modules/@babel/helper-split-export-declaration/README.md
new file mode 100644
index 00000000..a9502480
--- /dev/null
+++ b/node_modules/@babel/helper-split-export-declaration/README.md
@@ -0,0 +1,19 @@
+# @babel/helper-split-export-declaration
+
+>
+
+See our website [@babel/helper-split-export-declaration](https://babeljs.io/docs/babel-helper-split-export-declaration) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save @babel/helper-split-export-declaration
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/helper-split-export-declaration
+```
diff --git a/node_modules/@babel/helper-split-export-declaration/lib/index.js b/node_modules/@babel/helper-split-export-declaration/lib/index.js
new file mode 100644
index 00000000..1bbc01d6
--- /dev/null
+++ b/node_modules/@babel/helper-split-export-declaration/lib/index.js
@@ -0,0 +1,59 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = splitExportDeclaration;
+var _t = require("@babel/types");
+const {
+ cloneNode,
+ exportNamedDeclaration,
+ exportSpecifier,
+ identifier,
+ variableDeclaration,
+ variableDeclarator
+} = _t;
+function splitExportDeclaration(exportDeclaration) {
+ if (!exportDeclaration.isExportDeclaration() || exportDeclaration.isExportAllDeclaration()) {
+ throw new Error("Only default and named export declarations can be split.");
+ }
+ if (exportDeclaration.isExportDefaultDeclaration()) {
+ const declaration = exportDeclaration.get("declaration");
+ const standaloneDeclaration = declaration.isFunctionDeclaration() || declaration.isClassDeclaration();
+ const exportExpr = declaration.isFunctionExpression() || declaration.isClassExpression();
+ const scope = declaration.isScope() ? declaration.scope.parent : declaration.scope;
+ let id = declaration.node.id;
+ let needBindingRegistration = false;
+ if (!id) {
+ needBindingRegistration = true;
+ id = scope.generateUidIdentifier("default");
+ if (standaloneDeclaration || exportExpr) {
+ declaration.node.id = cloneNode(id);
+ }
+ } else if (exportExpr && scope.hasBinding(id.name)) {
+ needBindingRegistration = true;
+ id = scope.generateUidIdentifier(id.name);
+ }
+ const updatedDeclaration = standaloneDeclaration ? declaration.node : variableDeclaration("var", [variableDeclarator(cloneNode(id), declaration.node)]);
+ const updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier("default"))]);
+ exportDeclaration.insertAfter(updatedExportDeclaration);
+ exportDeclaration.replaceWith(updatedDeclaration);
+ if (needBindingRegistration) {
+ scope.registerDeclaration(exportDeclaration);
+ }
+ return exportDeclaration;
+ } else if (exportDeclaration.get("specifiers").length > 0) {
+ throw new Error("It doesn't make sense to split exported specifiers.");
+ }
+ const declaration = exportDeclaration.get("declaration");
+ const bindingIdentifiers = declaration.getOuterBindingIdentifiers();
+ const specifiers = Object.keys(bindingIdentifiers).map(name => {
+ return exportSpecifier(identifier(name), identifier(name));
+ });
+ const aliasDeclar = exportNamedDeclaration(null, specifiers);
+ exportDeclaration.insertAfter(aliasDeclar);
+ exportDeclaration.replaceWith(declaration.node);
+ return exportDeclaration;
+}
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/helper-split-export-declaration/lib/index.js.map b/node_modules/@babel/helper-split-export-declaration/lib/index.js.map
new file mode 100644
index 00000000..551a919f
--- /dev/null
+++ b/node_modules/@babel/helper-split-export-declaration/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_t","require","cloneNode","exportNamedDeclaration","exportSpecifier","identifier","variableDeclaration","variableDeclarator","splitExportDeclaration","exportDeclaration","isExportDeclaration","isExportAllDeclaration","Error","isExportDefaultDeclaration","declaration","get","standaloneDeclaration","isFunctionDeclaration","isClassDeclaration","exportExpr","isFunctionExpression","isClassExpression","scope","isScope","parent","id","node","needBindingRegistration","generateUidIdentifier","hasBinding","name","updatedDeclaration","updatedExportDeclaration","insertAfter","replaceWith","registerDeclaration","length","bindingIdentifiers","getOuterBindingIdentifiers","specifiers","Object","keys","map","aliasDeclar"],"sources":["../src/index.ts"],"sourcesContent":["import {\n cloneNode,\n exportNamedDeclaration,\n exportSpecifier,\n identifier,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default function splitExportDeclaration(\n exportDeclaration: NodePath<\n t.ExportDefaultDeclaration | t.ExportNamedDeclaration\n >,\n) {\n if (\n !exportDeclaration.isExportDeclaration() ||\n exportDeclaration.isExportAllDeclaration()\n ) {\n throw new Error(\"Only default and named export declarations can be split.\");\n }\n\n // build specifiers that point back to this export declaration\n\n if (exportDeclaration.isExportDefaultDeclaration()) {\n const declaration = exportDeclaration.get(\"declaration\");\n const standaloneDeclaration =\n declaration.isFunctionDeclaration() || declaration.isClassDeclaration();\n const exportExpr =\n declaration.isFunctionExpression() || declaration.isClassExpression();\n\n const scope = declaration.isScope()\n ? declaration.scope.parent\n : declaration.scope;\n\n // @ts-expect-error id is not defined in expressions other than function/class\n let id = declaration.node.id;\n let needBindingRegistration = false;\n\n if (!id) {\n needBindingRegistration = true;\n\n id = scope.generateUidIdentifier(\"default\");\n\n if (standaloneDeclaration || exportExpr) {\n declaration.node.id = cloneNode(id);\n }\n } else if (exportExpr && scope.hasBinding(id.name)) {\n needBindingRegistration = true;\n\n id = scope.generateUidIdentifier(id.name);\n }\n\n const updatedDeclaration = standaloneDeclaration\n ? declaration.node\n : variableDeclaration(\"var\", [\n variableDeclarator(\n cloneNode(id),\n // @ts-expect-error When `standaloneDeclaration` is false, declaration must not be a Function/ClassDeclaration\n declaration.node,\n ),\n ]);\n\n const updatedExportDeclaration = exportNamedDeclaration(null, [\n exportSpecifier(cloneNode(id), identifier(\"default\")),\n ]);\n\n exportDeclaration.insertAfter(updatedExportDeclaration);\n exportDeclaration.replaceWith(updatedDeclaration);\n\n if (needBindingRegistration) {\n scope.registerDeclaration(exportDeclaration);\n }\n\n return exportDeclaration;\n } else if (\n // @ts-expect-error TS can not narrow down to NodePath<t.ExportNamedDeclaration>\n exportDeclaration.get(\"specifiers\").length > 0\n ) {\n throw new Error(\"It doesn't make sense to split exported specifiers.\");\n }\n\n const declaration = exportDeclaration.get(\"declaration\");\n const bindingIdentifiers = declaration.getOuterBindingIdentifiers();\n\n const specifiers = Object.keys(bindingIdentifiers).map(name => {\n return exportSpecifier(identifier(name), identifier(name));\n });\n\n const aliasDeclar = exportNamedDeclaration(null, specifiers);\n\n exportDeclaration.insertAfter(aliasDeclar);\n exportDeclaration.replaceWith(declaration.node);\n return exportDeclaration;\n}\n"],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@babel/helper-split-export-declaration/package.json b/node_modules/@babel/helper-split-export-declaration/package.json
new file mode 100644
index 00000000..1e69201b
--- /dev/null
+++ b/node_modules/@babel/helper-split-export-declaration/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@babel/helper-split-export-declaration",
+ "version": "7.22.6",
+ "description": "",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-helper-split-export-declaration"
+ },
+ "homepage": "https://babel.dev/docs/en/next/babel-helper-split-export-declaration",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "main": "./lib/index.js",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "author": "The Babel Team (https://babel.dev/team)",
+ "type": "commonjs"
+} \ No newline at end of file