lib/template.js
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(doc.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;
}
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(doc.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;
}
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 ( doc . 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 ; }
--module--
name:_reduceNeeds - private method
description: reduces the needs, sets and modifies, objects
of all the objects to what they ought to be.
@param{boolean}
-- module -- name : _reduceNeeds - private method description : reduces the needs sets and modifies objects of all the objects to what they ought to be .