Spaces:
Sleeping
Sleeping
| function createPlugin(plugin, config) { | |
| return { | |
| handler: plugin, | |
| config, | |
| } | |
| } | |
| createPlugin.withOptions = function (pluginFunction, configFunction = () => ({})) { | |
| const optionsFunction = function (options) { | |
| return { | |
| __options: options, | |
| handler: pluginFunction(options), | |
| config: configFunction(options), | |
| } | |
| } | |
| optionsFunction.__isOptionsFunction = true | |
| // Expose plugin dependencies so that `object-hash` returns a different | |
| // value if anything here changes, to ensure a rebuild is triggered. | |
| optionsFunction.__pluginFunction = pluginFunction | |
| optionsFunction.__configFunction = configFunction | |
| return optionsFunction | |
| } | |
| export default createPlugin | |