type AfterLast< S extends string, ST extends string > = S extends `${string}${ST}${infer P1}` ? P1 extends `${string}${ST}${string}` ? AfterLast : P1 : S extends `${string}${ST}` ? '' : S; /** * Get part of the string after the last found instance of the given token. * * @param {string} str * @param {string} token - The string to search for. * * @return {string} */ export default function afterLast(str: T, token: ST): AfterLast { if (token === '') return '' as AfterLast; return (str.includes(token) ? str.substring(str.lastIndexOf(token) + token.length, str.length) : '') as AfterLast; }