UNPKG

newmax-utils

Version:
66 lines (65 loc) 3.01 kB
type TData = { attributes: Array<string> | Array<Array<string>>; dateFrom?: string; dateTo?: string; limit?: number; offset?: number; filters?: Array<{ id: string; value: string | number | boolean | Array<string | number | boolean>; type?: 'LIKE' | 'NOT LIKE' | '=' | '!=' | 'NULL' | 'NOT NULL'; next?: 'AND' | 'OR'; }>; sorting?: Array<{ id: string; desc: boolean; }>; }; type TScriptSummary = (table: string, data: Pick<TData, 'attributes' | 'dateFrom' | 'dateTo' | 'filters'> & { sumby: Array<string>; }, columns: Record<'orig' | 'foreign', { [N: string]: (el?: string) => { orig: string; as: string; }; }>, leftjoinOn?: Array<string>) => string; type TScriptDetails = (table: string, data: TData, columns: Record<'orig' | 'foreign', { [N: string]: (el?: string) => { orig: string; as: string; }; }>, leftjoinOn?: Array<string>) => string; declare class Script { private basicColumns; private where; private basicWhere; private leftJoin; private withAs; /** * Метод проверки атрибутов. * @param {string | Array<string>} columns - Проверяющий список колонок * @param {Array<string | Array<string>>} attrList - Проверяемый список колонок * @returns {boolean} Возвращает флаг - существует ли аттрибут в списке */ isIncludeColumn: (columns: string | Array<string>, attrList: Array<string>) => boolean; /** * Метод получение SQL скрипта вывода данных. * @param {string} table - Имя таблицы. (required) * @param {Pick<TScriptDetails, "data">} data - Объект с атрибутами и QUERY параметрами запроса. (required) * @param {object} columns - Проверяющий и переименовывающий колонки объект. (optional) * @param {Array<string>} leftjoinOn - Тип таблиц связывания. (optional) * @returns {string} Возвращает готовый для запроса SQL скрипт */ details: TScriptDetails; /** * Метод получение SQL скрипта для вывода сумм с группировкой. * @param {string} table - Имя таблицы. (required) * @param {Pick<TScriptSummary, "data">} data - Объект с атрибутами и QUERY параметрами запроса. (required) * @param {object} columns - Проверяющий и переименовывающий колонки объект. (optional) * @param {string} type - Тип таблиц связывания. (optional) * @returns {string} Возвращает готовый для запроса SQL скрипт */ summary: TScriptSummary; } export declare const ScriptSQL: Script; export {};