trim leading forward-slashes ("/") and dot-slashes ("./"), at the beginning a string. but exclude non-trivial dotdotslash ("/../") from being wrongfully trimmed.

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

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

eq(fn("///a/b.zip/c.txt"), "a/b.zip/c.txt")
eq(fn("///a/b.zip//"), "a/b.zip//")
eq(fn("//..//a/b.zip//"), "..//a/b.zip//")
eq(fn("/./..//a/b.zip//"), "..//a/b.zip//")
eq(fn("/./.././a/b.zip//"), ".././a/b.zip//")
eq(fn("///././///.////a/b.zip//"), "a/b.zip//")
eq(fn(".///././///.////a/b.zip//"), "a/b.zip//")
eq(fn("./././//././///.////a/b.zip//"), "a/b.zip//")
eq(fn("file:///a/b.zip//c.txt"), "file:///a/b.zip//c.txt")