ecspresso
    Preparing search index...

    Type Alias NumericPaths<T, Depth>

    NumericPaths: Depth["length"] extends 4
        ? never
        : T extends readonly unknown[]
            ? never
            : T extends Record<string, unknown>
                ? {
                    [K in keyof T & string]: NonNullable<T[K]> extends number
                        ? K
                        : NonNullable<T[K]> extends readonly unknown[]
                            ? never
                            : NonNullable<T[K]> extends Record<string, unknown>
                                ? `${K}.${NumericPaths<NonNullable<(...)>, [(...), (...)]>}`
                                : never
                }[keyof T & string]
                : never

    Recursively produce a union of dot-separated paths that resolve to number within type T. Depth-limited to 4 levels to prevent TS recursion errors.

    Type Parameters

    • T
    • Depth extends readonly unknown[] = []
    NumericPaths<{ x: number; y: number }> // 'x' | 'y'
    NumericPaths<{ position: { x: number }; rotation: number }> // 'position.x' | 'rotation'