UNPKG

turbocommons-ts

Version:

General purpose library that implements frequently used and generic software development tasks

1 lines 4.87 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ValidationManager=void 0;var StringUtils_1=require("../utils/StringUtils"),NumericUtils_1=require("../utils/NumericUtils"),ArrayUtils_1=require("../utils/ArrayUtils"),ObjectUtils_1=require("../utils/ObjectUtils"),ValidationManager=function(){function t(){this._validationStatus=[{tag:"",status:t.OK}],this._failedMessages=[]}return t.prototype.getStatus=function(t){void 0===t&&(t="");for(var i=0,r=ArrayUtils_1.ArrayUtils.isArray(t)?t:[t],s=0,a=this._validationStatus;s<a.length;s++){var e=a[s];(""===t||r.indexOf(e.tag)>=0)&&e.status>i&&(i=e.status)}return i},t.prototype.ok=function(i){return void 0===i&&(i=""),this.getStatus(i)===t.OK},t.prototype.notOk=function(i){return void 0===i&&(i=""),this.getStatus(i)!==t.OK},t.prototype.getFirstMessage=function(t){void 0===t&&(t="");for(var i=ArrayUtils_1.ArrayUtils.isArray(t)?t:[t],r=0,s=this._failedMessages;r<s.length;r++){var a=s[r];if(""===t||null===t||ArrayUtils_1.ArrayUtils.isArray(t)&&0===t.length||i.indexOf(a.tag)>=0)return a.message}return""},t.prototype.getLastMessage=function(t){void 0===t&&(t="");for(var i=ArrayUtils_1.ArrayUtils.isArray(t)?t:[t],r=this._failedMessages.length-1;r>=0;r--)if(""===t||null===t||ArrayUtils_1.ArrayUtils.isArray(t)&&0===t.length||i.indexOf(this._failedMessages[r].tag)>=0)return this._failedMessages[r].message;return""},t.prototype.isTrue=function(t,i,r,s){return void 0===i&&(i="value is not true"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus(!0===t,i,r,s)},t.prototype.isBoolean=function(t,i,r,s){return void 0===i&&(i="value is not a boolean"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus("boolean"==typeof t,i,r,s)},t.prototype.isNumeric=function(t,i,r,s){return void 0===i&&(i="value is not a number"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus(NumericUtils_1.NumericUtils.isNumeric(t),i,r,s)},t.prototype.isNumericBetween=function(t,i,r,s,a,e){return void 0===s&&(s="value is not between min and max"),void 0===a&&(a=""),void 0===e&&(e=!1),this._updateValidationStatus(NumericUtils_1.NumericUtils.isNumeric(t)&&t>=i&&t<=r,s,a,e)},t.prototype.isString=function(t,i,r,s){return void 0===i&&(i="value is not a string"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus(StringUtils_1.StringUtils.isString(t),i,r,s)},t.prototype.isUrl=function(t,i,r,s){return void 0===i&&(i="value is not an URL"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus(StringUtils_1.StringUtils.isUrl(t),i,r,s)},t.prototype.isArray=function(t,i,r,s){return void 0===i&&(i="value is not an array"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus(ArrayUtils_1.ArrayUtils.isArray(t),i,r,s)},t.prototype.isObject=function(t,i,r,s){return void 0===i&&(i="value is not an object"),void 0===r&&(r=""),void 0===s&&(s=!1),this._updateValidationStatus(ObjectUtils_1.ObjectUtils.isObject(t),i,r,s)},t.prototype.isFilledIn=function(t,i,r,s,a){return void 0===i&&(i=[]),void 0===r&&(r="value is required"),void 0===s&&(s=""),void 0===a&&(a=!1),this._updateValidationStatus(!StringUtils_1.StringUtils.isEmpty(t,i),r,s,a)},t.prototype.isObjectWithValidProperties=function(){return!1},t.prototype.isDate=function(){return!1},t.prototype.isMail=function(){return!1},t.prototype.isEqualTo=function(t,i,r,s,a){void 0===r&&(r="values are not equal"),void 0===s&&(s=""),void 0===a&&(a=!1);var e=!1;return ArrayUtils_1.ArrayUtils.isArray(t)&&ArrayUtils_1.ArrayUtils.isArray(i)?e=ArrayUtils_1.ArrayUtils.isEqualTo(t,i):ObjectUtils_1.ObjectUtils.isObject(t)&&ObjectUtils_1.ObjectUtils.isObject(i)?e=ObjectUtils_1.ObjectUtils.isEqualTo(t,i):t===i&&(e=!0),this._updateValidationStatus(e,r,s,a)},t.prototype.isMinimumWords=function(t){return""===t},t.prototype.isNIF=function(t){return""===t},t.prototype.isMinimumLength=function(t){return""===t},t.prototype.isMaximumLength=function(t){return""===t},t.prototype.isPostalCode=function(t){return""===t},t.prototype.isPhone=function(t){return""===t},t.prototype.isHtmlFormValid=function(t){return""===t},t.prototype.reset=function(){this._validationStatus=[{tag:"",status:t.OK}],this._failedMessages=[]},t.prototype._updateValidationStatus=function(i,r,s,a){if(void 0===s&&(s=""),!i){for(var e=ArrayUtils_1.ArrayUtils.isArray(s)?s:[s],o=0,n=e;o<n.length;o++){for(var u=n[o],l=!1,d=0,p=this._validationStatus;d<p.length;d++){if(p[d].tag===u){l=!0;break}}l||this._validationStatus.push({tag:String(u),status:t.OK})}for(var v=0,y=e;v<y.length;v++){u=y[v];for(var c=0;c<this._validationStatus.length;c++)if(this._validationStatus[c].tag===u){this._failedMessages.push({tag:u,message:r}),this._validationStatus[c].status=a&&this._validationStatus[c].status!=t.ERROR?t.WARNING:t.ERROR;break}}}return i},t.OK=0,t.WARNING=1,t.ERROR=2,t}();exports.ValidationManager=ValidationManager;