import { curry } from '@typed/lambda' import { equals } from '@typed/logic' import { slice } from '../slice' /** * Returns true if a list ends with a given set of values otherwise false. * @param expected :: [a] * @param list :: [a] * @returns :: boolean */ export const endsWith = curry((expected: ReadonlyArray, list: ArrayLike) => equals(expected, slice(list.length - expected.length, list.length, list)), ) as { (expected: ReadonlyArray, list: ArrayLike): boolean (expected: ReadonlyArray): (list: ArrayLike) => boolean }