the input string to apply the suffix replacement to.
the suffix string of the input to replace.
the optional value to replace the the suffix with. defaults to "" (empty string).
if a matching suffix is found in the input, then it will be replaced with the given value.
otherwise, undefined will be returned if the input does not begin with the suffix.
import { assertEquals } from "jsr:@std/assert"
// aliasing our function for brevity
const
eq = assertEquals,
fn = replaceSuffix
eq(fn("hello-world/abc-123", "-123", "-xyz"), "hello-world/abc-xyz")
eq(fn("hello-world/abc-123", "-123"), "hello-world/abc")
eq(fn("hello-world/abc-123", "abc"), undefined)
eq(fn("hello-world/abc-123", ""), "hello-world/abc-123")
eq(fn("hello-world/abc-123", "", "-xyz"), "hello-world/abc-123-xyz")
replace the
suffixof of a giveninputstring with the given replacevalue. if a matching suffix is not found, thenundefinedwill be returned.