@syntropysoft/praetorian
Version:
Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.
79 lines • 2.86 kB
TypeScript
/**
* @file src/application/services/rule-loading/DevSecOpsRuleConnector.ts
* @description DevSecOps Rule Connector - Multi-source rule loading (SOLID SRP + Functional Programming)
*/
import { DevSecOpsConfig, RuleLoadContext, RuleLoadResult } from '../../../shared/types/devsecops-config';
/**
* @class DevSecOpsRuleConnector
* @description Connects rule dictionary with multiple sources (SOLID SRP)
*/
export declare class DevSecOpsRuleConnector {
private readonly workingDirectory;
constructor(workingDirectory?: string);
/**
* Loads rules from DevSecOps configuration (Main Orchestrator Method)
* @param config - DevSecOps configuration
* @param context - Loading context
* @returns Promise with loaded rules and metadata
*/
loadRulesFromConfig(config: DevSecOpsConfig, context: RuleLoadContext): Promise<RuleLoadResult>;
/**
* Loads rules from a specific source (Pure Function with Guard Clauses)
* @param source - Source configuration
* @param sourceName - Name of the source
* @param context - Loading context
* @returns Promise with source load result
*/
private loadFromSource;
/**
* Loads core rules (Pure Function)
* @param source - Source configuration
* @param sourceName - Source name
* @returns Source load result
*/
private loadCoreRules;
/**
* Loads local rules from file system (Pure Function with Guard Clauses)
* @param source - Source configuration
* @param sourceName - Source name
* @param context - Loading context
* @returns Promise with source load result
*/
private loadLocalRules;
/**
* Loads rules from directory pattern (Pure Function)
* @param patternPath - Pattern path (simplified for now)
* @param sourceName - Source name
* @returns Promise with source load result
*/
private loadLocalGlobRules;
/**
* Gets rule files from directory (Pure Function)
* @param dirPath - Directory path
* @returns Promise with array of file paths
*/
private getRuleFilesFromDirectory;
/**
* Loads rules from single file (Pure Function)
* @param filePath - File path
* @param sourceName - Source name
* @returns Promise with source load result
*/
private loadLocalSingleFile;
private loadRemoteRules;
private loadPackageRules;
private loadGitRules;
private validateConfig;
private getEnvironmentConfig;
private loadFromSources;
private mergeSourceResults;
private applyEnvironmentOverrides;
private parseRuleFile;
private extractRulesFromParsedContent;
private arrayToRuleDictionary;
private isRuleDictionary;
private extractErrors;
private extractWarnings;
private createEmptyResult;
}
//# sourceMappingURL=DevSecOpsRuleConnector.d.ts.map