Urara-Blog/node_modules/.pnpm-store/v3/files/d6/6a8bbe663e70f4b9040ad89da750642a1652c41b10822c49032cc0f97b8d1d8971784d21ee575298082b54a467a16e20fef34b1f12631e236ea7513323100a
2022-08-14 01:14:53 +08:00

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