{"version":3,"file":"sumBy.cjs","names":[],"sources":["../../src/math/sumBy.ts"],"sourcesContent":["/**\n * This method is like sum except that it accepts iteratee which is invoked for each element\n * in array to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @param array - The array to iterate over\n * @param iteratee - The iteratee invoked per element\n * @returns Returns the sum\n *\n * @example\n * sumBy([{ n: 1 }, { n: 2 }, { n: 3 }], (o) => o.n) // => 6\n * sumBy([], (o) => o.n) // => 0\n */\nexport function sumBy<T>(array: T[], iteratee: (item: T) => number): number {\n  if (!Array.isArray(array) || array.length === 0) {\n    return 0;\n  }\n\n  return array.reduce((total, item) => total + iteratee(item), 0);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAgB,MAAS,OAAY,UAAuC;CAC1E,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,GAC5C,OAAO;CAGT,OAAO,MAAM,QAAQ,OAAO,SAAS,QAAQ,SAAS,IAAI,GAAG,CAAC;AAChE"}