30 lines
716 B
Go
30 lines
716 B
Go
package module
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/core"
|
|
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/packagejson"
|
|
)
|
|
|
|
type ModeAwareCache[T any] map[ModeAwareCacheKey]T
|
|
|
|
type caches struct {
|
|
packageJsonInfoCache *packagejson.InfoCache
|
|
|
|
// Cached representation for `core.CompilerOptions.paths`.
|
|
// Doesn't handle other path patterns like in `typesVersions`.
|
|
parsedPatternsForPathsOnce sync.Once
|
|
parsedPatternsForPaths *ParsedPatterns
|
|
}
|
|
|
|
func newCaches(
|
|
currentDirectory string,
|
|
useCaseSensitiveFileNames bool,
|
|
options *core.CompilerOptions,
|
|
) caches {
|
|
return caches{
|
|
packageJsonInfoCache: packagejson.NewInfoCache(currentDirectory, useCaseSensitiveFileNames),
|
|
}
|
|
}
|