Copyright 2019 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

package internal

import (
	
	
	
	

	
	
	
	
)

LatestVersion signifies the latest available version in requests to the proxy client.
	LatestVersion = "latest"
MainVersion represents the main branch.
	MainVersion = "main"
MasterVersion represents the master branch.
	MasterVersion = "master"
UnknownModulePath signifies that the module path for a given package path is ambiguous or not known. This is because requests to the frontend can come in the form of <import-path>[@<version>], and it is not clear which part of the import-path is the module path.
	UnknownModulePath = "unknownModulePath"
)
DefaultBranches are default branches that are supported by pkgsite.
ModuleInfo holds metadata associated with a module.
HasGoMod describes whether the module zip has a go.mod file.
Deprecated describes whether the module is deprecated.
DeprecationComment is the comment describing the deprecation, if any.
Retracted describes whether the module version is retracted.
RetractionRationale is the reason for the retraction, if any.
VersionMap holds metadata associated with module queries for a version.
SeriesPath returns the series path for the module. A series is a group of modules that share the same base path and are assumed to be major-version variants. The series path is the module path without the version. For most modules, this will be the module path for all module versions with major version 0 or 1. For gopkg.in modules, the series path does not correspond to any module version. Examples: The module paths "a/b" and "a/b/v2" both have series path "a/b". The module paths "gopkg.in/yaml.v1" and "gopkg.in/yaml.v2" both have series path "gopkg.in/yaml".
SeriesPathForModule returns the series path for the provided modulePath.
func ( string) string {
	, ,  := module.SplitPathVersion()
	return 
}
MajorVersionForModule returns the final "vN" from the module path, if any. It returns the empty string if the module path is malformed. Examples: "m.com" => "" "m.com/v2" => "v2" "gpkg.in/m.v1 = "v1"
func ( string) string {
	, ,  := module.SplitPathVersion()
	return strings.TrimLeft(, "/.")
}
SeriesPathAndMajorVersion splits modulePath into a series path and a numeric major version. If the path doesn't have a "vN" suffix, it returns 1. If the module path is invalid, it returns ("", 0).
func ( string) (string, int) {
	, ,  := module.SplitPathVersion()
	if ! {
		return "", 0
	}
	if  == "" {
		return , 1
First two characters are either ".v" or "/v".
	,  := strconv.Atoi([2:])
	if  != nil {
		return "", 0
	}
	return , 
}
Suffix returns the suffix of the fullPath. It assumes that basePath is a prefix of fullPath. If fullPath and basePath are the same, the empty string is returned.
func (,  string) string {
	return strings.TrimPrefix(strings.TrimPrefix(, ), "/")
}
V1Path returns the path for version 1 of the package whose import path is fullPath. If modulePath is the standard library, then V1Path returns fullPath.
func (,  string) string {
	if  == stdlib.ModulePath {
		return 
	}
	return path.Join(SeriesPathForModule(), Suffix(, ))
}
A Module is a specific, reproducible build of a module.
type Module struct {
Licenses holds all licenses within this module version, including those that may be contained in nested subdirectories.
Packages returns all of the units for a module that are packages.
func ( *Module) () []*Unit {
	var  []*Unit
	for ,  := range .Units {
		if .IsPackage() {
			 = append(, )
		}
	}
	return 
}
IndexVersion holds the version information returned by the module index.
ModuleVersionState holds a worker module version state.
IndexTimestamp is the timestamp received from the Index for this version, which should correspond to the time this version was committed to the Index.
CreatedAt is the time this version was originally inserted into the module version state table.
Status is the most recent HTTP status code received from the Fetch service for this version, or nil if no request to the fetch service has been made.
Error is the most recent HTTP response body received from the Fetch service, for a response with an unsuccessful status code. It is used for debugging only, and has no semantic significance.
TryCount is the number of times a fetch of this version has been attempted.
LastProcessedAt is the last time this version was updated with a result from the fetch service.
NextProcessedAfter is the next time a fetch for this version should be attempted.
AppVersion is the value of the GAE_VERSION environment variable, which is set by app engine. It is a timestamp in the format 20190709t112655 that is close to, but not the same as, the deployment time. For example, the deployment time for the above timestamp might be Jul 9, 2019, 11:29:59 AM.
HasGoMod says whether the zip file has a go.mod file.
GoModPath is the path declared in the go.mod file fetched from the proxy.
NumPackages it the number of packages that were processed as part of the module (regardless of whether the processing was successful).
PackageVersionState holds a worker package version state. It is associated with a given module version state.
SearchResult represents a single search result from SearchDocuments.
Score is used to sort items in an array of SearchResult.
NumImportedBy is the number of packages that import PackagePath.
SameModule is a list of SearchResults from the same module as this one, with lower scores.
LowerMajor is a list of SearchResults with the same v1 path but at lower major versions of this module.
NumResults is the total number of packages that were returned for this search.
Approximate reports whether NumResults is an approximate count. NumResults can be approximate if search scanned only a subset of documents, and result count is estimated using the hyperloglog algorithm.
Symbols are the symbols returned by a search request.