diff --git a/core/coreapi/coreapi.go b/core/coreapi/coreapi.go index 14e43483b..6c1d61dcd 100644 --- a/core/coreapi/coreapi.go +++ b/core/coreapi/coreapi.go @@ -15,28 +15,34 @@ type CoreAPI struct { node *core.IpfsNode } -// NewCoreAPI creates new instance of IPFS CoreAPI backed by go-ipfs Node +// NewCoreAPI creates new instance of IPFS CoreAPI backed by go-ipfs Node. func NewCoreAPI(n *core.IpfsNode) coreiface.CoreAPI { api := &CoreAPI{n} return api } +// Unixfs returns the UnixfsAPI interface backed by the go-ipfs node func (api *CoreAPI) Unixfs() coreiface.UnixfsAPI { return (*UnixfsAPI)(api) } +// Dag returns the DagAPI interface backed by the go-ipfs node func (api *CoreAPI) Dag() coreiface.DagAPI { return &DagAPI{api, nil} } +// Name returns the NameAPI interface backed by the go-ipfs node func (api *CoreAPI) Name() coreiface.NameAPI { return &NameAPI{api, nil} } +// Key returns the KeyAPI interface backed by the go-ipfs node func (api *CoreAPI) Key() coreiface.KeyAPI { return &KeyAPI{api, nil} } +// ResolveNode resolves the path `p` using Unixfx resolver, gets and returns the +// resolved Node. func (api *CoreAPI) ResolveNode(ctx context.Context, p coreiface.Path) (coreiface.Node, error) { p, err := api.ResolvePath(ctx, p) if err != nil { @@ -50,6 +56,8 @@ func (api *CoreAPI) ResolveNode(ctx context.Context, p coreiface.Path) (coreifac return node, nil } +// ResolvePath resolves the path `p` using Unixfs resolver, returns the +// resolved path. // TODO: store all of ipfspath.Resolver.ResolvePathComponents() in Path func (api *CoreAPI) ResolvePath(ctx context.Context, p coreiface.Path) (coreiface.Path, error) { if p.Resolved() { @@ -84,6 +92,7 @@ type path struct { root *cid.Cid } +// ParsePath parses path `p` using ipfspath parser, returns the parsed path. func ParsePath(p string) (coreiface.Path, error) { pp, err := ipfspath.ParsePath(p) if err != nil { @@ -92,10 +101,12 @@ func ParsePath(p string) (coreiface.Path, error) { return &path{path: pp}, nil } +// ParseCid parses the path from `c`, retruns the parsed path. func ParseCid(c *cid.Cid) coreiface.Path { return &path{path: ipfspath.FromCid(c), cid: c, root: c} } +// ResolvePath parses path from string `p`, returns parsed path. func ResolvedPath(p string, c *cid.Cid, r *cid.Cid) coreiface.Path { return &path{path: ipfspath.FromString(p), cid: c, root: r} }