diff --git a/lib/functions/validations.d.ts b/lib/functions/validations.d.ts index cad6dfa..807d9fe 100644 --- a/lib/functions/validations.d.ts +++ b/lib/functions/validations.d.ts @@ -1,6 +1,6 @@ import { ValidatorForm } from 'react-form-validator-core'; export declare function isNotAllBlanks(value: any, minlength: number): boolean; export declare function maxNaturalNumber(value: any, maxInt: any): boolean; -declare function validateEndDate(endValue: any, startValue: any): boolean; -declare function startDateGreaterThanEndDate(startValue: any, endValue: any): boolean; +declare function validateEndDate(endValue: string, startValue: string): boolean; +declare function startDateGreaterThanEndDate(startValue: string, endValue: string): boolean; export { startDateGreaterThanEndDate, ValidatorForm, validateEndDate, }; diff --git a/lib/functions/validations.js b/lib/functions/validations.js index 80bf16a..bacb4af 100644 --- a/lib/functions/validations.js +++ b/lib/functions/validations.js @@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -const difference_in_minutes_1 = __importDefault(require("date-fns/difference_in_minutes")); -const parse_1 = __importDefault(require("date-fns/parse")); +const differenceInMinutes_1 = __importDefault(require("date-fns/differenceInMinutes")); +const parseISO_1 = __importDefault(require("date-fns/parseISO")); const react_form_validator_core_1 = require("react-form-validator-core"); exports.ValidatorForm = react_form_validator_core_1.ValidatorForm; const lettersRegex = new RegExp('^(?=.*[a-z])(?=.*[A-Z])'); @@ -27,19 +27,14 @@ exports.maxNaturalNumber = maxNaturalNumber; react_form_validator_core_1.ValidatorForm.addValidationRule('isNotAllBlanks', isNotAllBlanks); react_form_validator_core_1.ValidatorForm.addValidationRule('maxNaturalNumber', maxNaturalNumber); function validateEndDate(endValue, startValue) { - const startDate = parse_1.default(startValue); - const endDate = parse_1.default(endValue); - return (difference_in_minutes_1.default(endDate, startDate) > 0); + const startDate = parseISO_1.default(startValue); + const endDate = parseISO_1.default(endValue); + return (differenceInMinutes_1.default(endDate, startDate) > 0); } exports.validateEndDate = validateEndDate; react_form_validator_core_1.ValidatorForm.addValidationRule('validateEndDate', validateEndDate); function startDateGreaterThanEndDate(startValue, endValue) { - if (endValue !== null) { - const startDate = parse_1.default(startValue); - const endDate = parse_1.default(endValue); - return (difference_in_minutes_1.default(endDate, startDate) > 0); - } - return true; + return endValue !== null ? validateEndDate(endValue, startValue) : true; } exports.startDateGreaterThanEndDate = startDateGreaterThanEndDate; react_form_validator_core_1.ValidatorForm.addValidationRule('startDateGreaterThanEndDate', startDateGreaterThanEndDate); diff --git a/lib/functions/validations.js.map b/lib/functions/validations.js.map index fdf3136..28e2b3f 100644 --- a/lib/functions/validations.js.map +++ b/lib/functions/validations.js.map @@ -1 +1 @@ -{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index ca38e8b..f9264c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uno-react", - "version": "0.8.1", + "version": "0.9.0", "description": "Common functions, HOCs and hooks for React.", "main": "lib/index.js", "scripts": { @@ -33,7 +33,7 @@ "@material-ui/icons": "^4.2.1", "@material-ui/styles": "^4.3.0", "@types/react": "16.9.2", - "@types/react-dom": "16.8.5", + "@types/react-dom": "16.9.0", "parcel-bundler": "^1.12.3", "parcel-plugin-clean-easy": "^1.0.2", "react": "^16.9.0", @@ -54,7 +54,7 @@ "lib" ], "dependencies": { - "date-fns": "^1.30.1", + "date-fns": "^2.0.0", "react-form-validator-core": "^0.6.4" } } diff --git a/src/functions/validations.ts b/src/functions/validations.ts index d1c9951..b0bd7cd 100644 --- a/src/functions/validations.ts +++ b/src/functions/validations.ts @@ -1,5 +1,5 @@ -import differenceInMinutes from 'date-fns/difference_in_minutes'; -import parse from 'date-fns/parse'; +import differenceInMinutes from 'date-fns/differenceInMinutes'; +import parseISO from 'date-fns/parseISO'; import { ValidatorForm } from 'react-form-validator-core'; const lettersRegex = new RegExp('^(?=.*[a-z])(?=.*[A-Z])'); @@ -26,21 +26,16 @@ ValidatorForm.addValidationRule('isNotAllBlanks', isNotAllBlanks); ValidatorForm.addValidationRule('maxNaturalNumber', maxNaturalNumber); -function validateEndDate(endValue: any, startValue: any) { - const startDate = parse(startValue); - const endDate = parse(endValue); +function validateEndDate(endValue: string, startValue: string) { + const startDate = parseISO(startValue); + const endDate = parseISO(endValue); return (differenceInMinutes(endDate, startDate) > 0); } ValidatorForm.addValidationRule('validateEndDate', validateEndDate); -function startDateGreaterThanEndDate(startValue: any, endValue: any) { - if (endValue !== null) { - const startDate = parse(startValue); - const endDate = parse(endValue); - return (differenceInMinutes(endDate, startDate) > 0); - } - return true; +function startDateGreaterThanEndDate(startValue: string, endValue: string) { + return endValue !== null ? validateEndDate(endValue, startValue) : true; } ValidatorForm.addValidationRule('startDateGreaterThanEndDate', startDateGreaterThanEndDate);