Rev 1904 | Rev 2864 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
const jsonToParams = (data = {}) => {if (!data) {return false}const formBody = []for (const property in data) {const encodedKey = encodeURIComponent(property)// @ts-ignoreconst encodedValue = encodeURIComponent(data[property])formBody.push(encodedKey + '=' + encodedValue)}const _formBody = formBody.join('&')return _formBody}const filterItems = (query = '', items = []) => {if (!query) {return items}return items.filter((conversation) =>conversation.name.toLowerCase().includes(query.toLowerCase()))}const debounce = (func, timeout = 300) => {let timerreturn (...args) => {clearTimeout(timer)timer = setTimeout(() => {func.apply(this, args)}, timeout)}}const camalize = function camalize(str) {return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase())}const scrollToBottom = (element) => {if (!element.current) {return false}element.scrollTop = element.scrollHeight * 9}const formatObjectToArray = (object) => {return Object.entries(object).map(([key, value]) => ({name: value,value: key}))}const isPromise = (obj) => {return ((!!obj && obj[Symbol.toStringTag] === 'Promise') ||obj[Symbol.toStringTag] === 'AsyncFunction')}export {jsonToParams,debounce,scrollToBottom,filterItems,camalize,formatObjectToArray,isPromise}