@malagu/core
Version:
37 lines (24 loc) • 850 B
text/typescript
export const ExpressionCompiler = Symbol('ExpressionCompiler');
export const ExpressionHandler = Symbol('ExpressionHandler');
export const ContextInitializer = Symbol('ContextInitializer');
export const ExpressionContextProvider = Symbol('ExpressionContextProvider');
export const JexlEngineProvider = Symbol('JexlEngineProvider');
export interface ExpressionCompiler {
compileSections(text: string): any[]
}
export interface ExpressionHandler {
handle(text: string | Object, ctx?: ExpressionContext): any;
}
export interface ExpressionContext {
[key: string]: any;
}
export interface ContextInitializer {
initialize(ctx: ExpressionContext): void;
readonly priority: number;
}
export interface ExpressionContextProvider {
provide(): ExpressionContext;
}
export interface JexlEngineProvider<T> {
provide(): T
}