49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| exports.__esModule = true;
 | |
| exports.getTypes = getTypes;
 | |
| exports.isReference = isReference;
 | |
| exports.replaceWithOrRemove = replaceWithOrRemove;
 | |
| exports.runtimeProperty = runtimeProperty;
 | |
| exports.wrapWithTypes = wrapWithTypes;
 | |
| /**
 | |
|  * Copyright (c) 2014-present, Facebook, Inc.
 | |
|  *
 | |
|  * This source code is licensed under the MIT license found in the
 | |
|  * LICENSE file in the root directory of this source tree.
 | |
|  */
 | |
| 
 | |
| var currentTypes = null;
 | |
| function wrapWithTypes(types, fn) {
 | |
|   return function () {
 | |
|     var oldTypes = currentTypes;
 | |
|     currentTypes = types;
 | |
|     try {
 | |
|       for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
 | |
|         args[_key] = arguments[_key];
 | |
|       }
 | |
|       return fn.apply(this, args);
 | |
|     } finally {
 | |
|       currentTypes = oldTypes;
 | |
|     }
 | |
|   };
 | |
| }
 | |
| function getTypes() {
 | |
|   return currentTypes;
 | |
| }
 | |
| function runtimeProperty(name) {
 | |
|   var t = getTypes();
 | |
|   return t.memberExpression(t.identifier("regeneratorRuntime"), t.identifier(name), false);
 | |
| }
 | |
| function isReference(path) {
 | |
|   return path.isReferenced() || path.parentPath.isAssignmentExpression({
 | |
|     left: path.node
 | |
|   });
 | |
| }
 | |
| function replaceWithOrRemove(path, replacement) {
 | |
|   if (replacement) {
 | |
|     path.replaceWith(replacement);
 | |
|   } else {
 | |
|     path.remove();
 | |
|   }
 | |
| } | 
