UNPKG

is-ogrn

Version:

The OGRN verification algorithm

34 lines (20 loc) 941 B
'use strict'; 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; };