@flamesshield/rules-engine
Version:
Independent rules engine for security analysis of Firebase
40 lines • 1.57 kB
TypeScript
/**
* PathDiscovery - Utility class for discovering and managing paths from project information
*
* Extracted from RuleValidator for better code organization and reusability.
* Handles discovery of available paths, type mapping, and deprecated path identification.
*/
import type { EnrichedProjectInformation } from '../types/index.js';
export interface PathDiscoveryResult {
availablePaths: Set<string>;
typeMap: Map<string, string>;
deprecatedPaths: Set<string>;
}
export declare class PathDiscovery {
/**
* Discovers all available paths, their types, and deprecated paths from project information
*/
static discoverAll(projectInfo: EnrichedProjectInformation): PathDiscoveryResult;
/**
* Discovers only available paths from project structure
*/
static discoverPaths(projectInfo: EnrichedProjectInformation): Set<string>;
/**
* Gets type information for all discovered paths
*/
static getPathTypeMap(projectInfo: EnrichedProjectInformation): Map<string, string>;
/**
* Identifies deprecated direct access paths
*/
static getDeprecatedPaths(projectInfo: EnrichedProjectInformation): Set<string>;
/**
* Recursively adds paths from an object to the available paths set
*/
private static addPathsFromObject;
/**
* Extracts path references from a condition string
* Excludes string literals, numbers, and common operators/keywords
*/
static extractPathsFromCondition(condition: string): string[];
}
//# sourceMappingURL=path-discovery.d.ts.map