@syntropysoft/praetorian
Version:
Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.
96 lines • 3.91 kB
TypeScript
/**
* @file src/application/services/rule-loading/SimpleRuleDictionary.ts
* @description Pure functional dictionary for simple rules (SOLID SRP + Functional Programming)
*/
import { SimpleRule, SimpleRuleDictionary, SimpleRuleDictionaryResult } from '../../../shared/types/simple-rules';
/**
* Creates an empty simple rule dictionary
* @returns Empty rule dictionary
*/
export declare const createEmptySimpleDictionary: () => SimpleRuleDictionary;
/**
* Adds simple rules to dictionary, skipping duplicates (Guard Clause Pattern)
* @param dictionary - Current dictionary
* @param rules - Rules to add
* @param source - Source identifier for warnings
* @returns Dictionary result with added/skipped rules
*/
export declare const addSimpleRulesToDictionary: (dictionary: SimpleRuleDictionary, rules: SimpleRule[], source?: string) => SimpleRuleDictionaryResult;
/**
* Merges multiple simple rule dictionaries (Functional Composition)
* @param dictionaries - Array of dictionaries to merge
* @param sources - Source identifiers for warnings
* @returns Merged dictionary result
*/
export declare const mergeSimpleRuleDictionaries: (dictionaries: SimpleRuleDictionary[], sources?: string[]) => SimpleRuleDictionaryResult;
/**
* Converts dictionary to array of simple rules (Pure Function)
* @param dictionary - Rule dictionary
* @returns Array of rules
*/
export declare const simpleDictionaryToRules: (dictionary: SimpleRuleDictionary) => SimpleRule[];
/**
* Gets simple rule by ID from dictionary (Pure Function)
* @param dictionary - Rule dictionary
* @param ruleId - Rule ID to find
* @returns Rule if found, undefined otherwise
*/
export declare const getSimpleRuleById: (dictionary: SimpleRuleDictionary, ruleId: string) => SimpleRule | undefined;
/**
* Checks if simple rule exists in dictionary (Pure Function)
* @param dictionary - Rule dictionary
* @param ruleId - Rule ID to check
* @returns True if rule exists
*/
export declare const hasSimpleRule: (dictionary: SimpleRuleDictionary, ruleId: string) => boolean;
/**
* Gets simple rule dictionary statistics (Pure Function)
* @param dictionary - Rule dictionary
* @returns Statistics about the dictionary
*/
export declare const getSimpleDictionaryStats: (dictionary: SimpleRuleDictionary) => {
totalRules: number;
uniqueIds: number;
ruleIds: string[];
ruleNames: string[];
};
/**
* Filters simple dictionary by predicate (Pure Function)
* @param dictionary - Rule dictionary
* @param predicate - Filter function
* @returns Filtered dictionary
*/
export declare const filterSimpleDictionary: (dictionary: SimpleRuleDictionary, predicate: (rule: SimpleRule) => boolean) => SimpleRuleDictionary;
/**
* Removes simple rules from dictionary (Pure Function)
* @param dictionary - Rule dictionary
* @param ruleIds - Rule IDs to remove
* @returns New dictionary without specified rules
*/
export declare const removeSimpleRulesFromDictionary: (dictionary: SimpleRuleDictionary, ruleIds: string[]) => SimpleRuleDictionary;
/**
* Overrides simple rules in dictionary (Pure Function)
* @param dictionary - Rule dictionary
* @param overrides - Rules to override (by ID)
* @returns New dictionary with overridden rules
*/
export declare const overrideSimpleRulesInDictionary: (dictionary: SimpleRuleDictionary, overrides: Partial<SimpleRule>[]) => SimpleRuleDictionaryResult;
/**
* Validates simple rule structure (Pure Function with Guard Clauses)
* @param rule - Rule to validate
* @returns Validation result
*/
export declare const validateSimpleRule: (rule: any) => {
valid: boolean;
errors: string[];
};
/**
* Validates array of simple rules (Pure Function)
* @param rules - Rules to validate
* @returns Validation result
*/
export declare const validateSimpleRules: (rules: any[]) => {
valid: boolean;
errors: string[];
};
//# sourceMappingURL=SimpleRuleDictionary.d.ts.map