UNPKG

@sqlsmith/core

Version:

Core SQL schema merging engine with dependency resolution

49 lines 1.75 kB
import type { Logger } from './services/logger.js'; import { ServiceContainer } from './services/service-container.js'; import type { MergeOptions } from './services/sql-file-merger.js'; import type { SqlDialect, SqlFile, SqlStatement } from './types/sql-statement.js'; export interface SqlMergerOptions { allowReorderDropComments?: boolean; enableViews?: boolean; enableSequences?: boolean; logger?: Logger; } export declare class SqlMerger { #private; constructor(options?: SqlMergerOptions, container?: ServiceContainer); /** * Create SqlMerger with service container (preferred way) */ static withContainer(container: ServiceContainer): SqlMerger; /** * Parse SQL files from a directory */ parseSqlFiles(directoryPath: string, dialect?: SqlDialect): SqlFile[]; /** * Parse a single SQL file */ parseSingleFile(filePath: string, dialect?: SqlDialect): SqlFile; /** * Merge SQL files with automatic dependency resolution */ mergeFiles(files: SqlFile[], options?: MergeOptions): string; /** * Analyze dependencies without merging (info command) */ analyzeDependencies(directoryPath: string, dialect?: SqlDialect): void; /** * Validate files without merging (validate command) */ validateFiles(directoryPath: string, dialect?: SqlDialect): void; /** * Get supported statement types */ getSupportedTypes(): string[]; /** * Get service container (for advanced usage) */ getContainer(): ServiceContainer; } export type { SqlFile, SqlStatement, SqlDialect, MergeOptions }; export type { Dependency, StatementType } from './types/sql-statement.js'; //# sourceMappingURL=sql-merger.d.ts.map