!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("xlsx")):"function"==typeof define&&define.amd?define("clv-ts-utils",["exports","@angular/core","@angular/forms","rxjs","rxjs/operators","xlsx"],n):n((e=e||self)["clv-ts-utils"]={},e.ng.core,e.ng.forms,e.rxjs,e.rxjs.operators,e.xlsx)}(this,(function(e,n,r,t,i,o){"use strict";var u=function(){function e(){}return e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),s=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"lib-clv-ts-utils",template:"\n    <p>\n      clv-ts-utils works!\n    </p>\n  "}]}],e.ctorParameters=function(){return[]},e}(),l=function(){function e(){}return e.typeOf=function(e){return this.jsType(e)},e.enumarableFromListEqual=function(e,n,r){var t=[];if(null==e)return t;for(var i=0;i<e.length;i++)e[i][n]===r&&t.push(e[i]);return t},e.getObjectByFieldValue=function(e,n,r){for(var t=!1,i=0;i<e.length&&!t;)e[i][n]===r?t=!0:i++;return t?e[i]:-1},e.separatorThousand=function(e){e=this.cleanSpace(""+e);var n,r=this.copy(e),t=-3,i=0,o=!1;for(n="";!o;)i<r.length?(t+=3,i+=3,n=" "+r.substring(r.length-i,r.length-t)+n):(t+=3,n=" "+r.substring(0,r.length-t)+n,o=!0),0;return n},e.objectSumField=function(e,n){var r,t=this;return r=0,e&&null!=e&&e.map((function(e,i){"number"===t.typeOf(+t.cleanSpace(""+e[n]))&&null!==e[n]&&void 0!==e[n]&&(r+=+t.cleanSpace(""+e[n]))})),r},e.getObjectOffsetInArrayByField=function(e,n,r){for(var t=!1,i=0;i<e.length&&!t;)e[i].value[r]===n[r]?t=!0:i++;return t?i:-1},e.getObjectOffsetInArray=function(e,n){for(var r=!1,t=0;t<e.length&&!r;)e[t]===n?r=!0:t++;return r?t:-1},e.jsType=function(e){return null===e?"null":void 0===e?"undefined":"string"==typeof e?"string":e.length>=0?"array":typeof e},e.copy=function(e){return"array"===this.jsType(e)?Object.assign([],e):"object"===this.jsType(e)?Object.assign({},e):JSON.parse(JSON.stringify(e))},e.cleanSpace=function(e){return(""+e).replace(/\s/g,"")},e.isUndefinedOrNull=function(e){return null==e},e.stringIsUndefinedOrNull=function(e){return null==e||""===e},e.ajouterSeparateurDeMillier=function(e){for(var n="",r=0;r<Math.ceil(e.length/3);r++){var t=e.length-3*(r+1);n=t>0?e.substr(t,3)+" "+n:e.substr(0,3+t)+" "+n,0===r&&(n=n.substr(0,n.length-1))}return n},e.thousandSeparator=function(e,n){if(void 0===n&&(n={decimal:!0,pres:2,arround:!1}),"string"!=typeof e&&"number"!=typeof e)return null;n.pres||(n.pres=2);var r="";"string"==typeof e&&(r=this.cleanSpace(e)),"number"==typeof e&&(r=""+e);var t=r.split(".")[0],i=r.split(".")[1];if(t=this.ajouterSeparateurDeMillier(t),i="0."+i,n.arround&&n.pres&&n.pres>0){var o=Number(+i);i=""+Number(o.toFixed(n.pres))}i=i.split(".")[1];var u=t;return n.decimal&&-1!==e.toString().indexOf(".")&&(i&&"undefined"!==i?(u+=".",u+=""+i):e&&""!==e&&(u+=".")),u},e.roundDecimalNumber=function(e,n){void 0===n&&(n=1);for(var r=1,t=0;t<n;t++)r*=10;return Math.round(e*r)/r},e.deleteFromArray=function(e,n){if(this.isUndefinedOrNull(e))return-1;if(this.isUndefinedOrNull(n))return e;var r=this.copy(e);return"array"===this.jsType(n)?(n.map((function(n){e.find((function(e){return e===n}))&&(r=r.slice(0,r.findIndex((function(e){return e===n}))).concat(r.slice(r.findIndex((function(e){return e===n}))+1)))})),r):e.find((function(e){return e===n}))?r.slice(0,r.findIndex((function(e){return e===n}))).concat(r.slice(r.findIndex((function(e){return e===n}))+1)):r},e.objectToReactiveForm=function(n,t){void 0===t&&(t="arrayName");var i=new r.FormGroup({});return"array"===e.jsType(n)?this.formBuildingEngine(t,n,i):this.formBuildingEngine(null,n,i),i},e.formBuildingEngine=function(n,t,i){switch(e.jsType(t)){case"array":this.arrayFieldBuilderEngine(n,t,i);break;case"object":this.objectFieldBuilderEngine(n,t,i);break;default:i.setControl(n,new r.FormControl(t))}},e.objectFieldBuilderEngine=function(e,n,t){var i=this;if(null===e)Object.keys(n).map((function(e){i.formBuildingEngine(e,n[e],t)}));else{var o=new r.FormGroup({});t.setControl(e,o),Object.keys(n).map((function(e){i.formBuildingEngine(e,n[e],o)}))}},e.arrayFieldBuilderEngine=function(n,t,i){var o=this,u=new r.FormArray([]);i.setControl(n,u),"array"===e.jsType(t)&&t.map((function(e){var n=new r.FormGroup({});u.push(n),o.formBuildingEngine(null,e,n)}))},e}();var a=function(){function e(){}return e.insertAboveAnchor=function(e,n,r){var t=e.search(r);return e.slice(0,t-1)+n+e.slice(t)},e.insertBelowAnchor=function(e,n,r){var t=e.search(r)+r.length;return e.slice(0,t)+n+e.slice(t)},e.strXCharsFromBackAt=function(e,n,r){return e.length-r*n<0?e.substr(0,n+e.length-r*n):e.substr(e.length-r*n,n)},e.strNbrXChars=function(e,n){return Math.ceil(e.length/n)},e}(),c=function(){};var f=function(){function e(){}return e.fileToString=function(e){return new t.Observable((function(n){var r=new FileReader;r.readAsDataURL(e),r.onload=function(){return n.next(r.result)},r.onerror=function(e){return n.error(e)}}))},e.serializeFile=function(e){return this.fileToString(e).pipe(i.map((function(n){if("string"!==l.jsType(n))throw new Error("File not retrieived");var r=new c;r.name=e.name,r.type=e.type,r.size=e.size,r.file=e,r.extension="."+e.name.split(".")[e.name.split(".").length-1],r.lastModified=e.lastModified,r.data=n.split("base64,")[1],r.content=atob(r.data),r.fullDataUrl=n;var t=new Blob([atob(r.data)],{type:e.type});return r.downloadUrl=window.URL.createObjectURL(t),r})))},e.buildDownloadFileUrl=function(e,n){var r=new Blob([atob(n.data)],{type:n.type});return e.bypassSecurityTrustResourceUrl(window.URL.createObjectURL(r))},e.csvToJson=function(e){for(var n=e.split('"').join("").split("\n"),r=[],t=n[0].split(","),i=1;i<n.length;i++){for(var o={},u=n[i].split(","),s=0;s<t.length;s++)o[t[s]]=u[s];r.push(o)}return r},e.xlsxToJson=function(e){var n=null;return(n=o.read(e,{type:"binary"})).SheetNames.reduce((function(e,r){var t=n.Sheets[r];return e[r]=o.utils.sheet_to_json(t),e}),{})},e}(),d=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[s],imports:[],exports:[s]}]}],e}();e.ClvFileModel=c,e.ClvFilesUtils=f,e.ClvStringsUtils=a,e.ClvTsUtilsCommonsJs=l,e.ClvTsUtilsComponent=s,e.ClvTsUtilsModule=d,e.ClvTsUtilsService=u,e.ThousandSeparatorMode={DEFAULT:"DEFAULT",DECIMAL_MANDATORY:"DECIMAL_MANDATORY",DECIMAL_OPTIONAL:"DECIMAL_OPTIONAL"},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=clv-ts-utils.umd.min.js.map