nl_tokens: -- module -- name : _reduceNeeds - private method description : reduces the needs sets and modifies objects of all the objects to what they ought to be .
pl_tokens: function ( master ) { this . needs = { } ; this . sets = { } ; this . modifies = { } ; this . callBackDocs = [ ] ; var docs = this . _document , l = docs . length , i = 0 , arr = [ ] , count = - 1 , doc , needs , sets , modifies , t , key ; //actually figure out what Template needs and sets. Modifies is always correct (even when it isn't :) while ( i < l ) { doc = docs [ i ] ; if ( doc . skip ) { i ++ ; continue ; } //get rid of empty strings; if ( doc instanceof _String && doc . string . length === 0 ) { i ++ ; continue ; } count ++ ; arr . push ( doc ) ; if ( <mask> . isAmbiguous ) { this . isAmbiguous = true ; } else if ( doc . needsCallback ) { this . needsCallback = true ; this . callBackDocs . push ( count ) ; } if ( typeof doc . sets !== "undefined" ) { sets = Object . keys ( doc . sets ) ; t = sets . length ; while ( t -- ) { key = sets [ t ] . toLowerCase ( ) ; if ( typeof this . sets [ key ] === "undefined" ) { this . sets [ key ] = true ; } else { delete doc . sets [ sets [ t ] ] ; } } } if ( typeof doc . needs !== "undefined" ) { needs = Object . keys ( doc . needs ) ; t = needs . length ; while ( t -- ) { key = needs [ t ] . toLowerCase ( ) ; if ( typeof this . sets [ key ] === "undefined" ) { this . needs [ key ] = true ; } } } if ( typeof doc . modifies !== "undefined" ) { modifies = Object . keys ( doc . modifies ) ; t = modifies . length ; while ( t -- ) { key = modifies [ t ] . toLowerCase ( ) ; this . modifies [ key ] = true ; } } i ++ ; } this . _executionStack = arr ; this . _executionLength = this . _executionStack . length ; }