@valon-technologies/gestalt
    Preparing search index...

    Type Alias Init<T>

    Init: T extends InitAtom
        ? T
        : T extends ReadonlyArray<infer E>
            ? Init<E>[]
            : T extends { case: string
            | undefined }
                ? T extends { case: infer C; value: infer V }
                    ? { case: C; value: Init<V> }
                    : T
                : string extends keyof T
                    ? { [K in keyof T]: Init<T[K]> }
                    : number extends keyof T
                        ? { [K in keyof T]: Init<T[K]> }
                        : T extends object ? { [K in keyof T]?: Init<T[K]> } : T

    Sparse-construction input for a native request value: every field is optional, accepts an explicit undefined (so callers holding optional values can pass fields through under exactOptionalPropertyTypes), unset fields read as their defaults, and nested message values recurse. Atoms (Date, Uint8Array, bigint, and primitives) are never recursed, arrays accept sparse elements, and map values stay required. Variant unions distribute across their members with case kept required and the payload made sparse, so a chosen variant stays well-formed.

    Type Parameters

    • T