mirror of
https://github.com/larksuite/cli.git
synced 2026-07-07 00:28:21 +08:00
31 lines
987 B
Go
31 lines
987 B
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package apicatalog
|
|
|
|
// ResolveErrorKind classifies a Resolve failure so the command layer can render
|
|
// the right hint without re-deriving what was being looked up.
|
|
type ResolveErrorKind string
|
|
|
|
const (
|
|
ErrService ResolveErrorKind = "service"
|
|
ErrResource ResolveErrorKind = "resource"
|
|
ErrMethod ResolveErrorKind = "method"
|
|
ErrPath ResolveErrorKind = "path" // method exists but trailing segments don't resolve
|
|
)
|
|
|
|
// ResolveError is returned by Catalog.Resolve. Subject is the dotted thing that
|
|
// failed to resolve; Candidates lists the available names at that level (nil for
|
|
// ErrPath, which instead carries the matched Method and the unresolved Trailing).
|
|
type ResolveError struct {
|
|
Kind ResolveErrorKind
|
|
Subject string
|
|
Candidates []string
|
|
Method string
|
|
Trailing string
|
|
}
|
|
|
|
func (e *ResolveError) Error() string {
|
|
return "unknown " + string(e.Kind) + ": " + e.Subject
|
|
}
|