replace the prefix of of a given input string with the given replace value. if a matching prefix is not found, then undefined will be returned.

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

// aliasing our function for brevity
const
eq = assertEquals,
fn = replacePrefix

eq(fn("hello-world/abc-123", "hello-", "goodbye-"), "goodbye-world/abc-123")
eq(fn("hello-world/abc-123", "hello-"), "world/abc-123")
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-"), "xyz-hello-world/abc-123")
  • Parameters

    • input: string

      the input string to apply the prefix replacement to.

    • prefix: string

      the prefix string of the input to replace.

    • value: string = ""

      the optional value to replace the the prefix with. defaults to "" (empty string).

    Returns undefined | string

    if a matching prefix 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 prefix.