dist/iro.es.js
function usePlugins(core) {
  var installedPlugins = [];
  
  /**
   * @desc Register iro.js plugin
   * @param {Function} plugin = plugin constructor
   * @param {Object} pluginOptions = plugin options passed to constructor
   */
  core.use = function(plugin, pluginOptions) {
    if ( pluginOptions === void 0 ) pluginOptions = {};

    // Check that the plugin hasn't already been registered
    if (!(installedPlugins.indexOf(plugin) > -1)) {
      // Init plugin
      // TODO: consider collection of plugin utils, which are passed as a thrid param
      plugin(core, pluginOptions);
      // Register plugin
      installedPlugins.push(plugin);
    }
  };

  core.installedPlugins = installedPlugins;

  return core;
}
function usePlugins(core) {
  var installedPlugins = [];
  
  /**
   * @desc Register iro.js plugin
   * @param {Function} plugin = plugin constructor
   * @param {Object} pluginOptions = plugin options passed to constructor
   */
  core.use = function(plugin, pluginOptions) {
    if ( pluginOptions === void 0 ) pluginOptions = {};

    // Check that the plugin hasn't already been registered
    if (!(installedPlugins.indexOf(plugin) > -1)) {
      // Init plugin
      // TODO: consider collection of plugin utils, which are passed as a thrid param
      plugin(core, pluginOptions);
      // Register plugin
      installedPlugins.push(plugin);
    }
  };

  core.installedPlugins = installedPlugins;

  return core;
}
function usePlugins ( core ) { var installedPlugins = [ ] ; /**
   * @desc Register iro.js plugin
   * @param {Function} plugin = plugin constructor
   * @param {Object} pluginOptions = plugin options passed to constructor
   */ core . use = function ( plugin , pluginOptions ) { if ( pluginOptions === void 0 ) pluginOptions = { } ; // Check that the plugin hasn't already been registered if ( ! ( installedPlugins . indexOf ( plugin ) > - 1 ) ) { // Init plugin // TODO: consider collection of plugin utils, which are passed as a thrid param plugin ( core , pluginOptions ) ; // Register plugin installedPlugins . push ( plugin ) ; } } ; core . installedPlugins = installedPlugins ; return core ; }
iro.js plugins API
This provides the iro.use method, which can be used to register plugins which extend the iro.js core
iro . js plugins API This provides the iro . use method which can be used to register plugins which extend the iro . js core