import { ConfigProvider } from './config-protocol'; import { Component, Autowired } from '../annotation'; import { ExpressionHandler } from '../el'; @Component(ConfigProvider) export class ConfigProviderImpl implements ConfigProvider { @Autowired(ExpressionHandler) protected readonly expressionHandler: ExpressionHandler; get(key: string, defaultValue?: T): T { return this.expressionHandler.handle(`\${${key}}`) || defaultValue; } }