isSemVer

import { isSemVer } from "jsr:@ende/semver";

function

function isSemVer(value: unknown): value is SemVer

Checks to see if value is a valid SemVer object. It does a check into each field including prerelease and build.

Some invalid SemVer sentinels can still return true such as ANY and INVALID. An object which has the same value as a sentinel but isn't reference equal will still fail.

Objects which are valid SemVer objects but have extra fields are still considered SemVer objects and this will return true.

A type assertion is added to the value.

value: unknown

The value to check to see if its a valid SemVer object

Returns

True if value is a valid SemVer otherwise false

Example: Usage

import { isSemVer } from "@ende/semver/is-semver";
import { assert } from "@ende/assert";

const value = {
  major: 1,
  minor: 2,
  patch: 3,
};

assert(isSemVer(value));
assert(!isSemVer({ major: 1, minor: 2 }));

Source