summaryrefslogtreecommitdiff
path: root/src/lang/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/lang/util')
-rw-r--r--src/lang/util/index.ts3
-rw-r--r--src/lang/util/number.ts37
-rw-r--r--src/lang/util/string.ts17
-rw-r--r--src/lang/util/utils.ts8
4 files changed, 0 insertions, 65 deletions
diff --git a/src/lang/util/index.ts b/src/lang/util/index.ts
deleted file mode 100644
index 00a3e54..0000000
--- a/src/lang/util/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from "./number";
-export * from "./utils";
-export * from "./string";
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;
diff --git a/src/lang/util/string.ts b/src/lang/util/string.ts
deleted file mode 100644
index 5772f40..0000000
--- a/src/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/lang/util/utils.ts b/src/lang/util/utils.ts
deleted file mode 100644
index ac36ca1..0000000
--- a/src/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;