export class TemplateFactory {
    // static getTemplate(templateName: string): Handlebars.TemplateDelegate<any> {

    //     switch (templateName) {
    //         case "user-contact-online-template": {
    //             // let source = document.getElementById("user-contact-online-template").innerHTML;
    //             // let msgContainerTemplate = Handlebars.compile(source);
    //             // return msgContainerTemplate;
    //             return this.createTemplate(templateName);
    //         }
    //         case "msg_container_send_template": {
    //             // let source = document.getElementById("msg_container_send_template").innerHTML;
    //             // let msgContainerTemplate = Handlebars.compile(source);
    //             // return msgContainerTemplate;
    //             return this.createTemplate(templateName);
    //         }
    //         case "msg_container_template": {
    //             // let source = document.getElementById("msg_container_send_template").innerHTML;
    //             // let msgContainerTemplate = Handlebars.compile(source);
    //             // return msgContainerTemplate;
    //             return this.createTemplate(templateName);
    //         }
    //         default:
    //             throw new Error('invalid template name');
    //     }
    // }

    static getTemplate(templateName: string): Handlebars.TemplateDelegate<any> {
        //@ts-ignore: Object is possibly 'null'.
        let source = document.getElementById(templateName).innerHTML;
        let msgContainerTemplate = Handlebars.compile(source);
        return msgContainerTemplate;
    }
}