26 lines
1.1 KiB
JavaScript
26 lines
1.1 KiB
JavaScript
//#region src/compat/string/endsWith.ts
|
|
/**
|
|
* Checks if a string contains another string at the end of the string.
|
|
*
|
|
* Checks if one string endsWith another string. Optional position parameter to offset searching before a certain index.
|
|
*
|
|
* @param {string} str - The string that might contain the target string.
|
|
* @param {string} target - The string to search for.
|
|
* @param {number} position - An optional position from the start to search up to this index
|
|
* @returns {boolean} - True if the str string ends with the target string.
|
|
*
|
|
* @example
|
|
* const isPrefix = endsWith('fooBar', 'foo') // returns true
|
|
* const isPrefix = endsWith('fooBar', 'bar') // returns false
|
|
* const isPrefix = endsWith('fooBar', 'abc') // returns false
|
|
* const isPrefix = endsWith('fooBar', 'foo', 3) // returns true
|
|
* const isPrefix = endsWith('fooBar', 'abc', 5) // returns false
|
|
*/
|
|
function endsWith(str, target, position) {
|
|
if (str == null || target == null) return false;
|
|
if (position == null) position = str.length;
|
|
return str.endsWith(target, position);
|
|
}
|
|
//#endregion
|
|
export { endsWith };
|