UNPKG

@jakub.knejzlik/ts-query

Version:

TypeScript implementation of SQL builder

38 lines (37 loc) 2.22 kB
import { Dayjs } from "dayjs"; import { Condition } from "./Condition"; import { ExpressionValue, FunctionExpression, OperationExpression } from "./Expression"; export declare const Function: { count: (column: ExpressionValue) => FunctionExpression; add: (...columns: ExpressionValue[]) => OperationExpression; subtract: (...columns: ExpressionValue[]) => OperationExpression; divide: (...columns: ExpressionValue[]) => OperationExpression; multiply: (...columns: ExpressionValue[]) => OperationExpression; sum: (column: ExpressionValue) => FunctionExpression; year: (column: ExpressionValue) => FunctionExpression; month: (column: ExpressionValue) => FunctionExpression; min: (column: ExpressionValue) => FunctionExpression; max: (column: ExpressionValue) => FunctionExpression; avg: (column: ExpressionValue) => FunctionExpression; abs: (column: ExpressionValue) => FunctionExpression; dateDiff: (interval: "year" | "month" | "day" | "hour" | "minute" | "second", date1: ExpressionValue, date2: ExpressionValue) => import("./Expression").ExpressionBase; formatDate: (date: Dayjs) => import("./Expression").ExpressionBase; substring: (string: string, start: ExpressionValue, length: ExpressionValue) => FunctionExpression; string: (value: string) => import("./Expression").ExpressionBase; null: () => import("./Expression").ExpressionBase; ifnull: (name: ExpressionValue, value: ExpressionValue) => FunctionExpression; concat: (...values: ExpressionValue[]) => FunctionExpression; if: (condition: Condition, trueValue: ExpressionValue, falseValue: ExpressionValue) => FunctionExpression; dateAdd: (date: ExpressionValue, value: ExpressionValue, interval: "year" | "month" | "day") => FunctionExpression; dateRangeSumField: ({ dateColumn, valueColumn, start, end, }: { dateColumn: string; valueColumn: string; start: Dayjs | string; end: Dayjs | string; }) => FunctionExpression; priceCurrentAndPreviousDiffField: ({ thisYearColumn, lastYearColumn, }: { thisYearColumn: ExpressionValue; lastYearColumn: ExpressionValue; }) => FunctionExpression; }; export { Function as Fn };