From a6ab532c7cbe136d61eb473b54ec89c8f4919293 Mon Sep 17 00:00:00 2001 From: Marius <11645567+mflknr@users.noreply.github.com> Date: Tue, 30 Mar 2021 22:30:57 +0200 Subject: [PATCH] Fix documentation (#9) * Create pr-check.yml * Update pr-check.yml * Update README.md * Create build_check.yml * Update and rename build_check.yml to build-check.yml * Update build-check.yml * Update pr-check.yml * Create main-release.yml * chore: fix workflow * Update main-release.yml * Update and rename build-check.yml to build.yml * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Add Example (#5) * feat: add example project * feat: add basic example view * Hashable Conformance (#6) * feat: add hashable protocol conformance * chore: update readme * feat: add version from bundle with bundleversion and shortversion * tests: add fix build number to bundles * fix: readme * Update pr-check.yml * Update pr-check.yml * Update build.yml * Update build.yml * Delete pr-check.yml * Update build.yml * fix: build yml * Handle pre-release and build-meta-data for construction and comparison (#7) * feat: add identifier enums * feat: add equatable to prerelease identifier * feat: add hashable to semanticversioncomparable * feat: add buildidentifier * feat: add prerelease identifier * feat: add build as comparison result * refactor: use new build and prerelease identifier * feat: add regex matches for numeric and alphanumeric strings * feat: add prerelease to equatable * feat: update comparison result with build * feat: update comparable protocol with new identifier * feat: add prerelease and build to comparison result * docs: update jazzy file * refactor: documentation style and new accessor * refactor: remove dead code * docs: update docs and accesor level * feat: cleanup * refactor: rename after semver * refactor: further renaming * refactor: rename missing group * refactor: add missing warning * refactor: naming and docs * docs: jazzy * feat: update readme * fix: equality comparison * fix: compare result * docs: update readme and jazzy * fix: merge * fix: missing parts in readme * refactor: add on tag trigger for main release * refactor: rm dead file * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update main-release.yml * Update build.yml * Update build.yml * refactor: rm gen proj from ci * feat: set test conf to release * Update build.yml * fix: tests * Update example-project and tests (#8) * feat: update example * fix: correct comparison when checking version core * feat: add string literal conformance to extensions * feat: make init more safe * test: add more test cases * docs: update jazzy * fix: readme * test: add more valid test cases for literal construction * refactor: update alphanumeric regex pattern * fix: exlusion of multiple - symbols in prerelease identifiers * fix: ignoring leading zeros in version identifiers * docs: update * refactor: cleanup docs Co-authored-by: Marius <11645567+nihilias@users.noreply.github.com> --- .jazzy.yml | 1 - ...SemanticVersionComparable+Comparable.swift | 11 +- .../SemanticVersionComparable+Hashable.swift | 4 + docs/Enums.html | 2 +- docs/Enums/BuildMetaData.html | 2 +- docs/Enums/PrereleaseIdentifier.html | 2 +- docs/Enums/VersionCompareResult.html | 2 +- docs/Extensions.html | 2 +- docs/Extensions/Bundle.html | 2 +- docs/Extensions/ProcessInfo.html | 2 +- docs/Protocols.html | 2 +- docs/Protocols/SemanticVersionComparable.html | 97 ++++-------------- docs/Structs.html | 2 +- docs/Structs/Version.html | 2 +- .../Contents/Resources/Documents/Enums.html | 2 +- .../Documents/Enums/BuildMetaData.html | 2 +- .../Documents/Enums/PrereleaseIdentifier.html | 2 +- .../Documents/Enums/VersionCompareResult.html | 2 +- .../Resources/Documents/Extensions.html | 2 +- .../Documents/Extensions/Bundle.html | 2 +- .../Documents/Extensions/ProcessInfo.html | 2 +- .../Resources/Documents/Protocols.html | 2 +- .../Protocols/SemanticVersionComparable.html | 97 ++++-------------- .../Contents/Resources/Documents/Structs.html | 2 +- .../Resources/Documents/Structs/Version.html | 2 +- .../Contents/Resources/Documents/index.html | 6 +- .../Contents/Resources/Documents/search.json | 2 +- .../Resources/Documents/undocumented.json | 4 +- .../.docset/Contents/Resources/docSet.dsidx | Bin 28672 -> 28672 bytes docs/docsets/.tgz | Bin 82746 -> 82697 bytes docs/index.html | 6 +- docs/search.json | 2 +- 32 files changed, 75 insertions(+), 195 deletions(-) diff --git a/.jazzy.yml b/.jazzy.yml index 2e8b75b..3d67b97 100644 --- a/.jazzy.yml +++ b/.jazzy.yml @@ -15,4 +15,3 @@ xcodebuild_arguments: - SwiftVersionCompare.xcodeproj - -scheme - SwiftVersionCompare-Package - diff --git a/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Comparable.swift b/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Comparable.swift index 7e76e8a..c42f5f7 100644 --- a/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Comparable.swift +++ b/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Comparable.swift @@ -6,6 +6,9 @@ // public extension SemanticVersionComparable { + /// Compare versions using the `SemVer` ranking system. + /// + /// - Note: Build-meta-data have no influence on a version's rank. static func < (lhs: Self, rhs: Self) -> Bool { // if versions are identical on major, minor and patch level, compare them lexicographiocally guard lhs.hasEqualVersionCore(as: rhs) else { @@ -61,12 +64,4 @@ public extension SemanticVersionComparable { // lastly, if number of identifiers of lhs version is lower than rhs version, it ranks lower return lhspr.count < rhspr.count } - - static func <= (lhs: Self, rhs: Self) -> Bool { - lhs == rhs || lhs < rhs - } - - static func >= (lhs: Self, rhs: Self) -> Bool { - lhs == rhs || lhs > rhs - } } diff --git a/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Hashable.swift b/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Hashable.swift index 4f940de..d4c1280 100644 --- a/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Hashable.swift +++ b/Sources/SwiftVersionCompare/SemanticVersionComparable/SemanticVersionComparable+Hashable.swift @@ -6,6 +6,10 @@ // extension SemanticVersionComparable { + /// Conformance to `Hashable` protocol. + /// + /// - Note: Since build-meta-data are not considered in ranking semantic version, it won't be considered + /// here either. public func hash(into hasher: inout Hasher) { hasher.combine(major) hasher.combine(minor) diff --git a/docs/Enums.html b/docs/Enums.html index 40a0f9e..414dd30 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -207,7 +207,7 @@
Pre-release identifier of a version.
-Build-meta-data of a version.
-
-
+
- <(_:_:)
+ <(_:_:)
Extension method
@@ -282,71 +268,19 @@ Swift
-static func < (lhs: Self, rhs: Self) -> Bool
+ Compare versions using the SemVer
ranking system.
Note
+ Build-meta-data have no influence on a version’s rank. -
-
-
- <=(_:_:)
-
-
- Extension method
-
- Swift
-static func <= (lhs: Self, rhs: Self) -> Bool
+
-
-
- >=(_:_:)
-
-
- Extension method
-
- Swift
-static func >= (lhs: Self, rhs: Self) -> Bool
+ static func < (lhs: Self, rhs: Self) -> Bool
-
+
- hash(into:)
+ hash(into:)
Extension method
@@ -437,7 +371,14 @@ Conformance to Hashable
protocol.
Note
+ Since build-meta-data are not considered in ranking semantic version, it won’t be considered + here either. + +Pre-release identifier of a version.
-Build-meta-data of a version.
-
-
+
- <(_:_:)
+ <(_:_:)
Extension method
@@ -282,71 +268,19 @@ Swift
-static func < (lhs: Self, rhs: Self) -> Bool
+ Compare versions using the SemVer
ranking system.
Note
+ Build-meta-data have no influence on a version’s rank. -
-
-
- <=(_:_:)
-
-
- Extension method
-
- Swift
-static func <= (lhs: Self, rhs: Self) -> Bool
+
-
-
- >=(_:_:)
-
-
- Extension method
-
- Swift
-static func >= (lhs: Self, rhs: Self) -> Bool
+ static func < (lhs: Self, rhs: Self) -> Bool
-
+
- hash(into:)
+ hash(into:)
Extension method
@@ -437,7 +371,14 @@ Conformance to Hashable
protocol.
Note
+ Since build-meta-data are not considered in ranking semantic version, it won’t be considered + here either. + +Swift Package Manager:
-package(url: https://github.com/nihilias/SwiftVersionCompare.git", from: "1.0.0"))
+package(url: https://github.com/mflknr/SwiftVersionCompare.git", from: "1.0.0"))
Usage
-For detailed implenentation information see documentation.
+For detailed implenentation information see documentation.
// use the version core identifier for initialization
let versionOne = Version(1, 0, 0)
let versionTwo = Version(
@@ -129,7 +129,7 @@ Usage
diff --git a/docs/docsets/.docset/Contents/Resources/Documents/search.json b/docs/docsets/.docset/Contents/Resources/Documents/search.json
index fdbfb8f..1c6c4b0 100644
--- a/docs/docsets/.docset/Contents/Resources/Documents/search.json
+++ b/docs/docsets/.docset/Contents/Resources/Documents/search.json
@@ -1 +1 @@
-{"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5majorSuvp":{"name":"major","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5minorSuSgvp":{"name":"minor","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5patchSuSgvp":{"name":"patch","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP10prereleaseSayAA20PrereleaseIdentifierOGSgvp":{"name":"prerelease","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5buildSayAA13BuildMetaDataOGSgvp":{"name":"build","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0VyACSu_SuSgADSayAA20PrereleaseIdentifierOGSgSayAA13BuildMetaDataOGSgtcfc":{"name":"init(_:_:_:_:_:)","abstract":"Creates a new version.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V5major5minor5patch10prerelease5buildACSu_SuSgAISayAA20PrereleaseIdentifierOGSgSayAA13BuildMetaDataOGSgtcfc":{"name":"init(major:minor:patch:prerelease:build:)","abstract":"Creates a new version.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V7privateACSgSS_tcfc":{"name":"init(private:)","abstract":"Creates a new version using a string.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0VyACSgSScfc":{"name":"init(_:)","abstract":"Creates a new version from a string.
","parent_name":"Version"},"Structs/Version.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V13stringLiteralACSS_tcfc":{"name":"init(stringLiteral:)","abstract":"Creates a new version from a string literal.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V19stringInterpolationACs013DefaultStringE0V_tcfc":{"name":"init(stringInterpolation:)","abstract":"Creates a new version from a string interpolation.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V7initialACvpZ":{"name":"initial","abstract":"An initial version representing the string 0.0.0
.
","parent_name":"Version"},"Structs/Version.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Version"},"Structs/Version.html":{"name":"Version","abstract":"A version type conforming to SemVer
.
"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5majorSuvp":{"name":"major","abstract":"The MAJOR
identifier of a version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5minorSuSgvp":{"name":"minor","abstract":"The MINOR
identifier of a version
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5patchSuSgvp":{"name":"patch","abstract":"The PATCH
identifer of a verion.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP10prereleaseSayAA20PrereleaseIdentifierOGSgvp":{"name":"prerelease","abstract":"Pre-release identifier of a version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5buildSayAA13BuildMetaDataOGSgvp":{"name":"build","abstract":"Build-meta-data of a version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:SL1loiySbx_xtFZ":{"name":"<(_:_:)","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:SL2leoiySbx_xtFZ":{"name":"<=(_:_:)","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:SL2geoiySbx_xtFZ":{"name":">=(_:_:)","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE2eeoiySbx_xtFZ":{"name":"==(_:_:)","abstract":"Compares version objects for equality.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE3eeeoiySbx_xtFZ":{"name":"===(_:_:)","abstract":"Strictly compares version objects for equality.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE12isCompatible4withSbx_tF":{"name":"isCompatible(with:)","abstract":"A Boolean value indicating the compatibility of two versions.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE7compare4withAA0bC6ResultOx_tF":{"name":"compare(with:)","abstract":"Compare versions for their update severity.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE08hasEqualB4Core2asSbx_tF":{"name":"hasEqualVersionCore(as:)","abstract":"Check if a version has an equal version core as another version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE14absoluteStringSSvp":{"name":"absoluteString","abstract":"The absolute string of the version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE10coreStringSSvp":{"name":"coreString","abstract":"The string of the version representing MAJOR.MINOR.PATCH
.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE15extensionStringSSSgvp":{"name":"extensionString","abstract":"The string of the version representing the pre-release identifier and build-meta-data.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE26prereleaseIdentifierStringSSSgvp":{"name":"prereleaseIdentifierString","abstract":"The pre-release identifier as a string if available.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE19buildMetaDataStringSSSgvp":{"name":"buildMetaDataString","abstract":"The build meta data as a string if available.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html":{"name":"SemanticVersionComparable","abstract":"A type that can be expressed as a semantic version conforming to SemVer
.
"},"Extensions/ProcessInfo.html#/s:So13NSProcessInfoC19SwiftVersionCompareE025comparableOperatingSystemD0AC0D0Vvp":{"name":"comparableOperatingSystemVersion","abstract":"The version of the operating system on which the current process is executing.
","parent_name":"ProcessInfo"},"Extensions/Bundle.html#/s:So8NSBundleC19SwiftVersionCompareE05shortC0AC0C0VSgvp":{"name":"shortVersion","abstract":"The version of the current bundle.
","parent_name":"Bundle"},"Extensions/Bundle.html#/s:So8NSBundleC19SwiftVersionCompareE7versionAC0C0VSgvp":{"name":"version","abstract":"The full version of the current bundle.
","parent_name":"Bundle"},"Extensions/Bundle.html":{"name":"Bundle"},"Extensions/ProcessInfo.html":{"name":"ProcessInfo"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO5alphayA2CmF":{"name":"alpha","abstract":"Identifier displaying alpha
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO4betayA2CmF":{"name":"beta","abstract":"Identifier displaying beta
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO10prereleaseyA2CmF":{"name":"prerelease","abstract":"Identifier displaying prerelease
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO16releaseCandidateyA2CmF":{"name":"releaseCandidate","abstract":"Identifier displaying rc
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO12alphaNumericyACSScACmF":{"name":"alphaNumeric(_:)","abstract":"Alphanumeric identifier are lower- and uppercased letters and numbers from 0-9.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO7numericyACSucACmF":{"name":"numeric(_:)","abstract":"Numeric identifier are positive numbers and zeros, yet they do not allow for leading zeros.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO7unknownyA2CmF":{"name":"unknown","abstract":"Unknown identifier are used when string literals do not conform to SemVer
and are removed.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO2eeoiySbAC_ACtFZ":{"name":"==(_:_:)","abstract":"Compares pre-release identifiers for equality.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s25LosslessStringConvertiblePyxSgSScfc":{"name":"init(_:)","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO5valueSSvp":{"name":"value","abstract":"Undocumented
","parent_name":"PrereleaseIdentifier"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO12alphaNumericyACSScACmF":{"name":"alphaNumeric(_:)","abstract":"Alphanumeric identifier are lower- and uppercased letters and numbers from 0-9.
","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO6digitsyACSScACmF":{"name":"digits(_:)","abstract":"Digit identifier are positive numbers and zeros, thus allowing leading zeros.
","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO7unknownyA2CmF":{"name":"unknown","abstract":"Unknown identifier are used when string literals do not conform to SemVer
and are removed.
","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:s25LosslessStringConvertiblePyxSgSScfc":{"name":"init(_:)","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO5valueSSvp":{"name":"value","abstract":"Undocumented
","parent_name":"BuildMetaData"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5majoryA2CmF":{"name":"major","abstract":"A MAJOR
update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5minoryA2CmF":{"name":"minor","abstract":"A MINOR
update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5patchyA2CmF":{"name":"patch","abstract":"A PATCH
update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO10prereleaseyA2CmF":{"name":"prerelease","abstract":"A pre-release update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5buildyA2CmF":{"name":"build","abstract":"A build update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO8noUpdateyA2CmF":{"name":"noUpdate","abstract":"The version is not an update (less or equal)
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html":{"name":"VersionCompareResult","abstract":"The severity of an update between versions.
"},"Enums/BuildMetaData.html":{"name":"BuildMetaData","abstract":"Typed build-meta-data identifier.
"},"Enums/PrereleaseIdentifier.html":{"name":"PrereleaseIdentifier","abstract":"Typed pre-release identifier.
"},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally.
"},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally.
"},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally.
"},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally.
"}}
\ No newline at end of file
+{"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5majorSuvp":{"name":"major","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5minorSuSgvp":{"name":"minor","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5patchSuSgvp":{"name":"patch","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP10prereleaseSayAA20PrereleaseIdentifierOGSgvp":{"name":"prerelease","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5buildSayAA13BuildMetaDataOGSgvp":{"name":"build","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0VyACSu_SuSgADSayAA20PrereleaseIdentifierOGSgSayAA13BuildMetaDataOGSgtcfc":{"name":"init(_:_:_:_:_:)","abstract":"Creates a new version.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V5major5minor5patch10prerelease5buildACSu_SuSgAISayAA20PrereleaseIdentifierOGSgSayAA13BuildMetaDataOGSgtcfc":{"name":"init(major:minor:patch:prerelease:build:)","abstract":"Creates a new version.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V7privateACSgSS_tcfc":{"name":"init(private:)","abstract":"Creates a new version using a string.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0VyACSgSScfc":{"name":"init(_:)","abstract":"Creates a new version from a string.
","parent_name":"Version"},"Structs/Version.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V13stringLiteralACSS_tcfc":{"name":"init(stringLiteral:)","abstract":"Creates a new version from a string literal.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V19stringInterpolationACs013DefaultStringE0V_tcfc":{"name":"init(stringInterpolation:)","abstract":"Creates a new version from a string interpolation.
","parent_name":"Version"},"Structs/Version.html#/s:19SwiftVersionCompare0B0V7initialACvpZ":{"name":"initial","abstract":"An initial version representing the string 0.0.0
.
","parent_name":"Version"},"Structs/Version.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Version"},"Structs/Version.html":{"name":"Version","abstract":"A version type conforming to SemVer
.
"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5majorSuvp":{"name":"major","abstract":"The MAJOR
identifier of a version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5minorSuSgvp":{"name":"minor","abstract":"The MINOR
identifier of a version
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5patchSuSgvp":{"name":"patch","abstract":"The PATCH
identifer of a verion.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP10prereleaseSayAA20PrereleaseIdentifierOGSgvp":{"name":"prerelease","abstract":"Pre-release identifier of a version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparableP5buildSayAA13BuildMetaDataOGSgvp":{"name":"build","abstract":"Build-meta-data of a version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE1loiySbx_xtFZ":{"name":"<(_:_:)","abstract":"Compare versions using the SemVer
ranking system.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE2eeoiySbx_xtFZ":{"name":"==(_:_:)","abstract":"Compares version objects for equality.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE3eeeoiySbx_xtFZ":{"name":"===(_:_:)","abstract":"Strictly compares version objects for equality.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Conformance to Hashable
protocol.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE12isCompatible4withSbx_tF":{"name":"isCompatible(with:)","abstract":"A Boolean value indicating the compatibility of two versions.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE7compare4withAA0bC6ResultOx_tF":{"name":"compare(with:)","abstract":"Compare versions for their update severity.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE08hasEqualB4Core2asSbx_tF":{"name":"hasEqualVersionCore(as:)","abstract":"Check if a version has an equal version core as another version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE14absoluteStringSSvp":{"name":"absoluteString","abstract":"The absolute string of the version.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE10coreStringSSvp":{"name":"coreString","abstract":"The string of the version representing MAJOR.MINOR.PATCH
.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE15extensionStringSSSgvp":{"name":"extensionString","abstract":"The string of the version representing the pre-release identifier and build-meta-data.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE26prereleaseIdentifierStringSSSgvp":{"name":"prereleaseIdentifierString","abstract":"The pre-release identifier as a string if available.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html#/s:19SwiftVersionCompare08SemanticB10ComparablePAAE19buildMetaDataStringSSSgvp":{"name":"buildMetaDataString","abstract":"The build meta data as a string if available.
","parent_name":"SemanticVersionComparable"},"Protocols/SemanticVersionComparable.html":{"name":"SemanticVersionComparable","abstract":"A type that can be expressed as a semantic version conforming to SemVer
.
"},"Extensions/ProcessInfo.html#/s:So13NSProcessInfoC19SwiftVersionCompareE025comparableOperatingSystemD0AC0D0Vvp":{"name":"comparableOperatingSystemVersion","abstract":"The version of the operating system on which the current process is executing.
","parent_name":"ProcessInfo"},"Extensions/Bundle.html#/s:So8NSBundleC19SwiftVersionCompareE05shortC0AC0C0VSgvp":{"name":"shortVersion","abstract":"The version of the current bundle.
","parent_name":"Bundle"},"Extensions/Bundle.html#/s:So8NSBundleC19SwiftVersionCompareE7versionAC0C0VSgvp":{"name":"version","abstract":"The full version of the current bundle.
","parent_name":"Bundle"},"Extensions/Bundle.html":{"name":"Bundle"},"Extensions/ProcessInfo.html":{"name":"ProcessInfo"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO5alphayA2CmF":{"name":"alpha","abstract":"Identifier displaying alpha
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO4betayA2CmF":{"name":"beta","abstract":"Identifier displaying beta
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO10prereleaseyA2CmF":{"name":"prerelease","abstract":"Identifier displaying prerelease
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO16releaseCandidateyA2CmF":{"name":"releaseCandidate","abstract":"Identifier displaying rc
.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO12alphaNumericyACSScACmF":{"name":"alphaNumeric(_:)","abstract":"Alphanumeric identifier are lower- and uppercased letters and numbers from 0-9.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO7numericyACSucACmF":{"name":"numeric(_:)","abstract":"Numeric identifier are positive numbers and zeros, yet they do not allow for leading zeros.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO7unknownyA2CmF":{"name":"unknown","abstract":"Unknown identifier are used when string literals do not conform to SemVer
and are removed.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO2eeoiySbAC_ACtFZ":{"name":"==(_:_:)","abstract":"Compares pre-release identifiers for equality.
","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s25LosslessStringConvertiblePyxSgSScfc":{"name":"init(_:)","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"PrereleaseIdentifier"},"Enums/PrereleaseIdentifier.html#/s:19SwiftVersionCompare20PrereleaseIdentifierO5valueSSvp":{"name":"value","abstract":"Undocumented
","parent_name":"PrereleaseIdentifier"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO12alphaNumericyACSScACmF":{"name":"alphaNumeric(_:)","abstract":"Alphanumeric identifier are lower- and uppercased letters and numbers from 0-9.
","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO6digitsyACSScACmF":{"name":"digits(_:)","abstract":"Digit identifier are positive numbers and zeros, thus allowing leading zeros.
","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO7unknownyA2CmF":{"name":"unknown","abstract":"Unknown identifier are used when string literals do not conform to SemVer
and are removed.
","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:s25LosslessStringConvertiblePyxSgSScfc":{"name":"init(_:)","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"BuildMetaData"},"Enums/BuildMetaData.html#/s:19SwiftVersionCompare13BuildMetaDataO5valueSSvp":{"name":"value","abstract":"Undocumented
","parent_name":"BuildMetaData"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5majoryA2CmF":{"name":"major","abstract":"A MAJOR
update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5minoryA2CmF":{"name":"minor","abstract":"A MINOR
update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5patchyA2CmF":{"name":"patch","abstract":"A PATCH
update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO10prereleaseyA2CmF":{"name":"prerelease","abstract":"A pre-release update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO5buildyA2CmF":{"name":"build","abstract":"A build update
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html#/s:19SwiftVersionCompare0bC6ResultO8noUpdateyA2CmF":{"name":"noUpdate","abstract":"The version is not an update (less or equal)
","parent_name":"VersionCompareResult"},"Enums/VersionCompareResult.html":{"name":"VersionCompareResult","abstract":"The severity of an update between versions.
"},"Enums/BuildMetaData.html":{"name":"BuildMetaData","abstract":"Typed build-meta-data identifier.
"},"Enums/PrereleaseIdentifier.html":{"name":"PrereleaseIdentifier","abstract":"Typed pre-release identifier.
"},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally.
"},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally.
"},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally.
"},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally.
"}}
\ No newline at end of file
diff --git a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json
index ac7c16b..77f0725 100644
--- a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json
+++ b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json
@@ -2,14 +2,14 @@
"warnings": [
{
"file": "/Users/nihilias/Developer/Repositories/SwiftVersionCompare/Sources/SwiftVersionCompare/SemanticVersionComparable/BuildMetaData/BuildMetaData.swift",
- "line": 32,
+ "line": 35,
"symbol": "BuildMetaData.value",
"symbol_kind": "source.lang.swift.decl.var.instance",
"warning": "undocumented"
},
{
"file": "/Users/nihilias/Developer/Repositories/SwiftVersionCompare/Sources/SwiftVersionCompare/SemanticVersionComparable/PrereleaseIdentifier/PrereleaseIdentifier.swift",
- "line": 46,
+ "line": 49,
"symbol": "PrereleaseIdentifier.value",
"symbol_kind": "source.lang.swift.decl.var.instance",
"warning": "undocumented"
diff --git a/docs/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/docsets/.docset/Contents/Resources/docSet.dsidx
index 2ca71041bc1757179e1051a9da16a388caf6adf3..4ee9cc7dd23b03eeaec2aaf619d9152901444419 100644
GIT binary patch
delta 1137
zcmZ|OTTGi(902g|-^=%X1qx)+m2V#(v};!`9jrjhrL;gPv=oPw>x_&`KW@Dj7{q|w
z4w*bHDE;f4nNc71fCjTLj1QXlq}hV;lIYYdUS`w>gFYh*pObTb
z|Nq8a*tiSNixAi;@wMOaxlglSXb<_@e7*7|_*ru$_fF2G>|oxD(5LuI^6*i7I@Vl#6-i`pn!0gFQh=)jL{Zt!AubsCEC)#@#f@Knt<6ye)7S3$&J?Pc`|
zZh{eaJbF~vt#Asf>^;YfB!@K#WD&xl3*oXzav_x-m=x@pkv%h7x=`0i`&08n%VP_^
zLj2ag33?oNtZR?2vZ6r7z*RQp97_*O;mx{3zCFq6MdAhgE(}LBXu&(pGBlvOA{VUC4XSUe`&1vODwUTNe=1_|6ZA5>
zJ9Batv6QfkN7~fP;+*?2TnlbfYHe?tQor82MX5{swkh>HeOI+7Sf*Uqgo#vQHZ+fa
zpN-jOaBYUNOmF1WYGU>F8-f6Vf6U@0D)MubOe_9>;sO0$dH5*)}y(s&iv^b2;bo{JT``DZrzUnF{60
zVam89%hc%`IYFJeCS-8oTeNM${7IQ}vW#9LCM@zk$uBgrOa|$Z5g%%xZ<2_FKQs?3
zhU#%|>KqkQO;3UYBhyjN&N7uEX+hC7tBBX)*_i}Ie0OG@B09q>ob5rhl|~D==L#rB
z&Y&?eN>gnkvOtCZh|Ke+=@yanB+=;7<0rlVei|*{tPhSIrpHQjt_weM>Xk%Qfw9=L
zG!5>>mY@t{@i?u8uj5Iupg-ZDmA9I(a%TFG5-G=h|A-=D!rWwxJIOMcN_ki)tE^GY
Vv`8b^TPI+*-KHdk1`MaJ`~yESSi%4R
delta 1241
zcmZvcNlY787{}+cJ#WVB2Z%Em2V9#yxVG`I7~9|&Y_kP}S*j2N9yZ%}A;eXILSWRC
zQ{L@^<`JAj+&!zCd)Q`O2=G(CfMUwb8AgafkOlnO<}wETwn+GF#1>7aQwwM7{B%7zH@G;O
z_7=)OiUoNbocK_T;kK9y0{$qjsE_s%oglN|!bf7G5bUx}Po|;^L1}(;KJ7iFIjA}g
ztMUI=kMt0&AS=OvkHrQ>unV{A?(p6u(P(84;G_67R3bEp>I%7tbnE14z|95$uO^q&
zMp+=WI{8(=WNIB=z}d!K@Zf3t8ebD91zOn+cqTpxRa=3kCV)D;;D~}1pE^dsf&wPF4eEpX%QFsk=s@)H7k^0#(9m#KJyiM^z70%gW!CJ&G-b5#ECgCVa`Q
zQOad{{5WufdeYy!PCa?jyGA`p_Fbf&{M&bpdU7>*8MJ8be~S+l5@uhIyEdmH=tuiN
zAukYSPlW>$2J*P0grN?EsTuR?fM)-NeZCKYBhRYO_u*s#VfKVL^kHjzP@O@A|8~qk
z{47(ft;Bm~ni(Go;WF@IOV~i#ScXR6FaeyYm1W8coY?KE(zB)*8T2k+AZLQqg@fQ
zpguZ6U0jW(sRDmT=Xev{qLq7+sCQ`ap0^#piRE)O`^OH`V|Daf2i~z$hN|N@GxIw2
zUHK1iV{+pF
diff --git a/docs/docsets/.tgz b/docs/docsets/.tgz
index 13230c768bb0bfcfa38b20108f4c4e0f9a13a81f..e009a024f5b55af4494667b7a5ca3a4bf685d3c4 100644
GIT binary patch
delta 79069
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