quran-meta
Version:
Library with meta data and functionality related to Holy Quran
7 lines • 509 B
text/typescript
//#region src/ts-utils.d.ts
type GrowToSize<T, N extends number, A extends T[]> = A["length"] extends N ? A : GrowToSize<T, N, [...A, T]>;
type FixedArray<T, N extends number> = GrowToSize<T, N, []>;
type ArrayOfSameLength<T extends unknown[], U> = { [K in keyof T]: U };
type LessThan<TNumber extends number, TArray extends unknown[] = []> = TNumber extends TArray["length"] ? TArray[number] : LessThan<TNumber, [...TArray, TArray["length"]]>;
//#endregion
export { ArrayOfSameLength, FixedArray, LessThan };