@atomist/automation-client
Version:
Atomist API for software low-level client
21 lines • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const GitCommandGitProject_1 = require("../../project/git/GitCommandGitProject");
const DirectoryManager_1 = require("../../spi/clone/DirectoryManager");
const GitHubRepoRef_1 = require("./GitHubRepoRef");
const RepoId_1 = require("./RepoId");
/**
* Materialize from github
* @param credentials provider token
* @param directoryManager strategy for handling local storage
* @return function to materialize repos
*/
function gitHubRepoLoader(credentials, directoryManager = GitCommandGitProject_1.DefaultDirectoryManager) {
return repoId => {
// Default it if it isn't already a GitHub repo ref
const gid = RepoId_1.isRemoteRepoRef(repoId) ? repoId : new GitHubRepoRef_1.GitHubRepoRef(repoId.owner, repoId.repo, repoId.sha);
return GitCommandGitProject_1.GitCommandGitProject.cloned(credentials, gid, DirectoryManager_1.DefaultCloneOptions, directoryManager);
};
}
exports.gitHubRepoLoader = gitHubRepoLoader;
//# sourceMappingURL=gitHubRepoLoader.js.map