nl_tokens: Interface for building an object by configuration
pl_tokens: function objectInterface ( config ) { return function ( obj ) { var result = { } ; for ( var i = 0 ; i < config . length ; i ++ ) { var OR , NEXT , REAL ; if ( ( OR = config [ i ] . split ( '/' ) ) && OR [ 1 ] ) { result [ OR [ 0 ] ] = obj [ OR [ 0 ] ] || Function ( 'return ' + OR [ 1 ] ) ( ) ; } else if ( ( NEXT = config [ i ] . split ( '|' ) ) && NEXT [ 1 ] ) { result [ NEXT [ 0 ] ] = Function ( 'return ' + NEXT [ 1 ] ) . call ( obj ) ; } else if ( ( REAL = config [ i ] . split ( ':' ) ) && REAL [ 1 ] ) { result [ REAL [ 0 ] ] = Function ( 'return ' + REAL [ 1 ] ) ( ) ; } else { <mask> [ config [ i ] ] = obj [ config [ i ] ] ; } } return result ; } }