utils.js 955 B

123456789101112131415161718192021222324252627282930
  1. import { window } from 'ssr-window';
  2. function unique(arr) {
  3. const uniqueArray = [];
  4. for (let i = 0; i < arr.length; i += 1) {
  5. if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);
  6. }
  7. return uniqueArray;
  8. }
  9. function toCamelCase(string) {
  10. return string.toLowerCase().replace(/-(.)/g, (match, group1) => group1.toUpperCase());
  11. }
  12. function requestAnimationFrame(callback) {
  13. if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);
  14. else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);
  15. return window.setTimeout(callback, 1000 / 60);
  16. }
  17. function cancelAnimationFrame(id) {
  18. if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id);
  19. else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id);
  20. return window.clearTimeout(id);
  21. }
  22. export {
  23. unique,
  24. toCamelCase,
  25. requestAnimationFrame,
  26. cancelAnimationFrame,
  27. };