UNPKG

@mediocre/bloodhound

Version:

Bloodhound is a Node.js package that allows you to retrieve tracking data from shipping carriers (Amazon, DHL, FedEx, UPS, USPS) in a common format.

28 lines (22 loc) 745 B
module.exports = function(trackingNumber, multipliers, mod) { var midx = 0; var sum = 0; var checkDigit, i, index, ref; for (index = i = 0, ref = trackingNumber.length - 2; (0 <= ref ? i <= ref : i >= ref); index = 0 <= ref ? ++i : --i) { sum += parseInt(trackingNumber[index], 10) * multipliers[midx]; midx = midx === multipliers.length - 1 ? 0 : midx + 1; } if (mod === 11) { checkDigit = sum % 11; if (checkDigit === 10) { checkDigit = 0; } } if (mod === 10) { checkDigit = 0; if ((sum % 10) > 0) { checkDigit = 10 - sum % 10; } } return checkDigit === parseInt(trackingNumber[trackingNumber.length - 1]); };