diff options
author | RaindropsSys <raindrops@equestria.dev> | 2023-11-17 23:25:29 +0100 |
---|---|---|
committer | RaindropsSys <raindrops@equestria.dev> | 2023-11-17 23:25:29 +0100 |
commit | 953ddd82e48dd206cef5ac94456549aed13b3ad5 (patch) | |
tree | 8f003106ee2e7f422e5a22d2ee04d0db302e66c0 /includes/external/addressbook/node_modules/validator/lib/isEAN.js | |
parent | 62a9199846b0c07c03218703b33e8385764f42d9 (diff) | |
download | pluralconnect-953ddd82e48dd206cef5ac94456549aed13b3ad5.tar.gz pluralconnect-953ddd82e48dd206cef5ac94456549aed13b3ad5.tar.bz2 pluralconnect-953ddd82e48dd206cef5ac94456549aed13b3ad5.zip |
Updated 30 files and deleted 2976 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/validator/lib/isEAN.js')
-rw-r--r-- | includes/external/addressbook/node_modules/validator/lib/isEAN.js | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/includes/external/addressbook/node_modules/validator/lib/isEAN.js b/includes/external/addressbook/node_modules/validator/lib/isEAN.js deleted file mode 100644 index d08d78b..0000000 --- a/includes/external/addressbook/node_modules/validator/lib/isEAN.js +++ /dev/null @@ -1,85 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isEAN; - -var _assertString = _interopRequireDefault(require("./util/assertString")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The most commonly used EAN standard is - * the thirteen-digit EAN-13, while the - * less commonly used 8-digit EAN-8 barcode was - * introduced for use on small packages. - * Also EAN/UCC-14 is used for Grouping of individual - * trade items above unit level(Intermediate, Carton or Pallet). - * For more info about EAN-14 checkout: https://www.gtin.info/itf-14-barcodes/ - * EAN consists of: - * GS1 prefix, manufacturer code, product code and check digit - * Reference: https://en.wikipedia.org/wiki/International_Article_Number - * Reference: https://www.gtin.info/ - */ - -/** - * Define EAN Lenghts; 8 for EAN-8; 13 for EAN-13; 14 for EAN-14 - * and Regular Expression for valid EANs (EAN-8, EAN-13, EAN-14), - * with exact numberic matching of 8 or 13 or 14 digits [0-9] - */ -var LENGTH_EAN_8 = 8; -var LENGTH_EAN_14 = 14; -var validEanRegex = /^(\d{8}|\d{13}|\d{14})$/; -/** - * Get position weight given: - * EAN length and digit index/position - * - * @param {number} length - * @param {number} index - * @return {number} - */ - -function getPositionWeightThroughLengthAndIndex(length, index) { - if (length === LENGTH_EAN_8 || length === LENGTH_EAN_14) { - return index % 2 === 0 ? 3 : 1; - } - - return index % 2 === 0 ? 1 : 3; -} -/** - * Calculate EAN Check Digit - * Reference: https://en.wikipedia.org/wiki/International_Article_Number#Calculation_of_checksum_digit - * - * @param {string} ean - * @return {number} - */ - - -function calculateCheckDigit(ean) { - var checksum = ean.slice(0, -1).split('').map(function (char, index) { - return Number(char) * getPositionWeightThroughLengthAndIndex(ean.length, index); - }).reduce(function (acc, partialSum) { - return acc + partialSum; - }, 0); - var remainder = 10 - checksum % 10; - return remainder < 10 ? remainder : 0; -} -/** - * Check if string is valid EAN: - * Matches EAN-8/EAN-13/EAN-14 regex - * Has valid check digit. - * - * @param {string} str - * @return {boolean} - */ - - -function isEAN(str) { - (0, _assertString.default)(str); - var actualCheckDigit = Number(str.slice(-1)); - return validEanRegex.test(str) && actualCheckDigit === calculateCheckDigit(str); -} - -module.exports = exports.default; -module.exports.default = exports.default;
\ No newline at end of file |