1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const gem_version_1 = require("./ruby/gem-version");
|
4 | const inc = () => {
|
5 | throw new Error('Not implemented');
|
6 | };
|
7 | exports.inc = inc;
|
8 | function valid(v) {
|
9 | if (!v) {
|
10 | return null;
|
11 | }
|
12 | try {
|
13 | return gem_version_1.GemVersion.create(v).toString();
|
14 | }
|
15 | catch (err) {
|
16 | return null;
|
17 | }
|
18 | }
|
19 | exports.valid = valid;
|
20 | function prerelease(v) {
|
21 | try {
|
22 | const version = gem_version_1.GemVersion.create(v);
|
23 | if (version.isPrerelease()) {
|
24 | const segments = version.getSegments();
|
25 | const preStartIndex = segments.findIndex((s) => typeof s === 'string' && /[a-zA-Z]/.test(s));
|
26 | return segments.slice(preStartIndex);
|
27 | }
|
28 | else {
|
29 | return null;
|
30 | }
|
31 | }
|
32 | catch (err) {
|
33 | return null;
|
34 | }
|
35 | }
|
36 | exports.prerelease = prerelease;
|
37 | function _segmentAt(v, index) {
|
38 | try {
|
39 | const segment = gem_version_1.GemVersion.create(v).getSegments()[index];
|
40 | return segment === undefined ? null : segment;
|
41 | }
|
42 | catch (err) {
|
43 | return null;
|
44 | }
|
45 | }
|
46 | function major(v) {
|
47 | return _segmentAt(v, 0);
|
48 | }
|
49 | exports.major = major;
|
50 | function minor(v) {
|
51 | return _segmentAt(v, 1);
|
52 | }
|
53 | exports.minor = minor;
|
54 | function patch(v) {
|
55 | return _segmentAt(v, 2);
|
56 | }
|
57 | exports.patch = patch;
|
58 |
|
\ | No newline at end of file |