/opt/canhelp/node_modules/kysely/dist/esm/parser
Edit: /opt/canhelp/node_modules/kysely/dist/esm/parser/table-parser.d.ts (2692B)
import { AliasNode } from '../operation-node/alias-node.js';
import { TableNode } from '../operation-node/table-node.js';
import { type AliasedExpressionOrFactory } from './expression-parser.js';
import type { OperationNode } from '../operation-node/operation-node.js';
import type { AliasedExpression } from '../expression/expression.js';
import type { DrainOuterGeneric } from '../util/type-utils.js';
import { type AliasedDynamicTableBuilder } from '../dynamic/dynamic-table-builder.js';
export type TableExpression
= AnyAliasedTable | AnyTable | AliasedExpressionOrFactory | AliasedDynamicTableBuilder;
export type TableExpressionOrList = TableExpression | ReadonlyArray>;
export type SimpleTableReference = AnyAliasedTable | AnyTable;
export type AnyAliasedTable = `${AnyTable} as ${string}`;
export type AnyTable = keyof DB & string;
export type From = DrainOuterGeneric<{
[C in keyof DB | ExtractAliasFromTableExpression]: C extends ExtractAliasFromTableExpression ? ExtractRowTypeFromTableExpression : C extends keyof DB ? DB[C] : never;
}>;
export type FromTables = DrainOuterGeneric>;
export type ExtractTableAlias = TE extends `${string} as ${infer TA}` ? TA extends keyof DB ? TA : never : TE extends keyof DB ? TE : never;
type ExtractAliasFromTableExpression = TE extends string ? TE extends `${string} as ${infer TA}` ? TA : TE extends keyof DB ? TE : never : TE extends AliasedExpression ? QA : TE extends (qb: any) => AliasedExpression ? QA : TE extends AliasedDynamicTableBuilder ? DA : never;
type ExtractRowTypeFromTableExpression = TE extends `${infer T} as ${infer TA}` ? TA extends A ? T extends keyof DB ? DB[T] : never : never : TE extends A ? TE extends keyof DB ? DB[TE] : never : TE extends AliasedExpression ? QA extends A ? O : never : TE extends (qb: any) => AliasedExpression ? QA extends A ? O : never : TE extends AliasedDynamicTableBuilder ? DA extends A ? T extends keyof DB ? DB[T] : never : never : never;
export declare function parseTableExpressionOrList(table: TableExpressionOrList): OperationNode[];
export declare function parseTableExpression(table: TableExpression): OperationNode;
export declare function parseAliasedTable(from: string): TableNode | AliasNode;
export declare function parseTable(from: string): TableNode;
export {};