From df25fbebba5fe37e8b94d0d8329a9513a2cb76f9 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Mon, 1 Apr 2019 11:07:11 +0200 Subject: add hasPlugin and getPlugin API methods and tests --- js/reveal.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'js') diff --git a/js/reveal.js b/js/reveal.js index 0437d2d..09f3af7 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -1594,6 +1594,29 @@ } + /** + * Checks if a specific plugin has been registered. + * + * @param {String} id Unique plugin identifier + */ + function hasPlugin( id ) { + + return !!plugins[id]; + + } + + /** + * Returns the specific plugin instance, if a plugin + * with the given ID has been registered. + * + * @param {String} id Unique plugin identifier + */ + function getPlugin( id ) { + + return plugins[id]; + + } + /** * Add a custom key binding with optional description to * be added to the help screen. @@ -5975,8 +5998,10 @@ addKeyBinding: addKeyBinding, removeKeyBinding: removeKeyBinding, - // Called by plugins to register themselves + // API for registering and retrieving plugins registerPlugin: registerPlugin, + hasPlugin: hasPlugin, + getPlugin: getPlugin, // Programatically triggers a keyboard event triggerKey: function( keyCode ) { -- cgit v1.2.3