예제 #1
0
 public static string RenderAsString(ILiquidValue val)
 {
     if (val == null)
     {
         return("");
     }
     return(val.ToString());
 }
예제 #2
0
        private LiquidExpressionResult DoLookup(ITemplateContext ctx, LiquidHash liquidHash, ILiquidValue indexProperty)
        {
            String propertyNameString = ValueCaster.RenderAsString(indexProperty);

            if (propertyNameString.ToLower().Equals("size"))
            {
                return(LiquidExpressionResult.Success(LiquidNumeric.Create(liquidHash.Keys.Count)));
            }

            var valueAt = liquidHash.ValueAt(indexProperty.Value.ToString());

            if (valueAt.HasValue)
            {
                return(LiquidExpressionResult.Success(valueAt));
            }
            else
            {
                return(LiquidExpressionResult.ErrorOrNone(ctx, indexProperty.ToString()));
            }
        }