public override LiquidExpressionResult ApplyTo(ITemplateContext ctx, LiquidString liquidLiquidStringExpression) { if (liquidLiquidStringExpression == null || String.IsNullOrEmpty(liquidLiquidStringExpression.StringVal)) { return(LiquidExpressionResult.Error("String is nil")); } var positionFilter = new PositionFilter(LiquidNumeric.Create(liquidLiquidStringExpression.StringVal.Length - 1)); return(positionFilter.ApplyTo(ctx, liquidLiquidStringExpression)); }
public override LiquidExpressionResult ApplyTo(ITemplateContext ctx, LiquidCollection liquidArrayExpression) { if (liquidArrayExpression == null || liquidArrayExpression.Value == null) { return(LiquidExpressionResult.Error("Array is nil")); } var positionFilter = new PositionFilter(LiquidNumeric.Create(liquidArrayExpression.Count - 1)); return(positionFilter.ApplyTo(ctx, liquidArrayExpression)); }
public FirstFilter() { _positionFilter = new PositionFilter(LiquidNumeric.Create(0)); }