turbocommons-ts
Version:
General purpose library that implements frequently used and generic software development tasks
1 lines • 2.56 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArrayUtils=void 0;var ObjectUtils_1=require("./ObjectUtils"),StringUtils_1=require("./StringUtils"),ValidationManager_1=require("../managers/ValidationManager"),ArrayUtils=function(){function r(){}return r.isArray=function(r){return"[object Array]"===Object.prototype.toString.call(r)},r.isEqualTo=function(t,e){if(!r.isArray(t)||!r.isArray(e))throw new Error("parameters must be arrays");if(t.length!=e.length)return!1;for(var i=0,a=t.length;i<a;i++)if(r.isArray(t[i])&&r.isArray(e[i])){if(!r.isEqualTo(t[i],e[i]))return!1}else if(ObjectUtils_1.ObjectUtils.isObject(t[i])&&ObjectUtils_1.ObjectUtils.isObject(e[i])){if(!ObjectUtils_1.ObjectUtils.isEqualTo(t[i],e[i]))return!1}else if(t[i]!==e[i])return!1;return!0},r.isStringFound=function(t,e,i){if(void 0===i&&(i=!0),!r.isArray(t))throw new Error("parameter must be an array");if(!StringUtils_1.StringUtils.isString(e))throw new Error("str is not a string");for(var a=0;a<t.length;a++){if(StringUtils_1.StringUtils.isString(t[a])&&(i&&t[a].indexOf(e)>=0||!i&&t[a].toLowerCase().indexOf(e.toLowerCase())>=0))return!0;if(r.isArray(t[a])&&r.isStringFound(t[a],e,i))return!0;if(ObjectUtils_1.ObjectUtils.isObject(t[a])&&ObjectUtils_1.ObjectUtils.isStringFound(t[a],e,i))return!0}return!1},r.forceNonEmptyArray=function(r,t,e){if(void 0===t&&(t=""),void 0===e&&(e="must be a non empty array"),!this.isArray(r)||r.length<=0)throw new Error(t+" "+e)},r.removeElement=function(t,e){if(!r.isArray(t))throw new Error("parameter must be an array");var i=[];if(r.isArray(e))for(var a=0;a<t.length;a++)r.isArray(t[a])&&r.isEqualTo(e,t[a])||i.push(t[a]);else for(var n=0;n<t.length;n++)e!==t[n]&&i.push(t[n]);return i},r.removeDuplicateElements=function(t){if(!r.isArray(t))throw new Error("parameter must be an array");for(var e=[],i=t.length,a=new ValidationManager_1.ValidationManager,n=0;n<i;n++){for(var s=!1,o=e.length,l=0;l<o;l++)if(a.isEqualTo(t[n],e[l])){s=!0;break}s||e.push(t[n])}return e},r.hasDuplicateElements=function(t){if(!r.isArray(t))throw new Error("parameter must be an array");for(var e=t.length,i=new ValidationManager_1.ValidationManager,a=0;a<e;a++)for(var n=a+1;n<e;n++)if(i.isEqualTo(t[a],t[n]))return!0;return!1},r.getDuplicateElements=function(t){if(!r.isArray(t))throw new Error("parameter must be an array");for(var e=[],i=t.length,a=new ValidationManager_1.ValidationManager,n=0;n<i;n++)for(var s=n+1;s<i;s++)a.isEqualTo(t[n],t[s])&&e.push(t[n]);return r.removeDuplicateElements(e)},r}();exports.ArrayUtils=ArrayUtils;