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.
		
		
		
		
			
				
					61 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					61 lines
				
				1.5 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", {
							 | 
						||
| 
								 | 
							
								  value: true
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								exports.default = void 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _helperPluginUtils = require("@babel/helper-plugin-utils");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _helperRemapAsyncToGenerator = require("@babel/helper-remap-async-to-generator");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _helperModuleImports = require("@babel/helper-module-imports");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _core = require("@babel/core");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _default = (0, _helperPluginUtils.declare)((api, options) => {
							 | 
						||
| 
								 | 
							
								  api.assertVersion(7);
							 | 
						||
| 
								 | 
							
								  const {
							 | 
						||
| 
								 | 
							
								    method,
							 | 
						||
| 
								 | 
							
								    module
							 | 
						||
| 
								 | 
							
								  } = options;
							 | 
						||
| 
								 | 
							
								  const noNewArrows = api.assumption("noNewArrows");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (method && module) {
							 | 
						||
| 
								 | 
							
								    return {
							 | 
						||
| 
								 | 
							
								      name: "transform-async-to-generator",
							 | 
						||
| 
								 | 
							
								      visitor: {
							 | 
						||
| 
								 | 
							
								        Function(path, state) {
							 | 
						||
| 
								 | 
							
								          if (!path.node.async || path.node.generator) return;
							 | 
						||
| 
								 | 
							
								          let wrapAsync = state.methodWrapper;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								          if (wrapAsync) {
							 | 
						||
| 
								 | 
							
								            wrapAsync = _core.types.cloneNode(wrapAsync);
							 | 
						||
| 
								 | 
							
								          } else {
							 | 
						||
| 
								 | 
							
								            wrapAsync = state.methodWrapper = (0, _helperModuleImports.addNamed)(path, method, module);
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								          (0, _helperRemapAsyncToGenerator.default)(path, {
							 | 
						||
| 
								 | 
							
								            wrapAsync
							 | 
						||
| 
								 | 
							
								          }, noNewArrows);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    name: "transform-async-to-generator",
							 | 
						||
| 
								 | 
							
								    visitor: {
							 | 
						||
| 
								 | 
							
								      Function(path, state) {
							 | 
						||
| 
								 | 
							
								        if (!path.node.async || path.node.generator) return;
							 | 
						||
| 
								 | 
							
								        (0, _helperRemapAsyncToGenerator.default)(path, {
							 | 
						||
| 
								 | 
							
								          wrapAsync: state.addHelper("asyncToGenerator")
							 | 
						||
| 
								 | 
							
								        }, noNewArrows);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.default = _default;
							 |