gvergnaud / hotscript

A library of composable functions for the type-level! Transform your TypeScript types in any way you want using functions you already know.
3.38k stars 57 forks source link

`Objects.Update` | Incorrect type if value is replaced by array #83

Open Maggi64 opened 1 year ago

Maggi64 commented 1 year ago

Reproduction: type T1 = Call<Objects.Update<'a[0]', 4>, { a: 1 }>;

Output:

type T1 = {
    a: {
        toString: ((radix?: number | undefined) => string) & (() => string);
        toFixed: (fractionDigits?: number | undefined) => string;
        toExponential: (fractionDigits?: number | undefined) => string;
        toPrecision: (precision?: number | undefined) => string;
        valueOf: (() => number) & (() => Object);
        toLocaleString: {
            ...;
        } & (() => string);
        0: number;
    };
}

Expected:

type T1 = { a: number[] }