diff --git a/wherehows-web/app/utils/array.ts b/wherehows-web/app/utils/array.ts index d8a03fa6a8..2d964edd94 100644 --- a/wherehows-web/app/utils/array.ts +++ b/wherehows-web/app/utils/array.ts @@ -14,6 +14,15 @@ const arrayMap = (mappingFunction: (param: T) => U): ((array: Array) => const arrayFilter = (filtrationFunction: (param: T) => boolean): ((array: Array) => Array) => (array = []) => array.filter(filtrationFunction); +/** + * Typesafe utility `data last` function for array every + * @template T + * @param {(param: T) => boolean} filter + * @returns {((array: Array) => boolean)} + */ +const arrayEvery = (filter: (param: T) => boolean): ((array: Array) => boolean) => (array = []) => + array.every(filter); + /** * Composable reducer abstraction, curries a reducing iteratee and returns a reducing function that takes a list * @template U @@ -42,4 +51,4 @@ const isListUnique = (list: Array = []): boolean => new Set(list).size === */ const compact = (list: Array = []): Array => list.filter(item => item); -export { arrayMap, arrayFilter, arrayReduce, isListUnique, compact }; +export { arrayMap, arrayFilter, arrayReduce, isListUnique, compact, arrayEvery };