Skip to content

Commit

Permalink
feat: Semver.new for construction
Browse files Browse the repository at this point in the history
Includes a `Semver.new` method, which constructs a `SemverImpl` from a
`Version`, by setting its metatable.
  • Loading branch information
CompeyDev committed Nov 22, 2024
1 parent 957e63c commit 30c104d
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion lib/init.luau
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,19 @@ local PRERELEASE_LEX_ORDER: { [PreleaseType]: number } = table.freeze({
rc = 3,
})

--[=[
@within Semver
@function new
Creates a new Semver instance from a [Version]
@param ver Version -- The version to create a Semver instance from
@return SemverImpl -- The new Semver instance
]=]
function Semver.new(ver: Version): SemverImpl
return setmetatable(ver, Semver)
end

--[=[
@within Semver
@function parse
Expand Down Expand Up @@ -344,7 +357,7 @@ function Semver.parse(ver: string): SemverResult<SemverImpl>
end
end

return Result.Ok(setmetatable(parsed :: Version, Semver))
return Result.Ok(Semver.new(parsed))
end

local function prereleaseEq(leftPrerelease: PrereleaseVersion?, rightPrerelease: PrereleaseVersion?): boolean
Expand Down

0 comments on commit 30c104d

Please sign in to comment.