private static Template GetTemplate(string content) { const int hashLength = 10; string templateKey; if (string.IsNullOrEmpty(content)) { /* [2020-08-01] DJL - Cache the null template specifically, but process other whitespace templates individually * to ensure that the format of the final output is preserved. */ templateKey = string.Empty; } else if (content.Length <= hashLength) { // If the content is less than the size of the MD5 hash, // simply use the content as the key to save processing time. templateKey = content; } else { // Calculate a hash of the content using xxHash. templateKey = content.XxHash(); } var template = LavaTemplateCache.Get(templateKey, content).Template as Template; // Clear any previous errors from the template. template.Errors.Clear(); return(template); }
private Template GetTemplate() { var cacheTemplate = LavaTemplateCache.Get(CacheKey(), GetAttributeValue(AttributeKey.Template)); LavaHelper.VerifyParseTemplateForCurrentEngine(GetAttributeValue(AttributeKey.Template)); return(cacheTemplate != null ? cacheTemplate.Template as Template : null); }
/// <summary> /// Looks for a parsed template in cache (if the content is 100 characters or less). /// </summary> /// <param name="content">The content.</param> /// <returns></returns> private static Template GetTemplate(string content) { // Do not cache any content over 100 characters in length if (content.Length > 100) { return(Template.Parse(content)); } // Get template from cache var template = LavaTemplateCache.Get(content).Template; // Clear any previous errors template.Errors.Clear(); return(template); }
private Template GetTemplate() { var cacheTemplate = LavaTemplateCache.Get(TemplateCacheKey, GetAttributeValue(AttributeKey.Template)); return(cacheTemplate != null ? cacheTemplate.Template : null); }
private Template GetTemplate() { var cacheTemplate = LavaTemplateCache.Get(CacheKey(), GetAttributeValue("Template")); return(cacheTemplate != null ? cacheTemplate.Template : null); }