@jsbailey/reactive-form-validators
Version:
[](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [](https://gitter.im/rxweb-project/rxweb?utm_source=badge
83 lines (82 loc) • 8.16 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { ReactiveFormConfig } from "./reactive-form-config";
var DateProvider = /** @class */ (function () {
function DateProvider() {
}
/**
* @return {?}
*/
DateProvider.prototype.regex = /**
* @return {?}
*/
function () {
/** @type {?} */
var regExp;
if (ReactiveFormConfig && ReactiveFormConfig.json && ReactiveFormConfig.json["internationalization"] && ReactiveFormConfig.json["internationalization"].dateFormat && ReactiveFormConfig.json["internationalization"].seperator) {
/** @type {?} */
var seperator = ReactiveFormConfig.json["internationalization"].seperator;
switch (ReactiveFormConfig.json["internationalization"].dateFormat) {
case 'ymd':
regExp = /^(\d{4}-\d{1,2}-\d{1,2})$/;
break;
case 'dmy':
case 'mdy':
regExp = /^(\d{1,2}-\d{1,2}-\d{4})$/;
break;
}
}
return regExp;
};
/**
* @param {?} value
* @return {?}
*/
DateProvider.prototype.getDate = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var year;
/** @type {?} */
letmonth;
/** @type {?} */
letday;
if (ReactiveFormConfig && ReactiveFormConfig.json && ReactiveFormConfig.json["internationalization"] && ReactiveFormConfig.json["internationalization"].dateFormat && ReactiveFormConfig.json["internationalization"].seperator) {
/** @type {?} */
var seperator = ReactiveFormConfig.json["internationalization"].seperator;
switch (ReactiveFormConfig.json["internationalization"].dateFormat) {
case 'ymd':
_a = tslib_1.__read(value.split(seperator).map(function (val) { return +val; }), 3), year = _a[0], month = _a[1], day = _a[2];
break;
case 'dmy':
_b = tslib_1.__read(value.split(seperator).map(function (val) { return +val; }), 3), day = _b[0], month = _b[1], year = _b[2];
break;
case 'mdy':
_c = tslib_1.__read(value.split(seperator).map(function (val) { return +val; }), 3), month = _c[0], day = _c[1], year = _c[2];
break;
}
}
return new Date(year, month - 1, day);
var _a, _b, _c;
};
/**
* @param {?} value
* @return {?}
*/
DateProvider.prototype.isValid = /**
* @param {?} value
* @return {?}
*/
function (value) {
value = value.replace(ReactiveFormConfig.json["internationalization"].seperator, '-').replace(ReactiveFormConfig.json["internationalization"].seperator, '-');
return this.regex().test(value);
};
return DateProvider;
}());
export { DateProvider };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bqc2JhaWxleS9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvIiwic291cmNlcyI6WyJ1dGlsL2RhdGUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxJQUFBOzs7Ozs7SUFDSSw0QkFBSzs7O0lBQUw7O1FBQ0UsSUFBSSxNQUFNLENBQVE7UUFDbEIsRUFBRSxDQUFBLENBQUMsa0JBQWtCLElBQUksa0JBQWtCLENBQUMsSUFBSSxJQUFJLGtCQUFrQixDQUFDLElBQUksd0JBQXFCLElBQUksa0JBQWtCLENBQUMsSUFBSSx5QkFBc0IsVUFBVSxJQUFLLGtCQUFrQixDQUFDLElBQUkseUJBQXNCLFNBQVMsQ0FBQyxDQUN2TixDQUFDOztZQUNDLElBQUksU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUkseUJBQXNCLFNBQVMsQ0FBQztZQUN2RSxNQUFNLENBQUEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLHlCQUFzQixVQUFVLENBQUMsQ0FBQSxDQUFDO2dCQUM1RCxLQUFLLEtBQUs7b0JBQ1YsTUFBTSxHQUFHLDJCQUEyQixDQUFDO29CQUNyQyxLQUFLLENBQUM7Z0JBQ04sS0FBSyxLQUFLLENBQUM7Z0JBQ1gsS0FBSyxLQUFLO29CQUNWLE1BQU0sR0FBRywyQkFBMkIsQ0FBQztvQkFDckMsS0FBSyxDQUFDO2FBQ1g7U0FDQTtRQUNILE1BQU0sQ0FBQyxNQUFNLENBQUM7S0FDYjs7Ozs7SUFFSCw4QkFBTzs7OztJQUFQLFVBQVEsS0FBWTs7UUFDbEIsSUFBSSxJQUFJLENBQVc7Ozs7O1FBQ25CLEVBQUUsQ0FBQSxDQUFDLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLHdCQUFxQixJQUFJLGtCQUFrQixDQUFDLElBQUkseUJBQXNCLFVBQVUsSUFBSyxrQkFBa0IsQ0FBQyxJQUFJLHlCQUFzQixTQUFTLENBQUMsQ0FDck4sQ0FBQzs7WUFDQyxJQUFJLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLHlCQUFzQixTQUFTLENBQUM7WUFDdkUsTUFBTSxDQUFBLENBQUMsa0JBQWtCLENBQUMsSUFBSSx5QkFBc0IsVUFBVSxDQUFDLENBQUEsQ0FBQztnQkFDNUQsS0FBSyxLQUFLO29CQUNWLG1GQUFzRSxFQUFyRSxZQUFJLEVBQUUsYUFBSyxFQUFFLFdBQUcsQ0FBc0Q7b0JBQ3ZFLEtBQUssQ0FBQztnQkFDTixLQUFLLEtBQUs7b0JBQ1YsbUZBQW9FLEVBQW5FLFdBQUcsRUFBQyxhQUFLLEVBQUMsWUFBSSxDQUFzRDtvQkFDckUsS0FBSyxDQUFDO2dCQUNOLEtBQUssS0FBSztvQkFDVixtRkFBb0UsRUFBbkUsYUFBSyxFQUFDLFdBQUcsRUFBQyxZQUFJLENBQXNEO29CQUNyRSxLQUFLLENBQUM7YUFDWDtTQUNBO1FBQ0gsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDOztLQUNuQzs7Ozs7SUFFRCw4QkFBTzs7OztJQUFQLFVBQVEsS0FBWTtRQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLHlCQUFzQixTQUFTLEVBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUkseUJBQXNCLFNBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN0SixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNqQzt1QkE1Q0g7SUE2Q0MsQ0FBQTtBQTNDRCx3QkEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdGl2ZUZvcm1Db25maWcgfSBmcm9tIFwiLi9yZWFjdGl2ZS1mb3JtLWNvbmZpZ1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVQcm92aWRlcntcclxuICAgIHJlZ2V4KCl7XHJcbiAgICAgIHZhciByZWdFeHA6UmVnRXhwO1xyXG4gICAgICBpZihSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uZGF0ZUZvcm1hdCAgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uc2VwZXJhdG9yKVxyXG4gICAgICB7XHJcbiAgICAgICAgdmFyIHNlcGVyYXRvciA9IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvcjtcclxuICAgICAgICBzd2l0Y2goUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uZGF0ZUZvcm1hdCl7XHJcbiAgICAgICAgICAgIGNhc2UgJ3ltZCc6XHJcbiAgICAgICAgICAgIHJlZ0V4cCA9IC9eKFxcZHs0fS1cXGR7MSwyfS1cXGR7MSwyfSkkLztcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RteSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ21keSc6XHJcbiAgICAgICAgICAgIHJlZ0V4cCA9IC9eKFxcZHsxLDJ9LVxcZHsxLDJ9LVxcZHs0fSkkLztcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgfVxyXG4gICAgcmV0dXJuIHJlZ0V4cDtcclxuICAgIH1cclxuXHJcbiAgZ2V0RGF0ZSh2YWx1ZTpzdHJpbmcpe1xyXG4gICAgbGV0IHllYXIsbW9udGgsZGF5O1xyXG4gICAgaWYoUmVhY3RpdmVGb3JtQ29uZmlnICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLmRhdGVGb3JtYXQgICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvcilcclxuICAgICAge1xyXG4gICAgICAgIHZhciBzZXBlcmF0b3IgPSBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXBlcmF0b3I7XHJcbiAgICAgICAgc3dpdGNoKFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLmRhdGVGb3JtYXQpe1xyXG4gICAgICAgICAgICBjYXNlICd5bWQnOlxyXG4gICAgICAgICAgICBbeWVhciwgbW9udGgsIGRheV0gPSB2YWx1ZS5zcGxpdChzZXBlcmF0b3IpLm1hcCgodmFsOiBzdHJpbmcpID0+ICt2YWwpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZG15JzpcclxuICAgICAgICAgICAgW2RheSxtb250aCx5ZWFyXSA9IHZhbHVlLnNwbGl0KHNlcGVyYXRvcikubWFwKCh2YWw6IHN0cmluZykgPT4gK3ZhbCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdtZHknOlxyXG4gICAgICAgICAgICBbbW9udGgsZGF5LHllYXJdID0gdmFsdWUuc3BsaXQoc2VwZXJhdG9yKS5tYXAoKHZhbDogc3RyaW5nKSA9PiArdmFsKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgfVxyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsbW9udGgtMSxkYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNWYWxpZCh2YWx1ZTpzdHJpbmcpe1xyXG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvciwnLScpLnJlcGxhY2UoUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uc2VwZXJhdG9yLCctJyk7XHJcbiAgICByZXR1cm4gdGhpcy5yZWdleCgpLnRlc3QodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=