Skip to content

Instantly share code, notes, and snippets.

View danielearwicker's full-sized avatar
💭
Learning, yearning, occasionally gurning

Daniel Earwicker danielearwicker

💭
Learning, yearning, occasionally gurning
View GitHub Profile
@danielearwicker
danielearwicker / usePartialCall.ts
Created May 15, 2021 10:30
usePartialCall - binding more args to end of a callback, avoid re-rendering a pure react component
import { useEffect, useRef, useMemo } from "react";
type Args = readonly unknown[];
function usePartialCall<A extends Args, M extends Args, R>(
f: (...args: [...A, ...M]) => R,
...moreArgs: M
) {
const ref = useRef(moreArgs);
@danielearwicker
danielearwicker / hash-base64.ts
Created October 26, 2022 16:16
Getting base64 string of SHA-256 from some string input, natively in modern browsers
const message = "Hello, this is the message";
const hash = new Uint8Array(await crypto.subtle.digest("SHA-256", new TextEncoder().encode(message)));
const base64 = btoa(String.fromCharCode(...hash)));