INNER CODE UNIT · TypeScript
splitPluginOptions
cloudflare/miniflare · packages/core/src/index.ts:140
function splitPluginOptions<Plugins extends CorePluginSignatures>(
plugins: PluginEntries<Plugins>,
options: MiniflareCoreOptions<Plugins>
): PluginOptions<Plugins> {
const result = {} as PluginOptions<Plugins>;
for (const [name, plugin] of plugins) {
const pluginResult = {} as PluginOptionsUnion<Plugins>;
for (const key of plugin.prototype.opts?.keys() ?? []) {
// Only include defined keys, otherwise all options defined in Wrangler
// config would be unset
if (key in (options as any)) {
(pluginResult as any)[key] = (options as any)[key];
}
}
result[name] = pluginResult;
}
return result;
}