dblang/src/types.ts

31 lines
842 B
TypeScript
Raw Normal View History

2023-01-23 21:19:18 +01:00
import { Attribute, Table } from "./db";
import { Aggregation, Joins, Modifier } from "./dbStructure";
import { selectQuery } from "./query";
export type primaryData = string | number | boolean | null;
export type allModifierInput = primaryData | Modifier | selectQuery | Attribute | Aggregation;
export type selectElements = primaryData | Attribute | Aggregation | selectQuery
export type selectFromElements = Table | Joins | null;
export type serializeReturn = [string, primaryData[]];
2023-01-24 10:40:16 +01:00
export type attributeSettings = {
unique?: boolean,
2023-01-24 20:34:03 +01:00
autoIncrement?: boolean,
2023-01-24 10:40:16 +01:00
default?: primaryData,
notNull?: boolean
primaryKey?: boolean,
foreginKey?: {
link: Attribute,
onDelete?: onAction,
onUpdate?: onAction
}
};
2023-01-23 21:19:18 +01:00
2023-01-23 22:10:33 +01:00
export enum onAction {
2023-01-23 21:19:18 +01:00
cascade,
noAction,
setNull,
setDefault
}