18 lines
519 B
JavaScript
18 lines
519 B
JavaScript
/* Riot WIP, @license MIT */
|
|
import { isFunction, panic, PLUGINS_SET } from '@riotjs/util';
|
|
|
|
/**
|
|
* Define a riot plugin
|
|
* @param {Function} plugin - function that will receive all the components created
|
|
* @returns {Set} the set containing all the plugins installed
|
|
*/
|
|
|
|
function install(plugin) {
|
|
if (!isFunction(plugin)) panic('Plugins must be of type function');
|
|
if (PLUGINS_SET.has(plugin)) panic('This plugin was already installed');
|
|
PLUGINS_SET.add(plugin);
|
|
return PLUGINS_SET;
|
|
}
|
|
|
|
export { install };
|