UNPKG

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