37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import Table from "../entities/Table";
|
|
import { tableRow } from "./tableTypes";
|
|
declare type noduleConstructorProps = {
|
|
id: string;
|
|
label: string;
|
|
type?: 'Nodule';
|
|
tables?: Table[];
|
|
};
|
|
declare type filterType = 'EQUAL' | 'GREATER' | 'GREATEREQUAL' | 'LESSER' | 'LESSEREQUAL';
|
|
declare type filterParams = Record<string, string | number>;
|
|
declare type filterNoduleConstructionProps = noduleConstructorProps & {
|
|
filterType: filterType;
|
|
} & {
|
|
filterParams: filterParams;
|
|
};
|
|
declare type joinParam = {
|
|
foreignTable: string;
|
|
primaryTableKey: string;
|
|
matchingKey: string;
|
|
};
|
|
declare type joinBy = {
|
|
baseTableLabel: string;
|
|
joinParams: joinParam[];
|
|
};
|
|
declare type joinNoduleConstructionProps = noduleConstructorProps & {
|
|
joinBy: joinBy;
|
|
};
|
|
declare type transformStruct = Record<string, string>;
|
|
declare type transformNoduleConstructionProps = noduleConstructorProps & {
|
|
structure: transformStruct;
|
|
};
|
|
declare type groupByNoduleConstructorProps = noduleConstructorProps & {
|
|
groupByValue: string;
|
|
};
|
|
declare type groupedByRows = Record<string, tableRow[]>;
|
|
export { noduleConstructorProps, filterNoduleConstructionProps, filterType, filterParams, joinParam, joinBy, joinNoduleConstructionProps, transformStruct, transformNoduleConstructionProps, groupByNoduleConstructorProps, groupedByRows };
|