mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
* first action! (#1)
This commit is contained in:
parent
8deacc95b1
commit
ace1e6a69a
3750 changed files with 1155519 additions and 0 deletions
151
node_modules/semver-utils/semver-utils.js
generated
vendored
Normal file
151
node_modules/semver-utils/semver-utils.js
generated
vendored
Normal file
|
@ -0,0 +1,151 @@
|
|||
(function () {
|
||||
"use strict";
|
||||
|
||||
// TODO break these down into escaped strings with meaningful comments and create using new RegExp()
|
||||
// |optional 'v'
|
||||
// | | 3 segment version
|
||||
// | | |optional release prefixed by '-'
|
||||
// | | | |optional build prefixed by '+'
|
||||
var reSemver = /^v?((\d+)\.(\d+)\.(\d+))(?:-([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?(?:\+([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?$/
|
||||
//, reSemverRange = /\s*((\|\||\-)|(([<>~]?=?)\s*(v)?([0-9]+)(\.(x|[0-9]+))?(\.(x|[0-9]+))?(([\-+])([a-zA-Z0-9\.]+))?))\s*/g
|
||||
, reSemverRange = /\s*((\|\||\-)|(((?:(?:~?[<>]?)|\^?)=?)\s*(v)?([0-9]+)(\.(x|\*|[0-9]+))?(\.(x|\*|[0-9]+))?(([\-+])([a-zA-Z0-9\.-]+))?))\s*/g
|
||||
;
|
||||
|
||||
// Returns a new object with all of the undefined properties removed from the given object
|
||||
function pruned(obj) {
|
||||
var o = {};
|
||||
for(var key in obj) {
|
||||
if ('undefined' !== typeof obj[key]) {
|
||||
o[key] = obj[key];
|
||||
}
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
function stringifySemver(obj) {
|
||||
var str = ''
|
||||
;
|
||||
|
||||
str += obj.major || '0';
|
||||
str += '.';
|
||||
str += obj.minor || '0';
|
||||
str += '.';
|
||||
str += obj.patch || '0';
|
||||
if (obj.release) {
|
||||
str += '-' + obj.release;
|
||||
}
|
||||
if (obj.build) {
|
||||
str += '+' + obj.build;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
function stringifySemverRange(arr) {
|
||||
var str = ''
|
||||
;
|
||||
|
||||
function stringify(ver) {
|
||||
if (ver.operator) {
|
||||
str += ver.operator + ' ';
|
||||
}
|
||||
if (ver.major) {
|
||||
str += ver.toString() + ' ';
|
||||
}
|
||||
}
|
||||
|
||||
arr.forEach(stringify);
|
||||
|
||||
return str.trim();
|
||||
}
|
||||
|
||||
function SemVer(obj) {
|
||||
if (!obj) {
|
||||
return;
|
||||
}
|
||||
|
||||
var me = this
|
||||
;
|
||||
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
me[key] = obj[key];
|
||||
});
|
||||
}
|
||||
SemVer.prototype.toString = function () {
|
||||
return stringifySemver(this);
|
||||
};
|
||||
|
||||
/*
|
||||
function SemVerRange(obj) {
|
||||
if (!obj) {
|
||||
return;
|
||||
}
|
||||
|
||||
var me = this
|
||||
;
|
||||
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
me[key] = obj[key];
|
||||
});
|
||||
}
|
||||
SemVerRange.prototype = [];
|
||||
SemVerRange.prototype.toString = stringifySemverRange;
|
||||
*/
|
||||
|
||||
function parseSemver(version) {
|
||||
// semver, major, minor, patch
|
||||
// https://github.com/mojombo/semver/issues/32
|
||||
// https://github.com/isaacs/node-semver/issues/10
|
||||
// optional v
|
||||
var m = reSemver.exec(version) || []
|
||||
, ver = new SemVer(pruned({
|
||||
semver: m[0]
|
||||
, version: m[1]
|
||||
, major: m[2]
|
||||
, minor: m[3]
|
||||
, patch: m[4]
|
||||
, release: m[5]
|
||||
, build: m[6]
|
||||
}))
|
||||
;
|
||||
|
||||
if (0 === m.length) {
|
||||
ver = null;
|
||||
}
|
||||
|
||||
return ver;
|
||||
}
|
||||
|
||||
function parseSemverRange(str) {
|
||||
var m
|
||||
, arr = []
|
||||
, obj
|
||||
;
|
||||
|
||||
|
||||
while (m = reSemverRange.exec(str)) {
|
||||
obj = {
|
||||
semver: m[3]
|
||||
, operator: m[4] || m[2]
|
||||
, major: m[6]
|
||||
, minor: m[8]
|
||||
, patch: m[10]
|
||||
};
|
||||
if ('+' === m[12]) {
|
||||
obj.build = m[13];
|
||||
}
|
||||
if ('-' === m[12]) {
|
||||
obj.release = m[13];
|
||||
}
|
||||
arr.push(new SemVer(pruned(obj)));
|
||||
//console.log(m);
|
||||
}
|
||||
|
||||
//return new SemVerRange(arr);
|
||||
return arr;
|
||||
}
|
||||
|
||||
module.exports.parse = parseSemver;
|
||||
module.exports.stringify = stringifySemver;
|
||||
module.exports.parseRange = parseSemverRange;
|
||||
module.exports.stringifyRange = stringifySemverRange;
|
||||
}());
|
Loading…
Add table
Add a link
Reference in a new issue