internal ITemplate CreateTemplate(string typeName, object model)
        {
            if (ClassTypes != null && ClassTypes.Contains(typeName))
            {
                return(TemplateFactory.CreateTemplate("TypeScript", "Class", model));
            }

            return(TemplateFactory.CreateTemplate("TypeScript", TypeStyle.ToString(), model));
        }
        /// <summary>Gets the type style of the given type name.</summary>
        /// <param name="typeName">The type name.</param>
        /// <returns>The type style.</returns>
        public TypeScriptTypeStyle GetTypeStyle(string typeName)
        {
            if (ClassTypes != null && ClassTypes.Contains(typeName))
            {
                return(TypeScriptTypeStyle.Class);
            }

            return(TypeStyle);
        }
        internal ITemplate CreateTemplate(string typeName)
        {
            if (ClassTypes != null && ClassTypes.Contains(typeName))
            {
                return(new ClassTemplate());
            }

            if (TypeStyle == TypeScriptTypeStyle.Interface)
            {
                return(new InterfaceTemplate());
            }

            if (TypeStyle == TypeScriptTypeStyle.Class)
            {
                return(new ClassTemplate());
            }

            if (TypeStyle == TypeScriptTypeStyle.KnockoutClass)
            {
                return(new KnockoutClassTemplate());
            }

            throw new NotImplementedException();
        }