Skip to content

Commit 9ff8bf6

Browse files
committed
rename some internal types
1 parent 7f9b1eb commit 9ff8bf6

File tree

3 files changed

+13
-19
lines changed

3 files changed

+13
-19
lines changed

src/impl/database.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type {
1212
Row,
1313
Insert,
1414
FullTableOnly,
15-
WithRefs,
15+
JoinedRow,
1616
} from "./table.js";
1717
import {
1818
validateWithStandardSchema,
@@ -959,7 +959,7 @@ export class Transaction {
959959
all<T extends Queryable<any, any>>(table: T): TaggedQuery<Row<T>[]>;
960960
all<T extends Queryable<any, any>, Rest extends Queryable<any, any>[]>(
961961
tables: [T, ...Rest],
962-
): TaggedQuery<WithRefs<T, [T, ...Rest]>[]>;
962+
): TaggedQuery<JoinedRow<T, [T, ...Rest]>[]>;
963963
all<T extends Queryable<any, any>>(tables: T | T[]): TaggedQuery<Row<T>[]> {
964964
const tableArray = Array.isArray(tables) ? tables : [tables];
965965
const primaryTable = tableArray[0];
@@ -1007,7 +1007,7 @@ export class Transaction {
10071007
get<T extends Queryable<any, any>>(table: T): TaggedQuery<Row<T> | null>;
10081008
get<T extends Queryable<any, any>, Rest extends Queryable<any, any>[]>(
10091009
tables: [T, ...Rest],
1010-
): TaggedQuery<WithRefs<T, [T, ...Rest]> | null>;
1010+
): TaggedQuery<JoinedRow<T, [T, ...Rest]> | null>;
10111011
get<T extends Queryable<any, any>>(
10121012
tables: T | T[],
10131013
id?: string | number,
@@ -2002,7 +2002,7 @@ export class Database extends EventTarget {
20022002
all<T extends Queryable<any, any>>(table: T): TaggedQuery<Row<T>[]>;
20032003
all<T extends Queryable<any, any>, Rest extends Queryable<any, any>[]>(
20042004
tables: [T, ...Rest],
2005-
): TaggedQuery<WithRefs<T, [T, ...Rest]>[]>;
2005+
): TaggedQuery<JoinedRow<T, [T, ...Rest]>[]>;
20062006
all<T extends Queryable<any, any>>(tables: T | T[]): TaggedQuery<Row<T>[]> {
20072007
const tableArray = Array.isArray(tables) ? tables : [tables];
20082008
const primaryTable = tableArray[0];
@@ -2067,7 +2067,7 @@ export class Database extends EventTarget {
20672067
get<T extends Queryable<any, any>>(table: T): TaggedQuery<Row<T> | null>;
20682068
get<T extends Queryable<any, any>, Rest extends Queryable<any, any>[]>(
20692069
tables: [T, ...Rest],
2070-
): TaggedQuery<WithRefs<T, [T, ...Rest]> | null>;
2070+
): TaggedQuery<JoinedRow<T, [T, ...Rest]> | null>;
20712071
get<T extends Queryable<any, any>>(
20722072
tables: T | T[],
20732073
id?: string | number,

src/impl/table.ts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -987,7 +987,7 @@ export interface DerivedExpr {
987987
* Set values for updates - plain values only.
988988
*/
989989
export type SetValues<T extends Table<any>> = {
990-
[K in keyof Infer<T>]?: Infer<T>[K];
990+
[K in keyof Row<T>]?: Row<T>[K];
991991
};
992992

993993
// ============================================================================
@@ -1017,10 +1017,10 @@ type UnwrapZod<T> =
10171017
* const Posts = table("posts", {
10181018
* authorId: z.string().db.references(Users, "author"),
10191019
* });
1020-
* type PostRefs = InferRefs<typeof Posts["schema"]["shape"]>;
1020+
* type PostRefs = RowRefs<typeof Posts["schema"]["shape"]>;
10211021
* // { author: typeof Users }
10221022
*/
1023-
export type InferRefs<T extends ZodRawShape> = {
1023+
export type RowRefs<T extends ZodRawShape> = {
10241024
[K in keyof T as UnwrapZod<T[K]> extends {readonly __refAs: infer As}
10251025
? As extends string
10261026
? As
@@ -1040,7 +1040,7 @@ type FilterRefs<
10401040
PickedShape extends ZodRawShape,
10411041
OriginalRefs extends Record<string, Table<any, any>>,
10421042
> = {
1043-
[Alias in keyof OriginalRefs as Alias extends keyof InferRefs<PickedShape>
1043+
[Alias in keyof OriginalRefs as Alias extends keyof RowRefs<PickedShape>
10441044
? Alias
10451045
: never]: OriginalRefs[Alias];
10461046
};
@@ -1610,7 +1610,7 @@ export function table<T extends Record<string, ZodType>>(
16101610
name: string,
16111611
shape: T,
16121612
options: TableOptions = {},
1613-
): Table<T, InferRefs<T>> {
1613+
): Table<T, RowRefs<T>> {
16141614
// Validate table name for dangerous characters
16151615
validateIdentifier(name, "table");
16161616

@@ -2468,11 +2468,6 @@ export type Queryable<
24682468
*/
24692469
export type Row<T extends Queryable<any>> = z.infer<T["schema"]>;
24702470

2471-
/**
2472-
* @deprecated Use `Row<T>` instead.
2473-
*/
2474-
export type Infer<T extends Queryable<any>> = Row<T>;
2475-
24762471
// ============================================================================
24772472
// Join Result Types (Magic Types for Multi-Table Queries)
24782473
// ============================================================================
@@ -2490,7 +2485,7 @@ type GetRefs<T extends Queryable<any, any>> =
24902485
* For example, if Posts has `{ author: typeof Users }` refs and Users is in JoinedTables,
24912486
* this produces `{ author: Row<typeof Users> }`.
24922487
*/
2493-
type ResolveRefs<
2488+
type ResolvedRow<
24942489
Refs extends Record<string, Table<any, any>>,
24952490
JoinedTables extends readonly Queryable<any, any>[],
24962491
> = {
@@ -2511,10 +2506,10 @@ type ResolveRefs<
25112506
* const posts = await db.all([Posts, Users])`JOIN users ON ...`;
25122507
* posts[0].author?.name; // typed as string | undefined
25132508
*/
2514-
export type WithRefs<
2509+
export type JoinedRow<
25152510
PrimaryTable extends Queryable<any, any>,
25162511
JoinedTables extends readonly Queryable<any, any>[],
2517-
> = Row<PrimaryTable> & ResolveRefs<GetRefs<PrimaryTable>, JoinedTables>;
2512+
> = Row<PrimaryTable> & ResolvedRow<GetRefs<PrimaryTable>, JoinedTables>;
25182513

25192514
/**
25202515
* Type guard that evaluates to `never` for partial or derived tables.

src/zen.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ export {
3030
type FieldMeta,
3131
type FieldType,
3232
type Relation,
33-
type InferRefs,
3433
isView,
3534
getViewMeta,
3635
type ViewMeta,

0 commit comments

Comments
 (0)