summaryrefslogtreecommitdiff
path: root/.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@simplelittledream.com>2022-07-16 18:13:16 -0400
committerJacob McDonnell <jacob@simplelittledream.com>2022-07-16 18:13:16 -0400
commit8fad9a5ecddc88d57a531e4b0084544984f23d25 (patch)
tree84954bc8219942aa56bc899330ccd0007bbe0ef0 /.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js
parent2887af7fcfb4d618dd13cf66ec2fbdbd84c7527c (diff)
Added profile and other missing configs
Diffstat (limited to '.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js')
-rw-r--r--.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js b/.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js
new file mode 100644
index 0000000..1bcd82a
--- /dev/null
+++ b/.config/coc/extensions/node_modules/coc-go/lib/utils/versions.js
@@ -0,0 +1,33 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.parseVersion = exports.compareVersions = exports.isValidVersion = void 0;
+const versionExp = /^v?(\d+)\.(\d+)(\.(\d+))?$/;
+function isValidVersion(version) {
+ return Boolean(version.trim().match(versionExp));
+}
+exports.isValidVersion = isValidVersion;
+function compareVersions(version1, version2) {
+ const v1 = parseVersion(version1);
+ const v2 = parseVersion(version2);
+ for (let i = 0; i < 3; i++) {
+ if (v1[i] !== v2[i]) {
+ return Math.max(-1, Math.min(1, v1[i] - v2[i]));
+ }
+ }
+ return 0;
+}
+exports.compareVersions = compareVersions;
+function parseVersion(v) {
+ let ver = [0, 0, 0];
+ const match = v.trim().match(versionExp);
+ if (match) {
+ const [, major, minor, , patch = '0'] = match;
+ ver = [parseInt(major), parseInt(minor), parseInt(patch)];
+ }
+ if (!isValidVersion(v)) {
+ throw new Error(`'${v}' is not a valid version`);
+ }
+ return ver;
+}
+exports.parseVersion = parseVersion;
+//# sourceMappingURL=versions.js.map \ No newline at end of file