boleto-brasileiro-validator
Version:
Validador de boletos bancários
1 lines • 5.44 kB
JavaScript
module.exports=function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=7)}([function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.clearMask=function(e){return e.replace(/( |\.|-)/g,"")}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.boletoBancarioCodigoBarras=u,r.boletoBancarioLinhaDigitavel=i,r.boletoBancario=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=(0,a.clearMask)(e);return 44===t.length?u(t):47===t.length&&i(e,r)};var n=t(3),o=t(2),a=t(0);function u(e){var r=(0,a.clearMask)(e);if(!/^[0-9]{44}$/.test(r))return!1;var t=r[4],o=r.substring(0,4)+r.substring(5);return(0,n.modulo11Bancario)(o)===Number(t)}function i(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=(0,a.clearMask)(e);if(!/^[0-9]{47}$/.test(t))return!1;var i=[{num:t.substring(0,9),DV:t.substring(9,10)},{num:t.substring(10,20),DV:t.substring(20,21)},{num:t.substring(21,31),DV:t.substring(31,32)}],c=!r||i.every(function(e){return(0,n.modulo10)(e.num)===Number(e.DV)}),l=u((0,o.convertToBoletoBancarioCodigoBarras)(t));return c&&l}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.convertToBoletoArrecadacaoCodigoBarras=function(e){for(var r=(0,n.clearMask)(e),t="",o=0;o<4;o++){var a=11*o+o,u=11*(o+1)+o;t+=r.substring(a,u)}return t},r.convertToBoletoBancarioCodigoBarras=function(e){var r=(0,n.clearMask)(e),t="";return t+=r.substring(0,3),t+=r.substring(3,4),t+=r.substring(32,33),t+=r.substring(33,37),t+=r.substring(37,47),t+=r.substring(4,9),t+=r.substring(10,20),t+=r.substring(21,31)};var n=t(0)},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.modulo10=function(e){var r=e.split("").reverse().reduce(function(e,r,t){var n=Number(r)*((t+1)%2+1);return n=n>9?Math.trunc(n/10)+n%10:n,e+n},0);return 10*Math.ceil(r/10)-r},r.modulo11Bancario=function(e){var r=2,t=11-e.split("").reverse().reduce(function(e,t){var n=Number(t)*r;return r=9===r?2:r+1,e+n},0)%11;return 0===t||10===t||11===t?1:t},r.modulo11Arrecadacao=function(e){var r=2,t=e.split("").reverse().reduce(function(e,t){var n=Number(t)*r;return r=9===r?2:r+1,e+n},0)%11;if(0===t||1===t)return 0;if(10===t)return 1;return 11-t}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.boletoArrecadacaoCodigoBarras=u,r.boletoArrecadacaoLinhaDigitavel=i,r.boletoArrecadacao=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=(0,a.clearMask)(e);return 44===t.length?u(t):48===t.length&&i(e,r)};var n=t(3),o=t(2),a=t(0);function u(e){var r=(0,a.clearMask)(e);if(!/^[0-9]{44}$/.test(r)||8!==Number(r[0]))return!1;var t=Number(r[2]),o=Number(r[3]),u=r.substring(0,3)+r.substring(4),i=void 0;if(6===t||7===t)i=n.modulo10;else{if(8!==t&&9!==t)return!1;i=n.modulo11Arrecadacao}return i(u)===o}function i(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=(0,a.clearMask)(e);if(!/^[0-9]{48}$/.test(t)||8!==Number(t[0]))return!1;var i=u((0,o.convertToBoletoArrecadacaoCodigoBarras)(t));if(!r)return i;var c=Number(t[2]),l=void 0;if(6===c||7===c)l=n.modulo10;else{if(8!==c&&9!==c)return!1;l=n.modulo11Arrecadacao}return Array.from({length:4},function(e,r){var n=11*r+r,o=11*(r+1)+r;return{num:t.substring(n,o),DV:t.substring(o,o+1)}}).every(function(e){return l(e.num)===Number(e.DV)})&&i}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.boleto=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=(0,a.clearMask)(e);return 8===Number(t[0])?(0,n.boletoArrecadacao)(t,r):(0,o.boletoBancario)(t,r)};var n=t(4),o=t(1),a=t(0)},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(4);Object.defineProperty(r,"boletoArrecadacao",{enumerable:!0,get:function(){return n.boletoArrecadacao}}),Object.defineProperty(r,"boletoArrecadacaoCodigoBarras",{enumerable:!0,get:function(){return n.boletoArrecadacaoCodigoBarras}}),Object.defineProperty(r,"boletoArrecadacaoLinhaDigitavel",{enumerable:!0,get:function(){return n.boletoArrecadacaoLinhaDigitavel}});var o=t(1);Object.defineProperty(r,"boletoBancario",{enumerable:!0,get:function(){return o.boletoBancario}}),Object.defineProperty(r,"boletoBancarioCodigoBarras",{enumerable:!0,get:function(){return o.boletoBancarioCodigoBarras}}),Object.defineProperty(r,"boletoBancarioLinhaDigitavel",{enumerable:!0,get:function(){return o.boletoBancarioLinhaDigitavel}});var a=t(5);Object.defineProperty(r,"boleto",{enumerable:!0,get:function(){return a.boleto}})},function(e,r,t){e.exports=t(6)}]);