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.
		
		
		
		
		
			
		
			
				
					49 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					49 lines
				
				1.3 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"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();
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |