Skip to content

Instantly share code, notes, and snippets.

View squalvj's full-sized avatar
24/7

Aditya Wiraha squalvj

24/7
View GitHub Profile
@squalvj
squalvj / checkVisible.js
Created April 16, 2020 07:22
Check element is visible in viewport or no
// assuming el is dom object
function checkVisible(el)
{
return el.offsetTop < window.innerHeight + window.pageYOffset
}
@squalvj
squalvj / quicksort.js
Created April 29, 2020 09:22
Super quicksort algorithm
const quickSort = list => {
if (list.length < 2)
return list;
let pivot = list[0];
let left = [];
let right = [];
for (let i = 1, total = list.length; i < total; i++){
if (list[i] < pivot)
left.push(list[i]);
else
@squalvj
squalvj / regex.js
Last active February 15, 2024 07:39
This is a ungreedy solution in regex javascript
/(.*?)/g
// (.*?) is ungreedy
import React, { useMemo, createContext, useRef, useEffect, useState, useContext } from "react";
function useLoadGsiScript(options = {}) {
const { nonce, onScriptLoadSuccess, onScriptLoadError } = options;
const [scriptLoadedSuccessfully, setScriptLoadedSuccessfully] = useState(false);
const onScriptLoadSuccessRef = useRef(onScriptLoadSuccess);
onScriptLoadSuccessRef.current = onScriptLoadSuccess;
const onScriptLoadErrorRef = useRef(onScriptLoadError);
onScriptLoadErrorRef.current = onScriptLoadError;
useEffect(() => {
const scriptTag = document.createElement("script");