Skip to content

Commit 83923f8

Browse files
committed
chore: use minimal schema
1 parent f0eb70f commit 83923f8

File tree

2 files changed

+77
-72
lines changed

2 files changed

+77
-72
lines changed

test/types.generated-with-options-postgrest13.ts

Lines changed: 32 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,6 @@ export type Database = {
55
// to the instanciated client at type levels from the introspected database
66
__InternalSupabase: {
77
PostgrestVersion: '13.0.12'
8-
// We make this still abide to `GenericSchema` to allow types helpers bellow to work the same
9-
Tables: {
10-
[_ in never]: never
11-
}
12-
Views: {
13-
[_ in never]: never
14-
}
15-
Functions: {
16-
[_ in never]: never
17-
}
18-
Enums: {
19-
[_ in never]: never
20-
}
21-
CompositeTypes: {
22-
[_ in never]: never
23-
}
248
}
259
personal: {
2610
Tables: {
@@ -547,21 +531,23 @@ export type Database = {
547531
}
548532
}
549533

550-
type DefaultSchema = Database[Extract<keyof Database, 'public'>]
534+
type DatabaseWithoutInternals = Omit<Database, '__InternalSupabase'>
535+
536+
type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, 'public'>]
551537

552538
export type Tables<
553539
DefaultSchemaTableNameOrOptions extends
554540
| keyof (DefaultSchema['Tables'] & DefaultSchema['Views'])
555-
| { schema: keyof Database },
541+
| { schema: keyof DatabaseWithoutInternals },
556542
TableName extends DefaultSchemaTableNameOrOptions extends {
557-
schema: keyof Database
543+
schema: keyof DatabaseWithoutInternals
558544
}
559-
? keyof (Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
560-
Database[DefaultSchemaTableNameOrOptions['schema']]['Views'])
545+
? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
546+
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])
561547
: never = never
562-
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
563-
? (Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
564-
Database[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends {
548+
> = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
549+
? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
550+
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends {
565551
Row: infer R
566552
}
567553
? R
@@ -577,14 +563,14 @@ export type Tables<
577563
export type TablesInsert<
578564
DefaultSchemaTableNameOrOptions extends
579565
| keyof DefaultSchema['Tables']
580-
| { schema: keyof Database },
566+
| { schema: keyof DatabaseWithoutInternals },
581567
TableName extends DefaultSchemaTableNameOrOptions extends {
582-
schema: keyof Database
568+
schema: keyof DatabaseWithoutInternals
583569
}
584-
? keyof Database[DefaultSchemaTableNameOrOptions['schema']]['Tables']
570+
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
585571
: never = never
586-
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
587-
? Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
572+
> = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
573+
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
588574
Insert: infer I
589575
}
590576
? I
@@ -600,14 +586,14 @@ export type TablesInsert<
600586
export type TablesUpdate<
601587
DefaultSchemaTableNameOrOptions extends
602588
| keyof DefaultSchema['Tables']
603-
| { schema: keyof Database },
589+
| { schema: keyof DatabaseWithoutInternals },
604590
TableName extends DefaultSchemaTableNameOrOptions extends {
605-
schema: keyof Database
591+
schema: keyof DatabaseWithoutInternals
606592
}
607-
? keyof Database[DefaultSchemaTableNameOrOptions['schema']]['Tables']
593+
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
608594
: never = never
609-
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
610-
? Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
595+
> = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
596+
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
611597
Update: infer U
612598
}
613599
? U
@@ -621,29 +607,31 @@ export type TablesUpdate<
621607
: never
622608

623609
export type Enums<
624-
DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums'] | { schema: keyof Database },
610+
DefaultSchemaEnumNameOrOptions extends
611+
| keyof DefaultSchema['Enums']
612+
| { schema: keyof DatabaseWithoutInternals },
625613
EnumName extends DefaultSchemaEnumNameOrOptions extends {
626-
schema: keyof Database
614+
schema: keyof DatabaseWithoutInternals
627615
}
628-
? keyof Database[DefaultSchemaEnumNameOrOptions['schema']]['Enums']
616+
? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums']
629617
: never = never
630-
> = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database }
631-
? Database[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName]
618+
> = DefaultSchemaEnumNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
619+
? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName]
632620
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums']
633621
? DefaultSchema['Enums'][DefaultSchemaEnumNameOrOptions]
634622
: never
635623

636624
export type CompositeTypes<
637625
PublicCompositeTypeNameOrOptions extends
638626
| keyof DefaultSchema['CompositeTypes']
639-
| { schema: keyof Database },
627+
| { schema: keyof DatabaseWithoutInternals },
640628
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
641-
schema: keyof Database
629+
schema: keyof DatabaseWithoutInternals
642630
}
643-
? keyof Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes']
631+
? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes']
644632
: never = never
645-
> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database }
646-
? Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName]
633+
> = PublicCompositeTypeNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
634+
? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName]
647635
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes']
648636
? DefaultSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions]
649637
: never

