UNPKG

@jsbailey/reactive-form-validators

Version:

[![npm version](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators.svg)](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [![Gitter](https://badges.gitter.im/rx-web/Lobby.svg)](https://gitter.im/rxweb-project/rxweb?utm_source=badge

83 lines (82 loc) 8.16 kB
/** * @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=