@jakub.knejzlik/ts-query
Version:
TypeScript implementation of SQL builder
38 lines (37 loc) • 2.22 kB
TypeScript
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 };