rivo
Version:
🤖 The ultimate library you need for composable type-level programming in TypeScript, powered by HKT.
18 lines (15 loc) • 391 B
TypeScript
import type { Args, Fn } from "../HKT";
/**
* Reverse a string.
*
* Sig: `(s: string) => string`
*/
export type Reverse<S extends string> = S extends `${infer F}${infer R}` ? `${Reverse<R>}${F}` : "";
/**
* [Fn] Reverse a string.
*
* Sig: `(s: string) => string`
*/
export default interface ReverseFn extends Fn<[string], string> {
def: ([s]: Args<this>) => Reverse<typeof s>;
}