'Perform fling action.
Usage:
d().fling()  # default vertically, forward
d().fling.horiz.forward()
d().fling.vert.backward()
d().fling.toBeginning(max_swipes=100) # vertically
d().fling.horiz.toEnd()'

@property
def fling(self):

    @param_to_property(dimention=['vert', 'vertically', 'vertical', 'horiz', 'horizental', 'horizentally'], action=['forward', 'backward', 'toBeginning', 'toEnd'])
    def _fling(dimention='vert', action='forward', max_swipes=1000):
        vertical = (dimention in ['vert', 'vertically', 'vertical'])
        if (action == 'forward'):
            return self.jsonrpc.flingForward(self.selector, vertical)
        elif (action == 'backward'):
            return self.jsonrpc.flingBackward(self.selector, vertical)
        elif (action == 'toBeginning'):
            return self.jsonrpc.flingToBeginning(self.selector, vertical, max_swipes)
        elif (action == 'toEnd'):
            return self.jsonrpc.flingToEnd(self.selector, vertical, max_swipes)
    return _fling
