]> gitweb.factorcode.org Git - factor.git/commitdiff
semver: nicer api
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 24 Jan 2023 22:29:17 +0000 (14:29 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 24 Jan 2023 22:29:17 +0000 (14:29 -0800)
extra/semver/semver-tests.factor
extra/semver/semver.factor

index fc01ce59fcf204433e55ed840bca5dd830eb3b19..5699203e055dccf254cf4d4be4e71dbc3d4f5eea 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2020 Doug Coleman.
 ! See https://factorcode.org/license.txt for BSD license.
-USING: assocs kernel math.order random semver sequences
+USING: assocs kernel math math.order random semver sequences
 sequences.extras sorting tools.test ;
 IN: semver.tests
 
@@ -164,7 +164,7 @@ CONSTANT: semver-gt-comparisons {
 } [
     "0.1.4" >semver [ semver>string ] keep
     bump-prepatch [ semver>string ] keep
-    2 [ bump-prerelease [ semver>string ] keep ] times
+    2 [ bump-dev [ semver>string ] keep ] times
     2 [ bump-alpha [ semver>string ] keep ] times
     2 [ bump-beta [ semver>string ] keep ] times
     bump-rc [ semver>string ] keep
@@ -174,11 +174,11 @@ CONSTANT: semver-gt-comparisons {
 { "1.2.4-0" } [ "1.2.3" >semver bump-prepatch semver>string ] unit-test
 { "1.3.0-0" } [ "1.2.3" >semver bump-preminor semver>string ] unit-test
 { "2.0.0-0" } [ "1.2.3" >semver bump-premajor semver>string ] unit-test
-{ "2.0.0-1" } [ "1.2.3" >semver bump-premajor bump-prerelease semver>string ] unit-test
+{ "2.0.0-1" } [ "1.2.3" >semver bump-premajor bump-dev semver>string ] unit-test
 
-{ "1.2.3-erg.0" } [ "1.2.3-0" >semver "erg" bump-prerelease-id semver>string ] unit-test
-{ "1.2.3-erg.1" } [ "1.2.3-erg.0" >semver "erg" bump-prerelease-id semver>string ] unit-test
-{ "1.2.4-erg.0" } [ "1.2.3" >semver "erg" bump-prerelease-id semver>string ] unit-test
+{ "1.2.3-erg.0" } [ "1.2.3-0" >semver "erg" bump-prerelease semver>string ] unit-test
+{ "1.2.3-erg.1" } [ "1.2.3-erg.0" >semver "erg" bump-prerelease semver>string ] unit-test
+{ "1.2.4-erg.0" } [ "1.2.3" >semver "erg" bump-prerelease semver>string ] unit-test
 
 { T{ semver f 2 7 2 "pre" "build" } } [ "2.7.2-pre+build" >semver ] unit-test
 { T{ semver f 2 7 2 "pre" f } } [ "2.7.2-pre" >semver ] unit-test
index 2911d29b8f13676dae00675bc34068f39e128e76..bcc2a8832ce3d3a404ae90a3039f9fd06e8dc567 100644 (file)
@@ -65,7 +65,7 @@ M: string >semver
         [ 1 + ] change-patch
     ] when f >>prerelease ;
 
-: bump-prerelease-id ( semver id -- semver )
+: bump-prerelease ( semver id -- semver )
     over prerelease>> [
         [ bump-patch ] dip [ "0" ] [ ".0" append ] if-empty
     ] [
@@ -82,13 +82,13 @@ M: string >semver
         ] if
     ] if-empty >>prerelease f >>build ;
 
-: bump-prerelease ( semver -- semver ) f bump-prerelease-id ;
+: bump-dev ( semver -- semver ) f bump-prerelease ;
 
-: bump-alpha ( semver -- semver ) "alpha" bump-prerelease-id ;
+: bump-alpha ( semver -- semver ) "alpha" bump-prerelease ;
 
-: bump-beta ( semver -- semver ) "beta" bump-prerelease-id ;
+: bump-beta ( semver -- semver ) "beta" bump-prerelease ;
 
-: bump-rc ( semver -- semver ) "rc" bump-prerelease-id ;
+: bump-rc ( semver -- semver ) "rc" bump-prerelease ;
 
 : bump-premajor ( semver -- semver )
     [ 1 + ] change-major 0 >>minor 0 >>patch "0" >>prerelease f >>build ;