bufpath

package
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExternalPathResolver

type ExternalPathResolver interface {
	// RelPathToExternalPath takes a path relative to the asset and converts it
	// to a path that is external to the asset.
	//
	// This path is not necessarily a file path, and should only be used to
	// uniquely identify this file as compared to other assets, and for display
	// to users.
	//
	// The input path will be normalized and validated.
	// The output path will be unnormalized, if it is a file path.
	//
	// Example:
	//   Directory: /foo/bar
	//   RelPath: baz/bat.proto
	//   ExternalPath: /foo/bar/baz/bat.proto
	//
	// Example:
	//   Directory: .
	//   RelPath: baz/bat.proto
	//   ExternalPath: baz/bat.proto
	RelPathToExternalPath(relPath string) (string, error)
}

ExternalPathResolver resolves relative paths to external paths.

type PathResolver

type PathResolver interface {
	RelPathResolver
	ExternalPathResolver
}

PathResolver resolves both external and relative paths.

var NopPathResolver PathResolver = newNopPathResolver()

NopPathResolver is a PathResolver that is a no-op.

This PathResolver will still normalize and validate fields per the requirements.

func NewDirPathResolver

func NewDirPathResolver(dirPath string) PathResolver

NewDirPathResolver returns a PathResolver for a directory.

The dirPath will be normalized.

type RelPathResolver

type RelPathResolver interface {
	// ExternalPathToRelPath takes a path external to the asset and converts it to
	// a path that is relative to the asset.
	//
	// The returned path will be normalized and validated.
	//
	// Example:
	//   Directory: /foo/bar
	//   ExternalPath: /foo/bar/baz/bat.proto
	//   RelPath: baz/bat.proto
	ExternalPathToRelPath(externalPath string) (string, error)
}

RelPathResolver resolves external paths to relative paths.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL