redux-freeform 6.2.1-beta.0 → 6.2.2-beta.0

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.
@@ -150,7 +150,8 @@ validatorFns[NO_MORE_THAN_SIX_NUMBERS] = (value) => {
150
150
  * https://stripe.com/en-ca/resources/more/how-to-use-the-luhn-algorithm-a-guide-in-applications-for-businesses#luhn-algorithm-formula
151
151
  */
152
152
 
153
- function luhnValid(string) { if (!string) {
153
+ function luhnValid(string) {
154
+ if (!string) {
154
155
  return false;
155
156
  }
156
157
 
@@ -475,6 +476,28 @@ validatorFns[MATCHES_REGEX] = (value, args, form) => {
475
476
  return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
476
477
  };
477
478
 
479
+ const IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER =
480
+ 'validator/IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER';
481
+ const IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR =
482
+ 'validator/IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR';
483
+ const isAmericanOrCanadianRoutingNumber = createValidator(
484
+ IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER,
485
+ IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR
486
+ );
487
+ validatorFns[IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER] = (value, args, form) => {
488
+ if (value === '') {
489
+ return true;
490
+ } else if (value.length === 8) {
491
+ const regExp = /^\d{8}$/;
492
+ return regExp.test(value);
493
+ } else if (value.length === 9) {
494
+ const regExp = /^\d{9}$/;
495
+ return validatorFns[IS_ROUTING_NUMBER](value, args, form) && regExp.test(value);
496
+ } else {
497
+ return false;
498
+ }
499
+ };
500
+
478
501
  // based on http://www.brainjar.com/js/validation/
479
502
  const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
480
503
  const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
@@ -780,6 +803,7 @@ exports.hasSpecialCharacter = hasSpecialCharacter;
780
803
  exports.hasUppercaseLetter = hasUppercaseLetter;
781
804
  exports.includedIn = includedIn;
782
805
  exports.includesPotentialCardNumber = includesPotentialCardNumber;
806
+ exports.isAmericanOrCanadianRoutingNumber = isAmericanOrCanadianRoutingNumber;
783
807
  exports.isProbablyEmail = isProbablyEmail;
784
808
  exports.isRoutingNumber = isRoutingNumber;
785
809
  exports.isValidMonth = isValidMonth;
@@ -146,7 +146,8 @@ validatorFns[NO_MORE_THAN_SIX_NUMBERS] = (value) => {
146
146
  * https://stripe.com/en-ca/resources/more/how-to-use-the-luhn-algorithm-a-guide-in-applications-for-businesses#luhn-algorithm-formula
147
147
  */
148
148
 
149
- function luhnValid(string) { if (!string) {
149
+ function luhnValid(string) {
150
+ if (!string) {
150
151
  return false;
151
152
  }
152
153
 
@@ -471,6 +472,28 @@ validatorFns[MATCHES_REGEX] = (value, args, form) => {
471
472
  return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
472
473
  };
473
474
 
475
+ const IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER =
476
+ 'validator/IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER';
477
+ const IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR =
478
+ 'validator/IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR';
479
+ const isAmericanOrCanadianRoutingNumber = createValidator(
480
+ IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER,
481
+ IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR
482
+ );
483
+ validatorFns[IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER] = (value, args, form) => {
484
+ if (value === '') {
485
+ return true;
486
+ } else if (value.length === 8) {
487
+ const regExp = /^\d{8}$/;
488
+ return regExp.test(value);
489
+ } else if (value.length === 9) {
490
+ const regExp = /^\d{9}$/;
491
+ return validatorFns[IS_ROUTING_NUMBER](value, args, form) && regExp.test(value);
492
+ } else {
493
+ return false;
494
+ }
495
+ };
496
+
474
497
  // based on http://www.brainjar.com/js/validation/
475
498
  const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
476
499
  const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
@@ -766,4 +789,4 @@ const createFormState = (formConfig) => ({
766
789
  mapStateToProps: mapStateToProps,
767
790
  });
768
791
 
769
- export { createFormState, dateAfterToday, dateBeforeToday, hasLength, hasLowercaseLetter, hasNumber, hasSpecialCharacter, hasUppercaseLetter, includedIn, includesPotentialCardNumber, isProbablyEmail, isRoutingNumber, isValidMonth, matchesField, matchesRegex, numberGreaterThan, numberGreaterThanOrEqualTo, numberLessThan, numberLessThanOrEqualTo, onlyExpirationDate, onlyIntegers, onlyNaturals, required, validName, validateSum, validateWhen };
792
+ export { createFormState, dateAfterToday, dateBeforeToday, hasLength, hasLowercaseLetter, hasNumber, hasSpecialCharacter, hasUppercaseLetter, includedIn, includesPotentialCardNumber, isAmericanOrCanadianRoutingNumber, isProbablyEmail, isRoutingNumber, isValidMonth, matchesField, matchesRegex, numberGreaterThan, numberGreaterThanOrEqualTo, numberLessThan, numberLessThanOrEqualTo, onlyExpirationDate, onlyIntegers, onlyNaturals, required, validName, validateSum, validateWhen };
@@ -152,7 +152,8 @@
152
152
  * https://stripe.com/en-ca/resources/more/how-to-use-the-luhn-algorithm-a-guide-in-applications-for-businesses#luhn-algorithm-formula
153
153
  */
154
154
 
155
- function luhnValid(string) { if (!string) {
155
+ function luhnValid(string) {
156
+ if (!string) {
156
157
  return false;
157
158
  }
158
159
 
@@ -477,6 +478,28 @@
477
478
  return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
478
479
  };
479
480
 
481
+ const IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER =
482
+ 'validator/IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER';
483
+ const IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR =
484
+ 'validator/IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR';
485
+ const isAmericanOrCanadianRoutingNumber = createValidator(
486
+ IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER,
487
+ IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER_ERROR
488
+ );
489
+ validatorFns[IS_AMERICAN_OR_CANADIAN_ROUTING_NUMBER] = (value, args, form) => {
490
+ if (value === '') {
491
+ return true;
492
+ } else if (value.length === 8) {
493
+ const regExp = /^\d{8}$/;
494
+ return regExp.test(value);
495
+ } else if (value.length === 9) {
496
+ const regExp = /^\d{9}$/;
497
+ return validatorFns[IS_ROUTING_NUMBER](value, args, form) && regExp.test(value);
498
+ } else {
499
+ return false;
500
+ }
501
+ };
502
+
480
503
  // based on http://www.brainjar.com/js/validation/
481
504
  const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
482
505
  const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
@@ -782,6 +805,7 @@
782
805
  exports.hasUppercaseLetter = hasUppercaseLetter;
783
806
  exports.includedIn = includedIn;
784
807
  exports.includesPotentialCardNumber = includesPotentialCardNumber;
808
+ exports.isAmericanOrCanadianRoutingNumber = isAmericanOrCanadianRoutingNumber;
785
809
  exports.isProbablyEmail = isProbablyEmail;
786
810
  exports.isRoutingNumber = isRoutingNumber;
787
811
  exports.isValidMonth = isValidMonth;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redux-freeform",
3
- "version": "6.2.1-beta.0",
3
+ "version": "6.2.2-beta.0",
4
4
  "description": "A small Redux form library that supports purely functional apps, without magic",
5
5
  "main": "dist/redux-freeform.cjs.js",
6
6
  "module": "dist/redux-freeform.esm.js",