Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11427 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React from "react";
const jsonToParams = (data = {}) => {
  if (!data) return false;
  else {
    let formBody = [];
    for (let property in data) {
      let encodedKey = encodeURIComponent(property);
      //@ts-ignore
      let encodedValue = encodeURIComponent(data[property]);
      formBody.push(encodedKey + "=" + encodedValue);
    }
    const _formBody = formBody.join("&");
    return _formBody;
  }
};

const debounce = (func, timeout = 300) => {
  let timer;
  return (...args) => {
    clearTimeout(timer);
    timer = setTimeout(() => {
      func.apply(this, args);
    }, timeout);
  };
};

const useWindowSize = () => {
  const [size, setSize] = React.useState([0, 0]);
  React.useLayoutEffect(() => {
    function updateSize() {
      setSize([window.innerWidth, window.innerHeight]);
    }
    window.addEventListener("resize", updateSize);
    updateSize();
    return () => window.removeEventListener("resize", updateSize);
  }, []);
  return size;
};
export { useWindowSize, jsonToParams, debounce };