{"version":3,"sources":["Util.ts"],"names":[],"mappings":"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","file":"util-pieces.js","sourcesContent":["class UtilPieces {\r\n\tnodosEliminar: Array = [];\r\n\tdate = class {\r\n\t\t/**\r\n\t\t * @method formatDate\r\n\t\t * \r\n\t\t * Formatea una fecha.\r\n\t\t * \r\n\t\t * @param {Date} date Fecha\r\n\t\t * @param {string} format Formato de la fecha y = año, m = mes, d = día\r\n\t\t * @returns {string}\r\n\t\t */\r\n\t\tstatic formatDate(date: Date, format: string = 'y-m-d'): string {\r\n\t\t\tvar day = day < date.getDate() ? '0' + date.getDate().toString() : date.getDate().toString()\r\n\r\n\t\t\tvar month = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1).toString()\r\n\r\n\t\t\tvar year = date.getFullYear().toString()\r\n\r\n\t\t\tformat = format.replace('y', year)\r\n\t\t\tformat = format.replace('m', month)\r\n\t\t\tformat = format.replace('d', day)\r\n\r\n\t\t\treturn format\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method reformatStringDate\r\n\t\t * \r\n\t\t * Reformatea una fecha.\r\n\t\t * \r\n\t\t * @param {string} dateString String que representa la fecha\r\n\t\t * @param {string} format Formato actual del string de la fecha y = año, m = mes, d = día\r\n\t\t * @param {string} separator Separador actual del string de la fecha\r\n\t\t * @param {string} newFormat Formato deseado del string de la fecha y = año, m = mes, d = día\r\n\t\t * @returns {string}\r\n\t\t */\r\n\t\tstatic reformatStringDate(dateString: string, format: string = 'y-m-d', separator: string = '-', newFormat: string = 'y-m-d'): string {\r\n\r\n\t\t\tvar dateParts = dateString.split(separator)\r\n\t\t\tvar formatParts = format.split(separator)\r\n\r\n\t\t\tvar year = dateParts[formatParts.indexOf('y')]\r\n\t\t\tvar month = dateParts[formatParts.indexOf('m')]\r\n\t\t\tvar day = dateParts[formatParts.indexOf('d')]\r\n\r\n\t\t\tnewFormat = newFormat.replace('y', year)\r\n\t\t\tnewFormat = newFormat.replace('m', month)\r\n\t\t\tnewFormat = newFormat.replace('d', day)\r\n\r\n\t\t\treturn newFormat\r\n\t\t}\r\n\t}\r\n\tnumber = class {\r\n\t\t/**\r\n\t\t* @method getMilisegundos\r\n\t\t* \r\n\t\t* Retorna la cantidad en milisegundos del número proporcionado\r\n\t\t* según la magnitud escogida.\r\n\t\t* s = segundos\r\n\t\t* m = minutos\r\n\t\t* h = horas\r\n\t\t* \r\n\t\t* @param {Number} numero El número que representa la cantidad deseada según la magnitud escogida\r\n\t\t* @param {String} magnitud 's'|'m'|'h' (Si se escoge un valor diferente por defecto asignara segundos)\r\n\t\t* @returns {Number} La cantidad en milisegundos\r\n\t\t*/\r\n\t\tstatic getMilisegundos(numero: number = 1, magnitud: string = 's'): number {\r\n\t\t\tvar milisegundos = numero * 1000\r\n\t\t\tswitch (magnitud) {\r\n\t\t\t\tcase 's':\r\n\t\t\t\t\treturn milisegundos\r\n\t\t\t\tcase 'm':\r\n\t\t\t\t\treturn milisegundos * 60\r\n\t\t\t\tcase 'h':\r\n\t\t\t\t\treturn milisegundos * 60 * 60\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn milisegundos\r\n\t\t\t}\r\n\t\t}\r\n\t\t/**\r\n\t\t * @method numberFormat\r\n\t\t * \r\n\t\t * @description Formatea un número\r\n\t\t * \r\n\t\t * @param {number} number Número para formatear\r\n\t\t * @param {number} decimals Cantidad de decimales\r\n\t\t * @param {string} decimal_separator Separador de decimales\r\n\t\t * @param {string} thousands_separator Separador de miles\r\n\t\t */\r\n\t\tstatic numberFormat(number: number, decimals: number, decimal_separator: string, thousands_separator: string): string {\r\n\t\t\t// Strip all characters but numerical ones.\r\n\t\t\tvar numberString = (number + '').replace(/[^0-9+\\-Ee.]/g, '');\r\n\r\n\t\t\tvar n = !isFinite(+numberString) ? 0 : +numberString,\r\n\t\t\t\tprec = !isFinite(+decimals) ? 0 : Math.abs(decimals),\r\n\t\t\t\tsep = (typeof thousands_separator === 'undefined') ? ',' : thousands_separator,\r\n\t\t\t\tdec = (typeof decimal_separator === 'undefined') ? '.' : decimal_separator,\r\n\t\t\t\ts = [],\r\n\t\t\t\ttoFixedFix = function (n, prec) {\r\n\t\t\t\t\tvar k = Math.pow(10, prec);\r\n\t\t\t\t\treturn '' + Math.round(n * k) / k;\r\n\t\t\t\t};\r\n\t\t\t// Fix for IE parseFloat(0.55).toFixed(0) = 0;\r\n\t\t\ts = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');\r\n\t\t\tif (s[0].length > 3) {\r\n\t\t\t\ts[0] = s[0].replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, sep);\r\n\t\t\t}\r\n\t\t\tif ((s[1] || '').length < prec) {\r\n\t\t\t\ts[1] = s[1] || '';\r\n\t\t\t\ts[1] += new Array(prec - s[1].length + 1).join('0');\r\n\t\t\t}\r\n\t\t\treturn s.join(dec);\r\n\t\t}\r\n\t\t/**\r\n\t\t * @method parseNumber\r\n\t\t * \r\n\t\t * @description Convierte un string en un número\r\n\t\t * \r\n\t\t * @param {number} number String del número\r\n\t\t * @param {string} decimal_separator Separador de decimales\r\n\t\t * @param {string} thousands_separator Separador de miles\r\n\t\t * @param {bool} float Establece si devolverá un float o un entero\r\n\t\t */\r\n\t\tstatic parseNumber(number: number, decimal_separator: string = ',', thousands_separator: string = '.', float: boolean = true): number {\r\n\r\n\t\t\tlet numberString = number.toString()\r\n\r\n\t\t\twhile (numberString.lastIndexOf(thousands_separator) != -1) {\r\n\t\t\t\tnumberString = numberString.replace(thousands_separator, '')\r\n\t\t\t}\r\n\r\n\t\t\tnumberString = numberString.replace(decimal_separator, '.')\r\n\r\n\t\t\tif (float === true) {\r\n\t\t\t\treturn parseFloat(numberString)\r\n\t\t\t} else {\r\n\t\t\t\treturn parseInt(numberString)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tcomponents = class {\r\n\t\t/**\r\n\t\t * @method configContadores\r\n\t\t * \r\n\t\t * @description Contador animado\r\n\t\t * Nota: el elemento debe tener el atributo data-counter con el número al que llegará\r\n\t\t * el contador.\r\n\t\t * Ejemplo:\r\n\t\t * \r\n\t\t * 0\r\n\t\t * \r\n\t\t * @param {string} selector Selector del elemento HTML del contador\r\n\t\t * @param {number} step Cantidad que aumentará cada ciclo\r\n\t\t * @param {number} decimals Cantidad de decimales\r\n\t\t * @param {string} decimal_separator Separador de decimales\r\n\t\t * @param {string} thousands_separator Separador de miles\r\n\t\t * @param {number} delay Retraso de los ciclos en milisegundos\r\n\t\t */\r\n\t\tstatic configContadores(selector: string, step: number = 1, decimals: number = 0, decimal_separator: string = ',', thousands_separator: string = '.', delay: number = 1) {\r\n\r\n\t\t\tvar util = new UtilPieces()\r\n\t\t\tvar contadores = document.querySelectorAll(selector)\r\n\r\n\t\t\tif (contadores.length > 0) {\r\n\r\n\t\t\t\tfor (var element of contadores) {\r\n\r\n\t\t\t\t\tvar cantidad = parseFloat(element.getAttribute('data-counter'))\r\n\r\n\t\t\t\t\tvar interval = setInterval(() => {\r\n\r\n\t\t\t\t\t\tvar actual = util.number.parseNumber(parseInt(element.innerHTML))\r\n\r\n\t\t\t\t\t\tvar nuevoValor = (actual + step).toString()\r\n\r\n\t\t\t\t\t\tif (actual < cantidad) {\r\n\r\n\t\t\t\t\t\t\tif (parseInt(nuevoValor) > cantidad) {\r\n\t\t\t\t\t\t\t\tnuevoValor = util.number.numberFormat(\r\n\t\t\t\t\t\t\t\t\tcantidad,\r\n\t\t\t\t\t\t\t\t\tdecimals,\r\n\t\t\t\t\t\t\t\t\tdecimal_separator,\r\n\t\t\t\t\t\t\t\t\tthousands_separator\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tnuevoValor = util.number.numberFormat(\r\n\t\t\t\t\t\t\t\t\tparseInt(nuevoValor),\r\n\t\t\t\t\t\t\t\t\tdecimals,\r\n\t\t\t\t\t\t\t\t\tdecimal_separator, thousands_separator\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\telement.innerHTML = nuevoValor\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tclearInterval(interval)\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}, delay)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method slider\r\n\t\t * \r\n\t\t * @description Slider (usa jquery)\r\n\t\t * \r\n\t\t * Nota: el elemento debe tener el atributo data-id al igual que los botones de navegación\r\n\t\t *
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t * Ejemplo:\r\n\t\t * \r\n\t\t * @param {HTMLElement|String|JQuery} slider \r\n\t\t * @param {*} delay \r\n\t\t * @param {*} navItemSelector \r\n\t\t * @param {*} elementSliderSelector \r\n\t\t * @param {*} activeClass \r\n\t\t * @returns {void}\r\n\t\t */\r\n\t\tstatic slider(slider: any, delay: number = 2500, navItemSelector: string = '.nav-slider span', elementSliderSelector: string = '.elemento-slider', activeClass: string = 'active'): void {\r\n\t\t\tvar $: any;\r\n\r\n\t\t\tif (!('sliderNS' in window)) {\r\n\t\t\t\twindow['sliderNS'] = {}\r\n\t\t\t}\r\n\t\t\tslider = $(slider)\r\n\r\n\t\t\twindow['sliderNS'] = {\r\n\t\t\t\tnav_icons: slider.find(navItemSelector),\r\n\t\t\t\telementos: slider.find(elementSliderSelector),\r\n\t\t\t\tlast_nav: 0,\r\n\t\t\t\tinterval: null,\r\n\t\t\t\tdebug: false\r\n\t\t\t}\r\n\r\n\t\t\twindow['sliderNS'].interval = setInterval(() => {\r\n\t\t\t\tif (window['sliderNS'].last_nav < window['sliderNS'].nav_icons.length) {\r\n\t\t\t\t\twindow['sliderNS'].nav_icons[window['sliderNS'].last_nav].click()\r\n\t\t\t\t\twindow['sliderNS'].last_nav++\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow['sliderNS'].last_nav = 0\r\n\t\t\t\t}\r\n\t\t\t}, delay)\r\n\r\n\t\t\twindow['sliderNS'].nav_icons.click((e) => {\r\n\r\n\t\t\t\te.stopPropagation()\r\n\r\n\t\t\t\tlet id = $(this).attr(\"data-id\")\r\n\r\n\t\t\t\tif (!$(this).hasClass(activeClass)) {\r\n\r\n\t\t\t\t\twindow['sliderNS'].nav_icons.each((e) => {\r\n\t\t\t\t\t\tif ($(this).attr('data-id') == id) {\r\n\t\t\t\t\t\t\t$(this).addClass(activeClass)\r\n\t\t\t\t\t\t\tclearInterval(window['sliderNS'].interval)\r\n\t\t\t\t\t\t\twindow['sliderNS'].last_nav = id\r\n\t\t\t\t\t\t\twindow['sliderNS'].interval = setInterval(() => {\r\n\t\t\t\t\t\t\t\tif (window['sliderNS'].last_nav < window['sliderNS'].nav_icons.length) {\r\n\t\t\t\t\t\t\t\t\twindow['sliderNS'].nav_icons[window['sliderNS'].last_nav].click()\r\n\t\t\t\t\t\t\t\t\twindow['sliderNS'].last_nav++\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\twindow['sliderNS'].last_nav = 0\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}, delay)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$(this).removeClass(activeClass)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\twindow['sliderNS'].elementos.each((e) => {\r\n\t\t\t\t\t\tif ($(this).attr('data-id') == id) {\r\n\t\t\t\t\t\t\t$(this).addClass(activeClass)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$(this).removeClass(activeClass)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\tfile = class {\r\n\r\n\t\t/**\r\n\t\t * @method base64ToBlob\r\n\t\t * \r\n\t\t * Convierte una cadena base64 en un blob\r\n\t\t * \r\n\t\t * @param {string} dataURL Una cadena base64 o tipo dataUri que contiene la información del archivo\r\n\t\t * @returns {Blob}\r\n\t\t */\r\n\t\tstatic dataURLToBlob(dataURL: string): Blob {\r\n\r\n\t\t\tvar util = new UtilPieces()\r\n\r\n\t\t\tdataURL = dataURL.toString()\r\n\r\n\t\t\tvar fileData = util.string.proccessDataURL(dataURL)\r\n\r\n\t\t\tvar fileString = fileData.string\r\n\t\t\tvar fileType = fileData.mime\r\n\r\n\t\t\tvar fileBytes = util.string.stringToBytes(fileString).dec\r\n\r\n\t\t\treturn new Blob([new Uint8Array(fileBytes)], { type: fileType })\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method dataURLToFile\r\n\t\t * \r\n\t\t * @param {string} dataURL\r\n\t\t * @param {string} filename\r\n\t\t * @returns {File}\r\n\t\t */\r\n\t\tstatic dataURLToFile(dataURL: string, filename: string = 'name'): File {\r\n\t\t\tvar util = new UtilPieces()\r\n\t\t\tvar info = util.string.proccessDataURL(dataURL)\r\n\t\t\tvar mime = info.mime\r\n\t\t\tvar bytes = util.string.stringToBytesUnclear(info.string).dec\r\n\t\t\tvar file = new File([new Blob([new Uint8Array(bytes)])], filename, { type: mime })\r\n\t\t\treturn file\r\n\t\t}\r\n\t}\r\n\tstring = class {\r\n\t\t/**\r\n\t\t * @method proccessDataURL\r\n\t\t * \r\n\t\t * Devuelve un objeto con el archivo en base64, el tipo mime y el dataURL recibido.\r\n\t\t * \r\n\t\t * {b64:dataURL, mime:...,string:file...}\r\n\t\t * \r\n\t\t * @param {String} dataURL Data url de un archivo \r\n\t\t * @returns {{ b64: string, mime: string, string: string }}\r\n\t\t */\r\n\t\tstatic proccessDataURL(dataURL:string): { b64: string, mime: string, string: string } {\r\n\t\t\tvar mimeType = dataURL.replace(/data\\:(.*)\\;base64\\,.*/g, '$1')\r\n\t\t\tvar fileString = window.atob(dataURL.replace(/data\\:.*base64\\,(.*)/g, '$1'))\r\n\t\t\treturn {\r\n\t\t\t\tb64: dataURL,\r\n\t\t\t\tmime: mimeType,\r\n\t\t\t\tstring: fileString\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method stringClear\r\n\t\t * \r\n\t\t * Elimina espacios y pasa todo a minúsculas.\r\n\t\t * \r\n\t\t * @param {string} str \r\n\t\t * @returns {string} \r\n\t\t */\r\n\t\tstatic stringClear(str): string {\r\n\t\t\treturn (new String(str).replace(/\\s*/g, ''))\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method stringLowerClear\r\n\t\t * \r\n\t\t * Elimina espacios y pasa todo a minúsculas.\r\n\t\t * \r\n\t\t * @param {string} str \r\n\t\t * @returns {string} \r\n\t\t */\r\n\t\tstatic stringLowerClear(str): string {\r\n\t\t\treturn this.stringClear(str).toLowerCase()\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method trim\r\n\t\t * \r\n\t\t * Elimina espacios y pasa todo a minúsculas.\r\n\t\t * \r\n\t\t * @param {string} str \r\n\t\t * @returns {string} \r\n\t\t */\r\n\t\tstatic trim(str): string {\r\n\t\t\treturn (new String(str).trim())\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method stringToBytesToLower\r\n\t\t * \r\n\t\t * Devuelve un objeto con arrays de los códigos en DEC y en HEX de cada\r\n\t\t * carácter de una cadena previamente transformado en minúsculas.\r\n\t\t * \r\n\t\t * @param {string} string \r\n\t\t * @param {boolean} verbose\r\n\t\t * @returns {dec: Array, hex: Array} \r\n\t\t */\r\n\t\tstatic stringToBytesToLower(string: string, verbose: boolean = false): { dec: Array, hex: Array } {\r\n\t\t\tstring = string.toString().replace(/(\\r|\\n|\\t)*/gim, '').trim().toLowerCase()\r\n\t\t\tvar lengthString = string.length\r\n\t\t\tvar bytesDec = []\r\n\t\t\tvar bytesHex = []\r\n\r\n\t\t\tif (verbose) console.log('============')\r\n\t\t\tfor (var i = 0; i < lengthString; i++) {\r\n\t\t\t\tvar charCode = string.charCodeAt(i)\r\n\t\t\t\tbytesDec[i] = charCode\r\n\t\t\t\tbytesHex[i] = charCode.toString(16)\r\n\t\t\t\tif (verbose) console.log(string[i] + '===' + charCode + '===' + bytesHex[i])\r\n\t\t\t}\r\n\t\t\tif (verbose) console.log('============')\r\n\t\t\treturn { dec: bytesDec, hex: bytesHex }\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method stringToBytes\r\n\t\t * \r\n\t\t * Devuelve un objeto con arrays de los códigos en DEC y en HEX de cada\r\n\t\t * carácter de una cadena. Elimina \\r, \\n, \\t y espacios sobrantes a\r\n\t\t * la cadena de entrada.\r\n\t\t * \r\n\t\t * @param {String} string \r\n\t\t * @param {Boolean} trim\r\n\t\t * @param {Boolean} verbose\r\n\t\t * @returns {dec: Array, hex: Array} \r\n\t\t */\r\n\t\tstatic stringToBytes(string: string, trim: boolean = false, verbose: boolean = false): { dec: Array, hex: Array } {\r\n\r\n\t\t\tif (trim === true) {\r\n\t\t\t\tstring = string.toString().replace(/(\\r|\\n|\\t)*/gim, '').trim()\r\n\t\t\t}\r\n\r\n\t\t\tvar lengthString = string.length\r\n\t\t\tvar bytesDec = []\r\n\t\t\tvar bytesHex = []\r\n\r\n\t\t\tif (verbose) console.log('============')\r\n\t\t\tfor (var i = 0; i < lengthString; i++) {\r\n\t\t\t\tvar charCode = string.charCodeAt(i)\r\n\t\t\t\tbytesDec[i] = charCode\r\n\t\t\t\tbytesHex[i] = charCode.toString(16)\r\n\t\t\t\tif (verbose) console.log(string[i] + '===' + charCode + '===' + bytesHex[i])\r\n\t\t\t}\r\n\t\t\tif (verbose) console.log('============')\r\n\t\t\treturn { dec: bytesDec, hex: bytesHex }\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method stringToBytesUnclear\r\n\t\t * \r\n\t\t * Devuelve un objeto con arrays de los códigos en DEC y en HEX de cada\r\n\t\t * carácter de una cadena. No modifica la cadena de entrada.\r\n\t\t * \r\n\t\t * @param {String} string \r\n\t\t * @param {Boolean} verbose\r\n\t\t * @returns {Object} \r\n\t\t */\r\n\t\tstatic stringToBytesUnclear(string: string, verbose: boolean = false): { dec: Array, hex: Array } {\r\n\r\n\t\t\tvar lengthString = string.length\r\n\t\t\tvar bytesDec = []\r\n\t\t\tvar bytesHex = []\r\n\r\n\t\t\tif (verbose) console.log('============')\r\n\t\t\tfor (var i = 0; i < lengthString; i++) {\r\n\t\t\t\tvar charCode = string.charCodeAt(i)\r\n\t\t\t\tbytesDec[i] = charCode\r\n\t\t\t\tbytesHex[i] = charCode.toString(16)\r\n\t\t\t\tif (verbose) console.log(string[i] + '===' + charCode + '===' + bytesHex[i])\r\n\t\t\t}\r\n\t\t\tif (verbose) console.log('============')\r\n\t\t\treturn { dec: bytesDec, hex: bytesHex }\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * @method arrayToString\r\n\t\t * \r\n\t\t * Toma un array y lo convierte en una cadena\r\n\t\t * con la extensión determinada.\r\n\t\t * \r\n\t\t * @param {Array} array Array a convertir\r\n\t\t * @param {number} length Tamaño de la cadena retornada\r\n\t\t * @returns {string}\r\n\t\t */\r\n\t\tstatic arrayToString(array: Array, length: number): string {\r\n\t\t\tvar string = ''\r\n\t\t\tvar arrayLength = array.length\r\n\t\t\tlength = arrayLength >= length ? length : arrayLength\r\n\t\t\tfor (var i = 0; i < arrayLength; i++) {\r\n\t\t\t\tstring += array[i]\r\n\t\t\t}\r\n\t\t\tstring = string.substring(0, length)\r\n\t\t\treturn string.substring(0, length)\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tvalidate = class {\r\n\t\t/**\r\n\t\t * @method mimeType\r\n\t\t * \r\n\t\t * Valida el tipo de un archivo\r\n\t\t * \r\n\t\t * Tipos implementados para el parámetro allowed:\r\n\t\t * xlsx, pdf, html, jpg, jpeg, png\r\n\t\t * \r\n\t\t * @param {string} dataURL DataURL leído por FileReader \r\n\t\t * @param {Array} allowed Array con los formatos permitidos\r\n\t\t * @param {boolean} verbose Mensajes de información\r\n\t\t * @returns {boolean} Devuelve true si el tipo del archivo pasado corresponde a algunos de los definidos\r\n\t\t * en allowed, de lo contrario devuelve false.\r\n\t\t */\r\n\t\tstatic mimeType(dataURL: string, allowed: Array = [], verbose: boolean = false): boolean {\r\n\r\n\t\t\tvar util = new UtilPieces()\r\n\r\n\t\t\tvar signaturesList = {\r\n\t\t\t\txlsx: [\r\n\t\t\t\t\tutil.string.arrayToString(util.string.stringToBytes('PK..', true).hex, ('PK..').length)\r\n\t\t\t\t],\r\n\t\t\t\tpdf: [\r\n\t\t\t\t\tutil.string.arrayToString(util.string.stringToBytes('%PDF-', true).hex, ('%PDF-').length)\r\n\t\t\t\t],\r\n\t\t\t\thtml: [\r\n\t\t\t\t\tutil.string.arrayToString(util.string.stringToBytes(' -1) {\r\n\t\t\t\t\t\t\treturn true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\turi = class {\r\n\t\t/**\r\n\t\t * @method getURIPart\r\n\t\t * \r\n\t\t * @description Obtiene una parte de la URI actual\r\n\t\t * \r\n\t\t * @param {number} part El segmento deseado de la URI actual (Si es 0, devolverá la última parte)\r\n\t\t * \r\n\t\t * @returns {string} El segmento deseado\r\n\t\t */\r\n\t\tstatic getURIPart(part: number = 0): string {\r\n\r\n\t\t\tvar split_url = window.location.pathname.split('/')\r\n\t\t\tsplit_url = (() => {\r\n\t\t\t\tvar tmp = []\r\n\t\t\t\tfor (var i = 0; i < split_url.length; i++) {\r\n\t\t\t\t\tif (split_url[i].length > 0) {\r\n\t\t\t\t\t\ttmp.push(split_url[i])\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn tmp\r\n\t\t\t})()\r\n\t\t\tvar partes = split_url.length\r\n\t\t\tpart = part <= partes ? (part === 0 ? partes - 1 : part - 1) : partes - 1\r\n\t\t\treturn split_url[part]\r\n\t\t}\r\n\r\n\t}\r\n\r\n\thtml = class {\r\n\r\n\t\t/**\r\n\t\t* @method createElement\r\n\t\t* \r\n\t\t* Acortamiento de document.createElement\r\n\t\t* @param {string} tag \r\n\t\t* @param {ElementCreationOptions} options\r\n\t\t* @returns {HTMLElement}\r\n\t\t*/\r\n\t\tstatic createElement(tag: string, options: ElementCreationOptions = null): HTMLElement {\r\n\t\t\treturn document.createElement(tag, options);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method createTagInnerHTML\r\n\t\t * \r\n\t\t * Crea un elemento y le asigna un innerHTML\r\n\t\t * @param {string} tag \r\n\t\t * @param {string} innerHTML \r\n\t\t * @param {ElementCreationOptions} options \r\n\t\t * @returns {HTMLElement}\r\n\t\t */\r\n\t\tstatic createTagInnerHTML(tag: string, innerHTML: string = '', options: ElementCreationOptions = null): HTMLElement {\r\n\t\t\tvar element = this.createElement(tag, options)\r\n\t\t\telement.innerHTML = innerHTML\r\n\t\t\treturn element\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * @method create\r\n\t\t * \r\n\t\t * @param {string} tag Etiquete HTML\r\n\t\t * @param {Array<{attr:string,value:string}>} attributes Array con objectos {attr:'',value:''} para agregar\r\n\t\t * atributos\r\n\t\t * @param {HTMLElement|HTMLElement[]} childs Elementos hijo\r\n\t\t * @param {string} innerHTML innerHTML introducido antes de agregar el hijo\r\n\t\t * @param {ElementCreationOptions} options \r\n\t\t * @returns {HTMLElement}\r\n\t\t */\r\n\t\tstatic create(tag: string, attributes: Array<{ attr: string, value: string | Array }> = null, childs: HTMLElement | Array = null, innerHTML: string = '', options: ElementCreationOptions = null): HTMLElement {\r\n\r\n\t\t\tvar element = this.createTagInnerHTML(tag, innerHTML, options)\r\n\r\n\t\t\tfor (let i of attributes) {\r\n\t\t\t\tif (typeof i.value == 'string') {\r\n\t\t\t\t\telement.setAttribute(i.attr, i.value.trim())\r\n\t\t\t\t} else if (Array.isArray(i.value)) {\r\n\t\t\t\t\telement.setAttribute(i.attr, i.value.join(' ').trim())\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (childs !== null) {\r\n\t\t\t\tif (Array.isArray(childs)) {\r\n\t\t\t\t\tfor (let i of childs) {\r\n\t\t\t\t\t\telement.appendChild(i)\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\telement.appendChild(childs)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn element\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * @method clearTextNodes\r\n\t * \r\n\t * @description Elimina los nodos de texto vacíos y comentarios\r\n\t * \r\n\t * @return {void}\r\n\t */\r\n\tclearTextNodes(): void {\r\n\t\tvar elementos = document.getElementsByTagName('*');\r\n\t\tfor (var k = 0; k < elementos.length; k++) {\r\n\t\t\tfor (var i = 0; i < elementos[k].childNodes.length; i++) {\r\n\t\t\t\tvar hijo = elementos[k].childNodes[i];\r\n\t\t\t\tif ((hijo.nodeType == 3 && !/\\S/.test(hijo.nodeValue)) || (hijo.nodeType == 8)) {\r\n\t\t\t\t\tthis.nodosEliminar[this.nodosEliminar.length] = hijo\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (var d = 0; d < this.nodosEliminar.length; d++) {\r\n\t\t\tthis.nodosEliminar[d].parentNode.removeChild(this.nodosEliminar[d])\r\n\t\t}\r\n\t}\r\n}\r\n"]}