@oazmi/kitchensink - v0.9.13
    Preparing search index...

    Function normalize

    • this function converts versions with various forms of wildcards ("x", "X", "*"), or missing segments, into a normalized "1.x.x" representation.

      Parameters

      • version: string

      Returns string

      import { assertEquals } from "jsr:@std/assert"

      // aliasing our functions for brevity
      const
      fn = normalize,
      eq = assertEquals

      eq(fn("1.x"), "1.x.x")
      eq(fn("*"), "x.x.x")
      eq(fn(""), "x.x.x")
      eq(fn("2.3"), "2.3.x")
      eq(fn("X.2.3"), "x.2.3")
      eq(fn("1.*.3-rc1+build.xyz"), "1.x.3-rc1+build.xyz")
      eq(fn("1-rc1+build.xyz"), "1.x.x-rc1+build.xyz")
      eq(fn("2.*.3-rc1"), "2.x.3-rc1")
      eq(fn("3+build.xyz"), "3.x.x+build.xyz")