nl_tokens: Returns the last n elements of an object . If the object is an array and only one items is retrieved that item will be returned rather than an array .
pl_tokens: function last ( o , n ) { if ( typeof o === 'boolean' ) return o ; var gotN = ( ! ! n || n === 0 ) ; n = parseInt ( n , 10 ) ; n = isNaN ( n ) || ! isFinite ( n ) ? 1 : n ; var v = null , keys , len = libs . object . size ( o ) , idx ; if ( typeof o === 'boolean' ) { return o ; } else if ( libs . object . isArguments ( o ) ) { keys = getKeys ( o ) ; idx = keys . indexOf ( 'length' ) ; if ( idx > - 1 ) keys . splice ( idx , 1 ) ; v = [ ] ; len = keys . length ; // Arguments object should ignore undefined members... libs . object . each ( keys , 0 , len , function ( k ) { if ( o [ k ] !== undefined ) v . unshift ( o [ k ] ) ; } ) ; v = v . slice ( 0 , n ) ; } else if ( typeof o !== 'object' ) { if ( n !== 0 ) v = o . toString ( ) . slice ( - n ) ; else return null ; } else if ( o instanceof Array ) { if ( n === 1 && ! gotN ) return o [ o . length - 1 ] ; if ( n === 0 && ! gotN ) return undefined ; return n !== 0 ? o . slice ( - n ) : [ ] ; } else { v = { } ; if ( n < 0 ) n = 0 ; libs . object . each ( o , len - n , len , function ( item , key ) { v [ <mask> ] = item ; } ) ; keys = getKeys ( v ) ; if ( n === 1 && ! gotN && keys . length === 0 ) return undefined ; return keys . length === 1 && ! gotN ? v [ keys [ 0 ] ] : v ; } return v . length === 1 && ! gotN ? v [ 0 ] : v ; }