/**
* @function digitSum
* @description Calculate the sum of all digits of a natural number (number base 10).
* @param {number} num - A natural number.
* @return {number} - Sum of all digits of given natural number.
* @see https://en.wikipedia.org/wiki/Digit_sum
* @example digitSum(12) = 3
* @example digitSum(9045) = 18
*/
export const digitSum = (num: number): number => {
if (num < 0 || !Number.isInteger(num)) {
throw new Error("only natural numbers are supported");
}
let sum = 0;
while (num != 0) {
sum += num % 10;
num = Math.floor(num / 10);
}
return sum;
};