Skip to content

Commit 9fb56c7

Browse files
fix: prettify intersected types when selecting multiple columns (#399)
* Prettify intersected types when selecting multiple columns Resolves #398 * update type test --------- Co-authored-by: Bobbie Soedirgo <[email protected]>
1 parent c3a8bf5 commit 9fb56c7

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/select-query-parser.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Credits to @bnjmnt4n (https://www.npmjs.com/package/postgrest-query)
22

3-
import { GenericSchema } from './types'
3+
import { GenericSchema, Prettify } from './types'
44

55
type Whitespace = ' ' | '\n' | '\t'
66

@@ -342,7 +342,7 @@ type GetResultHelper<
342342
? GetResultHelper<Schema, Row, [], ConstructFieldDefinition<Schema, Row, R> & Acc>
343343
: Fields extends [infer R, ...infer Rest]
344344
? GetResultHelper<Schema, Row, Rest, ConstructFieldDefinition<Schema, Row, R> & Acc>
345-
: Acc
345+
: Prettify<Acc>
346346

347347
/**
348348
* Constructs a type definition for an object based on a given PostgREST query.

src/types.ts

+3
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,6 @@ export type GenericSchema = {
6969
Views: Record<string, GenericView>
7070
Functions: Record<string, GenericFunction>
7171
}
72+
73+
// https://twitter.com/mattpocockuk/status/1622730173446557697
74+
export type Prettify<T> = { [K in keyof T]: T[K] } & {}

test/index.test-d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const postgrest = new PostgrestClient<Database>(REST_URL)
5252
if (error) {
5353
throw new Error(error.message)
5454
}
55-
expectType<{ bar: Json } & { baz: string }>(data)
55+
expectType<{ bar: Json, baz: string }>(data)
5656
}
5757

5858
// rpc return type

0 commit comments

Comments
 (0)