smartstring/dist/smartstring.git.js

46 lines
3.7 KiB
JavaScript
Raw Permalink Normal View History

"use strict";
2017-10-05 13:55:59 +00:00
Object.defineProperty(exports, "__esModule", { value: true });
2016-02-23 06:06:54 +00:00
/* ---------------------------------------------- *
* ------------------ classes ------------------- *
* ---------------------------------------------- */
2016-07-17 15:30:26 +00:00
class GitRepo {
constructor(stringArg, tokenArg) {
let regexMatches = gitRegex(stringArg);
2016-02-23 06:06:54 +00:00
this.host = regexMatches[1];
this.user = regexMatches[2];
this.repo = regexMatches[3];
this.accessToken = tokenArg;
2016-10-31 23:22:38 +00:00
this.sshUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'ssh');
this.httpsUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'https');
2016-02-23 06:06:54 +00:00
}
2016-07-17 15:30:26 +00:00
}
2016-05-25 03:06:19 +00:00
exports.GitRepo = GitRepo;
2016-02-23 06:06:54 +00:00
/* ---------------------------------------------- *
* ------------------ helpers ------------------- *
* ---------------------------------------------- */
2016-07-17 15:30:26 +00:00
let gitRegex = function (stringArg) {
let regexString = /([a-zA-Z0-9\-\.]*)(?:\/|\:)([a-zA-Z0-9\-\.]*)(?:\/)([a-zA-Z0-9\-\.]*)(?:\.git)/;
2016-07-17 15:30:26 +00:00
let regexMatches = regexString.exec(stringArg);
2016-02-23 06:06:54 +00:00
return regexMatches;
};
2016-10-31 23:22:38 +00:00
let gitLink = function (hostArg, userArg, repoArg, tokenArg = '', linkTypeArg) {
2016-07-17 15:30:26 +00:00
let returnString;
2016-10-31 23:22:38 +00:00
if (tokenArg !== '') {
tokenArg = tokenArg + '@';
2016-02-23 06:06:54 +00:00
}
switch (linkTypeArg) {
2016-10-31 23:22:38 +00:00
case 'https':
returnString = 'https://' +
tokenArg + hostArg + '/' + userArg + '/' + repoArg + '.git';
2016-02-23 06:06:54 +00:00
break;
2016-10-31 23:22:38 +00:00
case 'ssh':
returnString = 'git@' +
hostArg + ':' + userArg + '/' + repoArg + '.git';
2016-02-23 06:06:54 +00:00
break;
default:
2016-10-31 23:22:38 +00:00
console.error('Link Type ' + linkTypeArg + ' not known');
2016-02-23 06:06:54 +00:00
break;
}
return returnString;
};
2017-10-05 13:55:59 +00:00
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7O29EQUVvRDtBQUNwRDtJQU9FLFlBQWEsU0FBaUIsRUFBRSxRQUFpQjtRQUMvQyxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMvRSxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3JGLENBQUM7Q0FDRjtBQWhCRCwwQkFnQkM7QUFFRDs7b0RBRW9EO0FBQ3BELElBQUksUUFBUSxHQUFHLFVBQVUsU0FBaUI7SUFDeEMsSUFBSSxXQUFXLEdBQUcsZ0ZBQWdGLENBQUE7SUFDbEcsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM5QyxNQUFNLENBQUMsWUFBWSxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQUVELElBQUksT0FBTyxHQUFHLFVBQVUsT0FBZSxFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsV0FBbUIsRUFBRSxFQUFFLFdBQVc7SUFDM0csSUFBSSxZQUFZLENBQUE7SUFDaEIsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUE7SUFDM0IsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEIsS0FBSyxPQUFPO1lBQ1YsWUFBWSxHQUFHLFVBQVU7Z0JBQ3ZCLFFBQVEsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQTtZQUM3RCxLQUFLLENBQUE7UUFDUCxLQUFLLEtBQUs7WUFDUixZQUFZLEdBQUcsTUFBTTtnQkFDbkIsT0FBTyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBQUE7WUFDbEQsS0FBSyxDQUFBO1FBQ1A7WUFDRSxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUE7WUFDeEQsS0FBSyxDQUFBO0lBQ1QsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUFZLENBQUE7QUFDckIsQ0FBQyxDQUFBIn0=