mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 03:49:31 +08:00
27 lines
703 B
Text
27 lines
703 B
Text
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
|