supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
63 lines • 1.8 kB
TypeScript
/**
* MakerKit Framework Detector
* Specialized detection logic for MakerKit framework patterns
*/
import type { createClient } from '@supabase/supabase-js';
import { DatabaseSchema } from '../strategy-interface';
type SupabaseClient = ReturnType<typeof createClient>;
export interface MakerKitDetectionResult {
isMakerKit: boolean;
version?: 'v2' | 'v3' | 'custom';
confidence: number;
detectedFeatures: MakerKitFeature[];
missingFeatures: string[];
recommendations: string[];
}
export interface MakerKitFeature {
name: string;
type: 'function' | 'table' | 'constraint' | 'trigger' | 'column';
confidence: number;
description: string;
}
export declare class MakerKitDetector {
private client;
constructor(client: SupabaseClient);
/**
* Comprehensive MakerKit detection
*/
detectMakerKit(schema: DatabaseSchema): Promise<MakerKitDetectionResult>;
/**
* Detect MakerKit-specific database functions
*/
private detectMakerKitFunctions;
/**
* Detect MakerKit table patterns
*/
private detectMakerKitTables;
/**
* Detect MakerKit constraint patterns
*/
private detectMakerKitConstraints;
/**
* Detect MakerKit trigger patterns
*/
private detectMakerKitTriggers;
/**
* Calculate confidence score based on detected features
*/
private calculateConfidence;
/**
* Determine MakerKit version based on detected features
*/
private determineVersion;
/**
* Generate recommendations based on detection results
*/
private generateRecommendations;
/**
* Get expected features for a MakerKit version
*/
private getExpectedMakerKitFeatures;
}
export {};
//# sourceMappingURL=makerkit-detector.d.ts.map