@jsonjoy.com/util
Version:
Various helper utilities
8 lines (7 loc) • 355 B
TypeScript
import type { Brand } from '../types';
export type JavaScript<T> = Brand<string, T, 'JavaScript'>;
export type JavaScriptClosure<Js, D extends unknown[] = unknown[]> = JavaScript<(...deps: D) => Js>;
export interface JavaScriptLinked<Js, Dependencies extends unknown[] = unknown[]> {
deps: Dependencies;
js: JavaScriptClosure<Js, Dependencies>;
}