Libraries v5.0.0
    Preparing search index...

    Type Alias MetadataMethods<Methods>Internal

    MetadataMethods: {
        [M in keyof Methods]: Methods[M] extends MetadataMethod<
            infer K,
            infer A,
            infer V,
            infer Mode,
        >
            ? Mode extends "argument"
                ? <S, const Value extends A[0]>(
                    this: S,
                    value: Value,
                ) => SetMetadata<S, Methods, K, Value>
                : <S>(this: S, ...args: A) => SetMetadata<S, Methods, K, V>
            : Methods[M] extends (this: any, ...args: infer A) => infer R
                ? typeof EXTRA_TYPE_BRAND extends keyof R
                    ? <S, const Name extends string & A[0], const Key extends string>(
                        this: S,
                        name: Name,
                        ...columns: ReadonlyArray<Key | ((t: MetadataPropertyTree<S>) => any)>,
                    ) => WithBrand<
                        S,
                        Methods,
                        typeof EXTRA_TYPE_BRAND,
                        ExtraTypes<S> & Record<Name, readonly Key[]>,
                    >
                    : typeof METHOD_LITERAL_BRAND extends keyof R
                        ? <S, const Name extends string & A[0]>(
                            this: S,
                            name: Name,
                            ...rest: A extends [any, ...(infer Rest)] ? Rest : [],
                        ) => WithBrand<
                            S,
                            Methods,
                            typeof METHOD_LITERAL_BRAND,
                            LiteralNames<S>
                            | Name,
                        >
                        : <S>(this: S, ...args: A) => S
                : Methods[M]
    }

    Named declaration support for extension method signatures.

    Type Parameters

    • Methods