UNPKG

@techmmunity/symbiosis

Version:

Symbiosis - The Ultimate OM For All Databases

34 lines (33 loc) 1.32 kB
import type { DatabaseEvents } from "./database-events"; import type { EntityMetadata } from "./entity-metadata"; import type { MetadataType } from "./metadata-type"; import type { BaseConnectionOptions } from "../../connection/types/connection-options"; export declare type AutoGenerationFunc = (p: { connectionOptions?: BaseConnectionOptions; columnMetadata?: ColumnMetadata; entityMetadata?: EntityMetadata; data?: Record<string, any>; }) => any; export declare type PreDefinedAutoGenerationMethods = "date" | "uuid"; export interface ColumnMetadata<ExtraData = Record<string, any>> { /** * ---------------------------------------------- * When a new metadata is added, remember to also * add at the const COLUMN_METADATA_KEYS * ---------------------------------------------- */ name: string; databaseName: string; isNameAlreadyFormatted?: boolean; comment?: string; type: MetadataType; databaseType?: string; isArray?: boolean; enumName?: string; enumValues?: Array<number | string>; autoGenerate?: AutoGenerationFunc | PreDefinedAutoGenerationMethods | any; autoGenerateOnlyOnEvents?: Array<DatabaseEvents>; primary?: boolean; extras?: ExtraData; } export declare const COLUMN_METADATA_KEYS: Array<keyof ColumnMetadata>;