is-ogrn
Version:
The OGRN verification algorithm
34 lines (20 loc) • 941 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _isPositiveInteger = require('is-positive-integer');
var _isPositiveInteger2 = _interopRequireDefault(_isPositiveInteger);
var _toOgrn = require('./toOgrn');
var _toOgrn2 = _interopRequireDefault(_toOgrn);
var _getDivisor = require('./getDivisor');
var _getDivisor2 = _interopRequireDefault(_getDivisor);
var _checkLength = require('./checkLength');
var _checkLength2 = _interopRequireDefault(_checkLength);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (value) {
var ogrn = (0, _toOgrn2.default)(value);
if (!(0, _checkLength2.default)(ogrn) || !(0, _isPositiveInteger2.default)(Number(ogrn))) return false;
var ogrnLast = Number(ogrn.slice(-1));
var modulo = Number(ogrn.slice(0, -1) % (0, _getDivisor2.default)(ogrn) % 10);
return modulo === ogrnLast;
};