Files
evento/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts
2026-03-18 14:55:56 -03:00

48 lines
2.0 KiB
TypeScript

import type { DrainOuterGeneric } from '../util/type-utils.js';
import type { ExtractTypeFromReferenceExpression } from './reference-parser.js';
import type { ExtractTypeFromValueExpression } from './value-parser.js';
export type RefTuple2<DB, TB extends keyof DB, R1, R2> = DrainOuterGeneric<[
ExtractTypeFromReferenceExpression<DB, TB, R1>,
ExtractTypeFromReferenceExpression<DB, TB, R2>
]>;
export type RefTuple3<DB, TB extends keyof DB, R1, R2, R3> = DrainOuterGeneric<[
ExtractTypeFromReferenceExpression<DB, TB, R1>,
ExtractTypeFromReferenceExpression<DB, TB, R2>,
ExtractTypeFromReferenceExpression<DB, TB, R3>
]>;
export type RefTuple4<DB, TB extends keyof DB, R1, R2, R3, R4> = DrainOuterGeneric<[
ExtractTypeFromReferenceExpression<DB, TB, R1>,
ExtractTypeFromReferenceExpression<DB, TB, R2>,
ExtractTypeFromReferenceExpression<DB, TB, R3>,
ExtractTypeFromReferenceExpression<DB, TB, R4>
]>;
export type RefTuple5<DB, TB extends keyof DB, R1, R2, R3, R4, R5> = DrainOuterGeneric<[
ExtractTypeFromReferenceExpression<DB, TB, R1>,
ExtractTypeFromReferenceExpression<DB, TB, R2>,
ExtractTypeFromReferenceExpression<DB, TB, R3>,
ExtractTypeFromReferenceExpression<DB, TB, R4>,
ExtractTypeFromReferenceExpression<DB, TB, R5>
]>;
export type ValTuple2<V1, V2> = DrainOuterGeneric<[
ExtractTypeFromValueExpression<V1>,
ExtractTypeFromValueExpression<V2>
]>;
export type ValTuple3<V1, V2, V3> = DrainOuterGeneric<[
ExtractTypeFromValueExpression<V1>,
ExtractTypeFromValueExpression<V2>,
ExtractTypeFromValueExpression<V3>
]>;
export type ValTuple4<V1, V2, V3, V4> = DrainOuterGeneric<[
ExtractTypeFromValueExpression<V1>,
ExtractTypeFromValueExpression<V2>,
ExtractTypeFromValueExpression<V3>,
ExtractTypeFromValueExpression<V4>
]>;
export type ValTuple5<V1, V2, V3, V4, V5> = DrainOuterGeneric<[
ExtractTypeFromValueExpression<V1>,
ExtractTypeFromValueExpression<V2>,
ExtractTypeFromValueExpression<V3>,
ExtractTypeFromValueExpression<V4>,
ExtractTypeFromValueExpression<V5>
]>;