Skip to content

Instantly share code, notes, and snippets.

@mikeplus64
mikeplus64 / routeStateMachine.ts
Last active July 20, 2020 14:31
router5 + typescript + effort
import { UnionToIntersection, DeepWritable } from 'ts-essentials';
import { State as RouteState } from 'router5';
import { Switch, createState, createEffect, createMemo } from 'solid-js';
import useRoute, { MatchRoute } from './context';
import { Routes } from './definition';
export type RenderTreeOf<Tree> =
Owned<Tree> | RenderNode &
UnionToIntersection<
Tree extends readonly (infer Node)[]