{"version":3,"file":"ensurePrefix-CvE5Qf1u.cjs","names":[],"sources":["../src/functions/ensurePrefix/ensurePrefix.ts"],"sourcesContent":["/**\n * Ensures that the string starts with the given prefix.\n * @param string The string to ensure the prefix of.\n * @param prefix The prefix to ensure.\n * @returns The string with the given prefix.\n * @example\n * ```ts\n * ensurePrefix('foo', 'bar'); // 'barfoo'\n * ensurePrefix('foobar', 'foo'); // 'foobar'\n * ```\n */\nexport function ensurePrefix<S extends string, Prefix extends string>(\n  string: S,\n  prefix: Prefix\n): EnsurePrefix<S, Prefix> {\n  if (string.startsWith(prefix)) {\n    return string as EnsurePrefix<S, Prefix>;\n  }\n\n  return `${prefix}${string}` as EnsurePrefix<S, Prefix>;\n}\n\ntype EnsurePrefix<\n  S extends string,\n  Prefix extends string,\n> = S extends `${Prefix}${infer _Suffix}` ? S : `${Prefix}${S}`;\n"],"mappings":";;;;;;;;;;;;;AAWA,SAAgB,aACd,QACA,QACyB;AACzB,KAAI,OAAO,WAAW,OAAO,CAC3B,QAAO;AAGT,QAAO,GAAG,SAAS"}