Use 3-arg compat.setConfig form in setConfig
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.
This commit is contained in:
@@ -1,14 +1,25 @@
|
||||
import { compat, types as T } from "../deps.ts";
|
||||
|
||||
export const setConfig: T.ExpectedExports.setConfig = compat.setConfig({
|
||||
"bitcoind": {
|
||||
"bitcoind": [{
|
||||
"name": "bitcoind",
|
||||
"version": ">=24.0.0 <30.0.0",
|
||||
}],
|
||||
"bitcoind-testnet": [{
|
||||
"name": "bitcoind-testnet",
|
||||
"version": ">=24.0.0 <30.0.0",
|
||||
}],
|
||||
},
|
||||
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,
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user