Skip to content

Instantly share code, notes, and snippets.

View simenbrekken-visma's full-sized avatar

Simen Brekken simenbrekken-visma

View GitHub Profile
* Redispatch event with composed flag to propagate it through the shadow DOM.
* @see
function redispatchComposedEvent(event: Event) {
const composedEvent = new Event(event.type, {
bubbles: event.bubbles,
simenbrekken-visma / storage.ts
Created February 16, 2023 18:51
export function getLocalStorageItem<T>(key: string, initialValue: T): T {
try {
const item = window.localStorage.getItem(key);
return item ? JSON.parse(item) : initialValue;
} catch (error) {
console.warn(`Could not get localStorage key "${key}"`, error);
return initialValue;
* React overwrites the native value setter for HTMLInputElement so have to go deeper.
* @see
function setNativeInputValue(input: HTMLInputElement, value: string) {
)?.set?.call(input, value);
simenbrekken-visma /
Created September 24, 2022 06:08 — forked from simenbrekken/
Hide fetch/XHR in Cypress command log

This novel workaround simply hides any command log entries that originate from fetch/XHR requests.

While I've updated this receipe for Cypress 10 and converted it to TypeScript you should be able to use it in a JavaScript project by ignoring the cypress.d.ts file and placing the snippet from e2e.ts in e2e.js instead.

function Table() {
  // Dummy example
  const [page, setPage] = useState(0);
  const pages = 5;
  const hasMore = page < pages;
  function loadMore() {
    setPage(previousPage => previousPage + 1);