diff options
Diffstat (limited to 'src/lang/ts-lang/util/number.ts')
| -rw-r--r-- | src/lang/ts-lang/util/number.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lang/ts-lang/util/number.ts b/src/lang/ts-lang/util/number.ts index 6e4e360..2fa6d85 100644 --- a/src/lang/ts-lang/util/number.ts +++ b/src/lang/ts-lang/util/number.ts @@ -20,6 +20,18 @@ export type AddNumbers<Numbers extends readonly number[]> = ? T["length"] : never; +export type SubNumbersInternal< + MS extends readonly unknown[], + NS extends readonly unknown[] +> = MS extends readonly [...NS, ...infer Tail] ? Tail : never; + +export type SubNumbers<M extends number, N extends number> = SubNumbersInternal< + NumberToArray<M>, + NumberToArray<N> +> extends infer T extends readonly any[] + ? T["length"] + : never; + export type MultiplyInner< N extends number, MS extends readonly any[], |
