From 8b610f2bcfc223333254ce9679730c42dce6d26e Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Mon, 3 Nov 2025 23:41:31 -0800 Subject: add createFn --- src/lang/ts-lang/util/string.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/lang/ts-lang/util/string.ts (limited to 'src/lang/ts-lang/util/string.ts') diff --git a/src/lang/ts-lang/util/string.ts b/src/lang/ts-lang/util/string.ts new file mode 100644 index 0000000..5772f40 --- /dev/null +++ b/src/lang/ts-lang/util/string.ts @@ -0,0 +1,17 @@ +export type AddStrings< + Strings extends readonly string[], + Carry extends string = "" +> = Strings extends [infer Head extends string, ...infer Tail extends string[]] + ? AddStrings + : Carry; + +export type ToString = T extends string | number + ? `${T}` + : T extends readonly any[] + ? T extends readonly [infer Head, ...infer Tail] + ? `${ToString< + Tail, + `${Carry extends "" ? "" : `${Carry}, `}${ToString}` + >}` + : `[${Carry}]` + : never; -- cgit v1.2.3-70-g09d2