UNPKG

nz-bank-account-validator

Version:

A small, zero dependency NZ bank account validation library that runs everywhere.

2 lines 5.91 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("NZ-Bank-Account-Validator",[],e):"object"==typeof exports?exports["NZ-Bank-Account-Validator"]=e():t["NZ-Bank-Account-Validator"]=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),a=n(2);e["default"]={getId:function(t){return this.getPartsObject(t).id},getBranch:function(t){return this.getPartsObject(t).branch},getBase:function(t){return this.getPartsObject(t).base},getSuffix:function(t){return this.getPartsObject(t).suffix},isPartsObject:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==("undefined"==typeof t?"undefined":r(t)))return!1;var e=Object.keys(t),n=Object.keys(i.partConstants),a=n.filter(function(t){return e.includes(t)});return n.length===a.length},splitString:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=(0,a.isString)(t)?t.split(/[^0-9]/):[];return 1===e.length&&(e[0]=t.slice(0,2),e[1]=t.slice(2,5),e[2]=t.slice(5,12),e[3]=t.slice(12)),e.filter(function(t){return t.length})},getPartsObject:function(t){if(this.isPartsObject(t))return t;if(!(0,a.isString)(t))return{};var e=this.splitString(t);return{id:e[i.partIndexes.id],branch:e[i.partIndexes.branch],base:e[i.partIndexes.base],suffix:e[i.partIndexes.suffix]}},partsObjectValid:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Object.keys(t);return 4===e.length&&e.reduce(function(e,n){var r=t[n],u=(0,a.isNumbersOnly)(r),o=(0,a.isString)(r)&&r.length<=i.partMaxLengths[n],s=u&&o;return e&&s},!0)},validate:function(t){var e=this.getPartsObject(t);if(!this.partsObjectValid(e))return!1;var n=e.id,r=e.branch,i=e.base,u=this.getBankData(n,r);if(!u)return!1;var o=this.getChecksum(u,i);if(!o)return!1;var s=o.weighting,c=o.modulo,f=o.specialCase,l=!f,d=(0,a.getPaddedAccountArray)(e).reduce(function(t,e,n){var r=e*s[n];if(l||r<10)return t+r;var i=(0,a.sumChars)(r),u=(0,a.sumChars)(i),o=i<10?i:u;return t+o},0);return d%c===0},getBankData:function(t,e){var n=(0,a.padLeft)(t,i.partMaxLengths.id);return i.bankData.find(function(t){var r=t.branches[n];return r&&(0,a.inRanges)(e,r)})},getChecksum:function(t,e){var n=t.key;return"AB"===n&&(n=parseInt(e,10)<99e4?"A":"B"),i.bankChecksums[n]}},t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var r,i,a={id:"id",branch:"branch",base:"base",suffix:"suffix"},u=(r={},n(r,a.id,0),n(r,a.branch,1),n(r,a.base,2),n(r,a.suffix,3),r),o=(i={},n(i,a.id,2),n(i,a.branch,4),n(i,a.base,8),n(i,a.suffix,4),i),s=[{key:"AB",branches:{"01":[[1,999],[1100,1199],[1800,1899]],"02":[[1,999],[1200,1299]],"03":[[1,999],[1300,1399],[1500,1599],[1700,1799],[1900,1999]],"06":[[1,999],[1400,1499]],11:[[5e3,6499],[6600,8999]],12:[[3e3,3299],[3400,3499],[3600,3699]],13:[[4900,4999]],14:[[4700,4799]],15:[[3900,3999]],16:[[4400,4499]],17:[[3300,3399]],18:[[3500,3599]],19:[[4600,4649]],20:[[4100,4199]],21:[[4800,4899]],22:[[4e3,4049]],23:[[3700,3799]],24:[[4300,4349]],27:[[3800,3849]],30:[[2900,2949]],35:[[2400,2499]],38:[[9e3,9499]]}},{key:"D",branches:{"08":[[6500,6599]]}},{key:"E",branches:{"09":[[0,0]]}},{key:"F",branches:{25:[[2500,2599]],33:[[6700,6799]]}},{key:"G",branches:{26:[[2600,2699]],28:[[2100,2149]],29:[[2150,2299]]}},{key:"X",branches:{31:[[2800,2849]]}}],c={A:{weighting:[0,0,6,3,7,9,0,0,10,5,8,4,2,1,0,0,0,0],modulo:11},B:{weighting:[0,0,0,0,0,0,0,0,10,5,8,4,2,1,0,0,0,0],modulo:11},C:{weighting:[3,7,0,0,0,0,9,1,10,5,3,4,2,1,0,0,0,0],modulo:11},D:{weighting:[0,0,0,0,0,0,0,7,6,5,4,3,2,1,0,0,0,0],modulo:11},E:{weighting:[0,0,0,0,0,0,0,0,0,0,5,4,3,2,0,0,0,1],modulo:11,specialCase:!0},F:{weighting:[0,0,0,0,0,0,0,1,7,3,1,7,3,1,0,0,0,0],modulo:10},G:{weighting:[0,0,0,0,0,0,0,1,3,7,1,3,7,1,0,3,7,1],modulo:10,specialCase:!0},X:{weighting:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],modulo:1}};e["default"]={partConstants:a,partIndexes:u,partMaxLengths:o,bankData:s,bankChecksums:c},t.exports=e["default"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var u,o=t[Symbol.iterator]();!(r=(u=o.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(s){i=!0,a=s}finally{try{!r&&o["return"]&&o["return"]()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=n(1),a=function(t){return t===t+""},u=function(t){return/^[0-9]+$/.test(t)},o=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0";return Array(e-String(t).length+1).join(n)+t},s=function(t,e,n){return e>=t&&e<=n},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(function(e,n){var i=r(n,2),a=i[0],u=i[1];return e||s(a,t,u)},!1)},f=function(t){return(t+"").split("").reduce(function(t,e){return t+1*e},0)},l=function(t){return Object.keys(t).reduce(function(e,n){var r=o(t[n],i.partMaxLengths[n]),a=r.split("");return e.concat(a)},[])};e["default"]={isString:a,isNumbersOnly:u,padLeft:o,inRange:s,inRanges:c,sumChars:f,getPaddedAccountArray:l},t.exports=e["default"]}])}); //# sourceMappingURL=NZ-Bank-Account-Validator.min.js.map