zpt
Version:
Zenon Page Templates - JS (ZPT-JS)
37 lines (26 loc) • 684 B
JavaScript
/*
IndirectionExpression class
*/
export const 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 ) );
};