Andre, I've taken a stab at improving your excellent library with a more robust plugin system. I found define() too limiting because it didn't give you access to important variables (operation, scheme) and methods (core, parse, _) within a user plugin. I've created a standard interface for plugins and moved the core plugins into it.
Features
standard callback interface for plugins fn(operation, provider, scheme, helpers)
core plugins are now separated by file in a plugins directory and implemented in a way that allows plugin writers to override their functionality
helpers contain _, core, parse so that plugins can make use of them
simplified implementation of executeOperation()
Unrelated
I'm interested in updated the readme with information on contributing
I'm also interested in helped you with automated documentation
I'm actively using this module in a production application so I'm happy to contribute plugins as I write them. I'm thinking of spinning up a separate project with a library of plugins.
Overview
Andre, I've taken a stab at improving your excellent library with a more robust plugin system. I found
define()
too limiting because it didn't give you access to important variables (operation
,scheme
) and methods (core
,parse
,_
) within a user plugin. I've created a standard interface for plugins and moved the core plugins into it.Features
fn(operation, provider, scheme, helpers)
helpers
contain_, core, parse
so that plugins can make use of themexecuteOperation()
Unrelated