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();
|
|
|
|
};
|