| 
									
										
										
										
											2019-08-22 19:26:45 +08:00
										 |  |  | var PluginEnvironment = require("./PluginEnvironment"); | 
					
						
							| 
									
										
										
										
											2017-01-03 02:11:33 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-08 04:27:22 +08:00
										 |  |  | module.exports = function applyPluginWithOptions(Plugin) { | 
					
						
							| 
									
										
										
										
											2019-08-22 19:26:45 +08:00
										 |  |  | 	var plugin = new (Function.prototype.bind.apply(Plugin, arguments))(); | 
					
						
							| 
									
										
										
										
											2017-01-03 02:11:33 +08:00
										 |  |  | 	var pluginEnvironment = new PluginEnvironment(); | 
					
						
							| 
									
										
										
										
											2017-01-04 03:08:15 +08:00
										 |  |  | 	plugin.apply(pluginEnvironment.getEnvironmentStub()); | 
					
						
							| 
									
										
										
										
											2017-01-08 10:11:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-22 19:26:45 +08:00
										 |  |  | 	var env = this === global ? {} : this; | 
					
						
							| 
									
										
										
										
											2017-01-08 10:11:53 +08:00
										 |  |  | 	env.plugin = plugin; | 
					
						
							|  |  |  | 	env.pluginEnvironment = pluginEnvironment; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-03 02:11:33 +08:00
										 |  |  | 	return pluginEnvironment.getEventBindings(); | 
					
						
							|  |  |  | }; |