summaryrefslogtreecommitdiff
path: root/node_modules/babel-plugin-transform-member-expression-literals
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
commitefbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch)
tree2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/babel-plugin-transform-member-expression-literals
parent43acceb75957c880a5ba5a31aae221394a36d5f6 (diff)
node fixes, updates
Diffstat (limited to 'node_modules/babel-plugin-transform-member-expression-literals')
-rw-r--r--node_modules/babel-plugin-transform-member-expression-literals/README.md55
-rw-r--r--node_modules/babel-plugin-transform-member-expression-literals/lib/index.js36
-rw-r--r--node_modules/babel-plugin-transform-member-expression-literals/package.json14
3 files changed, 105 insertions, 0 deletions
diff --git a/node_modules/babel-plugin-transform-member-expression-literals/README.md b/node_modules/babel-plugin-transform-member-expression-literals/README.md
new file mode 100644
index 00000000..b9c1967e
--- /dev/null
+++ b/node_modules/babel-plugin-transform-member-expression-literals/README.md
@@ -0,0 +1,55 @@
+# babel-plugin-transform-member-expression-literals
+
+Turn valid member expression property literals into plain identifiers
+
+## Example
+
+**In**
+
+```javascript
+obj["foo"] = "isValid";
+
+obj.const = "isKeyword";
+obj["var"] = "isKeyword";
+```
+
+**Out**
+
+```javascript
+obj.foo = "isValid";
+
+obj["const"] = "isKeyword";
+obj["var"] = "isKeyword";
+```
+
+## Installation
+
+```sh
+npm install babel-plugin-transform-member-expression-literals --save-dev
+```
+
+## Usage
+
+### Via `.babelrc` (Recommended)
+
+**.babelrc**
+
+```json
+{
+ "plugins": ["transform-member-expression-literals"]
+}
+```
+
+### Via CLI
+
+```sh
+babel --plugins transform-member-expression-literals script.js
+```
+
+### Via Node API
+
+```javascript
+require("@babel/core").transform("code", {
+ plugins: ["transform-member-expression-literals"]
+});
+```
diff --git a/node_modules/babel-plugin-transform-member-expression-literals/lib/index.js b/node_modules/babel-plugin-transform-member-expression-literals/lib/index.js
new file mode 100644
index 00000000..2eb76ec6
--- /dev/null
+++ b/node_modules/babel-plugin-transform-member-expression-literals/lib/index.js
@@ -0,0 +1,36 @@
+"use strict";
+
+module.exports = function ({
+ types: t
+}) {
+ return {
+ name: "transform-member-expression-literals",
+ visitor: {
+ // foo['bar'] -> foo.bar
+ MemberExpression: {
+ exit({
+ node
+ }) {
+ const prop = node.property;
+
+ if (!node.computed || !t.isStringLiteral(prop)) {
+ return;
+ }
+
+ if (prop.value.match(/^\d+$/)) {
+ const newProp = parseInt(prop.value, 10);
+
+ if (newProp.toString() === prop.value) {
+ node.property = t.numericLiteral(newProp);
+ node.computed = false;
+ }
+ } else if (t.isValidIdentifier(prop.value)) {
+ node.property = t.identifier(prop.value);
+ node.computed = false;
+ }
+ }
+
+ }
+ }
+ };
+}; \ No newline at end of file
diff --git a/node_modules/babel-plugin-transform-member-expression-literals/package.json b/node_modules/babel-plugin-transform-member-expression-literals/package.json
new file mode 100644
index 00000000..1a1415e6
--- /dev/null
+++ b/node_modules/babel-plugin-transform-member-expression-literals/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "babel-plugin-transform-member-expression-literals",
+ "version": "6.9.4",
+ "description": "Turn valid member expression property literals into plain identifiers",
+ "keywords": [
+ "babel-plugin"
+ ],
+ "homepage": "https://github.com/babel/minify#readme",
+ "bugs": "https://github.com/babel/minify/issues",
+ "license": "MIT",
+ "author": "amasad",
+ "main": "lib/index.js",
+ "repository": "https://github.com/babel/minify/tree/master/packages/babel-plugin-transform-member-expression-literals"
+}