@@ -363,6 +363,86 @@ test('typegen', async () => {
363363 }
364364 }
365365 }
366+
367+ export type Tables<
368+ PublicTableNameOrOptions extends
369+ | keyof (Database["public"]["Tables"] & Database["public"]["Views"])
370+ | { schema: keyof Database },
371+ TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
372+ ? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] &
373+ Database[PublicTableNameOrOptions["schema"]]["Views"])
374+ : never = never
375+ > = PublicTableNameOrOptions extends { schema: keyof Database }
376+ ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] &
377+ Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends {
378+ Row: infer R
379+ }
380+ ? R
381+ : never
382+ : PublicTableNameOrOptions extends keyof (Database["public"]["Tables"] &
383+ Database["public"]["Views"])
384+ ? (Database["public"]["Tables"] &
385+ Database["public"]["Views"])[PublicTableNameOrOptions] extends {
386+ Row: infer R
387+ }
388+ ? R
389+ : never
390+ : never
391+
392+ export type TablesInsert<
393+ PublicTableNameOrOptions extends
394+ | keyof Database["public"]["Tables"]
395+ | { schema: keyof Database },
396+ TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
397+ ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"]
398+ : never = never
399+ > = PublicTableNameOrOptions extends { schema: keyof Database }
400+ ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
401+ Insert: infer I
402+ }
403+ ? I
404+ : never
405+ : PublicTableNameOrOptions extends keyof Database["public"]["Tables"]
406+ ? Database["public"]["Tables"][PublicTableNameOrOptions] extends {
407+ Insert: infer I
408+ }
409+ ? I
410+ : never
411+ : never
412+
413+ export type TablesUpdate<
414+ PublicTableNameOrOptions extends
415+ | keyof Database["public"]["Tables"]
416+ | { schema: keyof Database },
417+ TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
418+ ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"]
419+ : never = never
420+ > = PublicTableNameOrOptions extends { schema: keyof Database }
421+ ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
422+ Update: infer U
423+ }
424+ ? U
425+ : never
426+ : PublicTableNameOrOptions extends keyof Database["public"]["Tables"]
427+ ? Database["public"]["Tables"][PublicTableNameOrOptions] extends {
428+ Update: infer U
429+ }
430+ ? U
431+ : never
432+ : never
433+
434+ export type Enums<
435+ PublicEnumNameOrOptions extends
436+ | keyof Database["public"]["Enums"]
437+ | { schema: keyof Database },
438+ EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database }
439+ ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"]
440+ : never = never
441+ > = PublicEnumNameOrOptions extends { schema: keyof Database }
442+ ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName]
443+ : PublicEnumNameOrOptions extends keyof Database["public"]["Enums"]
444+ ? Database["public"]["Enums"][PublicEnumNameOrOptions]
445+ : never
366446 "
367447 ` )
368448} )
@@ -747,6 +827,86 @@ test('typegen w/ one-to-one relationships', async () => {
747827 }
748828 }
749829 }
830+
831+ export type Tables<
832+ PublicTableNameOrOptions extends
833+ | keyof (Database["public"]["Tables"] & Database["public"]["Views"])
834+ | { schema: keyof Database },
835+ TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
836+ ? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] &
837+ Database[PublicTableNameOrOptions["schema"]]["Views"])
838+ : never = never
839+ > = PublicTableNameOrOptions extends { schema: keyof Database }
840+ ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] &
841+ Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends {
842+ Row: infer R
843+ }
844+ ? R
845+ : never
846+ : PublicTableNameOrOptions extends keyof (Database["public"]["Tables"] &
847+ Database["public"]["Views"])
848+ ? (Database["public"]["Tables"] &
849+ Database["public"]["Views"])[PublicTableNameOrOptions] extends {
850+ Row: infer R
851+ }
852+ ? R
853+ : never
854+ : never
855+
856+ export type TablesInsert<
857+ PublicTableNameOrOptions extends
858+ | keyof Database["public"]["Tables"]
859+ | { schema: keyof Database },
860+ TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
861+ ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"]
862+ : never = never
863+ > = PublicTableNameOrOptions extends { schema: keyof Database }
864+ ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
865+ Insert: infer I
866+ }
867+ ? I
868+ : never
869+ : PublicTableNameOrOptions extends keyof Database["public"]["Tables"]
870+ ? Database["public"]["Tables"][PublicTableNameOrOptions] extends {
871+ Insert: infer I
872+ }
873+ ? I
874+ : never
875+ : never
876+
877+ export type TablesUpdate<
878+ PublicTableNameOrOptions extends
879+ | keyof Database["public"]["Tables"]
880+ | { schema: keyof Database },
881+ TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
882+ ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"]
883+ : never = never
884+ > = PublicTableNameOrOptions extends { schema: keyof Database }
885+ ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
886+ Update: infer U
887+ }
888+ ? U
889+ : never
890+ : PublicTableNameOrOptions extends keyof Database["public"]["Tables"]
891+ ? Database["public"]["Tables"][PublicTableNameOrOptions] extends {
892+ Update: infer U
893+ }
894+ ? U
895+ : never
896+ : never
897+
898+ export type Enums<
899+ PublicEnumNameOrOptions extends
900+ | keyof Database["public"]["Enums"]
901+ | { schema: keyof Database },
902+ EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database }
903+ ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"]
904+ : never = never
905+ > = PublicEnumNameOrOptions extends { schema: keyof Database }
906+ ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName]
907+ : PublicEnumNameOrOptions extends keyof Database["public"]["Enums"]
908+ ? Database["public"]["Enums"][PublicEnumNameOrOptions]
909+ : never
750910 "
751911 ` )
752912} )
0 commit comments