test/types.override-with-options-postgrest13.ts

Lines changed: 45 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,23 @@ export type Database = MergeDeep<
4747
}
4848
>
4949

50-
type DefaultSchema = Database[Extract<keyof Database, 'public'>]
50+
type DatabaseWithoutInternals = Omit<Database, '__InternalSupabase'>
51+
52+
type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, 'public'>]
5153

5254
export type Tables<
5355
DefaultSchemaTableNameOrOptions extends
5456
| keyof (DefaultSchema['Tables'] & DefaultSchema['Views'])
55-
| { schema: keyof Database },
57+
| { schema: keyof DatabaseWithoutInternals },
5658
TableName extends DefaultSchemaTableNameOrOptions extends {
57-
schema: keyof Database
59+
schema: keyof DatabaseWithoutInternals
5860
}
59-
? keyof (Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
60-
Database[DefaultSchemaTableNameOrOptions['schema']]['Views'])
61+
? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
62+
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])
6163
: never = never
62-
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
63-
? (Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
64-
Database[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends {
64+
> = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
65+
? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
66+
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends {
6567
Row: infer R
6668
}
6769
? R
@@ -77,14 +79,14 @@ export type Tables<
7779
export type TablesInsert<
7880
DefaultSchemaTableNameOrOptions extends
7981
| keyof DefaultSchema['Tables']
80-
| { schema: keyof Database },
82+
| { schema: keyof DatabaseWithoutInternals },
8183
TableName extends DefaultSchemaTableNameOrOptions extends {
82-
schema: keyof Database
84+
schema: keyof DatabaseWithoutInternals
8385
}
84-
? keyof Database[DefaultSchemaTableNameOrOptions['schema']]['Tables']
86+
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
8587
: never = never
86-
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
87-
? Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
88+
> = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
89+
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
8890
Insert: infer I
8991
}
9092
? I
@@ -100,14 +102,14 @@ export type TablesInsert<
100102
export type TablesUpdate<
101103
DefaultSchemaTableNameOrOptions extends
102104
| keyof DefaultSchema['Tables']
103-
| { schema: keyof Database },
105+
| { schema: keyof DatabaseWithoutInternals },
104106
TableName extends DefaultSchemaTableNameOrOptions extends {
105-
schema: keyof Database
107+
schema: keyof DatabaseWithoutInternals
106108
}
107-
? keyof Database[DefaultSchemaTableNameOrOptions['schema']]['Tables']
109+
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
108110
: never = never
109-
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
110-
? Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
111+
> = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
112+
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
111113
Update: infer U
112114
}
113115
? U
@@ -121,29 +123,44 @@ export type TablesUpdate<
121123
: never
122124

123125
export type Enums<
124-
DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums'] | { schema: keyof Database },
126+
DefaultSchemaEnumNameOrOptions extends
127+
| keyof DefaultSchema['Enums']
128+
| { schema: keyof DatabaseWithoutInternals },
125129
EnumName extends DefaultSchemaEnumNameOrOptions extends {
126-
schema: keyof Database
130+
schema: keyof DatabaseWithoutInternals
127131
}
128-
? keyof Database[DefaultSchemaEnumNameOrOptions['schema']]['Enums']
132+
? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums']
129133
: never = never
130-
> = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database }
131-
? Database[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName]
134+
> = DefaultSchemaEnumNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
135+
? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName]
132136
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums']
133137
? DefaultSchema['Enums'][DefaultSchemaEnumNameOrOptions]
134138
: never
135139

136140
export type CompositeTypes<
137141
PublicCompositeTypeNameOrOptions extends
138142
| keyof DefaultSchema['CompositeTypes']
139-
| { schema: keyof Database },
143+
| { schema: keyof DatabaseWithoutInternals },
140144
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
141-
schema: keyof Database
145+
schema: keyof DatabaseWithoutInternals
142146
}
143-
? keyof Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes']
147+
? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes']
144148
: never = never
145-
> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database }
146-
? Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName]
149+
> = PublicCompositeTypeNameOrOptions extends { schema: keyof DatabaseWithoutInternals }
150+
? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName]
147151
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes']
148152
? DefaultSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions]
149153
: never
154+
155+
export const Constants = {
156+
personal: {
157+
Enums: {
158+
user_status: ['ONLINE', 'OFFLINE'],
159+
},
160+
},
161+
public: {
162+
Enums: {
163+
user_status: ['ONLINE', 'OFFLINE'],
164+
},
165+
},
166+
} as const

0 commit comments

Comments
 (0)