diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2025-11-03 23:40:02 -0800 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2025-11-03 23:40:02 -0800 |
| commit | 56040f3ff85e77311f0c864a89afd63fcf1bdb50 (patch) | |
| tree | 2eb0166756e76b0483692e79830329c92e7fdcf3 /src/lang/util/number.ts | |
| parent | a11e6780fbb8bd4143dfec44e2ce147b795772d8 (diff) | |
add js-lang, refactor some ts-lang stuff
Diffstat (limited to 'src/lang/util/number.ts')
| -rw-r--r-- | src/lang/util/number.ts | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/lang/util/number.ts b/src/lang/util/number.ts deleted file mode 100644 index 6e4e360..0000000 --- a/src/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; |
