UNPKG

@syntropysoft/praetorian

Version:

Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.

94 lines 3.6 kB
/** * @file src/application/services/rule-loading/UltraSimpleRuleDictionary.ts * @description Ultra-simple rule dictionary - ID as key, name as value (SOLID SRP + Functional Programming) */ import { RuleDictionary, RuleDictionaryResult } from '../../../shared/types/rule-dictionary'; /** * Creates an empty rule dictionary * @returns Empty rule dictionary */ export declare const createEmptyDictionary: () => RuleDictionary; /** * Adds rules to dictionary, skipping duplicates (Guard Clause Pattern) * @param dictionary - Current dictionary * @param rules - Rules to add (ID -> Name mapping) * @param source - Source identifier for warnings * @returns Dictionary result with added/skipped rules */ export declare const addRulesToDictionary: (dictionary: RuleDictionary, rules: { [ruleId: string]: string; }, source?: string) => RuleDictionaryResult; /** * Merges multiple rule dictionaries (Functional Composition) * @param dictionaries - Array of dictionaries to merge * @param sources - Source identifiers for warnings * @returns Merged dictionary result */ export declare const mergeRuleDictionaries: (dictionaries: RuleDictionary[], sources?: string[]) => RuleDictionaryResult; /** * Gets rule name by ID (Pure Function) * @param dictionary - Rule dictionary * @param ruleId - Rule ID to find * @returns Rule name if found, undefined otherwise */ export declare const getRuleNameById: (dictionary: RuleDictionary, ruleId: string) => string | undefined; /** * Checks if rule exists in dictionary (Pure Function) * @param dictionary - Rule dictionary * @param ruleId - Rule ID to check * @returns True if rule exists */ export declare const hasRule: (dictionary: RuleDictionary, ruleId: string) => boolean; /** * Gets dictionary statistics (Pure Function) * @param dictionary - Rule dictionary * @returns Statistics about the dictionary */ export declare const getDictionaryStats: (dictionary: RuleDictionary) => { totalRules: number; uniqueIds: number; ruleIds: string[]; ruleNames: string[]; }; /** * Filters dictionary by predicate (Pure Function) * @param dictionary - Rule dictionary * @param predicate - Filter function * @returns Filtered dictionary */ export declare const filterDictionary: (dictionary: RuleDictionary, predicate: (ruleId: string, ruleName: string) => boolean) => RuleDictionary; /** * Removes rules from dictionary (Pure Function) * @param dictionary - Rule dictionary * @param ruleIds - Rule IDs to remove * @returns New dictionary without specified rules */ export declare const removeRulesFromDictionary: (dictionary: RuleDictionary, ruleIds: string[]) => RuleDictionary; /** * Overrides rules in dictionary (Pure Function) * @param dictionary - Rule dictionary * @param overrides - Rules to override (ID -> Name mapping) * @returns New dictionary with overridden rules */ export declare const overrideRulesInDictionary: (dictionary: RuleDictionary, overrides: { [ruleId: string]: string; }[]) => RuleDictionaryResult; /** * Converts array of rule objects to dictionary (Pure Function) * @param rules - Array of rule objects with id and name * @returns Dictionary mapping */ export declare const arrayToDictionary: (rules: { id: string; name: string; }[]) => RuleDictionary; /** * Converts dictionary to array of rule objects (Pure Function) * @param dictionary - Rule dictionary * @returns Array of rule objects */ export declare const dictionaryToArray: (dictionary: RuleDictionary) => { id: string; name: string; }[]; //# sourceMappingURL=UltraSimpleRuleDictionary.d.ts.map