mirror of
https://github.com/better-auth/better-auth.git
synced 2026-06-04 05:16:36 -05:00
fix: possible fix for type seralization error
This commit is contained in:
@@ -16,7 +16,7 @@ import type {
|
||||
InferUserFromClient,
|
||||
} from "./types";
|
||||
|
||||
type CamelCase<S extends string> =
|
||||
export type CamelCase<S extends string> =
|
||||
S extends `${infer P1}-${infer P2}${infer P3}`
|
||||
? `${Lowercase<P1>}${Uppercase<P2>}${CamelCase<P3>}`
|
||||
: Lowercase<S>;
|
||||
@@ -30,7 +30,7 @@ export type PathToObject<
|
||||
? { [K in CamelCase<Segment>]: Fn }
|
||||
: never;
|
||||
|
||||
type InferSignUpEmailCtx<
|
||||
export type InferSignUpEmailCtx<
|
||||
ClientOpts extends ClientOptions,
|
||||
FetchOptions extends BetterFetchOption,
|
||||
> = {
|
||||
@@ -42,7 +42,7 @@ type InferSignUpEmailCtx<
|
||||
fetchOptions?: FetchOptions;
|
||||
} & UnionToIntersection<InferAdditionalFromClient<ClientOpts, "user", "input">>;
|
||||
|
||||
type InferUserUpdateCtx<
|
||||
export type InferUserUpdateCtx<
|
||||
ClientOpts extends ClientOptions,
|
||||
FetchOptions extends BetterFetchOption,
|
||||
> = {
|
||||
@@ -53,7 +53,7 @@ type InferUserUpdateCtx<
|
||||
UnionToIntersection<InferAdditionalFromClient<ClientOpts, "user", "input">>
|
||||
>;
|
||||
|
||||
type InferCtx<
|
||||
export type InferCtx<
|
||||
C extends Context<any, any>,
|
||||
FetchOptions extends BetterFetchOption,
|
||||
> = C["body"] extends Record<string, any>
|
||||
@@ -74,9 +74,12 @@ type InferCtx<
|
||||
fetchOptions?: FetchOptions;
|
||||
};
|
||||
|
||||
type MergeRoutes<T> = UnionToIntersection<T>;
|
||||
export type MergeRoutes<T> = UnionToIntersection<T>;
|
||||
|
||||
type InferReturn<R, O extends ClientOptions> = R extends Record<string, any>
|
||||
export type InferReturn<R, O extends ClientOptions> = R extends Record<
|
||||
string,
|
||||
any
|
||||
>
|
||||
? StripEmptyObjects<
|
||||
{
|
||||
user: R extends { user: any } ? InferUserFromClient<O> : never;
|
||||
|
||||
@@ -4,8 +4,6 @@ import type {
|
||||
ClientOptions,
|
||||
InferActions,
|
||||
InferClientAPI,
|
||||
InferSessionFromClient,
|
||||
InferUserFromClient,
|
||||
IsSignal,
|
||||
} from "../types";
|
||||
import { createDynamicPathProxy } from "../proxy";
|
||||
@@ -24,23 +22,22 @@ export function capitalizeFirstLetter(str: string) {
|
||||
return str.charAt(0).toUpperCase() + str.slice(1);
|
||||
}
|
||||
|
||||
type InferResolvedHooks<O extends ClientOptions> = O["plugins"] extends Array<
|
||||
infer Plugin
|
||||
>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: () => ReturnType<Atoms[key]["get"]>;
|
||||
}
|
||||
export type InferResolvedHooks<O extends ClientOptions> =
|
||||
O["plugins"] extends Array<infer Plugin>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: () => ReturnType<Atoms[key]["get"]>;
|
||||
}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {};
|
||||
: {};
|
||||
|
||||
export function createAuthClient<Option extends ClientOptions>(
|
||||
options?: Option,
|
||||
|
||||
@@ -6,8 +6,6 @@ import type {
|
||||
ClientOptions,
|
||||
InferActions,
|
||||
InferClientAPI,
|
||||
InferSessionFromClient,
|
||||
InferUserFromClient,
|
||||
IsSignal,
|
||||
} from "../types";
|
||||
import type { Accessor } from "solid-js";
|
||||
@@ -22,23 +20,22 @@ function getAtomKey(str: string) {
|
||||
return `use${capitalizeFirstLetter(str)}`;
|
||||
}
|
||||
|
||||
type InferResolvedHooks<O extends ClientOptions> = O["plugins"] extends Array<
|
||||
infer Plugin
|
||||
>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: () => Accessor<ReturnType<Atoms[key]["get"]>>;
|
||||
}
|
||||
export type InferResolvedHooks<O extends ClientOptions> =
|
||||
O["plugins"] extends Array<infer Plugin>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: () => Accessor<ReturnType<Atoms[key]["get"]>>;
|
||||
}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {};
|
||||
: {};
|
||||
|
||||
export function createAuthClient<Option extends ClientOptions>(
|
||||
options?: Option,
|
||||
|
||||
@@ -5,8 +5,6 @@ import type {
|
||||
ClientOptions,
|
||||
InferActions,
|
||||
InferClientAPI,
|
||||
InferSessionFromClient,
|
||||
InferUserFromClient,
|
||||
IsSignal,
|
||||
} from "../types";
|
||||
import { createDynamicPathProxy } from "../proxy";
|
||||
@@ -17,23 +15,22 @@ import type {
|
||||
BetterFetchResponse,
|
||||
} from "@better-fetch/fetch";
|
||||
|
||||
type InferResolvedHooks<O extends ClientOptions> = O["plugins"] extends Array<
|
||||
infer Plugin
|
||||
>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: () => Atoms[key];
|
||||
}
|
||||
export type InferResolvedHooks<O extends ClientOptions> =
|
||||
O["plugins"] extends Array<infer Plugin>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: () => Atoms[key];
|
||||
}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {};
|
||||
: {};
|
||||
|
||||
export function createAuthClient<Option extends ClientOptions>(
|
||||
options?: Option,
|
||||
|
||||
@@ -5,8 +5,6 @@ import type {
|
||||
ClientOptions,
|
||||
InferActions,
|
||||
InferClientAPI,
|
||||
InferSessionFromClient,
|
||||
InferUserFromClient,
|
||||
IsSignal,
|
||||
} from "./types";
|
||||
import { createDynamicPathProxy } from "./proxy";
|
||||
@@ -17,23 +15,22 @@ import type {
|
||||
BetterFetchResponse,
|
||||
} from "@better-fetch/fetch";
|
||||
|
||||
type InferResolvedHooks<O extends ClientOptions> = O["plugins"] extends Array<
|
||||
infer Plugin
|
||||
>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: Atoms[key];
|
||||
}
|
||||
export type InferResolvedHooks<O extends ClientOptions> =
|
||||
O["plugins"] extends Array<infer Plugin>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: Atoms[key];
|
||||
}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {};
|
||||
: {};
|
||||
|
||||
export function createAuthClient<Option extends ClientOptions>(
|
||||
options?: Option,
|
||||
|
||||
@@ -20,23 +20,22 @@ function getAtomKey(str: string) {
|
||||
return `use${capitalizeFirstLetter(str)}`;
|
||||
}
|
||||
|
||||
type InferResolvedHooks<O extends ClientOptions> = O["plugins"] extends Array<
|
||||
infer Plugin
|
||||
>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: DeepReadonly<Ref<ReturnType<Atoms[key]["get"]>>>;
|
||||
}
|
||||
export type InferResolvedHooks<O extends ClientOptions> =
|
||||
O["plugins"] extends Array<infer Plugin>
|
||||
? Plugin extends BetterAuthClientPlugin
|
||||
? Plugin["getAtoms"] extends (fetch: any) => infer Atoms
|
||||
? Atoms extends Record<string, any>
|
||||
? {
|
||||
[key in keyof Atoms as IsSignal<key> extends true
|
||||
? never
|
||||
: key extends string
|
||||
? `use${Capitalize<key>}`
|
||||
: never]: DeepReadonly<Ref<ReturnType<Atoms[key]["get"]>>>;
|
||||
}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {}
|
||||
: {};
|
||||
: {};
|
||||
|
||||
export function createAuthClient<Option extends ClientOptions>(
|
||||
options?: Option,
|
||||
|
||||
Reference in New Issue
Block a user