UNPKG

is-valid-orcid

Version:
23 lines 888 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function generateCheckDigit(baseDigits) { var total = baseDigits.reduce(function (acc, digit) { return (acc + parseInt(digit, 10)) * 2; }, 0); var remainder = total % 11; var result = (12 - remainder) % 11; return result === 10 ? 'X' : result.toString(); } function isValidOrcid(maybeOrcid) { if (!maybeOrcid || maybeOrcid.length < 19) { return false; } var digits = maybeOrcid.replace(/-/g, ''); if (digits.length !== 16) { return false; } var baseDigits = digits.slice(0, 15).split(''); var checkDigit = digits.charAt(15); var expectedCheckDigit = generateCheckDigit(baseDigits); return checkDigit === expectedCheckDigit; } exports.default = isValidOrcid; //# sourceMappingURL=/home/travis/build/harunurhan/is-valid-orcid-js/src/index.js.map