ibantools 4.2.0 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,7 +38,7 @@ export interface ValidateIBANResult {
38
38
  * validateIBAN
39
39
  * ```
40
40
  * // returns {errorCodes: [], valid: true}
41
- * ibantools.validateIBAN("NL91 ABNA 0417 1643 00");
41
+ * ibantools.validateIBAN("NL91ABNA0417164300");
42
42
  * ```
43
43
  */
44
44
  export declare function validateIBAN(iban?: string): ValidateIBANResult;
@@ -8,7 +8,7 @@
8
8
  * @package Documentation
9
9
  * @author Saša Jovanić
10
10
  * @module ibantools
11
- * @version 4.2.0
11
+ * @version 4.2.2
12
12
  * @license MPL-2.0
13
13
  * @preferred
14
14
  */
@@ -56,7 +56,7 @@ var ValidationErrorsIBAN;
56
56
  * validateIBAN
57
57
  * ```
58
58
  * // returns {errorCodes: [], valid: true}
59
- * ibantools.validateIBAN("NL91 ABNA 0417 1643 00");
59
+ * ibantools.validateIBAN("NL91ABNA0417164300");
60
60
  * ```
61
61
  */
62
62
  function validateIBAN(iban) {
@@ -85,7 +85,7 @@ function validateIBAN(iban) {
85
85
  result.valid = false;
86
86
  result.errorCodes.push(ValidationErrorsIBAN.ChecksumNotNumber);
87
87
  }
88
- if (!isValidIBANChecksum(iban)) {
88
+ if (result.errorCodes.indexOf(ValidationErrorsIBAN.WrongBBANFormat) !== -1 || !isValidIBANChecksum(iban)) {
89
89
  result.valid = false;
90
90
  result.errorCodes.push(ValidationErrorsIBAN.WrongIBANChecksum);
91
91
  }
@@ -615,34 +615,24 @@ var checkEstonianBBAN = function (bban) {
615
615
  * @ignore
616
616
  */
617
617
  var checkFinlandBBAN = function (bban) {
618
- var weightsMethod1 = [2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2];
619
- var weightsMethod2 = [0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 1, 3, 7];
618
+ var weights = [2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2];
620
619
  var controlDigit = parseInt(bban.charAt(13), 10);
621
620
  var toCheck = bban.substring(0, 13);
622
621
  var sum = 0;
623
- if (toCheck.startsWith('88')) {
624
- for (var index = 0; index < toCheck.length; index++) {
625
- sum += parseInt(toCheck.charAt(index), 10) * weightsMethod2[index];
622
+ for (var index = 0; index < toCheck.length; index++) {
623
+ if (weights[index] === 1) {
624
+ sum += parseInt(toCheck.charAt(index), 10) * weights[index];
626
625
  }
627
- var remainder = sum % 10;
628
- return controlDigit === (remainder === 0 ? 0 : 10 - remainder);
629
- }
630
- else {
631
- for (var index = 0; index < toCheck.length; index++) {
632
- if (weightsMethod1[index] === 1) {
633
- sum += parseInt(toCheck.charAt(index), 10) * weightsMethod1[index];
634
- }
635
- else {
636
- var value = parseInt(toCheck.charAt(index), 10) * weightsMethod1[index];
637
- sum += Math.floor(value / 10) + (value % 10);
638
- }
626
+ else {
627
+ var value = parseInt(toCheck.charAt(index), 10) * weights[index];
628
+ sum += Math.floor(value / 10) + (value % 10);
639
629
  }
640
- var extraSum = sum + controlDigit;
641
- var multiDigit = Math.floor(extraSum / 10);
642
- var result = multiDigit * 10;
643
- var remainder = result - sum;
644
- return remainder === controlDigit;
645
630
  }
631
+ var extraSum = sum + controlDigit;
632
+ var multiDigit = Math.floor(extraSum / 10);
633
+ var result = multiDigit * 10;
634
+ var remainder = result - sum;
635
+ return remainder === controlDigit;
646
636
  };
647
637
  /**
648
638
  * Check French (FR) BBAN
@@ -8,7 +8,7 @@
8
8
  * @package Documentation
9
9
  * @author Saša Jovanić
10
10
  * @module ibantools
11
- * @version 4.2.0
11
+ * @version 4.2.2
12
12
  * @license MPL-2.0
13
13
  * @preferred
14
14
  */
@@ -53,7 +53,7 @@ export var ValidationErrorsIBAN;
53
53
  * validateIBAN
54
54
  * ```
55
55
  * // returns {errorCodes: [], valid: true}
56
- * ibantools.validateIBAN("NL91 ABNA 0417 1643 00");
56
+ * ibantools.validateIBAN("NL91ABNA0417164300");
57
57
  * ```
58
58
  */
59
59
  export function validateIBAN(iban) {
@@ -82,7 +82,7 @@ export function validateIBAN(iban) {
82
82
  result.valid = false;
83
83
  result.errorCodes.push(ValidationErrorsIBAN.ChecksumNotNumber);
84
84
  }
85
- if (!isValidIBANChecksum(iban)) {
85
+ if (result.errorCodes.indexOf(ValidationErrorsIBAN.WrongBBANFormat) !== -1 || !isValidIBANChecksum(iban)) {
86
86
  result.valid = false;
87
87
  result.errorCodes.push(ValidationErrorsIBAN.WrongIBANChecksum);
88
88
  }
@@ -601,34 +601,24 @@ var checkEstonianBBAN = function (bban) {
601
601
  * @ignore
602
602
  */
603
603
  var checkFinlandBBAN = function (bban) {
604
- var weightsMethod1 = [2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2];
605
- var weightsMethod2 = [0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 1, 3, 7];
604
+ var weights = [2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2];
606
605
  var controlDigit = parseInt(bban.charAt(13), 10);
607
606
  var toCheck = bban.substring(0, 13);
608
607
  var sum = 0;
609
- if (toCheck.startsWith('88')) {
610
- for (var index = 0; index < toCheck.length; index++) {
611
- sum += parseInt(toCheck.charAt(index), 10) * weightsMethod2[index];
608
+ for (var index = 0; index < toCheck.length; index++) {
609
+ if (weights[index] === 1) {
610
+ sum += parseInt(toCheck.charAt(index), 10) * weights[index];
612
611
  }
613
- var remainder = sum % 10;
614
- return controlDigit === (remainder === 0 ? 0 : 10 - remainder);
615
- }
616
- else {
617
- for (var index = 0; index < toCheck.length; index++) {
618
- if (weightsMethod1[index] === 1) {
619
- sum += parseInt(toCheck.charAt(index), 10) * weightsMethod1[index];
620
- }
621
- else {
622
- var value = parseInt(toCheck.charAt(index), 10) * weightsMethod1[index];
623
- sum += Math.floor(value / 10) + (value % 10);
624
- }
612
+ else {
613
+ var value = parseInt(toCheck.charAt(index), 10) * weights[index];
614
+ sum += Math.floor(value / 10) + (value % 10);
625
615
  }
626
- var extraSum = sum + controlDigit;
627
- var multiDigit = Math.floor(extraSum / 10);
628
- var result = multiDigit * 10;
629
- var remainder = result - sum;
630
- return remainder === controlDigit;
631
616
  }
617
+ var extraSum = sum + controlDigit;
618
+ var multiDigit = Math.floor(extraSum / 10);
619
+ var result = multiDigit * 10;
620
+ var remainder = result - sum;
621
+ return remainder === controlDigit;
632
622
  };
633
623
  /**
634
624
  * Check French (FR) BBAN
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ibantools",
3
- "version": "4.2.0",
3
+ "version": "4.2.2",
4
4
  "description": "Validation, extraction and creation of IBAN, BBAN, BIC/SWIFT numbers plus some other helpful stuff like ISO 3136-1 alpha 2 country list",
5
5
  "keywords": [
6
6
  "IBAN",
@@ -54,7 +54,7 @@
54
54
  "@typescript-eslint/parser": "^5.0.0",
55
55
  "chai": "^4.3.4",
56
56
  "coveralls": "^3.1.1",
57
- "docdash": "^1.2.0",
57
+ "docdash": "^2.0.0",
58
58
  "eslint": "^8.0.0",
59
59
  "eslint-config-prettier": "^8.3.0",
60
60
  "eslint-plugin-prettier": "^4.0.0",