Skip to content

Instantly share code, notes, and snippets.

View devjmetivier's full-sized avatar

Devin Metivier devjmetivier

View GitHub Profile
@devjmetivier
devjmetivier / vercel-domains-filter-tld-length.js
Created March 8, 2024 18:49
Vercel Domains filter by TLD length
const domains = document.querySelectorAll('[data-testid="domains/search-item"]');
const tldLength = 2; // edit this value to filter by length greater than the value
domains.forEach((domain) => {
if (domain.querySelector(".tld-part").textContent.length > tldLength) {
const listItem =
domain.querySelector(".tld-part").parentElement.parentElement
.parentElement;
const list =
domain.querySelector(".tld-part").parentElement.parentElement
import { useEffect, useRef } from 'react';
export type UseLongPressOpts = {
callback: () => void;
delay: number;
distanceThreshold?: number;
};
export function useLongPress({ callback, delay, distanceThreshold = 40 }: UseLongPressOpts) {
const timerRef = useRef<NodeJS.Timeout | void>();
@devjmetivier
devjmetivier / Multiline_Regular_Expression_Search_in_VS_Code.md
Created December 11, 2023 19:39
Multiline Regular Expression Search in VS Code

From Stackoverflow

start_text.*?(.|[\n])*?end_text

with start_text and end_text being the bounds of your multiline search.

breaking down the regex .*?(.|[\n])*?:

@devjmetivier
devjmetivier / getRandomNumberExc.ts
Created March 28, 2022 03:55
Returns a random number between min and max (both excluded)
function getRndInteger(min: number, max: number): number {
return Math.floor(Math.random() * (max - min) ) + min;
}
@devjmetivier
devjmetivier / getRandomNumberInc.ts
Created March 28, 2022 03:54
Returns a random number between min and max (both included)
function getRandomNumberInc(min: number, max: number): number {
return Math.floor(Math.random() * (max - min + 1) ) + min;
}
@devjmetivier
devjmetivier / AsyncReturnType.ts
Created March 28, 2022 02:12
AsyncReturnType: TypeScript utility type
// https://www.typescriptlang.org/play?#code/C4TwDgpgBAggziAdgYwEoWAVwE6ICrgQA8eUEAHsBIgCZxQAUAdCwIbYDmcAXFK4iACUUALwA+PgIkiAUFCgB6BVACWAMyikAtq2DIAFhHrB9K+nBUdEunNH40o2DDkT1WUAArYA9lrMQAGjJKbFZkYCgAVUYTaFBIKG8NWMcjbwAbADcIBzAfPzgIYXsoTEKoE105TWCqWnpmNk4eSSFRCS9ffyIVRDUIbCixavkAfiiRqF4lROwWJnl1Gp09Q2NTc0trLCdJBycd11aTXo4ydMKgimBQ8IrDVMOoTNZ0zGhokrK4-Sr5eVI12odEY83YXF4-Da4lUfQGE3+UHGkUm02U3jmLFUGgg2WwIBOiDOHG8Rgq3ighnS6SCBxcUAABlCGZN5FCANwyLmsBAoKBqTAoYAqbyIPi85AAMUFyAYwgA3pM6bgKth3pyAL5cgVCkVixCi+BIKUyuVQRWI5Vim7qmRamTxaAAOUNEvQhzgnQKEEl+SNfJEUHdLgIkCIjqS4uN0pQYk5jqgLsQ-rQzlwcFDPvySZToiDafwhHDhEjBuTEpjyDjXITKeD6czvt8ucDdYLmeLkEjPOjMurtbdBYzhCbWhzErzbcOHYjGjLKcrcaAA
type AsyncReturnType<T extends (...args: any) => any> =
// if T matches this signature and returns a Promise, extract U (the type of the resolved promise) and use that
T extends (...args: any) => Promise<infer U>
? U
: // or... if T matches this signature and returns anything else, extract the return value U and use that
T extends
@devjmetivier
devjmetivier / cloudSettings
Last active April 3, 2020 17:36
Convert any number to a binary string using the modulo operator.
{"lastUpload":"2020-04-03T17:36:11.603Z","extensionVersion":"v3.4.3"}
@devjmetivier
devjmetivier / ContextProvider.js
Last active April 16, 2020 13:10
Combines context providers into single provider to wrap application
import React, { cloneElement } from 'react';
// import providers
import { ExportedProvider } from './path/to/provider';
function ProviderComposer({ contexts, children }) {
return contexts.reduceRight(
(kids, parent) =>
cloneElement(parent, {
children: kids,