{"version":3,"sources":["../src/asNumber.ts","../src/sum.ts"],"sourcesContent":["/**\n * Coerce `u` into a number if possible, otherwise just return 0.\n */\nexport function asNumber(u: unknown, defaultValue = 0): number {\n  // If u is a valid number, return it.\n  if (typeof u === \"number\") {\n    return isFinite(u) ? u : defaultValue;\n  }\n\n  // Try to make into a number if not already a number.\n  u = Number(u);\n\n  // If u is a valid number, return it.\n  if (typeof u === \"number\" && isFinite(u)) {\n    return u;\n  }\n\n  // Return `defaultValue` for everything else. This is usually ok if want to\n  // just ignore all other noise.\n  return defaultValue;\n}\n","import { asNumber } from \"./asNumber\";\n\n/**\n * Add all the numbers together in the given array.\n * Non-numbers will be coerced into numbers if possible.\n */\nexport function sum(numbers: unknown[]): number {\n  return numbers.reduce((accumulated: number, current: unknown) => {\n    return accumulated + asNumber(current);\n  }, 0);\n}\n"],"mappings":"AAGO,SAASA,EAASC,EAAYC,EAAe,EAAW,CAE7D,OAAI,OAAOD,GAAM,SACR,SAASA,CAAC,EAAIA,EAAIC,GAI3BD,EAAI,OAAOA,CAAC,EAGR,OAAOA,GAAM,UAAY,SAASA,CAAC,EAC9BA,EAKFC,EACT,CCdO,SAASC,EAAIC,EAA4B,CAC9C,OAAOA,EAAQ,OAAO,CAACC,EAAqBC,IACnCD,EAAcE,EAASD,CAAO,EACpC,CAAC,CACN","names":["asNumber","u","defaultValue","sum","numbers","accumulated","current","asNumber"]}