mdb-reader
Version:
JavaScript library to read data from Access databases
52 lines (51 loc) • 1.44 kB
TypeScript
import { type ColumnType } from "./types.js";
export interface Column {
/**
* Name of the table
*/
name: string;
/**
* Type of the table
*/
type: ColumnType;
size: number;
fixedLength: boolean;
nullable: boolean;
autoLong: boolean;
autoUUID: boolean;
/**
* Only exists if type = 'numeric'
*/
precision?: number;
/**
* Only exists if type = 'numeric'
*/
scale?: number;
}
/**
* Includes internal fields that are not relevant for the user of the library.
*/
export interface ColumnDefinition extends Column {
index: number;
variableIndex: number;
fixedIndex: number;
complex?: {
typeId: number;
tableDefinitionPage: number;
};
}
export type ComplexColumnDefinition = ColumnDefinition & {
complex: {
typeId: number;
tableDefinitionPage: number;
};
};
/**
* @see https://github.com/brianb/mdbtools/blob/d6f5745d949f37db969d5f424e69b54f0da60b9b/include/mdbtools.h#L88-L104
* @see https://github.com/brianb/mdbtools/blob/d6f5745d949f37db969d5f424e69b54f0da60b9b/HACKING#L498-L515
*/
export declare function getColumnType(typeValue: number): ColumnType;
/**
* @see https://github.com/brianb/mdbtools/blob/d6f5745d949f37db969d5f424e69b54f0da60b9b/HACKING#L481-L491
*/
export declare function parseColumnFlags(flags: number): Pick<Column, "fixedLength" | "nullable" | "autoLong" | "autoUUID">;