UNPKG

@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
/** * @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