| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- exports.default = isISBN;
 
- var _assertString = _interopRequireDefault(require("./util/assertString"));
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- var possibleIsbn10 = /^(?:[0-9]{9}X|[0-9]{10})$/;
 
- var possibleIsbn13 = /^(?:[0-9]{13})$/;
 
- var factor = [1, 3];
 
- function isISBN(isbn, options) {
 
-   (0, _assertString.default)(isbn);
 
-   // For backwards compatibility:
 
-   // isISBN(str [, version]), i.e. `options` could be used as argument for the legacy `version`
 
-   var version = String((options === null || options === void 0 ? void 0 : options.version) || options);
 
-   if (!(options !== null && options !== void 0 && options.version || options)) {
 
-     return isISBN(isbn, {
 
-       version: 10
 
-     }) || isISBN(isbn, {
 
-       version: 13
 
-     });
 
-   }
 
-   var sanitizedIsbn = isbn.replace(/[\s-]+/g, '');
 
-   var checksum = 0;
 
-   if (version === '10') {
 
-     if (!possibleIsbn10.test(sanitizedIsbn)) {
 
-       return false;
 
-     }
 
-     for (var i = 0; i < version - 1; i++) {
 
-       checksum += (i + 1) * sanitizedIsbn.charAt(i);
 
-     }
 
-     if (sanitizedIsbn.charAt(9) === 'X') {
 
-       checksum += 10 * 10;
 
-     } else {
 
-       checksum += 10 * sanitizedIsbn.charAt(9);
 
-     }
 
-     if (checksum % 11 === 0) {
 
-       return true;
 
-     }
 
-   } else if (version === '13') {
 
-     if (!possibleIsbn13.test(sanitizedIsbn)) {
 
-       return false;
 
-     }
 
-     for (var _i = 0; _i < 12; _i++) {
 
-       checksum += factor[_i % 2] * sanitizedIsbn.charAt(_i);
 
-     }
 
-     if (sanitizedIsbn.charAt(12) - (10 - checksum % 10) % 10 === 0) {
 
-       return true;
 
-     }
 
-   }
 
-   return false;
 
- }
 
- module.exports = exports.default;
 
- module.exports.default = exports.default;
 
 
  |