/opt/canhelp/node_modules/kysely/dist/esm/parser
Edit: /opt/canhelp/node_modules/kysely/dist/esm/parser/expression-parser.d.ts (1631B)
import { type AliasedExpression, type Expression } from '../expression/expression.js';
import type { AliasNode } from '../operation-node/alias-node.js';
import type { OperationNode } from '../operation-node/operation-node.js';
import { type ExpressionBuilder } from '../expression/expression-builder.js';
import type { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
/**
* Like `Expression
` but also accepts a select query with an output
* type extending `Record`. This type is useful because SQL
* treats records with a single column as single values.
*/
export type OperandExpression = Expression | SelectQueryBuilderExpression>;
export type ExpressionOrFactory = OperandExpression | OperandExpressionFactory;
export type AliasedExpressionOrFactory = AliasedExpression | AliasedExpressionFactory;
export type ExpressionFactory = (eb: ExpressionBuilder) => Expression;
type OperandExpressionFactory = (eb: ExpressionBuilder) => OperandExpression;
type AliasedExpressionFactory = (eb: ExpressionBuilder) => AliasedExpression;
export declare function parseExpression(exp: ExpressionOrFactory): OperationNode;
export declare function parseAliasedExpression(exp: AliasedExpressionOrFactory): AliasNode;
export declare function isExpressionOrFactory(obj: unknown): obj is ExpressionOrFactory;
export {};