@Override public JsExpr computeForJsSrc(List<JsExpr> args) { JsExpr arg = args.get(0); JsExpr nullJsExpr = new JsExpr("null", Integer.MAX_VALUE); // Note: In JavaScript, "x != null" is equivalent to "x !== undefined && x !== null". return SoyJsCodeUtils.genJsExprUsingSoySyntax( Operator.NOT_EQUAL, Lists.<JsExpr>newArrayList(arg, nullJsExpr)); }
@Override public JsExpr computeForJsSrc(List<JsExpr> args) { JsExpr arg = args.get(0); JsExpr random = new JsExpr("Math.random()", Integer.MAX_VALUE); JsExpr randomTimesArg = SoyJsCodeUtils.genJsExprUsingSoySyntax(Operator.TIMES, Lists.newArrayList(random, arg)); return new JsExpr("Math.floor(" + randomTimesArg.getText() + ")", Integer.MAX_VALUE); }