Remove libmei from extension api. Expose functions marked with "export" #268
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
All the libmei functions have been moved to the Sibmei plugin, but the extension API still has a field
libmei. So that extensions still work, I provisionally dropped in sibmei5 itself for the old libmei. This however exposes all the functions present in Sibmei, which is not ideal.In this pull request, I'm suggesting a mechanism to expose only specific functions. As we're using JavaScript-ish function syntax, I used the
exportkeyword before functions that should be exposed. The mechansim goes as follows:ExtensionAPI_and a dummy as first parameter (which is needed for calling it as a method from the API object)Like this, we can granularly and very easily expose only those functions we consider necessary for extensions without risking to break extensions.
I'm making this a draft pull request because documentation needs to be updated as well. Before continuing, I'm interested in your opinions whether this is a sensible way to go.