{"version":3,"sources":["../../src/functions/max/max.ts"],"names":[],"mappings":";AAwBO,SAAS,IACd,OACA,iBAAuC,CAAC,UAAU,OAC9B;AACpB,MAAI,SAAS,QAAQ,MAAM,WAAW,GAAG;AACvC,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,eAAe,OAAO,CAAC,CAAC;AACpE","sourcesContent":["import { Maybe } from '../../types';\n\n/**\n * Computes the maximum value of array. If array is empty or nil, `undefined` is returned.\n * @param array The array to iterate over.\n * @returns The maximum value in the array, or `undefined` if the array is empty or nil.\n */\nexport function max<T>(array: Maybe<readonly T[]>): number;\n/**\n * Computes the maximum value of array. If array is empty or nil, `undefined` is returned.\n * @param array The array to iterate over.\n * @param valueExtractor An optional function used to extract a numeric value from each element.\n * @returns The maximum value in the array, or `undefined` if the array is empty or nil.\n */\nexport function max<T>(\n  array: Maybe<readonly T[]>,\n  valueExtractor?: (value: T) => number\n): number;\n/**\n * Implementation for all overloads.\n * @param array The array to iterate over.\n * @param valueExtractor The function used to extract a numeric value from each element.\n * @returns The maximum value in the array, or `undefined` if the array is empty or nil.\n */\nexport function max<T>(\n  array: Maybe<readonly T[]>,\n  valueExtractor: (value: T) => number = (value) => value as unknown as number\n): number | undefined {\n  if (array == null || array.length === 0) {\n    return undefined;\n  }\n\n  return Math.max(...array.map((element) => valueExtractor(element)));\n}\n"]}