import * as ts from 'typescript/lib/tsserverlibrary' ; import Logger from './logger' ; import StandardScriptSourceHelper from './standard-script-source-helper' ; import TemplateLanguageService from './template-language-service' ; import TemplateSettings from './template-settings' ; import TemplateLanguageServiceDecorator from './template-language-service-decorator' ; import TemplateContext from './template-context' ; import StandardTemplateSourceHelper from './standard-template-source-helper' ; export { Logger , TemplateLanguageService , TemplateSettings , TemplateContext } ; /**
 * Configuration of the decorated language service.
 */ export interface AdditionalConfiguration { /**
     * Logger to use for printing debug messages to the TS Server log.
     */ readonly logger ? : Logger ; } const nullLogger = new class NullLogger implements Logger { public log ( _msg ) { } } ( ) ; param typescript param languageService param templateService param project param templateSettings param additionalConfig return export function decorateWithTemplateLanguageService ( typescript , languageService , project , templateService , templateSettings , additionalConfig ? ) { const logger = ( additionalConfig && additionalConfig . logger ) || nullLogger ; return new TemplateLanguageServiceDecorator ( typescript , new StandardTemplateSourceHelper ( typescript , templateSettings , new StandardScriptSourceHelper ( typescript , project ) , logger ) , templateService , logger ) . decorate ( languageService ) ; }