UNPKG

@confluentinc/schemaregistry

Version:
85 lines (84 loc) 2.75 kB
import { RuleAction, RuleExecutor } from "./serde"; /** * RuleOverride represents a rule override */ export interface RuleOverride { type: string; onSuccess?: string; onFailure?: string; disabled?: boolean; } /** * RuleRegistry is used to register and fetch rule executors and actions. */ export declare class RuleRegistry { private ruleExecutors; private ruleActions; private ruleOverrides; private static globalInstance; /** * registerExecutor is used to register a new rule executor. * @param ruleExecutor - the rule executor to register */ registerExecutor(ruleExecutor: RuleExecutor): void; /** * getExecutor fetches a rule executor by a given name. * @param name - the name of the rule executor to fetch */ getExecutor(name: string): RuleExecutor | undefined; /** * getExecutors fetches all rule executors */ getExecutors(): RuleExecutor[]; /** * registerAction is used to register a new rule action. * @param ruleAction - the rule action to register */ registerAction(ruleAction: RuleAction): void; /** * getAction fetches a rule action by a given name. * @param name - the name of the rule action to fetch */ getAction(name: string): RuleAction | undefined; /** * getActions fetches all rule actions */ getActions(): RuleAction[]; /** * registerOverride is used to register a new rule override. * @param ruleOverride - the rule override to register */ registerOverride(ruleOverride: RuleOverride): void; /** * getOverride fetches a rule override by a given name. * @param name - the name of the rule override to fetch */ getOverride(name: string): RuleOverride | undefined; /** * getOverrides fetches all rule overrides */ getOverrides(): RuleOverride[]; /** * clear clears all registered rules */ clear(): void; /** * getGlobalInstance fetches the global instance of the rule registry */ static getGlobalInstance(): RuleRegistry; /** * registerRuleExecutor is used to register a new rule executor globally. * @param ruleExecutor - the rule executor to register */ static registerRuleExecutor(ruleExecutor: RuleExecutor): void; /** * registerRuleAction is used to register a new rule action globally. * @param ruleAction - the rule action to register */ static registerRuleAction(ruleAction: RuleAction): void; /** * registerRuleOverride is used to register a new rule override globally. * @param ruleOverride - the rule override to register */ static registerRuleOverride(ruleOverride: RuleOverride): void; }