UNPKG

@uwdata/mosaic-sql

Version:

SQL query construction and analysis.

53 lines 1.89 kB
import { ExprValue } from '../types.js'; import { ExprNode, SQLNode } from './node.js'; export declare class CaseNode extends ExprNode { /** The optional base expression. */ readonly expr?: ExprNode; /** An array of WHEN/THEN expression nodes. */ readonly _when: WhenNode[]; /** An ELSE expression. */ readonly _else?: ExprNode; /** * Instantiate a case node. * @param expr An optional base expression, that comes * immediately after the CASE keyword. If specified, this case statement * acts like a switch statement, with WHEN expressions as values to * match against the switch value rather than boolean conditions. * @param when An array of WHEN/THEN expression nodes. * @param elseExpr An ELSE expression. */ constructor(expr?: ExprNode | undefined, when?: WhenNode[], elseExpr?: ExprNode | undefined); /** * Return a new case node with the given conditional added as * the last WHEN / THEN pair. * @param cond The WHEN condition expression. * @param value The THEN value expression. */ when(cond: ExprValue, value: ExprValue): CaseNode; /** * Return a new case node with the given ELSE expression. * @param expr The ELSE expression. */ else(expr: ExprValue): CaseNode; /** * Generate a SQL query string for this node. */ toString(): string; } export declare class WhenNode extends SQLNode { /** The condition expression. */ readonly when: ExprNode; /** The value expression. */ readonly then: ExprNode; /** * Instantiate a case node. * @param when The WHEN condition expression. * @param then The THEN value expression. */ constructor(when: ExprNode, then: ExprNode); /** * Generate a SQL query string for this node. */ toString(): string; } //# sourceMappingURL=case.d.ts.map