diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2025-11-03 23:41:31 -0800 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2025-11-03 23:41:31 -0800 |
| commit | 8b610f2bcfc223333254ce9679730c42dce6d26e (patch) | |
| tree | ac1eab726395523f8725bda3d040e22214cba409 /src/ts-lang/util | |
| parent | 56040f3ff85e77311f0c864a89afd63fcf1bdb50 (diff) | |
add createFn
Diffstat (limited to 'src/ts-lang/util')
| -rw-r--r-- | src/ts-lang/util/index.ts | 3 | ||||
| -rw-r--r-- | src/ts-lang/util/number.ts | 37 | ||||
| -rw-r--r-- | src/ts-lang/util/string.ts | 17 | ||||
| -rw-r--r-- | src/ts-lang/util/utils.ts | 8 |
4 files changed, 0 insertions, 65 deletions
diff --git a/src/ts-lang/util/index.ts b/src/ts-lang/util/index.ts deleted file mode 100644 index 00a3e54..0000000 --- a/src/ts-lang/util/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./number"; -export * from "./utils"; -export * from "./string"; diff --git a/src/ts-lang/util/number.ts b/src/ts-lang/util/number.ts deleted file mode 100644 index 6e4e360..0000000 --- a/src/ts-lang/util/number.ts +++ /dev/null @@ -1,37 +0,0 @@ -export type NumberToArray< - Number extends number, - Carry extends readonly any[] = [] -> = Number extends Carry["length"] - ? Carry - : NumberToArray<Number, [...Carry, any]>; - -export type NumbersToArray< - Numbers extends readonly number[], - Carry extends readonly any[] = [] -> = Numbers extends [ - infer Head extends number, - ...infer Tail extends readonly number[] -] - ? NumbersToArray<Tail, [...Carry, ...NumberToArray<Head>]> - : Carry; - -export type AddNumbers<Numbers extends readonly number[]> = - NumbersToArray<Numbers> extends infer T extends readonly any[] - ? T["length"] - : never; - -export type MultiplyInner< - N extends number, - MS extends readonly any[], - Carry extends number = 0 -> = MS extends [infer Head extends number, ...infer Tail extends readonly any[]] - ? MultiplyInner<N, Tail, AddNumbers<[Carry, N]>> - : Carry; - -export type Multiply<M extends number, N extends number> = MultiplyInner< - M, - NumberToArray<N> ->; - -export type ExtractNumber<T extends any> = - T extends `${infer Inner extends number}` ? Inner : never; diff --git a/src/ts-lang/util/string.ts b/src/ts-lang/util/string.ts deleted file mode 100644 index 5772f40..0000000 --- a/src/ts-lang/util/string.ts +++ /dev/null @@ -1,17 +0,0 @@ -export type AddStrings< - Strings extends readonly string[], - Carry extends string = "" -> = Strings extends [infer Head extends string, ...infer Tail extends string[]] - ? AddStrings<Tail, `${Carry}${Head}`> - : Carry; - -export type ToString<T, Carry extends string = ""> = T extends string | number - ? `${T}` - : T extends readonly any[] - ? T extends readonly [infer Head, ...infer Tail] - ? `${ToString< - Tail, - `${Carry extends "" ? "" : `${Carry}, `}${ToString<Head>}` - >}` - : `[${Carry}]` - : never; diff --git a/src/ts-lang/util/utils.ts b/src/ts-lang/util/utils.ts deleted file mode 100644 index ac36ca1..0000000 --- a/src/ts-lang/util/utils.ts +++ /dev/null @@ -1,8 +0,0 @@ -export type UnarrayIfOnlyHead<T extends readonly any[]> = T extends [ - infer Head, - infer Next -] - ? T - : T extends [infer Head] - ? Head - : T; |
