import { curry } from '@typed/lambda' /** * Checks if a list starts with a given set of values * @param search :: [a] * @param list :: [a] * @returns :: boolean */ export const startsWith = curry(__startsWith) as { (search: ArrayLike, list: ArrayLike): boolean (search: ArrayLike): (list: ArrayLike) => boolean } function __startsWith(search: ArrayLike, list: ArrayLike): boolean { const searchCount = search.length for (let i = 0; i < searchCount; ++i) { if (search[i] !== list[i]) { return false } } return true }