@ivandt/json-rules
Version:
Rule parsing engine for JSON rules
27 lines (26 loc) • 1.01 kB
TypeScript
import { Condition } from "../types";
export interface SubRuleResult {
parent?: Condition;
subRule: Condition;
}
export declare class RuleHelper {
#private;
/**
* Extracts all sub-rules from a condition.
* @param condition The condition to extract sub-rules from.
* @param results The sub-conditions result set
* @param root The root condition which holds the condition to extract sub-rules from.
*/
extractSubRules(condition: Condition, results?: SubRuleResult[], root?: Condition): SubRuleResult[];
/**
* Removes all subrules from the provided condition.
* @param haystack The condition to search in and remove all sub-rules from.
*/
removeAllSubRules(haystack: Condition): Condition | null;
/**
* Removes all null properties from an object.
* @param obj The object to remove null properties from.
* @param defaults The default values to remove.
*/
stripNullProps(obj: Record<string, any>, defaults?: any[]): any;
}