1
0
Files

27 lines
757 B
TypeScript
Raw Permalink Normal View History

2021-11-17 13:31:22 +03:00
import PipCache from './pip-cache';
import PipenvCache from './pipenv-cache';
import PoetryCache from './poetry-cache';
2021-11-17 13:31:22 +03:00
export enum PackageManagers {
Pip = 'pip',
Pipenv = 'pipenv',
Poetry = 'poetry'
2021-11-17 13:31:22 +03:00
}
export function getCacheDistributor(
packageManager: string,
pythonVersion: string,
cacheDependencyPath: string | undefined
) {
switch (packageManager) {
case PackageManagers.Pip:
return new PipCache(pythonVersion, cacheDependencyPath);
2021-11-17 13:31:22 +03:00
case PackageManagers.Pipenv:
return new PipenvCache(pythonVersion, cacheDependencyPath);
case PackageManagers.Poetry:
return new PoetryCache(pythonVersion, cacheDependencyPath);
2021-11-17 13:31:22 +03:00
default:
throw new Error(`Caching for '${packageManager}' is not supported`);
}
}