Skip to content

Instantly share code, notes, and snippets.

View dusanmarsa's full-sized avatar
:octocat:
People are working here?!

Dušan dusanmarsa

:octocat:
People are working here?!
View GitHub Profile
@dusanmarsa
dusanmarsa / useINPMonitor.tsx
Created March 22, 2024 07:07
React hook for measuring Interaction to Next Pain (INP)
import { useEffect } from 'react'
type PerformanceEntryEnhanced = PerformanceEntry & {
interactionId?: string
}
let worstInp = 0
const useINPMonitor = () => {
if (
/*
Loop over array over and over according to its length
*/
let array1 = ['a', 'b', 'c', 'd']
let array2 = [...Array(100)].map((i,o) => o)
function canExecutePreventDefault () {
let supportsPassive = false;
try {
document.addEventListener("test", null, { get passive() { supportsPassive = true }});
} catch(e) {}
return supportsPassive
}
// https://github.com/Modernizr/Modernizr/blob/a747f33b2bc5db186f18bca4d1d63bf503d3159d/feature-detects/dom/passiveeventlisteners.js
@dusanmarsa
dusanmarsa / string-sequjence.js
Last active July 27, 2018 16:56
Create string sequence using recursion.
const nextInSequence = (last, initLength = 5) => {
let seq = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
last = last.split('').reverse()
let arrShift = arr => {
if(seq.indexOf(arr[0]) >= seq.length - 1) {
arr.shift()
}
if(seq.indexOf(arr[0]) < seq.length - 1){
@dusanmarsa
dusanmarsa / clipboard-paste-image.js
Created October 29, 2017 08:43
JavaScript - Clipboard API - Paste image handler
var IMAGE_MIME_REGEX = /^image\/(p?jpeg|gif|png)$/i;
var loadImage = function (file) {
var reader = new FileReader();
reader.onload = function(e){
var img = document.createElement('img');
img.src = e.target.result;
var range = window.getSelection().getRangeAt(0);
range.deleteContents();