Skip to content

Instantly share code, notes, and snippets.

@jrson83
jrson83 / program.ts
Created March 12, 2024 22:36
typescript: how to infer array of generic objects as union
/**
* Helper type-level function to expand a given type to show all of its inferred fields when hovered.
*
* @see {@link https://stackoverflow.com/a/57683652}
* @see {@link https://gist.github.com/trevor-atlas/b277496d0379d574cadd3cf8af0de34c}
*/
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never
/**
* Represents an argument.
/*
analyze reserved properties from bundled dts for terser
$ pnpm tsm analyze.ts src/*.{ts, tsx} -i src/index.ts
{
"reservedProperties": [
"result",
"value",
"pubTypeKey",
"ikey",
@jrson83
jrson83 / lazy.ts
Created April 13, 2024 19:44 — forked from goran-peoski-work/lazy.ts
Dynamic import of omponent
import React, { ComponentType, LazyExoticComponent } from "react";
type Transformer = <T>(name: keyof T) => (module: T) => { default: T[keyof T] };
const transformer: Transformer = (
(name) => (module) => ({ default: module[name] })
);