@confluentinc/schemaregistry
Version:
Node.js client for Confluent Schema Registry
85 lines (84 loc) • 2.75 kB
TypeScript
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;
}