@@ -17,6 +17,8 @@ var ValueExpressionMixin = function() {
1717 var CastNode = require ( './cast' ) ;
1818 var PostfixUnaryNode = require ( './postfixUnary' ) ;
1919 var TernaryNode = require ( './ternary' ) ;
20+ var AtNode = require ( './at' ) ;
21+ var SliceNode = require ( './slice' ) ;
2022
2123 var postfixUnaryMethod = function ( operator ) {
2224 /*jshint unused: false */
@@ -50,6 +52,14 @@ var ValueExpressionMixin = function() {
5052 } ;
5153 } ;
5254
55+ var atMethod = function ( index ) {
56+ return new AtNode ( this . toNode ( ) , processParams ( index ) ) ;
57+ } ;
58+
59+ var sliceMethod = function ( start , end ) {
60+ return new SliceNode ( this . toNode ( ) , processParams ( start ) , processParams ( end ) ) ;
61+ } ;
62+
5363 var castMethod = function ( dataType ) {
5464 return new CastNode ( this . toNode ( ) , dataType ) ;
5565 } ;
@@ -87,11 +97,15 @@ var ValueExpressionMixin = function() {
8797 bitwiseNot : binaryMethod ( '~' ) ,
8898 bitwiseOr : binaryMethod ( '|' ) ,
8999 bitwiseXor : binaryMethod ( '#' ) ,
100+ concat : binaryMethod ( '||' ) ,
101+ key : binaryMethod ( '->' ) ,
90102 like : binaryMethod ( 'LIKE' ) ,
91103 notLike : binaryMethod ( 'NOT LIKE' ) ,
92104 in : binaryMethod ( 'IN' ) ,
93105 notIn : binaryMethod ( 'NOT IN' ) ,
94106 between : ternaryMethod ( 'BETWEEN' , 'AND' ) ,
107+ at : atMethod ,
108+ slice : sliceMethod ,
95109 cast : castMethod ,
96110 descending : orderMethod ( 'DESC' )
97111 } ;
0 commit comments