export function withTranslations<
T extends AnyTable<TableConfig> | PgSelect | Subquery,
TT extends (AnyTable<TableConfig> | PgSelect | Subquery) & {
[K in keyof TranslationLangColumn]: AnyColumn;
},
PK extends T extends Table
? ValueOf<T['_']['columns']>
: T extends PgSelect
? ValueOf<T['_']['selectedFields']>
: T extends Subquery
? ValueOf<T['_']['selectedFields']>
: never,
FK extends TT extends Table
? ValueOf<TT['_']['columns']>
: TT extends PgSelect
? ValueOf<TT['_']['selectedFields']>
: TT extends Subquery
? ValueOf<TT['_']['selectedFields']>
: never,
>(
selection: T,
translationsSelection: TT,
relation: [PK, FK] | ((selection: T, translationsSelection: TT) => [PK, FK])
) {
//...
}
export function withTranslations<
T extends AnyTable<TableConfig> | PgSelect | Subquery,
TT extends (AnyTable<TableConfig> | PgSelect | Subquery) & {
[K in keyof TranslationLangColumn]: AnyColumn;
},
PK extends T extends Table
? ValueOf<T['_']['columns']>
: T extends PgSelect
? ValueOf<T['_']['selectedFields']>
: T extends Subquery
? ValueOf<T['_']['selectedFields']>
: never,
FK extends TT extends Table
? ValueOf<TT['_']['columns']>
: TT extends PgSelect
? ValueOf<TT['_']['selectedFields']>
: TT extends Subquery
? ValueOf<TT['_']['selectedFields']>
: never,
>(
selection: T,
translationsSelection: TT,
relation: [PK, FK] | ((selection: T, translationsSelection: TT) => [PK, FK])
) {
//...
}