zpt
Version:
Zenon Page Templates - JS (ZPT-JS)
39 lines (28 loc) • 729 B
JavaScript
/*
IndirectionExpression class
*/
;
var IndirectionExpression = function( nameToApply ) {
var name = nameToApply;
var evaluate = function( scope, parent ){
return parent[ scope.get( name ) ];
};
var dependsOn = function(){
return [];
};
var toString = function(){
return '?' + name;
};
return {
evaluate: evaluate,
dependsOn: dependsOn,
toString: toString
};
};
IndirectionExpression.build = function( string ) {
if ( string.charAt( 0 ) !== '?' ) {
return undefined;
}
return new IndirectionExpression( string.substring( 1 ) );
};
module.exports = IndirectionExpression;