mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-29 17:36:38 +08:00
docs for coreapi method impls
License: MIT Signed-off-by: ForrestWeston <forrest@protocol.ai>
This commit is contained in:
@ -15,28 +15,34 @@ type CoreAPI struct {
|
|||||||
node *core.IpfsNode
|
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 {
|
func NewCoreAPI(n *core.IpfsNode) coreiface.CoreAPI {
|
||||||
api := &CoreAPI{n}
|
api := &CoreAPI{n}
|
||||||
return api
|
return api
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unixfs returns the UnixfsAPI interface backed by the go-ipfs node
|
||||||
func (api *CoreAPI) Unixfs() coreiface.UnixfsAPI {
|
func (api *CoreAPI) Unixfs() coreiface.UnixfsAPI {
|
||||||
return (*UnixfsAPI)(api)
|
return (*UnixfsAPI)(api)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Dag returns the DagAPI interface backed by the go-ipfs node
|
||||||
func (api *CoreAPI) Dag() coreiface.DagAPI {
|
func (api *CoreAPI) Dag() coreiface.DagAPI {
|
||||||
return &DagAPI{api, nil}
|
return &DagAPI{api, nil}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Name returns the NameAPI interface backed by the go-ipfs node
|
||||||
func (api *CoreAPI) Name() coreiface.NameAPI {
|
func (api *CoreAPI) Name() coreiface.NameAPI {
|
||||||
return &NameAPI{api, nil}
|
return &NameAPI{api, nil}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Key returns the KeyAPI interface backed by the go-ipfs node
|
||||||
func (api *CoreAPI) Key() coreiface.KeyAPI {
|
func (api *CoreAPI) Key() coreiface.KeyAPI {
|
||||||
return &KeyAPI{api, nil}
|
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) {
|
func (api *CoreAPI) ResolveNode(ctx context.Context, p coreiface.Path) (coreiface.Node, error) {
|
||||||
p, err := api.ResolvePath(ctx, p)
|
p, err := api.ResolvePath(ctx, p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -50,6 +56,8 @@ func (api *CoreAPI) ResolveNode(ctx context.Context, p coreiface.Path) (coreifac
|
|||||||
return node, nil
|
return node, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ResolvePath resolves the path `p` using Unixfs resolver, returns the
|
||||||
|
// resolved path.
|
||||||
// TODO: store all of ipfspath.Resolver.ResolvePathComponents() in Path
|
// TODO: store all of ipfspath.Resolver.ResolvePathComponents() in Path
|
||||||
func (api *CoreAPI) ResolvePath(ctx context.Context, p coreiface.Path) (coreiface.Path, error) {
|
func (api *CoreAPI) ResolvePath(ctx context.Context, p coreiface.Path) (coreiface.Path, error) {
|
||||||
if p.Resolved() {
|
if p.Resolved() {
|
||||||
@ -84,6 +92,7 @@ type path struct {
|
|||||||
root *cid.Cid
|
root *cid.Cid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ParsePath parses path `p` using ipfspath parser, returns the parsed path.
|
||||||
func ParsePath(p string) (coreiface.Path, error) {
|
func ParsePath(p string) (coreiface.Path, error) {
|
||||||
pp, err := ipfspath.ParsePath(p)
|
pp, err := ipfspath.ParsePath(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -92,10 +101,12 @@ func ParsePath(p string) (coreiface.Path, error) {
|
|||||||
return &path{path: pp}, nil
|
return &path{path: pp}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ParseCid parses the path from `c`, retruns the parsed path.
|
||||||
func ParseCid(c *cid.Cid) coreiface.Path {
|
func ParseCid(c *cid.Cid) coreiface.Path {
|
||||||
return &path{path: ipfspath.FromCid(c), cid: c, root: c}
|
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 {
|
func ResolvedPath(p string, c *cid.Cid, r *cid.Cid) coreiface.Path {
|
||||||
return &path{path: ipfspath.FromString(p), cid: c, root: r}
|
return &path{path: ipfspath.FromString(p), cid: c, root: r}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user