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