@abw/badger-database
Version:
Javascript database abstraction layer
33 lines • 1.54 kB
TypeScript
import { DatabaseSpec, TableSpec } from '../types';
type TableActions = 'select' | 'insert' | 'update' | 'delete';
type TableActionTypes = Record<TableActions, string>;
type TableActionTypeNames = Record<TableActions, string>;
export type TableColumnTypeSpec = {
name: string;
optional: boolean;
type: string;
};
export type TableTypeSpecs = Record<TableActions, TableColumnTypeSpec[]>;
export type TablesTypeSpecs = Record<string, TableTypeSpecs>;
export type TableTypes = {
table: string;
typeNames: TableActionTypeNames;
actions: TableActionTypes;
tableTypeName: string;
tableType: string;
};
export type TablesTypes = Record<string, TableTypes>;
export type OutputTypesConfig = {
database?: string;
databaseTypeName?: string;
};
export declare const generateTypes: (database: DatabaseSpec) => TablesTypes;
export declare const generateTableTypes: (table: string, types: TableTypeSpecs) => TableTypes;
export declare const prepareTableTypes: (table: string, spec: TableSpec) => TableTypeSpecs;
export declare const generateTableTypeNames: (tableTypePrefix: string) => TableActionTypeNames;
export declare const outputTypes: (tablesTypes: TablesTypes, options?: OutputTypesConfig) => string;
export declare const outputTablesTypes: (tablesTypes: TablesTypes) => string;
export declare const outputTableTypes: (tableTypes: TableTypes) => string;
export declare const outputDatabaseType: (tablesTypes: TablesTypes, options?: OutputTypesConfig) => string;
export {};
//# sourceMappingURL=TypeGen.d.ts.map