Skip to content

Instantly share code, notes, and snippets.

View Talor-A's full-sized avatar

Talor Anderson Talor-A

View GitHub Profile
@Talor-A
Talor-A / MenuItem.tsx
Last active May 8, 2024 20:02
connect react-aria-components with next router
import {
MenuItem as AriaMenuItem,
MenuItemProps as AriaMenuItemProps
} from 'react-aria-components';
interface MenuItemProps<T>
extends ReactAriaNextLinkProps,
Omit<AriaMenuItemProps<T>, 'children' | 'href'> {
}
@Talor-A
Talor-A / useSubscribeSuspense.ts
Created June 30, 2021 02:29
useSubscribe suspense
import { ReadTransaction, Replicache } from "replicache/out/replicache";
class Deferred<T> {
promise: Promise<T>;
resolve!: (value: T | PromiseLike<T>) => void;
reject!: (reason?: any) => void;
constructor() {
/**
* get all keys from T of type `string` (exclude `number` and `symbol`)
*/
export type ObjectKeys<T> = Extract<keyof T, string>
export type ObjectValues<T> = T[ObjectKeys<T>]
/**
* Object.keys(), but assert that an array of T's keys is returned, not `string[]`
*/
export const objectKeys = <T>(obj: T) => Object.keys(obj) as ObjectKeys<T>[]
@Talor-A
Talor-A / cloudSettings
Last active March 19, 2019 04:55
Visual Studio Code Settings Sync Gist
{"lastUpload":"2019-03-19T04:55:34.178Z","extensionVersion":"v3.2.7"}
@Talor-A
Talor-A / cloudSettings
Last active March 19, 2019 04:49
Visual Studio Code Settings Sync Gist
{"lastUpload":"2019-03-19T04:49:46.656Z","extensionVersion":"v3.2.7"}
@Talor-A
Talor-A / cloudSettings
Created September 2, 2018 00:01
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-09-02T00:01:25.104Z","extensionVersion":"v3.1.1"}
@Talor-A
Talor-A / cloudSettings
Created September 2, 2018 00:00
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-09-02T00:00:34.435Z","extensionVersion":"v3.1.1"}