You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							1.1 KiB
						
					
					
				| "use strict";
 | |
| 
 | |
| exports.__esModule = true;
 | |
| exports.default = void 0;
 | |
| 
 | |
| /**
 | |
|  * Converts destructured parameters with default values to non-shorthand syntax.
 | |
|  * This fixes the only arguments-related bug in ES Modules-supporting browsers (Edge 16 & 17).
 | |
|  * Use this plugin instead of @babel/plugin-transform-parameters when targeting ES Modules.
 | |
|  */
 | |
| var _default = ({
 | |
|   types: t
 | |
| }) => {
 | |
|   const isArrowParent = p => p.parentKey === "params" && p.parentPath && t.isArrowFunctionExpression(p.parentPath);
 | |
| 
 | |
|   return {
 | |
|     name: "transform-edge-default-parameters",
 | |
|     visitor: {
 | |
|       AssignmentPattern(path) {
 | |
|         const arrowArgParent = path.find(isArrowParent);
 | |
| 
 | |
|         if (arrowArgParent && path.parent.shorthand) {
 | |
|           // In Babel 7+, there is no way to force non-shorthand properties.
 | |
|           path.parent.shorthand = false;
 | |
|           (path.parent.extra || {}).shorthand = false; // So, to ensure non-shorthand, rename the local identifier so it no longer matches:
 | |
| 
 | |
|           path.scope.rename(path.parent.key.name);
 | |
|         }
 | |
|       }
 | |
| 
 | |
|     }
 | |
|   };
 | |
| };
 | |
| 
 | |
| exports.default = _default;
 | |
| module.exports = exports.default; |