mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-15 07:58:15 +08:00
30 lines
668 B
Go
30 lines
668 B
Go
package commands
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/ipfs/go-ipfs/commands"
|
|
"github.com/ipfs/go-ipfs/core"
|
|
"github.com/ipfs/go-ipfs/repo/config"
|
|
)
|
|
|
|
// GetNode extracts the node from the environment.
|
|
func GetNode(env interface{}) (*core.IpfsNode, error) {
|
|
ctx, ok := env.(*commands.Context)
|
|
if !ok {
|
|
return nil, fmt.Errorf("expected env to be of type %T, got %T", ctx, env)
|
|
}
|
|
|
|
return ctx.GetNode()
|
|
}
|
|
|
|
// GetConfig extracts the config from the environment.
|
|
func GetConfig(env interface{}) (*config.Config, error) {
|
|
ctx, ok := env.(*commands.Context)
|
|
if !ok {
|
|
return nil, fmt.Errorf("expected env to be of type %T, got %T", ctx, env)
|
|
}
|
|
|
|
return ctx.GetConfig()
|
|
}
|