The 1-arg form tried to call effects.createDir which doesn't exist in the 0.3.5.1 effects API, crashing config save with 'TypeError: effects.createDir is not a function'. The 3-arg form (effects, newConfig, deps) just wires up dependencies based on the chosen bitcoind variant without touching the filesystem.
26 lines
652 B
TypeScript
26 lines
652 B
TypeScript
import { compat, types as T } from "../deps.ts";
|
|
|
|
interface KamadoConfig extends T.Config {
|
|
bitcoind?: {
|
|
type?: string;
|
|
};
|
|
}
|
|
|
|
// deno-lint-ignore require-await
|
|
export const setConfig: T.ExpectedExports.setConfig = async (
|
|
effects: T.Effects,
|
|
newConfig: KamadoConfig,
|
|
) => {
|
|
const mainnetDep: { [key: string]: string[] } =
|
|
newConfig?.bitcoind?.type === "bitcoind" ? { bitcoind: [] } : {};
|
|
const testnetDep: { [key: string]: string[] } =
|
|
newConfig?.bitcoind?.type === "bitcoind-testnet"
|
|
? { "bitcoind-testnet": [] }
|
|
: {};
|
|
|
|
return compat.setConfig(effects, newConfig, {
|
|
...mainnetDep,
|
|
...testnetDep,
|
|
});
|
|
};
|